Package org.impalaframework.module

Examples of org.impalaframework.module.ModuleDefinition


   */
  private void populateVertexDependencies(Vertex vertex) {
   
    Assert.notNull(vertex, "vertex cannot be null");
   
    final ModuleDefinition moduleDefinition = vertex.getModuleDefinition();
   
    final List<String> dependentModuleNames = moduleDefinition.getDependentModuleNames();
    for (String dependent : dependentModuleNames) {
     
      final Vertex dependentVertex = vertexMap.get(dependent);
     
      if (dependentVertex == null) {
        throw new InvalidStateException("Unable to dependency named named '" + dependent
            + "' for module definition '" + moduleDefinition.getName() + "'");
       
      } else {
        //register the vertex dependency
        populateVertexDependency(vertex, dependentVertex);
      }
View Full Code Here


     * @return {@link ModuleDefinition}, at the first point at which {@link ModuleDefinitionCallback#matches(ModuleDefinition)}
     * returns true. If this does not happen, then null is returned.
     */
    public static ModuleDefinition walkRootDefinition(RootModuleDefinition root, ModuleDefinitionCallback callback) {
       
        ModuleDefinition child = walkModuleDefinition(root,callback);
       
        if (child != null
            return child;
       
        List<ModuleDefinition> siblings = root.getSiblings();
View Full Code Here

            if (callback instanceof ChildModuleDefinitionCallback) {
                ChildModuleDefinitionCallback childCallBack = (ChildModuleDefinitionCallback) callback;
                childCallBack.beforeChild(moduleDefinition);
            }
           
            final ModuleDefinition found = walkModuleDefinition(childDefinition, callback);
            if (found != null) {
                return found;
            }
           
            if (callback instanceof ChildModuleDefinitionCallback) {
View Full Code Here

   
    public final void closeModule(Application application, RuntimeModule runtimeModule) {

        final ClassLoaderRegistry classLoaderRegistry = application.getClassLoaderRegistry();
       
        final ModuleDefinition moduleDefinition = runtimeModule.getModuleDefinition();
        classLoaderRegistry.removeClassLoader(moduleDefinition.getName());
        doCloseModule(application.getId(), runtimeModule);
    }
View Full Code Here

   
    protected RuntimeModule doLoadModule(Application application, ModuleDefinition definition) {
        final ClassLoaderRegistry classLoaderRegistry = application.getClassLoaderRegistry();
       
        ClassLoader parentClassLoader = null;
        final ModuleDefinition parentDefinition = definition.getParentDefinition();

        if (parentDefinition != null) {
            parentClassLoader = classLoaderRegistry.getClassLoader(parentDefinition.getName());
        }
       
        if (parentClassLoader == null) {
            parentClassLoader = ClassUtils.getDefaultClassLoader();
        }
View Full Code Here

           
            String name = getName(definitionElement);
            String type = getType(definitionElement);
           
            TypeReader typeReader = typeReaderRegistry.getTypeReader(type);
            ModuleDefinition childDefinition = typeReader.readModuleDefinition(parentDefinition, name, definitionElement);
           
            if (parentDefinition == null) {
                //no parent definition is null, this must be the case where the siblings
                rootModuleDefinition.addSibling(childDefinition);
            }
View Full Code Here

    }

    public ModuleOperationResult doExecute(ModuleOperationInput moduleOperationInput) {
       
        Assert.notNull(moduleOperationInput, "moduleOperationInput cannot be null");
        ModuleDefinition moduleToAdd = moduleOperationInput.getModuleDefinition();
        Assert.notNull(moduleToAdd, "moduleName is required as it specifies the name of the module to add in " + this.getClass().getName());
       
        ModuleStateHolder moduleStateHolder = getModuleStateHolder();
        ModificationExtractor calculator = getModificationExtractorRegistry().getModificationExtractor(ModificationExtractorType.STICKY);
       
View Full Code Here

            ModuleDefinition moduleDefinition) {

        RootModuleDefinition oldRootDefinition = moduleStateHolder.cloneRootModuleDefinition();
        RootModuleDefinition newRootDefinition = moduleStateHolder.cloneRootModuleDefinition();

        ModuleDefinition parent = moduleDefinition.getParentDefinition();
       
        if (moduleDefinition instanceof RootModuleDefinition) {
            newRootDefinition = (RootModuleDefinition) moduleDefinition;
        }
        else {

            ModuleDefinition newParent = null;

            if (parent == null) {
                newParent = newRootDefinition;
            }
            else {
                String parentName = parent.getName();
                newParent = newRootDefinition.findChildDefinition(parentName, true);

                if (newParent == null) {
                    throw new InvalidStateException("Unable to find parent module '" + parentName + "' in " + newRootDefinition);
                }
            }

            newParent.addChildModuleDefinition(moduleDefinition);
           
            moduleDefinition.setParentDefinition(newParent);
        }

        TransitionSet transitions = calculator.getTransitions(oldRootDefinition, newRootDefinition);
View Full Code Here

        if (oldRootDefinition == null) {
            return false;
        }
       
        RootModuleDefinition newRootDefinition = moduleStateHolder.cloneRootModuleDefinition();
        ModuleDefinition definitionToRemove = newRootDefinition.findChildDefinition(moduleToRemove, true);

        if (definitionToRemove != null) {
            if (definitionToRemove instanceof RootModuleDefinition) {
                //we're removing the rootModuleDefinition
                TransitionSet transitions = calculator.getTransitions(oldRootDefinition, null);
                moduleStateHolder.processTransitions(transitions);
                return true;
            }
            else {
                ModuleDefinition parent = definitionToRemove.getParentDefinition();
                if (parent != null) {
                    parent.removeChildModuleDefinition(moduleToRemove);
                   
                    definitionToRemove.setParentDefinition(null);

                    TransitionSet transitions = calculator.getTransitions(oldRootDefinition, newRootDefinition);
                    moduleStateHolder.processTransitions(transitions);
View Full Code Here

        if (existingDefinition.findChildDefinition(moduleName, true) != null) {
            return existingDefinition;
        }
       
        buildMaps();
        ModuleDefinition parent = null;
       
        String childModule = moduleName;
       
        //start with parent module
        String parentModule = null;
View Full Code Here

TOP

Related Classes of org.impalaframework.module.ModuleDefinition

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.