Changeset 442


Ignore:
Timestamp:
2008-07-01 08:21:58 (5 years ago)
Author:
bruno
Message:

Introduce a ModuleSourceManager?, responsible for creation of ModuleSource?'s. It will only create one ModuleSource? per module location, so that if there are multiple instances of one module, only one module source will be created for them.

Location:
trunk/core
Files:
10 added
1 deleted
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/core/kauri-runtime/src/main/java/org/kauriproject/runtime/KauriRuntime.java

    r440 r442  
    3131import org.kauriproject.runtime.classloading.ClassLoaderBuilder; 
    3232import org.kauriproject.runtime.classloading.ClasspathEntry; 
     33import org.kauriproject.runtime.source.ModuleSourceManager; 
    3334import org.kauriproject.util.ArgumentValidator; 
    3435import org.apache.commons.logging.Log; 
     
    5758    private JavaServiceManager javaServiceManager; 
    5859    private RestserviceManager restserviceManager; 
     60    private ModuleSourceManager moduleSourceManager; 
    5961    protected final Log infolog = LogFactory.getLog(Logging.INFO_LOG_CATEGORY); 
    6062    private boolean started = false; 
     
    6668        this.javaServiceManager = new JavaServiceManager(); 
    6769        this.restserviceManager = new RestserviceManager(this); 
     70        this.moduleSourceManager = new ModuleSourceManager(); 
    6871    } 
    6972 
     
    157160    } 
    158161 
     162    public ModuleSourceManager getModuleSourceManager() { 
     163        return moduleSourceManager; 
     164    } 
     165 
    159166    public List<Module> getModules() { 
    160167        return modules; 
  • trunk/core/kauri-runtime/src/main/java/org/kauriproject/runtime/module/build/ModuleConfigBuilder.java

    r199 r442  
    2222import org.kauriproject.runtime.module.ModuleConfigImpl; 
    2323import org.kauriproject.runtime.rapi.ModuleSource; 
    24 import org.kauriproject.runtime.module.sources.JarModuleSource; 
    25 import org.kauriproject.runtime.module.sources.MavenSourceDirectoryModuleSource; 
    26 import org.kauriproject.runtime.module.sources.ExpandedJarModuleSource; 
     24import org.kauriproject.runtime.source.JarModuleSource; 
     25import org.kauriproject.runtime.source.MavenSourceDirectoryModuleSource; 
     26import org.kauriproject.runtime.source.ExpandedJarModuleSource; 
    2727import org.kauriproject.runtime.model.ModuleDefinition; 
    2828import org.kauriproject.runtime.classloading.*; 
     
    5353        ModuleSource moduleSource = null; 
    5454        try { 
    55             switch (moduleDefinition.getSourceType()) { 
    56                 case JAR: 
    57                     moduleSource = new JarModuleSource(moduleDefinition.getFile()); 
    58                     break; 
    59                 case EXPANDED_JAR: 
    60                     moduleSource = new ExpandedJarModuleSource(moduleDefinition.getFile()); 
    61                     break; 
    62                 case SOURCE_DIRECTORY: 
    63                     moduleSource = new MavenSourceDirectoryModuleSource(moduleDefinition.getFile()); 
    64                     break; 
    65                 default: 
    66                     throw new KauriRTException("Unexpected module definition type: " + moduleDefinition.getSourceType()); 
    67             } 
     55            moduleSource = runtime.getModuleSourceManager().getModuleSource(moduleDefinition.getFile(), moduleDefinition.getSourceType()); 
    6856 
    6957            // build classpath 
Note: See TracChangeset for help on using the changeset viewer.