dain        2005/06/20 21:22:14

  Modified:    modules/core/src/java/org/openejb/corba/util
                        OpenORBStubClassLoader.java
  Log:

  Moved portable stub compiler from geronimo interop
  
  Revision  Changes    Path
  1.10      +21 -5     
openejb/modules/core/src/java/org/openejb/corba/util/OpenORBStubClassLoader.java
  
  Index: OpenORBStubClassLoader.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/corba/util/OpenORBStubClassLoader.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- OpenORBStubClassLoader.java       19 Apr 2005 06:50:49 -0000      1.9
  +++ OpenORBStubClassLoader.java       21 Jun 2005 01:22:14 -0000      1.10
  @@ -82,6 +82,7 @@
       private final File cacheDir;
       private final Map parentToNameToLoaderMap = new HashMap();
       private final Map nameToClassMap = new HashMap();
  +    private boolean keepCache;
       private static Random random = new Random(System.currentTimeMillis());
   
       public OpenORBStubClassLoader(ServerInfo serverInfo, StubGenerator 
stubGenerator, String cacheDir) {
  @@ -90,6 +91,14 @@
           this.state = STOPPED;
       }
   
  +    public boolean isKeepCache() {
  +        return keepCache;
  +    }
  +
  +    public void setKeepCache(boolean keepCache) {
  +        this.keepCache = keepCache;
  +    }
  +
       public synchronized Class loadClass(String name) throws 
ClassNotFoundException {
   
           if (state == STOPPED) {
  @@ -197,7 +206,9 @@
       }
   
       public synchronized void doStart() throws Exception {
  -        FileUtils.recursiveDelete(cacheDir);
  +        if (!keepCache) {
  +            FileUtils.recursiveDelete(cacheDir);
  +        }
           cacheDir.mkdirs();
   
           UtilDelegateImpl.setClassLoader(this);
  @@ -213,7 +224,9 @@
           parentToNameToLoaderMap.clear();
           nameToClassMap.clear();
   
  -        FileUtils.recursiveDelete(cacheDir);
  +        if (!keepCache) {
  +            FileUtils.recursiveDelete(cacheDir);
  +        }
   
           log.info("Stopped");
       }
  @@ -221,7 +234,9 @@
       public synchronized void doFail() {
           this.state = STOPPED;
   
  -        FileUtils.recursiveDelete(cacheDir);
  +        if (!keepCache) {
  +            FileUtils.recursiveDelete(cacheDir);
  +        }
   
           log.info("Failed");
       }
  @@ -233,6 +248,7 @@
           GBeanInfoBuilder infoFactory = new 
GBeanInfoBuilder(OpenORBStubClassLoader.class, NameFactory.CORBA_SERVICE);
           infoFactory.addReference("ServerInfo", ServerInfo.class, 
NameFactory.GERONIMO_SERVICE);
           infoFactory.addReference("StubGenerator", StubGenerator.class, 
NameFactory.CORBA_SERVICE);
  +        infoFactory.addAttribute("keepCache", boolean.class, true);
           infoFactory.addAttribute("cacheDir", String.class, true);
           infoFactory.addOperation("loadClass", new Class[]{String.class});
           infoFactory.setConstructor(new String[]{"ServerInfo", 
"StubGenerator", "cacheDir"});
  
  
  

Reply via email to