You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by do...@apache.org on 2002/07/02 09:44:44 UTC

cvs commit: jakarta-ant-myrmidon/container/src/java/org/apache/myrmidon/components/context DefaultTaskContextManager.java

donaldp     2002/07/02 00:44:44

  Modified:    container/src/java/org/apache/myrmidon/components/service
                        DefaultAntServiceKernel.java
               container/src/java/org/apache/myrmidon/components/context
                        DefaultTaskContextManager.java
  Log:
  Move scoping management from DefaultTaskContextManager to  ServiceKernel.
  
  Hacky but getting cleaner...
  
  Revision  Changes    Path
  1.4       +33 -2     jakarta-ant-myrmidon/container/src/java/org/apache/myrmidon/components/service/DefaultAntServiceKernel.java
  
  Index: DefaultAntServiceKernel.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant-myrmidon/container/src/java/org/apache/myrmidon/components/service/DefaultAntServiceKernel.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- DefaultAntServiceKernel.java	30 Jun 2002 09:58:14 -0000	1.3
  +++ DefaultAntServiceKernel.java	2 Jul 2002 07:44:44 -0000	1.4
  @@ -9,7 +9,12 @@
   
   import java.util.HashMap;
   import org.apache.avalon.framework.service.ServiceException;
  +import org.apache.myrmidon.interfaces.property.PropertyStore;
  +import org.apache.myrmidon.interfaces.role.RoleManager;
  +import org.apache.myrmidon.interfaces.role.RoleRegistry;
   import org.apache.myrmidon.interfaces.service.AntServiceKernel;
  +import org.apache.myrmidon.interfaces.type.TypeManager;
  +import org.apache.myrmidon.interfaces.type.TypeRegistry;
   
   /**
    * Implementation of {@link AntServiceKernel} service.
  @@ -78,6 +83,32 @@
   
       public AntServiceKernel createChild()
       {
  -        return new DefaultAntServiceKernel( this );
  +        final DefaultAntServiceKernel sk = new DefaultAntServiceKernel( this );
  +
  +        try
  +        {
  +            // TODO - we never dispose of these services.  That's bad
  +            final PropertyStore basePS =
  +                (PropertyStore)getService( PropertyStore.ROLE );
  +            final PropertyStore ps = basePS.createChildStore();
  +
  +            final TypeManager baseTM =
  +                (TypeManager)getService( TypeManager.ROLE );
  +            final TypeManager tm = baseTM.getChildTypeManager();
  +
  +            sk.registerService( PropertyStore.ROLE, ps );
  +            sk.registerService( AntServiceKernel.ROLE, sk );
  +            sk.registerService( RoleManager.ROLE, tm );
  +            sk.registerService( RoleRegistry.ROLE, tm );
  +            sk.registerService( TypeManager.ROLE, tm );
  +            sk.registerService( TypeRegistry.ROLE, tm );
  +
  +        }
  +        catch( final ServiceException e )
  +        {
  +            throw new IllegalStateException( e.toString() );
  +        }
  +
  +        return sk;
       }
   }
  
  
  
  1.4       +8 -39     jakarta-ant-myrmidon/container/src/java/org/apache/myrmidon/components/context/DefaultTaskContextManager.java
  
  Index: DefaultTaskContextManager.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant-myrmidon/container/src/java/org/apache/myrmidon/components/context/DefaultTaskContextManager.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- DefaultTaskContextManager.java	2 Jul 2002 07:40:32 -0000	1.3
  +++ DefaultTaskContextManager.java	2 Jul 2002 07:44:44 -0000	1.4
  @@ -8,17 +8,11 @@
   package org.apache.myrmidon.components.context;
   
   import java.io.File;
  -import org.apache.avalon.framework.service.ServiceException;
   import org.apache.myrmidon.api.TaskContext;
   import org.apache.myrmidon.api.TaskException;
   import org.apache.myrmidon.components.workspace.DefaultTaskContext;
   import org.apache.myrmidon.interfaces.context.TaskContextManager;
  -import org.apache.myrmidon.interfaces.property.PropertyStore;
  -import org.apache.myrmidon.interfaces.role.RoleManager;
  -import org.apache.myrmidon.interfaces.role.RoleRegistry;
   import org.apache.myrmidon.interfaces.service.AntServiceKernel;
  -import org.apache.myrmidon.interfaces.type.TypeManager;
  -import org.apache.myrmidon.interfaces.type.TypeRegistry;
   
   /**
    * Basic implementation of the {@link TaskContextManager} service.
  @@ -37,38 +31,13 @@
                                                  final File baseDirectory )
           throws TaskException
       {
  -        // TODO - we never dispose of these services.  That's bad
  -        try
  -        {
  -            final PropertyStore basePS =
  -                (PropertyStore)context.getService( PropertyStore.class );
  -            final PropertyStore ps = basePS.createChildStore();
  -
  -            final TypeManager baseTM =
  -                (TypeManager)context.getService( TypeManager.class );
  -            final TypeManager tm = baseTM.getChildTypeManager();
  -
  -            final AntServiceKernel baseSK =
  -                (AntServiceKernel)context.getService( AntServiceKernel.class );
  -            final AntServiceKernel sk = baseSK.createChild();
  -
  -            sk.registerService( PropertyStore.ROLE, ps );
  -            sk.registerService( AntServiceKernel.ROLE, sk );
  -            sk.registerService( RoleManager.ROLE, tm );
  -            sk.registerService( RoleRegistry.ROLE, tm );
  -            sk.registerService( TypeManager.ROLE, tm );
  -            sk.registerService( TypeRegistry.ROLE, tm );
  -
  -            return new DefaultTaskContext( name,
  -                                           "",
  -                                           location,
  -                                           baseDirectory,
  -                                           sk );
  -        }
  -        catch( final ServiceException e )
  -        {
  -            throw new IllegalStateException( e.toString() );
  -        }
  +        final AntServiceKernel serviceKernel =
  +            (AntServiceKernel)context.getService( AntServiceKernel.class );
  +        return new DefaultTaskContext( name,
  +                                       "",
  +                                       location,
  +                                       baseDirectory,
  +                                       serviceKernel.createChild() );
       }
   
       public TaskContext createContext( final TaskContext context,
  
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>