You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by ga...@apache.org on 2009/04/28 22:32:42 UTC
svn commit: r769523 - in /geronimo/sandbox/blueprint/blueprint-core/src:
main/java/org/apache/geronimo/blueprint/context/
test/java/org/apache/geronimo/blueprint/ test/resources/
Author: gawor
Date: Tue Apr 28 20:32:39 2009
New Revision: 769523
URL: http://svn.apache.org/viewvc?rev=769523&view=rev
Log:
parse map key entries correctly
Modified:
geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/context/BlueprintContextImpl.java
geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/context/Parser.java
geronimo/sandbox/blueprint/blueprint-core/src/test/java/org/apache/geronimo/blueprint/WiringTest.java
geronimo/sandbox/blueprint/blueprint-core/src/test/resources/test-wiring.xml
Modified: geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/context/BlueprintContextImpl.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/context/BlueprintContextImpl.java?rev=769523&r1=769522&r2=769523&view=diff
==============================================================================
--- geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/context/BlueprintContextImpl.java (original)
+++ geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/context/BlueprintContextImpl.java Tue Apr 28 20:32:39 2009
@@ -195,7 +195,7 @@
if (checkAllSatisfiables()) {
state = State.InitialReferencesSatisfied;
}
- break;
+ return;
case InitialReferencesSatisfied:
instantiateComponents();
registerAllServices();
Modified: geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/context/Parser.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/context/Parser.java?rev=769523&r1=769522&r2=769523&view=diff
==============================================================================
--- geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/context/Parser.java (original)
+++ geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/context/Parser.java Tue Apr 28 20:32:39 2009
@@ -694,7 +694,7 @@
if (node instanceof Element) {
Element e = (Element) node;
if (nodeNameEquals(e, KEY_ELEMENT)) {
- keyValue = (NonNullMetadata) parseValueElement(e, enclosingComponent, false);
+ keyValue = parseMapKeyEntry(e, enclosingComponent);
} else {
valValue = parseValueElement(e, enclosingComponent, true);
}
@@ -719,6 +719,20 @@
return new MapEntryImpl(keyValue, valValue);
}
+ private NonNullMetadata parseMapKeyEntry(Element element, ComponentMetadata enclosingComponent) {
+ NonNullMetadata keyValue = null;
+ NodeList nl = element.getChildNodes();
+ for (int i = 0; i < nl.getLength(); i++) {
+ Node node = nl.item(i);
+ if (node instanceof Element) {
+ Element e = (Element) node;
+ keyValue = (NonNullMetadata) parseValueElement(e, enclosingComponent, false);
+ break;
+ }
+ }
+ return keyValue;
+ }
+
private RegistrationListener parseRegistrationListener(Element element) {
// Parse attributes
String ref = element.hasAttribute(REF_ATTRIBUTE) ? element.getAttribute(REF_ATTRIBUTE) : null;
Modified: geronimo/sandbox/blueprint/blueprint-core/src/test/java/org/apache/geronimo/blueprint/WiringTest.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/blueprint/blueprint-core/src/test/java/org/apache/geronimo/blueprint/WiringTest.java?rev=769523&r1=769522&r2=769523&view=diff
==============================================================================
--- geronimo/sandbox/blueprint/blueprint-core/src/test/java/org/apache/geronimo/blueprint/WiringTest.java (original)
+++ geronimo/sandbox/blueprint/blueprint-core/src/test/java/org/apache/geronimo/blueprint/WiringTest.java Tue Apr 28 20:32:39 2009
@@ -85,6 +85,7 @@
assertNotNull(pojoa.getMap());
assertEquals("val", pojoa.getMap().get("key"));
assertEquals(pojob, pojoa.getMap().get(pojob));
+ assertEquals(URI.create("http://geronimo.apache.org"), pojoa.getMap().get(new Integer(5)));
assertNotNull(pojoa.getProps());
assertEquals("value1", pojoa.getProps().get("key1"));
Modified: geronimo/sandbox/blueprint/blueprint-core/src/test/resources/test-wiring.xml
URL: http://svn.apache.org/viewvc/geronimo/sandbox/blueprint/blueprint-core/src/test/resources/test-wiring.xml?rev=769523&r1=769522&r2=769523&view=diff
==============================================================================
--- geronimo/sandbox/blueprint/blueprint-core/src/test/resources/test-wiring.xml (original)
+++ geronimo/sandbox/blueprint/blueprint-core/src/test/resources/test-wiring.xml Tue Apr 28 20:32:39 2009
@@ -31,6 +31,10 @@
<map>
<entry key="key" value="val"/>
<entry key-ref="pojoB" value-ref="pojoB" />
+ <entry>
+ <key><value type="java.lang.Integer">5</value></key>
+ <value type="java.net.URI">http://geronimo.apache.org</value>
+ </entry>
</map>
</property>
<property name="set">