Kent Tong (JIRA | 13 Sep 2006 17:43
Picon
Picon
Favicon

[jira] Created: (HIVEMIND-186) Allow overriding service implementations using specified objects

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

Kent Tong (JIRA | 13 Sep 2006 17:45
Picon
Picon
Favicon

[jira] Commented: (HIVEMIND-186) Allow overriding service implementations using specified objects

    [ 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;
(Continue reading)


Gmane