commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From hls...@apache.org
Subject cvs commit: jakarta-commons-sandbox/hivemind/src/META-INF hivemodule.xml
Date Thu, 21 Aug 2003 20:07:47 GMT
hlship      2003/08/21 13:07:47

  Modified:    hivemind/src/java/org/apache/commons/hivemind/parse
                        ServiceDescriptor.java DescriptorParser.java
               hivemind/xdocs descriptor.xml services.xml
               hivemind/src/java/org/apache/commons/hivemind/service/impl
                        DefaultsSymbolSource.java FactoryDefault.java
                        NameLookupImpl.java
               hivemind/src/java/org/apache/commons/hivemind/impl
                        ServiceExtensionPointImpl.java RegistryBuilder.java
               hivemind/src/java/org/apache/commons/hivemind
                        HiveMindMessages.properties HiveMind.java
               hivemind/src/test/hivemind/test/config
                        TestExtensionPoint.java
               hivemind/src/test/hivemind/test/parse
                        TestDescriptorParser.java
               hivemind/src/test/hivemind/test/services TestServices.java
               hivemind/src/META-INF hivemodule.xml
  Added:       hivemind/src/test/hivemind/test/config DupeSymbol.xml
  Removed:     hivemind/src/test/hivemind/test/services ServiceOverride.xml
  Log:
  Remove overridable attribute from <service>; just not a good idea.
  Add hivemind.ApplicationDefaults to complement hivemind.FactoryDefaults.
  Have DefaultsSymbolSource identify conflicting symbol defaults.
  Make it easier to specify/override JNDI configuration values for NameLookup service without
replacing the service itself.
  Replace more explicit service lookups with BuilderFactory and <set-service>.
  
  Revision  Changes    Path
  1.8       +1 -10     jakarta-commons-sandbox/hivemind/src/java/org/apache/commons/hivemind/parse/ServiceDescriptor.java
  
  Index: ServiceDescriptor.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/hivemind/src/java/org/apache/commons/hivemind/parse/ServiceDescriptor.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- ServiceDescriptor.java	12 Aug 2003 17:31:54 -0000	1.7
  +++ ServiceDescriptor.java	21 Aug 2003 20:07:47 -0000	1.8
  @@ -72,7 +72,6 @@
       private String _id;
       private String _interfaceClassName;
       private boolean _required = true;
  -    private boolean _overridable;
       private Schema _parametersSchema;
       private boolean _deferrable;
   
  @@ -115,15 +114,7 @@
           builder.append("parametersSchema", _parametersSchema);
       }
   
  -    public boolean isOverridable()
  -    {
  -        return _overridable;
  -    }
   
  -    public void setOverridable(boolean b)
  -    {
  -        _overridable = b;
  -    }
   
       public Schema getParametersSchema()
       {
  
  
  
  1.26      +1 -3      jakarta-commons-sandbox/hivemind/src/java/org/apache/commons/hivemind/parse/DescriptorParser.java
  
  Index: DescriptorParser.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/hivemind/src/java/org/apache/commons/hivemind/parse/DescriptorParser.java,v
  retrieving revision 1.25
  retrieving revision 1.26
  diff -u -r1.25 -r1.26
  --- DescriptorParser.java	20 Aug 2003 20:40:45 -0000	1.25
  +++ DescriptorParser.java	21 Aug 2003 20:07:47 -0000	1.26
  @@ -211,7 +211,6 @@
           SERVICE_ATTRIBUTES.put("id", Boolean.TRUE);
           SERVICE_ATTRIBUTES.put("interface", Boolean.TRUE);
           SERVICE_ATTRIBUTES.put("required", Boolean.FALSE);
  -        SERVICE_ATTRIBUTES.put("overridable", Boolean.FALSE);
           SERVICE_ATTRIBUTES.put("deferrable", Boolean.FALSE);
       }
   
  @@ -880,7 +879,6 @@
               sd.setId(getAttribute("id"));
               sd.setInterfaceClassName(getAttribute("interface"));
               sd.setRequired(getBooleanAttribute("required", true));
  -            sd.setOverridable(getBooleanAttribute("overridable", false));
               sd.setDeferrable(getBooleanAttribute("deferrable", true));
   
               md.addService(sd);
  
  
  
  1.20      +2 -13     jakarta-commons-sandbox/hivemind/xdocs/descriptor.xml
  
  Index: descriptor.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/hivemind/xdocs/descriptor.xml,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- descriptor.xml	20 Aug 2003 20:40:44 -0000	1.19
  +++ descriptor.xml	21 Aug 2003 20:07:47 -0000	1.20
  @@ -409,18 +409,7 @@
   					<td>If true (the default), then a factory contribution must be made to
   						the extension point. If false, then the service provided by the
   						extension point is optional.</td>
  -				</tr>
  -				<tr>
  -					<td>overridable</td>	
  -					<td>boolean</td>
  -					<td>no</td>
  -					<td>
  -					If true, then the factory contribution provided as an internal contribution
  -					may be overriden by another module.  The core implementation is therefore
  -					just a placeholder.  The default is false.	
  -					</td>
  -				</tr>
  -				
  +				</tr>				
   				<tr>
   					<td>deferrable</td>	
   					<td>boolean</td>
  
  
  
  1.17      +9 -22     jakarta-commons-sandbox/hivemind/xdocs/services.xml
  
  Index: services.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/hivemind/xdocs/services.xml,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- services.xml	20 Aug 2003 20:40:45 -0000	1.16
  +++ services.xml	21 Aug 2003 20:07:47 -0000	1.17
  @@ -22,8 +22,12 @@
   		<section name="Defining Services">
   			<p>A service definition begins with a Java interface. Any interface will
   				do, HiveMind doesn't care, and there's no base HiveMind interface.</p>
  -			<p>A module descriptor may include &service; element to define a service.

  -				This establishes an
  +			<p>A module descriptor may include &service; elements to define  services.

  +				A module may contain any number of services.
  +			</p>
  +			
  +			<p>Each &_service;
  +			 establishes an
   				id for the service, defines the interface for the service, and indicates
   				whether the service is optional or required (required is the default).
   				An example is provided later in this document.</p>
  @@ -168,7 +172,7 @@
   					<p>
   					If <code>toString()</code>	 is part of the service interface (really,
a very rare
   					case), then the interceptor <em>does not</em> override the service implementation's
  -					implementation.
  +					method.
   					</p>
   				
   			</subsection>
  @@ -250,24 +254,7 @@
   				against interfaces instead of implementations, the client code neither
   				knows nor cares about this.</p>
   		</section>
  -		
  -		<section name="Overridable Services">
  -		
  -		<p>
  -		In some cases, you may want to be able to override the core implementation of a service.
  -		The <code>overridable</code> attribute in &service; can be set to <code>true</code>.
 This allows for
  -		an implementation constructor to be provided, even if the service already has one.  Multiple
  -		constructors are still prohibited.
  -		</p>
  -		
  -		<p>
  -		As an example, you may want to replace the
  -		<a href="base-registry/hivemind.html#service:hivemind.NameLookup">hivemind.NameLookup</a>

  -		service, to change its JNDI configuration.
  -		</p>
   			
  -		</section>
  -		
   		<section name="Deferring Service Creation">
   			
   		<p>
  @@ -275,7 +262,7 @@
   		service implementation, configuring its properties (some of which may also be services),
   		and building the stack of interceptors for the service.  Although HiveMind
   		encourages you to define your application in terms of a large number of small, simple,
testable
  -		services, it is also desirable to avoid a cascade of uneccesary object creation
  +		services, it is also desirable to avoid a cascade of unneccesary object creation
   		due to the dependencies between services.
   		</p>
   		
  
  
  
  1.2       +34 -5     jakarta-commons-sandbox/hivemind/src/java/org/apache/commons/hivemind/service/impl/DefaultsSymbolSource.java
  
  Index: DefaultsSymbolSource.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/hivemind/src/java/org/apache/commons/hivemind/service/impl/DefaultsSymbolSource.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- DefaultsSymbolSource.java	21 Aug 2003 14:52:09 -0000	1.1
  +++ DefaultsSymbolSource.java	21 Aug 2003 20:07:47 -0000	1.2
  @@ -61,10 +61,13 @@
   import java.util.List;
   import java.util.Map;
   
  +import org.apache.commons.hivemind.HiveMind;
   import org.apache.commons.hivemind.Initializable;
  +import org.apache.commons.hivemind.Location;
   import org.apache.commons.hivemind.ServiceExtensionPoint;
   import org.apache.commons.hivemind.SymbolSource;
   import org.apache.commons.hivemind.impl.BaseLocatable;
  +import org.apache.commons.logging.Log;
   
   /**
    * Implementation of {@link org.apache.commons.hivemind.SymbolSource} driven
  @@ -73,10 +76,9 @@
    * @author Howard Lewis Ship
    * @version $Id$
    */
  -public class DefaultsSymbolSource
  -    extends BaseLocatable
  -    implements SymbolSource, Initializable
  +public class DefaultsSymbolSource extends BaseLocatable implements SymbolSource, Initializable
   {
  +    private Log _log;
       private List _defaults;
       private Map _symbols = new HashMap();
   
  @@ -87,18 +89,45 @@
   
       public void initializeService(ServiceExtensionPoint point, Object service)
       {
  +        Map symbolMap = new HashMap();
  +
           int count = _defaults.size();
           for (int i = 0; i < count; i++)
           {
               FactoryDefault fd = (FactoryDefault) _defaults.get(i);
   
  -            _symbols.put(fd.getSymbol(), fd.getValue());
  +            String symbol = fd.getSymbol();
  +            String value = fd.getValue();
  +            Location location = fd.getLocation();
  +
  +            Location priorLocation = (Location) symbolMap.get(symbol);
  +
  +            if (priorLocation != null)
  +            {
  +                _log.error(
  +                    HiveMind.format(
  +                        "DefaultsSymbolSource.duplicate-symbol",
  +                        symbol,
  +                        location,
  +                        priorLocation));
  +            }
  +            else
  +            {
  +                _symbols.put(symbol, value);
  +                symbolMap.put(symbol, location);
  +            }
  +
           }
       }
   
       public void setDefaults(List list)
       {
           _defaults = list;
  +    }
  +
  +    public void setLog(Log log)
  +    {
  +        _log = log;
       }
   
   }
  
  
  
  1.2       +4 -2      jakarta-commons-sandbox/hivemind/src/java/org/apache/commons/hivemind/service/impl/FactoryDefault.java
  
  Index: FactoryDefault.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/hivemind/src/java/org/apache/commons/hivemind/service/impl/FactoryDefault.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- FactoryDefault.java	11 Aug 2003 17:45:27 -0000	1.1
  +++ FactoryDefault.java	21 Aug 2003 20:07:47 -0000	1.2
  @@ -57,6 +57,8 @@
   
   package org.apache.commons.hivemind.service.impl;
   
  +import org.apache.commons.hivemind.impl.BaseLocatable;
  +
   /**
    * Default symbol value defined by the 
    * <code>hivemind.FactoryDefaults</code> extension point.
  @@ -64,7 +66,7 @@
    * @author Howard Lewis Ship
    * @version $Id$
    */
  -public class FactoryDefault
  +public class FactoryDefault extends BaseLocatable
   {
   	private String _symbol;
   	private String _value;
  
  
  
  1.4       +11 -28    jakarta-commons-sandbox/hivemind/src/java/org/apache/commons/hivemind/service/impl/NameLookupImpl.java
  
  Index: NameLookupImpl.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/hivemind/src/java/org/apache/commons/hivemind/service/impl/NameLookupImpl.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- NameLookupImpl.java	8 Aug 2003 13:51:10 -0000	1.3
  +++ NameLookupImpl.java	21 Aug 2003 20:07:47 -0000	1.4
  @@ -66,12 +66,12 @@
   import org.apache.commons.hivemind.ApplicationRuntimeException;
   import org.apache.commons.hivemind.HiveMind;
   import org.apache.commons.hivemind.Initializable;
  -import org.apache.commons.hivemind.Registry;
   import org.apache.commons.hivemind.ServiceExtensionPoint;
   import org.apache.commons.hivemind.service.NameLookup;
   import org.apache.commons.hivemind.service.RemoteExceptionCoordinator;
   import org.apache.commons.hivemind.service.RemoteExceptionEvent;
   import org.apache.commons.hivemind.service.RemoteExceptionListener;
  +import org.apache.commons.lang.StringUtils;
   
   /**
    * Standard implementation of the {@link org.apache.commons.hivemind.service.NameLookup}
  @@ -126,17 +126,17 @@
           }
       }
   
  -    protected Context getInitialContext() throws NamingException
  +    private Context getInitialContext() throws NamingException
       {
           Hashtable properties = new Hashtable();
   
  -        if (_initialFactory != null)
  +        if (!StringUtils.isEmpty(_initialFactory))
               properties.put(Context.INITIAL_CONTEXT_FACTORY, _initialFactory);
   
  -        if (_providerURL != null)
  +        if (!StringUtils.isEmpty(_providerURL))
               properties.put(Context.PROVIDER_URL, _providerURL);
   
  -        if (_URLPackages != null)
  +        if (!StringUtils.isEmpty(_URLPackages))
               properties.put(Context.URL_PKG_PREFIXES, _URLPackages);
   
           return constructContext(properties);
  @@ -153,13 +153,6 @@
   
       public void initializeService(ServiceExtensionPoint point, Object service)
       {
  -        Registry registry = point.getModule().getRegistry();
  -
  -        _coordinator =
  -            (RemoteExceptionCoordinator) registry.getService(
  -                HiveMind.REMOTE_EXCEPTION_COORDINATOR_SERVICE_ID,
  -                RemoteExceptionCoordinator.class);
  -
           _coordinator.addRemoteExceptionListener(this);
       }
   
  @@ -171,21 +164,6 @@
           _initialContext = null;
       }
   
  -    public String getInitialFactory()
  -    {
  -        return _initialFactory;
  -    }
  -
  -    public String getProviderURL()
  -    {
  -        return _providerURL;
  -    }
  -
  -    public String getURLPackages()
  -    {
  -        return _URLPackages;
  -    }
  -
       /**
        * Sets the initial factory used to create the initial JNDI context.
        * Equivalent to the system property <code>java.naming.factory.initial</code>.
  @@ -213,6 +191,11 @@
       public void setURLPackages(String string)
       {
           _URLPackages = string;
  +    }
  +
  +    public void setCoordinator(RemoteExceptionCoordinator coordinator)
  +    {
  +        _coordinator = coordinator;
       }
   
   }
  
  
  
  1.10      +2 -16     jakarta-commons-sandbox/hivemind/src/java/org/apache/commons/hivemind/impl/ServiceExtensionPointImpl.java
  
  Index: ServiceExtensionPointImpl.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/hivemind/src/java/org/apache/commons/hivemind/impl/ServiceExtensionPointImpl.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- ServiceExtensionPointImpl.java	20 Aug 2003 20:40:45 -0000	1.9
  +++ ServiceExtensionPointImpl.java	21 Aug 2003 20:07:47 -0000	1.10
  @@ -97,7 +97,6 @@
       private ServiceImplementationConstructor _serviceConstructor;
       private List _interceptorContributions;
       private boolean _required;
  -    private boolean _overridable;
       private boolean _building;
       private Schema _parametersSchema;
       private Object _constructedService;
  @@ -109,7 +108,6 @@
           builder.append("serviceInterfaceName", _serviceInterfaceName);
           builder.append("deferrable", _deferrable);
           builder.append("required", _required);
  -        builder.append("overridable", _overridable);
           builder.append("factoryContribution", _serviceConstructor);
           builder.append("interceptorContributions", _interceptorContributions);
           builder.append("parametersSchema", _parametersSchema);
  @@ -328,16 +326,6 @@
           return stack.peek();
       }
   
  -    public boolean isOverridable()
  -    {
  -        return _overridable;
  -    }
  -
  -    public void setOverridable(boolean b)
  -    {
  -        _overridable = b;
  -    }
  -
       public Schema getParametersSchema()
       {
           return _parametersSchema;
  @@ -433,9 +421,7 @@
           Registry registry = getModule().getRegistry();
   
           ClassFactory factory =
  -            (ClassFactory) registry.getService(
  -                HiveMind.CLASS_FACTORY_SERVICE_ID,
  -                ClassFactory.class);
  +            (ClassFactory) registry.getService("hivemind.ClassFactory", ClassFactory.class);
   
           String className = ClassFabUtils.generateClassName("Proxy");
   
  
  
  
  1.23      +2 -8      jakarta-commons-sandbox/hivemind/src/java/org/apache/commons/hivemind/impl/RegistryBuilder.java
  
  Index: RegistryBuilder.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/hivemind/src/java/org/apache/commons/hivemind/impl/RegistryBuilder.java,v
  retrieving revision 1.22
  retrieving revision 1.23
  diff -u -r1.22 -r1.23
  --- RegistryBuilder.java	20 Aug 2003 20:40:45 -0000	1.22
  +++ RegistryBuilder.java	21 Aug 2003 20:07:47 -0000	1.23
  @@ -333,7 +333,6 @@
               point.setLocation(sd.getLocation());
               point.setModule(module);
               point.setRequired(sd.isRequired());
  -            point.setOverridable(sd.isOverridable());
               point.setDeferrable(sd.isDeferrable());
               point.setServiceInterfaceName(sd.getInterfaceClassName());
               point.setParametersSchema(sd.getParametersSchema());
  @@ -593,7 +592,7 @@
               return;
           }
   
  -        if (sep.getServiceConstructor() != null && !sep.isOverridable())
  +        if (sep.getServiceConstructor() != null)
           {
               LOG.error(
                   HiveMind.format(
  @@ -605,11 +604,6 @@
           }
   
           sep.setServiceConstructor(builder.createConstructor(sep, sourceModule));
  -
  -        // The first non-internal contribution "locks" the 
  -        // extension point so that no further contribution may be made.
  -        if (!isInternal)
  -            sep.setOverridable(false);
       }
   
   	private void addServiceExtension(
  
  
  
  1.24      +2 -1      jakarta-commons-sandbox/hivemind/src/java/org/apache/commons/hivemind/HiveMindMessages.properties
  
  Index: HiveMindMessages.properties
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/hivemind/src/java/org/apache/commons/hivemind/HiveMindMessages.properties,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- HiveMindMessages.properties	20 Aug 2003 20:40:45 -0000	1.23
  +++ HiveMindMessages.properties	21 Aug 2003 20:07:47 -0000	1.24
  @@ -14,6 +14,7 @@
   
   # impl package
   
  +DefaultsSymbolSource.duplicate-symbol=Default for symbol ''{0}'' (at {1}) duplicates prior
value (at {2}) and has been ignored.
   
   DefaultClassResolver.unable-to-load-class=Could not load class {0} from {1}: {2}
   
  
  
  
  1.17      +1 -19     jakarta-commons-sandbox/hivemind/src/java/org/apache/commons/hivemind/HiveMind.java
  
  Index: HiveMind.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/hivemind/src/java/org/apache/commons/hivemind/HiveMind.java,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- HiveMind.java	20 Aug 2003 20:40:45 -0000	1.16
  +++ HiveMind.java	21 Aug 2003 20:07:47 -0000	1.17
  @@ -79,24 +79,6 @@
   {
       private static final Log LOG = LogFactory.getLog(HiveMind.class);
   
  -    /**
  -     * Service id for the {@link org.apache.commons.hivemind.service.RemoteExceptionCoordinator}
  -     * service.
  -     */
  -    public static final String REMOTE_EXCEPTION_COORDINATOR_SERVICE_ID =
  -        "hivemind.RemoteExceptionCoordinator";
  -
  -    /**
  -     * Service id for the {@link org.apache.commons.hivemind.service.NameLookup} service.
  -     */
  -    public static final String NAME_LOOKUP_SERVICE_ID = "hivemind.NameLookup";
  -
  -    /**
  -     * Service id for the {@link org.apache.commons.hivemind.service.ClassFactory} service.
  -     */
  -
  -    public static final String CLASS_FACTORY_SERVICE_ID = "hivemind.ClassFactory";
  -
       private static Registry _registry;
       private static final ResourceBundle _bundle;
   
  
  
  
  1.9       +17 -1     jakarta-commons-sandbox/hivemind/src/test/hivemind/test/config/TestExtensionPoint.java
  
  Index: TestExtensionPoint.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/hivemind/src/test/hivemind/test/config/TestExtensionPoint.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- TestExtensionPoint.java	20 Aug 2003 20:40:45 -0000	1.8
  +++ TestExtensionPoint.java	21 Aug 2003 20:07:47 -0000	1.9
  @@ -501,4 +501,20 @@
                   "Unable to create instance of Rule class hivemind.test.config.XetContributingModuleRule");
           }
       }
  +
  +    public void testDupeSymbol() throws Exception
  +    {
  +        Registry r = buildRegistry("DupeSymbol.xml");
  +
  +        interceptLogging("hivemind.ApplicationDefaultsSymbolSource");
  +
  +        assertEquals(
  +            "Fred's friend is barney.",
  +            r.expandSymbols("Fred's friend is ${fred}.", null));
  +
  +        checkLoggingEvent(
  +            null,
  +            "Default for symbol 'fred' \\(at .*?\\) duplicates prior value \\(at .*\\)
and has been ignored\\.",
  +            false);
  +    }
   }
  
  
  
  1.1                  jakarta-commons-sandbox/hivemind/src/test/hivemind/test/config/DupeSymbol.xml
  
  Index: DupeSymbol.xml
  ===================================================================
  <?xml version="1.0"?>
  <module id="hivemind.test.config" version="1.0.0">
  
   <extension point-id="hivemind.ApplicationDefaults">
   
     <default symbol="fred" value="barney"/>
     
     <default symbol="wilma" value="betty"/>
     
     <default symbol="fred" value="dino"/>	
   	
   </extension>
  
  </module>
  
  
  1.21      +1 -2      jakarta-commons-sandbox/hivemind/src/test/hivemind/test/parse/TestDescriptorParser.java
  
  Index: TestDescriptorParser.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/hivemind/src/test/hivemind/test/parse/TestDescriptorParser.java,v
  retrieving revision 1.20
  retrieving revision 1.21
  diff -u -r1.20 -r1.21
  --- TestDescriptorParser.java	11 Aug 2003 17:45:28 -0000	1.20
  +++ TestDescriptorParser.java	21 Aug 2003 20:07:47 -0000	1.21
  @@ -206,7 +206,6 @@
           assertEquals("MyService1", sd.getId());
           assertEquals("package.MyService", sd.getInterfaceClassName());
           assertEquals(true, sd.isRequired());
  -        assertEquals(false, sd.isOverridable());
   
           CreateInstanceDescriptor cid = (CreateInstanceDescriptor) sd.getInstanceBuilder();
           assertEquals("package.impl.MyServiceImpl", cid.getInstanceClassName());
  
  
  
  1.22      +1 -13     jakarta-commons-sandbox/hivemind/src/test/hivemind/test/services/TestServices.java
  
  Index: TestServices.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/hivemind/src/test/hivemind/test/services/TestServices.java,v
  retrieving revision 1.21
  retrieving revision 1.22
  diff -u -r1.21 -r1.22
  --- TestServices.java	20 Aug 2003 20:40:45 -0000	1.21
  +++ TestServices.java	21 Aug 2003 20:07:47 -0000	1.22
  @@ -329,18 +329,6 @@
   //        }
   //    }
   
  -    public void testServiceOverride() throws Exception
  -    {
  -        Registry r = buildRegistry("ServiceOverride.xml");
  -
  -        SimpleService s =
  -            (SimpleService) r.getService(
  -                "hivemind.test.services.ServiceOverride",
  -                SimpleService.class);
  -
  -        // The bad impl multiplies, not add.
  -        assertEquals(28, s.add(4, 7));
  -    }
   
       public void testServiceTranslator() throws Exception
       {
  
  
  
  1.18      +28 -9     jakarta-commons-sandbox/hivemind/src/META-INF/hivemodule.xml
  
  Index: hivemodule.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/hivemind/src/META-INF/hivemodule.xml,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- hivemodule.xml	21 Aug 2003 14:52:09 -0000	1.17
  +++ hivemodule.xml	21 Aug 2003 20:07:47 -0000	1.18
  @@ -102,7 +102,9 @@
   		</description>
   		
   		<invoke-factory service-id="BuilderFactory">
  -			<construct class="org.apache.commons.hivemind.service.impl.DefaultsSymbolSource">
  +			<construct
  +				class="org.apache.commons.hivemind.service.impl.DefaultsSymbolSource"
  +				log-property="log">
   			  <set-extension-point point-id="FactoryDefaults" property="defaults"/>
   			</construct>
   		</invoke-factory>
  @@ -114,7 +116,9 @@
   		</description>
   		
   		<invoke-factory service-id="BuilderFactory">
  -			<construct class="org.apache.commons.hivemind.service.impl.DefaultsSymbolSource">
  +			<construct
  +				class="org.apache.commons.hivemind.service.impl.DefaultsSymbolSource"
  +				log-property="log">
   			  <set-extension-point point-id="ApplicationDefaults" property="defaults"/>
   			</construct>
   		</invoke-factory>
  @@ -151,16 +155,29 @@
   	
   	<service id="NameLookup"
   			interface="org.apache.commons.hivemind.service.NameLookup"
  -			overridable="true"
   			deferrable="false">
   		<description>
  -			A service which can perform name lookups of objects; typically an implementation based
on JNDI is supplied.	
  -			The default implementation uses JNDI but may be overriden for other environments, or
to override its
  -			configuration.
  +			A service which can perform name lookups of objects using JNDI.
   		</description>	
  -		<create-instance class="org.apache.commons.hivemind.service.impl.NameLookupImpl"/>

  +		
  +		<invoke-factory service-id="BuilderFactory">
  +		  <construct
  +		    class="org.apache.commons.hivemind.service.impl.NameLookupImpl">
  +		    <set property="initialFactory" value="${java.naming.factory.initial}"/>
  +		    <set property="URLPackages" value="${java.naming.factory.url.pkgs}"/>
  +		    <set property="providerURL" value="${java.naming.provider.url}"/>
  +		    <set-service property="coordinator" service-id="RemoteExceptionCoordinator"/>
  +		   </construct>
  +		</invoke-factory>
  +
   	</service>
   	
  +	<extension point-id="FactoryDefaults">
  +		<default symbol="java.naming.factory.initial" value=""/>
  +		<default symbol="java.naming.factory.url.pkgs" value=""/>
  +		<default symbol="java.naming.provider.url" value=""/>	
  +	</extension>
  +	
   	<service id="BuilderFactory" interface="org.apache.commons.hivemind.ServiceImplementationFactory"
deferrable="false">
   		<description>
   		Used to construct a service from a class name and a set of properties and values to be
set in the instantiated class.	
  @@ -295,7 +312,9 @@
   	<service id="EJBProxyFactory"
   		interface="org.apache.commons.hivemind.ServiceImplementationFactory" deferrable="false">
   		<description>
  -		Core service implementation factory that constructs dynamic proxies to EJB stateless
session beans.  A single parameter, the JNDI name of the proxy, is required.	
  +		Core service implementation factory that constructs dynamic proxies to EJB stateless
session beans. 
  +		Factory parameters are used to specify the JNDI name of the EJB and the name 
  +		of its home interface. This implementation uses the default NameLookup service.
   		</description>
   		
   		<parameters-schema>
  
  
  

Mime
View raw message