You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by hl...@apache.org on 2003/09/05 17:04:41 UTC

cvs commit: jakarta-commons-sandbox/hivemind/src/java/org/apache/commons/hivemind/service/impl NameLookupImpl.java

hlship      2003/09/05 08:04:41

  Modified:    hivemind/src/java/org/apache/commons/hivemind/schema/rules
                        ExtensionPointTranslator.java
                        ServiceTranslator.java ClassTranslator.java
                        EnumerationTranslator.java BooleanTranslator.java
                        RuleUtils.java IntTranslator.java
               hivemind/src/java/org/apache/commons/hivemind/impl
                        InterceptorStackImpl.java
                        InvokeFactoryServiceConstructor.java
               hivemind/src/java/org/apache/commons/hivemind
                        HiveMindMessages.properties
               hivemind/src/java/org/apache/commons/hivemind/util
                        LocalizedNameGenerator.java
               hivemind/src/test/hivemind/test/config
                        ToUpperCaseTranslator.java
               hivemind/src/test/hivemind/test/services StringHolder.xml
               hivemind/src/java/org/apache/commons/hivemind/service/impl
                        NameLookupImpl.java
  Log:
  Improve efficiency when a interceptor or instance factory is re-invoked.
  Remove unneeded null service checks.
  Convert from StringUtils.isEmpty() to StringUtils.isBlank() (because of commons-lang 2.0).
  
  Revision  Changes    Path
  1.3       +2 -2      jakarta-commons-sandbox/hivemind/src/java/org/apache/commons/hivemind/schema/rules/ExtensionPointTranslator.java
  
  Index: ExtensionPointTranslator.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/hivemind/src/java/org/apache/commons/hivemind/schema/rules/ExtensionPointTranslator.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ExtensionPointTranslator.java	30 Aug 2003 14:29:53 -0000	1.2
  +++ ExtensionPointTranslator.java	5 Sep 2003 15:04:41 -0000	1.3
  @@ -80,7 +80,7 @@
   
       public Object translate(SchemaProcessor processor, Element element, String inputValue)
       {
  -        if (StringUtils.isEmpty(inputValue))
  +        if (StringUtils.isBlank(inputValue))
               return null;
   
           Module module = processor.getContributingModule();
  
  
  
  1.4       +2 -2      jakarta-commons-sandbox/hivemind/src/java/org/apache/commons/hivemind/schema/rules/ServiceTranslator.java
  
  Index: ServiceTranslator.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/hivemind/src/java/org/apache/commons/hivemind/schema/rules/ServiceTranslator.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- ServiceTranslator.java	30 Aug 2003 14:29:53 -0000	1.3
  +++ ServiceTranslator.java	5 Sep 2003 15:04:41 -0000	1.4
  @@ -83,7 +83,7 @@
        */
       public Object translate(SchemaProcessor processor, Element element, String inputValue)
       {
  -        if (StringUtils.isEmpty(inputValue))
  +        if (StringUtils.isBlank(inputValue))
               return null;
   
           Module module = processor.getContributingModule();
  
  
  
  1.4       +2 -2      jakarta-commons-sandbox/hivemind/src/java/org/apache/commons/hivemind/schema/rules/ClassTranslator.java
  
  Index: ClassTranslator.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/hivemind/src/java/org/apache/commons/hivemind/schema/rules/ClassTranslator.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- ClassTranslator.java	30 Aug 2003 14:29:53 -0000	1.3
  +++ ClassTranslator.java	5 Sep 2003 15:04:41 -0000	1.4
  @@ -83,7 +83,7 @@
        */
       public Object translate(SchemaProcessor processor, Element element, String inputValue)
       {
  -        if (StringUtils.isEmpty(inputValue))
  +        if (StringUtils.isBlank(inputValue))
               return null;
   
           try
  
  
  
  1.4       +2 -2      jakarta-commons-sandbox/hivemind/src/java/org/apache/commons/hivemind/schema/rules/EnumerationTranslator.java
  
  Index: EnumerationTranslator.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/hivemind/src/java/org/apache/commons/hivemind/schema/rules/EnumerationTranslator.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- EnumerationTranslator.java	30 Aug 2003 14:29:53 -0000	1.3
  +++ EnumerationTranslator.java	5 Sep 2003 15:04:41 -0000	1.4
  @@ -109,7 +109,7 @@
   
       public Object translate(SchemaProcessor processor, Element element, String inputValue)
       {
  -        if (StringUtils.isEmpty(inputValue))
  +        if (StringUtils.isBlank(inputValue))
               return null;
   
           Class c = getClass(processor);
  
  
  
  1.4       +2 -2      jakarta-commons-sandbox/hivemind/src/java/org/apache/commons/hivemind/schema/rules/BooleanTranslator.java
  
  Index: BooleanTranslator.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/hivemind/src/java/org/apache/commons/hivemind/schema/rules/BooleanTranslator.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- BooleanTranslator.java	30 Aug 2003 14:29:53 -0000	1.3
  +++ BooleanTranslator.java	5 Sep 2003 15:04:41 -0000	1.4
  @@ -102,7 +102,7 @@
       
       public Object translate(SchemaProcessor processor, Element element, String inputValue)
       {
  -        if (StringUtils.isEmpty(inputValue))
  +        if (StringUtils.isBlank(inputValue))
               return _defaultValue;
   
           if (inputValue.equals("true"))
  
  
  
  1.5       +2 -2      jakarta-commons-sandbox/hivemind/src/java/org/apache/commons/hivemind/schema/rules/RuleUtils.java
  
  Index: RuleUtils.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/hivemind/src/java/org/apache/commons/hivemind/schema/rules/RuleUtils.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- RuleUtils.java	30 Aug 2003 14:29:53 -0000	1.4
  +++ RuleUtils.java	5 Sep 2003 15:04:41 -0000	1.5
  @@ -90,7 +90,7 @@
        */
       public static Map convertInitializer(String initializer)
       {
  -        if (StringUtils.isEmpty(initializer))
  +        if (StringUtils.isBlank(initializer))
               return Collections.EMPTY_MAP;
   
           Map result = new HashMap();
  
  
  
  1.4       +2 -2      jakarta-commons-sandbox/hivemind/src/java/org/apache/commons/hivemind/schema/rules/IntTranslator.java
  
  Index: IntTranslator.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/hivemind/src/java/org/apache/commons/hivemind/schema/rules/IntTranslator.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- IntTranslator.java	30 Aug 2003 14:29:53 -0000	1.3
  +++ IntTranslator.java	5 Sep 2003 15:04:41 -0000	1.4
  @@ -124,7 +124,7 @@
        */
       public Object translate(SchemaProcessor processor, Element element, String inputValue)
       {
  -        if (StringUtils.isEmpty(inputValue))
  +        if (StringUtils.isBlank(inputValue))
               return new Integer(_defaultValue);
   
           int value;
  
  
  
  1.5       +2 -12     jakarta-commons-sandbox/hivemind/src/java/org/apache/commons/hivemind/impl/InterceptorStackImpl.java
  
  Index: InterceptorStackImpl.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/hivemind/src/java/org/apache/commons/hivemind/impl/InterceptorStackImpl.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- InterceptorStackImpl.java	30 Aug 2003 14:29:51 -0000	1.4
  +++ InterceptorStackImpl.java	5 Sep 2003 15:04:41 -0000	1.5
  @@ -151,7 +151,7 @@
                       new Object[] {
                           interceptor,
                           _contribution.getFactoryId(),
  -						_sep.getExtensionPointId(),
  +                        _sep.getExtensionPointId(),
                           _interfaceClass.getName()}),
                   _contribution.getLocation(),
                   null);
  @@ -176,16 +176,6 @@
               (ServiceInterceptorFactory) _registry.getService(
                   factoryId,
                   ServiceInterceptorFactory.class);
  -
  -        if (factory == null)
  -        {
  -            LOG.error(
  -                HiveMind.format(
  -                    "InterceptorStack.null-factory",
  -                    factoryId,
  -                    _sep.getExtensionPointId()));
  -            return;
  -        }
   
           // And now we can finally do this!
   
  
  
  
  1.5       +27 -25    jakarta-commons-sandbox/hivemind/src/java/org/apache/commons/hivemind/impl/InvokeFactoryServiceConstructor.java
  
  Index: InvokeFactoryServiceConstructor.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/hivemind/src/java/org/apache/commons/hivemind/impl/InvokeFactoryServiceConstructor.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- InvokeFactoryServiceConstructor.java	30 Aug 2003 14:29:51 -0000	1.4
  +++ InvokeFactoryServiceConstructor.java	5 Sep 2003 15:04:41 -0000	1.5
  @@ -83,39 +83,46 @@
       private String _factoryServiceId;
       private ServiceExtensionPoint _serviceExtensionPoint;
       private Module _contributingModule;
  +
  +    /** List of {@link org.apache.commons.hivemind.Element}, the raw XML parameters. */
       private List _parameters;
   
  +    /** The factory service to be invoked. */
  +    private ServiceImplementationFactory _factory;
  +
  +    /** The parameters converted to objects as per the factory's parameter schema. */
  +    private List _convertedParameters;
  +
       public Object constructCoreServiceImplementation()
       {
  -        Registry registry = _contributingModule.getRegistry();
  +        if (_factory == null)
  +        {
  +            Registry registry = _contributingModule.getRegistry();
   
  -        String qualifiedFactoryId = HiveMind.qualify(_contributingModule, _factoryServiceId);
  +            String qualifiedFactoryId = HiveMind.qualify(_contributingModule, _factoryServiceId);
   
  -        String factoryModuleId = RegistryImpl.split(qualifiedFactoryId);
  -        Module factoryModule = registry.getModule(factoryModuleId);
  -        ServiceExtensionPoint factoryPoint =
  -            factoryModule.getServiceExtensionPoint(qualifiedFactoryId);
  +            String factoryModuleId = RegistryImpl.split(qualifiedFactoryId);
  +            Module factoryModule = registry.getModule(factoryModuleId);
  +            ServiceExtensionPoint factoryPoint =
  +                factoryModule.getServiceExtensionPoint(qualifiedFactoryId);
   
  -        ServiceImplementationFactory factory =
  -            (ServiceImplementationFactory) factoryPoint.getService(
  -                ServiceImplementationFactory.class);
  +            _factory =
  +                (ServiceImplementationFactory) factoryPoint.getService(
  +                    ServiceImplementationFactory.class);
   
  -        if (factory == null)
  -            throw new ApplicationRuntimeException(
  -                HiveMind.format("InvokeFactoryDescriptor.factory-is-null", qualifiedFactoryId),
  -                getLocation(),
  -                null);
  +            Schema schema = factoryPoint.getParametersSchema();
   
  -        Schema schema = factoryPoint.getParametersSchema();
  +            SchemaProcessorImpl processor = new SchemaProcessorImpl(schema);
   
  -        SchemaProcessorImpl processor = new SchemaProcessorImpl(schema);
  +            processor.process(_parameters, _contributingModule);
   
  -        processor.process(_parameters, _contributingModule);
  +            _convertedParameters = processor.getElements();
  +        }
   
  -        return factory.createCoreServiceImplementation(
  +        return _factory.createCoreServiceImplementation(
               _serviceExtensionPoint,
               _contributingModule,
  -            processor.getElements());
  +            _convertedParameters);
       }
   
       public Module getContributingModule()
  @@ -131,11 +138,6 @@
       public List getParameters()
       {
           return _parameters;
  -    }
  -
  -    public String getFactoryServiceId()
  -    {
  -        return _factoryServiceId;
       }
   
       public ServiceExtensionPoint getServiceExtensionPoint()
  
  
  
  1.26      +1 -6      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.25
  retrieving revision 1.26
  diff -u -r1.25 -r1.26
  --- HiveMindMessages.properties	24 Aug 2003 03:28:29 -0000	1.25
  +++ HiveMindMessages.properties	5 Sep 2003 15:04:41 -0000	1.26
  @@ -67,7 +67,6 @@
   
   InterceptorStack.interceptor-does-not-implement-interface=The service interceptor ({0}) generated by service {1} for service extension point {2} does not implement the {3} interface defined by the extension point.
   InterceptorStack.null-interceptor=Service {0} generated a null interceptor (for service extension point {1}).
  -InterceptorStack.null-factory=Interceptor factory {0} (requested for service extension point {1}) is null and is being skipped.
   
   MessagesImpl.unable-to-read=Unable to read message properties from {0}.
   
  @@ -92,10 +91,6 @@
   ClassFabImpl.unable-to-add-constructor=Unable to add constructor to class {0}: {1}
   
   MethodFabImpl.unable-to-add-catch=Unable to add catch block for exception {0} to class {1}: {2}
  -
  -# parse package
  -
  -InvokeFactoryDescriptor.factory-is-null=Factory service {0} is null.
   
   # schema.rules package
   
  
  
  
  1.3       +5 -5      jakarta-commons-sandbox/hivemind/src/java/org/apache/commons/hivemind/util/LocalizedNameGenerator.java
  
  Index: LocalizedNameGenerator.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/hivemind/src/java/org/apache/commons/hivemind/util/LocalizedNameGenerator.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- LocalizedNameGenerator.java	30 Aug 2003 14:29:56 -0000	1.2
  +++ LocalizedNameGenerator.java	5 Sep 2003 15:04:41 -0000	1.3
  @@ -125,14 +125,14 @@
               {
                   case LCV :
   
  -                    if (StringUtils.isEmpty(_variant))
  +                    if (StringUtils.isBlank(_variant))
                           continue;
   
                       return;
   
                   case LC :
   
  -                    if (StringUtils.isEmpty(_country))
  +                    if (StringUtils.isBlank(_country))
                           continue;
   
                       return;
  @@ -142,14 +142,14 @@
                       // If _country is null, then we've already generated this string
                       // as state LCV and we can continue directly to state L
                       
  -                    if (StringUtils.isEmpty(_variant) || StringUtils.isEmpty(_country))
  +                    if (StringUtils.isBlank(_variant) || StringUtils.isBlank(_country))
                           continue;
   
                       return;
   
                   case L :
   
  -                    if (StringUtils.isEmpty(_language))
  +                    if (StringUtils.isBlank(_language))
                           continue;
   
                       return;
  
  
  
  1.3       +2 -2      jakarta-commons-sandbox/hivemind/src/test/hivemind/test/config/ToUpperCaseTranslator.java
  
  Index: ToUpperCaseTranslator.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/hivemind/src/test/hivemind/test/config/ToUpperCaseTranslator.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ToUpperCaseTranslator.java	30 Aug 2003 14:29:56 -0000	1.2
  +++ ToUpperCaseTranslator.java	5 Sep 2003 15:04:41 -0000	1.3
  @@ -73,7 +73,7 @@
   
       public Object translate(SchemaProcessor processor, Element element, String inputValue)
       {
  -        if (StringUtils.isEmpty(inputValue))
  +        if (StringUtils.isBlank(inputValue))
               return null;
   
           return inputValue.toUpperCase();
  
  
  
  1.2       +9 -2      jakarta-commons-sandbox/hivemind/src/test/hivemind/test/services/StringHolder.xml
  
  Index: StringHolder.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/hivemind/src/test/hivemind/test/services/StringHolder.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- StringHolder.xml	23 Aug 2003 22:46:03 -0000	1.1
  +++ StringHolder.xml	5 Sep 2003 15:04:41 -0000	1.2
  @@ -4,7 +4,14 @@
   	id="hivemind.test.services" 
   	version="0.0.1">
   	<service id="StringHolder" interface="hivemind.test.services.StringHolder" model="threaded">
  -	  <create-instance class="hivemind.test.services.impl.StringHolderImpl"/>
  +	  
  +	  <!-- Could just use create-instance, but looking for some code coverage instead
  +	  	   InvokeFactoryServiceConstructor -->
  +	  	   
  +	  <invoke-factory service-id="hivemind.BuilderFactory">
  +	  	<construct class="hivemind.test.services.impl.StringHolderImpl"/>	
  +	  </invoke-factory>
  +
   	  <interceptor service-id="hivemind.LoggingInterceptor"/>
   	</service>
   </module>
  
  
  
  1.6       +4 -4      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.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- NameLookupImpl.java	30 Aug 2003 14:29:54 -0000	1.5
  +++ NameLookupImpl.java	5 Sep 2003 15:04:41 -0000	1.6
  @@ -130,13 +130,13 @@
       {
           Hashtable properties = new Hashtable();
   
  -        if (!StringUtils.isEmpty(_initialFactory))
  +        if (!StringUtils.isBlank(_initialFactory))
               properties.put(Context.INITIAL_CONTEXT_FACTORY, _initialFactory);
   
  -        if (!StringUtils.isEmpty(_providerURL))
  +        if (!StringUtils.isBlank(_providerURL))
               properties.put(Context.PROVIDER_URL, _providerURL);
   
  -        if (!StringUtils.isEmpty(_URLPackages))
  +        if (!StringUtils.isBlank(_URLPackages))
               properties.put(Context.URL_PKG_PREFIXES, _URLPackages);
   
           return constructContext(properties);