You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hivemind.apache.org by ah...@apache.org on 2007/03/02 00:25:41 UTC
svn commit: r513501 - in /hivemind/hivemind2/trunk/xml/src:
java/org/apache/hivemind/impl/XmlModuleDescriptorProcessor.java
test/org/apache/hivemind/xml/OverrideService.xml
test/org/apache/hivemind/xml/TestServiceOverride.java
Author: ahuegen
Date: Thu Mar 1 13:15:57 2007
New Revision: 513501
URL: http://svn.apache.org/viewvc?view=rev&rev=513501
Log:
Overriding of services in xml fixed
Added:
hivemind/hivemind2/trunk/xml/src/test/org/apache/hivemind/xml/OverrideService.xml
hivemind/hivemind2/trunk/xml/src/test/org/apache/hivemind/xml/TestServiceOverride.java (contents, props changed)
- copied, changed from r505487, hivemind/hivemind2/trunk/xml/src/test/org/apache/hivemind/xml/TestSubModule.java
Modified:
hivemind/hivemind2/trunk/xml/src/java/org/apache/hivemind/impl/XmlModuleDescriptorProcessor.java
Modified: hivemind/hivemind2/trunk/xml/src/java/org/apache/hivemind/impl/XmlModuleDescriptorProcessor.java
URL: http://svn.apache.org/viewvc/hivemind/hivemind2/trunk/xml/src/java/org/apache/hivemind/impl/XmlModuleDescriptorProcessor.java?view=diff&rev=513501&r1=513500&r2=513501
==============================================================================
--- hivemind/hivemind2/trunk/xml/src/java/org/apache/hivemind/impl/XmlModuleDescriptorProcessor.java (original)
+++ hivemind/hivemind2/trunk/xml/src/java/org/apache/hivemind/impl/XmlModuleDescriptorProcessor.java Thu Mar 1 13:15:57 2007
@@ -218,7 +218,8 @@
}
/**
- * Adds one implementation and its interceptors to a module definition.
+ * Adds one standalone implementation and its interceptors to a module definition.
+ * This implementation overrides inline implementations of the service point.
*/
private void addImplementationAndInterceptors(ModuleDefinitionImpl sourceModule, String qualifiedPointId, ImplementationDescriptor id)
{
@@ -228,7 +229,7 @@
if (builder != null) {
ImplementationDefinitionImpl implementation = new ImplementationDefinitionImpl(
sourceModule, builder.getLocation(), builder.createConstructor(sourceModule.getId()),
- builder.getServiceModel(), false);
+ builder.getServiceModel(), true);
sourceModule.addImplementation(qualifiedPointId, implementation);
}
Added: hivemind/hivemind2/trunk/xml/src/test/org/apache/hivemind/xml/OverrideService.xml
URL: http://svn.apache.org/viewvc/hivemind/hivemind2/trunk/xml/src/test/org/apache/hivemind/xml/OverrideService.xml?view=auto&rev=513501
==============================================================================
--- hivemind/hivemind2/trunk/xml/src/test/org/apache/hivemind/xml/OverrideService.xml (added)
+++ hivemind/hivemind2/trunk/xml/src/test/org/apache/hivemind/xml/OverrideService.xml Thu Mar 1 13:15:57 2007
@@ -0,0 +1,28 @@
+<?xml version="1.0"?>
+<!--
+ Copyright 2004, 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.override" version="1.0.0">
+
+ <service-point id="TestService" interface="java.lang.Runnable" >
+ <create-instance class="hivemind.test.services.impl.RunnableImpl" model="primitive"/>
+ </service-point>
+
+ <implementation service-id="TestService">
+ <create-instance class="org.apache.hivemind.service.impl.MockRunnable" model="primitive"/>
+ </implementation>
+
+</module>
\ No newline at end of file
Copied: hivemind/hivemind2/trunk/xml/src/test/org/apache/hivemind/xml/TestServiceOverride.java (from r505487, hivemind/hivemind2/trunk/xml/src/test/org/apache/hivemind/xml/TestSubModule.java)
URL: http://svn.apache.org/viewvc/hivemind/hivemind2/trunk/xml/src/test/org/apache/hivemind/xml/TestServiceOverride.java?view=diff&rev=513501&p1=hivemind/hivemind2/trunk/xml/src/test/org/apache/hivemind/xml/TestSubModule.java&r1=505487&p2=hivemind/hivemind2/trunk/xml/src/test/org/apache/hivemind/xml/TestServiceOverride.java&r2=513501
==============================================================================
--- hivemind/hivemind2/trunk/xml/src/test/org/apache/hivemind/xml/TestSubModule.java (original)
+++ hivemind/hivemind2/trunk/xml/src/test/org/apache/hivemind/xml/TestServiceOverride.java Thu Mar 1 13:15:57 2007
@@ -14,36 +14,26 @@
package org.apache.hivemind.xml;
-import hivemind.test.services.SimpleService;
-
import org.apache.hivemind.Registry;
+import org.apache.hivemind.service.impl.MockRunnable;
/**
- * Tests the ability for a module to include <sub-module>s.
+ * Tests the overriding of a service implementation.
*
* @author Howard Lewis Ship
*/
-public class TestSubModule extends XmlTestCase
+public class TestServiceOverride extends XmlTestCase
{
public void testNestedSubModule() throws Exception
{
- Registry r = buildFrameworkRegistry("OuterModule.xml");
-
- SimpleService s = (SimpleService) r.getService(
- "hivemind.test.outer.Simple",
- SimpleService.class);
-
- assertEquals(11, s.add(4, 7));
+ Registry r = buildFrameworkRegistry("OverrideService.xml");
- }
-
- public void testMissingSubModule() throws Exception
- {
- interceptLogging();
+ Runnable service = (Runnable) r.getService(
+ "hivemind.test.override.TestService",
+ Runnable.class);
- buildFrameworkRegistry("MissingSubModule.xml");
+ assertTrue(service instanceof MockRunnable);
- assertLoggedMessagePattern("Sub-module .*?/DoesNotExist\\.xml does not exist\\.");
}
}
Propchange: hivemind/hivemind2/trunk/xml/src/test/org/apache/hivemind/xml/TestServiceOverride.java
------------------------------------------------------------------------------
cvs2svn:cvs-rev = 1.6
Propchange: hivemind/hivemind2/trunk/xml/src/test/org/apache/hivemind/xml/TestServiceOverride.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: hivemind/hivemind2/trunk/xml/src/test/org/apache/hivemind/xml/TestServiceOverride.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision