knut 2005/02/19 08:28:09
Modified: framework/src/java/org/apache/hivemind/service/impl
ServiceObjectProvider.java
framework/src/test/org/apache/hivemind/service/impl
TestObjectProviders.java
. status.xml
Log:
fixed HIVEMIND-60 (service: object provider throws NPE with empty locator)
Revision Changes Path
1.4 +9 -8
jakarta-hivemind/framework/src/java/org/apache/hivemind/service/impl/ServiceObjectProvider.java
Index: ServiceObjectProvider.java
===================================================================
RCS file:
/home/cvs/jakarta-hivemind/framework/src/java/org/apache/hivemind/service/impl/ServiceObjectProvider.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- ServiceObjectProvider.java 6 Jan 2005 01:45:10 -0000 1.3
+++ ServiceObjectProvider.java 19 Feb 2005 16:28:09 -0000 1.4
@@ -14,14 +14,15 @@
package org.apache.hivemind.service.impl;
+import org.apache.hivemind.HiveMind;
import org.apache.hivemind.Location;
import org.apache.hivemind.internal.Module;
import org.apache.hivemind.service.ObjectProvider;
/**
- * An [EMAIL PROTECTED] org.apache.hivemind.service.ObjectProvider} that
provides
- * access to services. Deployed with the prefix "service".
- *
+ * An [EMAIL PROTECTED] org.apache.hivemind.service.ObjectProvider}that
provides access to services. Returns
+ * null if the input is null. Deployed with the prefix "service".
+ *
* @author Howard Lewis Ship
*/
public class ServiceObjectProvider implements ObjectProvider
@@ -30,12 +31,12 @@
* Interprets the locator as a service id, and passes it to
* [EMAIL PROTECTED] Module#getService(String, Class)}.
*/
- public Object provideObject(
- Module contributingModule,
- Class propertyType,
- String locator,
- Location location)
+ public Object provideObject(Module contributingModule, Class
propertyType, String locator,
+ Location location)
{
+ if (HiveMind.isBlank(locator))
+ return null;
+
return contributingModule.getService(locator, propertyType);
}
1.8 +2 -0
jakarta-hivemind/framework/src/test/org/apache/hivemind/service/impl/TestObjectProviders.java
Index: TestObjectProviders.java
===================================================================
RCS file:
/home/cvs/jakarta-hivemind/framework/src/test/org/apache/hivemind/service/impl/TestObjectProviders.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- TestObjectProviders.java 11 Feb 2005 18:15:21 -0000 1.7
+++ TestObjectProviders.java 19 Feb 2005 16:28:09 -0000 1.8
@@ -63,6 +63,8 @@
assertSame(expected, actual);
+ assertNull(p.provideObject(m, Location.class, "", null));
+
verifyControls();
}
1.102 +1 -0 jakarta-hivemind/status.xml
Index: status.xml
===================================================================
RCS file: /home/cvs/jakarta-hivemind/status.xml,v
retrieving revision 1.101
retrieving revision 1.102
diff -u -r1.101 -r1.102
--- status.xml 19 Feb 2005 02:40:55 -0000 1.101
+++ status.xml 19 Feb 2005 16:28:09 -0000 1.102
@@ -38,6 +38,7 @@
<action type="update" dev="HLS" fixes-bug="HIVEMIND-92" due-to="Brian
K. Wallace"> ManifestClassPath accessing deprecated variable </action>
<action type="update" dev="HLS"> Allow service interfaces to be
ordinary non-interface classes. </action>
<action type="update" dev="HLS"> Extend instance translator to
configure properties of the instantiated instance. </action>
+ <action type="fix" dev="KW" fixes-bug="HIVEMIND-60" due-to="Trent
McClenahan"> service: object provider throws NPE with empty locator </action>
</release>
<release version="1.1-alpha-1" date="Jan 19 2005">
<action type="add" dev="KW"> Added <dependency> construct
providing support for dependencies between modules. Refactoring of
RegistryBuilder: Now constructs Registry using a ModuleProvider. </action>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]