You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hivemind.apache.org by hl...@apache.org on 2005/03/31 02:24:20 UTC

cvs commit: jakarta-hivemind/src/documentation/content/xdocs descriptor.xml

hlship      2005/03/30 16:24:20

  Modified:    framework/src/test/hivemind/test/parse
                        TestDescriptorParser.java
               examples/src/documentation/content/xdocs/hivemind-examples
                        calc.xml
               framework/src/descriptor/META-INF hivemodule.xml
               .        status.xml
               framework/src/java/org/apache/hivemind/parse
                        DescriptorParser.java DescriptorParser.properties
               examples/src/descriptor/META-INF examples.xml
               library/src/descriptor/META-INF hivemodule.xml
               src/documentation/content/xdocs descriptor.xml
  Added:       framework/src/test/hivemind/test/parse NoInterface.xml
  Log:
  Make the interface attribute of <service-point> optional, and default to the service point's id.
  
  Revision  Changes    Path
  1.33      +13 -2     jakarta-hivemind/framework/src/test/hivemind/test/parse/TestDescriptorParser.java
  
  Index: TestDescriptorParser.java
  ===================================================================
  RCS file: /home/cvs/jakarta-hivemind/framework/src/test/hivemind/test/parse/TestDescriptorParser.java,v
  retrieving revision 1.32
  retrieving revision 1.33
  diff -u -r1.32 -r1.33
  --- TestDescriptorParser.java	28 Feb 2005 12:35:43 -0000	1.32
  +++ TestDescriptorParser.java	31 Mar 2005 00:24:20 -0000	1.33
  @@ -190,8 +190,8 @@
           InterceptorDescriptor id = (InterceptorDescriptor) l.get(0);
           assertEquals("MyInterceptor", id.getFactoryServiceId());
           assertEquals("OtherInterceptor", id.getBefore());
  -        assertEquals( "MyInterceptorName", id.getName() );
  -        
  +        assertEquals("MyInterceptorName", id.getName());
  +
           id = (InterceptorDescriptor) l.get(1);
           assertEquals("OtherInterceptor", id.getFactoryServiceId());
           assertEquals("MyInterceptorName", id.getAfter());
  @@ -610,4 +610,15 @@
   
           assertEquals("my.package.MyServiceInterface", spd.getInterfaceClassName());
       }
  +
  +    /** @since 1.1 */
  +
  +    public void testNoInterface() throws Exception
  +    {
  +        ModuleDescriptor md = parse("NoInterface.xml");
  +
  +        ServicePointDescriptor spd = (ServicePointDescriptor) md.getServicePoints().get(0);
  +
  +        assertEquals("hivemind.test.NoInterface", spd.getInterfaceClassName());
  +    }
   }
  \ No newline at end of file
  
  
  
  1.1                  jakarta-hivemind/framework/src/test/hivemind/test/parse/NoInterface.xml
  
  Index: NoInterface.xml
  ===================================================================
  <?xml version="1.0"?>
  <!-- 
     Copyright 2005 The Apache Software Foundation
  
     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at
  
         http://www.apache.org/licenses/LICENSE-2.0
  
     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
  -->
  
  <module id="hivemind.test" version="1.1.0">
    
    <service-point id="NoInterface"/>
    
  </module>
  
  
  1.9       +12 -7     jakarta-hivemind/examples/src/documentation/content/xdocs/hivemind-examples/calc.xml
  
  Index: calc.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-hivemind/examples/src/documentation/content/xdocs/hivemind-examples/calc.xml,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- calc.xml	10 Feb 2005 01:04:33 -0000	1.8
  +++ calc.xml	31 Mar 2005 00:24:20 -0000	1.9
  @@ -102,23 +102,23 @@
   <source><![CDATA[
   <?xml version="1.0"?>
   <module id="examples" version="1.0.0" package="org.apache.hivemind.examples">
  -    <service-point id="Adder" interface="Adder">
  +    <service-point id="Adder">
           <create-instance class="impl.AdderImpl"/>
           <interceptor service-id="hivemind.LoggingInterceptor"/>
       </service-point>
  -    <service-point id="Subtracter" interface="Subtracter">
  +    <service-point id="Subtracter">
           <create-instance class="impl.SubtracterImpl"/>
           <interceptor service-id="hivemind.LoggingInterceptor"/>
       </service-point>
  -    <service-point id="Multiplier" interface="Multiplier">
  +    <service-point id="Multiplier">
           <create-instance class="impl.MultiplierImpl"/>
           <interceptor service-id="hivemind.LoggingInterceptor"/>
       </service-point>
  -    <service-point id="Divider" interface="Divider">
  +    <service-point id="Divider">
           <create-instance class="impl.DividerImpl"/>
           <interceptor service-id="hivemind.LoggingInterceptor"/>
       </service-point>
  -    <service-point id="Calculator" interface="Calculator">
  +    <service-point id="Calculator">
           <invoke-factory>
               <!-- Most properties are autowired by the BuilderFactory -->
               <construct class="impl.CalculatorImpl"/>
  @@ -138,9 +138,14 @@
   </p>    
   
   <p>
  -This module descriptor also demonstrates a new feature of HiveMind 1.1:  A package name is provided
  -in the &module; element, allowing class names to be abbreviated when referenced elsewhere in the descriptor.
  +This module descriptor also demonstrates two new feature of HiveMind 1.1:
   </p>
   
  +<ul>
  +<li>A package name is provided
  +in the &module; element, allowing class names to be abbreviated when referenced elsewhere in the descriptor.</li>
  +<li>The interface attribute of &service-point; is omitted, because it defaults to the service point id.</li>
  +</ul>
  +
     </body>
   </document>
  
  
  
  1.27      +1 -1      jakarta-hivemind/framework/src/descriptor/META-INF/hivemodule.xml
  
  Index: hivemodule.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-hivemind/framework/src/descriptor/META-INF/hivemodule.xml,v
  retrieving revision 1.26
  retrieving revision 1.27
  diff -u -r1.26 -r1.27
  --- hivemodule.xml	19 Feb 2005 17:57:40 -0000	1.26
  +++ hivemodule.xml	31 Mar 2005 00:24:20 -0000	1.27
  @@ -555,7 +555,7 @@
       <translator name="object" service-id="ObjectTranslator"/>
     </contribution>
     
  -  <service-point id="ShutdownCoordinator" interface="ShutdownCoordinator">
  +  <service-point id="ShutdownCoordinator">
       
       A source of event notifications for when the Registry is shutdown.
         
  
  
  
  1.116     +1 -0      jakarta-hivemind/status.xml
  
  Index: status.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-hivemind/status.xml,v
  retrieving revision 1.115
  retrieving revision 1.116
  diff -u -r1.115 -r1.116
  --- status.xml	30 Mar 2005 15:19:32 -0000	1.115
  +++ status.xml	31 Mar 2005 00:24:20 -0000	1.116
  @@ -34,6 +34,7 @@
         <action type="fix" dev="JC" fixes-bug="HIVEMIND-102" >Multiple interceptors with different names for the same interceptor factory id were treated as duplicates.</action>
         <action type="fix" dev="JC" fixes-bug="HIVEMIND-103" >Core service implementations which implement RegistryShutdownListener are not notified for primitive and singleton service models.</action>
         <action type="update" dev="HLS"> Rename AdapterRegistry to StrategyRegistry, and AdapterRegistryFactory to StrategyFactory, to better reflect the relationship to the Gang-of-Four Strategy pattern.</action>
  +      <action type="update" dev="HLS"> Make the interface attribute of &lt;service-point&gt; optional, and default the service point's id. </action>
       </release>
       <release version="1.1-alpha-3" date="Mar 22 2005">
         <action type="fix" dev="JC" fixes-bug="HIVEMIND-96" >Interceptors can now be ordered by name rather than interceptor factory id.</action>
  
  
  
  1.50      +13 -3     jakarta-hivemind/framework/src/java/org/apache/hivemind/parse/DescriptorParser.java
  
  Index: DescriptorParser.java
  ===================================================================
  RCS file: /home/cvs/jakarta-hivemind/framework/src/java/org/apache/hivemind/parse/DescriptorParser.java,v
  retrieving revision 1.49
  retrieving revision 1.50
  diff -u -r1.49 -r1.50
  --- DescriptorParser.java	28 Feb 2005 12:36:54 -0000	1.49
  +++ DescriptorParser.java	31 Mar 2005 00:24:20 -0000	1.50
  @@ -935,7 +935,7 @@
   
           id.setBefore(getAttribute("before"));
           id.setAfter(getAttribute("after"));
  -        id.setName(getAttribute("name" ));
  +        id.setName(getAttribute("name"));
           sd.addInterceptor(id);
   
       }
  @@ -1047,11 +1047,21 @@
   
           checkAttributes();
   
  -        spd.setId(getValidatedAttribute("id", ID_PATTERN, "id-format"));
  +        String id = getValidatedAttribute("id", ID_PATTERN, "id-format");
  +
  +        // Get the interface name, and default it to the service id if omitted.
  +
  +        String interfaceAttribute = getAttribute("interface", id);
  +
  +        // Qualify the interface name with the defined package name (which will
  +        // often implicitly or explicitly match the module id).
   
           String interfaceName = IdUtils.qualify(
                   _moduleDescriptor.getPackageName(),
  -                getAttribute("interface"));
  +                interfaceAttribute);
  +
  +        spd.setId(id);
  +
           spd.setInterfaceClassName(interfaceName);
   
           spd.setParametersSchemaId(getAttribute("parameters-schema-id"));
  
  
  
  1.20      +1 -1      jakarta-hivemind/framework/src/java/org/apache/hivemind/parse/DescriptorParser.properties
  
  Index: DescriptorParser.properties
  ===================================================================
  RCS file: /home/cvs/jakarta-hivemind/framework/src/java/org/apache/hivemind/parse/DescriptorParser.properties,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- DescriptorParser.properties	28 Feb 2005 12:36:54 -0000	1.19
  +++ DescriptorParser.properties	31 Mar 2005 00:24:20 -0000	1.20
  @@ -25,7 +25,7 @@
   required.configuration-point.visibility=false
   
   required.service-point.id=true
  -required.service-point.interface=true
  +required.service-point.interface=false
   required.service-point.parameters-schema-id=false
   required.service-point.parameters-occurs=false
   required.service-point.visibility=false
  
  
  
  1.8       +5 -5      jakarta-hivemind/examples/src/descriptor/META-INF/examples.xml
  
  Index: examples.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-hivemind/examples/src/descriptor/META-INF/examples.xml,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- examples.xml	10 Feb 2005 01:04:33 -0000	1.7
  +++ examples.xml	31 Mar 2005 00:24:20 -0000	1.8
  @@ -16,23 +16,23 @@
   -->
   
   <module id="examples" version="1.0.0" package="org.apache.hivemind.examples">
  -    <service-point id="Adder" interface="Adder">
  +    <service-point id="Adder">
           <create-instance class="impl.AdderImpl"/>
           <interceptor service-id="hivemind.LoggingInterceptor"/>
       </service-point>
  -    <service-point id="Subtracter" interface="Subtracter">
  +    <service-point id="Subtracter">
           <create-instance class="impl.SubtracterImpl"/>
           <interceptor service-id="hivemind.LoggingInterceptor"/>
       </service-point>
  -    <service-point id="Multiplier" interface="Multiplier">
  +    <service-point id="Multiplier">
           <create-instance class="impl.MultiplierImpl"/>
           <interceptor service-id="hivemind.LoggingInterceptor"/>
       </service-point>
  -    <service-point id="Divider" interface="Divider">
  +    <service-point id="Divider">
           <create-instance class="impl.DividerImpl"/>
           <interceptor service-id="hivemind.LoggingInterceptor"/>
       </service-point>
  -    <service-point id="Calculator" interface="Calculator">
  +    <service-point id="Calculator">
           <invoke-factory>
             
               <!-- Most properties are autowired by the BuilderFactory -->
  
  
  
  1.25      +3 -3      jakarta-hivemind/library/src/descriptor/META-INF/hivemodule.xml
  
  Index: hivemodule.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-hivemind/library/src/descriptor/META-INF/hivemodule.xml,v
  retrieving revision 1.24
  retrieving revision 1.25
  diff -u -r1.24 -r1.25
  --- hivemodule.xml	30 Mar 2005 15:19:32 -0000	1.24
  +++ hivemodule.xml	31 Mar 2005 00:24:20 -0000	1.25
  @@ -19,14 +19,14 @@
     
     Standard library for HiveMind, providing commonly used services.
       
  -  <service-point id="RemoteExceptionCoordinator" interface="RemoteExceptionCoordinator">
  +  <service-point id="RemoteExceptionCoordinator">
       
       Used to coordinate propogation of remote exceptions (typically, to allow cached remote data to be discarded after a remote exception).
         
       <create-instance class="impl.RemoteExceptionCoordinatorImpl" model="primitive"/>
     </service-point>
       
  -  <service-point id="NameLookup" interface="NameLookup">
  +  <service-point id="NameLookup">
       
       A service which can perform name lookups of objects using JNDI.
       <invoke-factory>
  @@ -193,7 +193,7 @@
       <provider prefix="bean" service-id="BeanFactoryObjectProvider"/>
     </contribution>
     
  -  <service-point id="DefaultImplementationBuilder" interface="DefaultImplementationBuilder">
  +  <service-point id="DefaultImplementationBuilder">
       
       A service which can create a default implementation of an arbitrary interface. The instance returned does nothing. 
       Returned instances are cached and re-used.
  
  
  
  1.24      +3 -2      jakarta-hivemind/src/documentation/content/xdocs/descriptor.xml
  
  Index: descriptor.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-hivemind/src/documentation/content/xdocs/descriptor.xml,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- descriptor.xml	28 Feb 2005 12:37:54 -0000	1.23
  +++ descriptor.xml	31 Mar 2005 00:24:20 -0000	1.24
  @@ -583,10 +583,11 @@
   				<tr>
   					<td>interface</td>
   					<td>class name</td>
  -					<td>yes</td>
  +					<td>no</td>
   					<td>The name of the Java interface 
               (<link href="services.html#Bean+Services">or class</link>) supplied by this
  -						service extension point.</td>
  +						service extension point.  If no value is provided, the interface defaults to the
  +            service id (and will then be qualified by the module's package).</td>
   				</tr>
           <tr>
             <td>visibility</td>
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: hivemind-cvs-unsubscribe@jakarta.apache.org
For additional commands, e-mail: hivemind-cvs-help@jakarta.apache.org