[ 
http://issues.apache.org/jira/browse/HIVEMIND-186?page=comments#action_12434476 
] 
            
Kent Tong commented on HIVEMIND-186:
------------------------------------

I've implemented this feature. The code is in the patch for HIVEMIND-185. I 
implemented both at the same time. It's difficult to separate them now.

Here is an example using this feature:

public class TestRegistryBuilderUsingStrings extends TestCase
{
        ...
        public void testOverrideImplementation() throws Exception
        {
                String module1 = "<?xml version=\"1.0\"?>"
                                + "<module id=\"com.myco.mypackage\" 
version=\"1.0.0\">"
                                + "  <service-point id=\"Adder\" 
interface=\"org.apache.hivemind.Adder\"/>"
                                + "</module>";
                String module2 = "<?xml version=\"1.0\"?>"
                                + "<module id=\"com.myco.mypackage.impl\" 
version=\"1.0.0\">"
                                + "  <implementation 
service-id=\"com.myco.mypackage.Adder\">"
                                + "  <create-instance 
class=\"org.apache.hivemind.AdderImpl\"/>"
                                + "  </implementation>" + "</module>";
                ServiceImplOverride override = new ServiceImplOverride(
                                "com.myco.mypackage.Adder", new Adder()
                                {
                                        public int add(int arg1, int arg2)
                                        {
                                                return 123;
                                        }
                                });
                setupRegistry(new String[] { module1, module2 },
                                new ServiceImplOverride[] { override });
                Adder adder = (Adder) 
registry.getService("com.myco.mypackage.Adder",
                                Adder.class);
                assertNotNull(adder);
                assertEquals(adder.add(4, 5), 123);
        }
}


> Allow overriding service implementations using specified objects
> ----------------------------------------------------------------
>
>                 Key: HIVEMIND-186
>                 URL: http://issues.apache.org/jira/browse/HIVEMIND-186
>             Project: HiveMind
>          Issue Type: New Feature
>          Components: framework
>    Affects Versions: 1.2
>            Reporter: Kent Tong
>
> This is useful when performing integration tests involving hivemind services. 
> As one hivemind service can bring in another. To stop it we can use override 
> a certain "boundary" service implementations using stub/mock objects. I need 
> this capacity to test Tapestry pages (eg, provide a stub HttpServletRequest).

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to