/** * Handles loading dependent modules. This method should not cache * dependencies (method {@link #loadDependency(IDependency)} already uses * caching) Default implementation uses dependency loaders to load the * dependency. Can be overriden to redefine behavior. * * @param dependency dependency to load * @return loaded and compiled dependency * @throws OpenLCompilationException if exception during compilation is * occured */ protected CompiledDependency handleLoadDependency(IDependency dependency) throws OpenLCompilationException { List<IDependencyLoader> dependencyLoaders = getDependencyLoaders(); return loadDependency(dependency.getNode().getIdentifier(), dependencyLoaders); }
@Override public void setExternalParameters(Map<String, Object> parameters) { super.setExternalParameters(parameters); IDependencyManager dm = getDependencyManager(); if (dm instanceof DependencyManager) { ((DependencyManager) dm).setExternalParameters(parameters); } else { log.warn("Can't set external parameters to dependency manager {}", dm); } }
public CompiledDependency loadDependency(IDependency dependency) throws OpenLCompilationException { String dependencyName = dependency.getNode().getIdentifier(); if (compiledDependencies.containsKey(dependencyName)) { return compiledDependencies.get(dependencyName); } CompiledDependency compiledDependency = handleLoadDependency(dependency); if (compiledDependency == null) { throw new OpenLCompilationException(String.format("Dependency with name '%s' hasn't been found", dependencyName), null, dependency.getNode().getSourceLocation()); } compiledDependencies.put(dependencyName, compiledDependency); return compiledDependency; }
public CompiledDependency loadDependency(IDependency dependency) throws OpenLCompilationException { String dependencyName = dependency.getNode().getIdentifier(); if (compiledDependencies.containsKey(dependencyName)) { return compiledDependencies.get(dependencyName); } CompiledDependency compiledDependency = handleLoadDependency(dependency); if (compiledDependency == null) { throw new OpenLCompilationException(String.format("Dependency with name '%s' hasn't been found", dependencyName), null, dependency.getNode().getSourceLocation()); } compiledDependencies.put(dependencyName, compiledDependency); return compiledDependency; }
/** * Handles loading dependent modules. This method should not cache * dependencies (method {@link #loadDependency(IDependency)} already uses * caching) Default implementation uses dependency loaders to load the * dependency. Can be overriden to redefine behavior. * * @param dependency dependency to load * @return loaded and compiled dependency * @throws OpenLCompilationException if exception during compilation is * occured */ protected CompiledDependency handleLoadDependency(IDependency dependency) throws OpenLCompilationException { List<IDependencyLoader> dependencyLoaders = getDependencyLoaders(); return loadDependency(dependency.getNode().getIdentifier(), dependencyLoaders); }
@Override public void setExternalParameters(Map<String, Object> parameters) { super.setExternalParameters(parameters); IDependencyManager dm = getDependencyManager(); if (dm instanceof DependencyManager) { ((DependencyManager) dm).setExternalParameters(parameters); } else { log.warn("Can't set external parameters to dependency manager {}", dm); } }