CVS: jcontainer/loom/engine/src/java/org/jcontainer/loom/components/classloader SarLoaderResolver.java,1.6,1.7 SarPolicyResolver.java,1.6,1.7 DefaultLoaderResolver.java,1.4,NONE SimpleLoaderResolver.java,1.6,NONE

Peter Donald <pdonald-yCVjj/[email protected]> Tue, 11 Nov 2003 05:29:53 -0600
Newsgroups gmane.comp.java.jcontainer.cvs
Message-ID <[email protected]>
Update of /cvsroot/jcontainer/jcontainer/loom/engine/src/java/org/jcontainer/loom/components/classloader
In directory hogshead.codehaus.org:/tmp/cvs-serv19546/src/java/org/jcontainer/loom/components/classloader

Modified Files:
	SarLoaderResolver.java SarPolicyResolver.java 
Removed Files:
	DefaultLoaderResolver.java SimpleLoaderResolver.java 
Log Message:
Start to update to use more recent version of ClassMan


Index: SarLoaderResolver.java
===================================================================
RCS file: /cvsroot/jcontainer/jcontainer/loom/engine/src/java/org/jcontainer/loom/components/classloader/SarLoaderResolver.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- SarLoaderResolver.java	16 Oct 2003 14:45:45 -0000	1.6
+++ SarLoaderResolver.java	11 Nov 2003 11:29:51 -0000	1.7
@@ -90,13 +90,17 @@
 import java.net.URL;
 import java.security.Policy;
 import java.util.Arrays;
+import java.util.Set;
 import org.jcontainer.dna.LogEnabled;
 import org.jcontainer.dna.Logger;
 import org.jcontainer.dna.impl.ContainerUtil;
 import org.jcontainer.loom.components.extensions.pkgmgr.PackageManager;
+import org.jcontainer.loom.components.extensions.pkgmgr.OptionalPackage;
 import org.jcontainer.loom.components.util.ResourceUtil;
 import org.realityforge.salt.i18n.ResourceManager;
 import org.realityforge.salt.i18n.Resources;
+import org.realityforge.classman.builder.SimpleLoaderResolver;
+import org.realityforge.extension.Extension;
 
 /**
  * a LoaderResolver that knows about container environment,
@@ -106,13 +110,18 @@
  * @version $Revision$ $Date$
  */
 class SarLoaderResolver
-    extends DefaultLoaderResolver
+    extends SimpleLoaderResolver
     implements LogEnabled
 {
     private final static Resources REZ =
         ResourceManager.getPackageResources( SarLoaderResolver.class );
 
     /**
+     * The PackageManager to use to resolve Extensions.
+     */
+    private PackageManager m_manager;
+
+    /**
      * Logger to use when reporting information
      */
     private Logger m_logger;
@@ -142,7 +151,11 @@
                        final File baseDirectory,
                        final File workDirectory )
     {
-        super( baseDirectory, manager );
+        super( baseDirectory );
+        if( null == manager )
+        {
+            throw new NullPointerException( "manager" );
+        }
         if( null == policy )
         {
             throw new NullPointerException( "policy" );
@@ -156,6 +169,7 @@
             throw new NullPointerException( "workDirectory" );
         }
 
+        m_manager = manager;
         m_policy = policy;
         m_workDirectory = workDirectory;
     }
@@ -170,6 +184,20 @@
         m_logger = logger;
     }
 
+    public URL resolveExtension( final Extension extension )
+        throws Exception
+    {
+        if( null == m_manager )
+        {
+            final String message =
+                REZ.getString( "missing-packagemanager" );
+            throw new IllegalStateException( message );
+        }
+        final OptionalPackage optionalPackage =
+            m_manager.getOptionalPackage( extension );
+        return optionalPackage.getFile().toURL();
+    }
+
     /**
      * Resolve a location to either the work or home hierarchys.
      *
@@ -266,5 +294,16 @@
     protected void warn( final String message )
     {
         m_logger.warn( message );
+    }
+
+    protected void scanDependencies( final Extension[] required,
+                                     final Extension[] available,
+                                     final Set dependencies,
+                                     final Set unsatisfied )
+    {
+        m_manager.scanDependencies( required,
+                                    available,
+                                    dependencies,
+                                    unsatisfied );
     }
 }

Index: SarPolicyResolver.java
===================================================================
RCS file: /cvsroot/jcontainer/jcontainer/loom/engine/src/java/org/jcontainer/loom/components/classloader/SarPolicyResolver.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- SarPolicyResolver.java	16 Oct 2003 14:45:45 -0000	1.6
+++ SarPolicyResolver.java	11 Nov 2003 11:29:51 -0000	1.7
@@ -121,7 +121,7 @@
     {
         final SarPolicy sarPolicy = new SarPolicy( grants );
         ContainerUtil.enableLogging( sarPolicy, getLogger() );
-        org.jcontainer.dna.impl.ContainerUtil.initialize( sarPolicy );
+        ContainerUtil.initialize( sarPolicy );
         return sarPolicy;
     }
 

--- DefaultLoaderResolver.java DELETED ---

--- SimpleLoaderResolver.java DELETED ---