You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by ti...@apache.org on 2011/12/07 10:36:34 UTC

svn commit: r1211349 - in /aries/trunk/application: application-modeller-common-test/src/test/java/org/apache/aries/application/modelling/impl/ application-modeller/src/main/java/org/apache/aries/application/modelling/impl/

Author: timothyjward
Date: Wed Dec  7 09:36:33 2011
New Revision: 1211349

URL: http://svn.apache.org/viewvc?rev=1211349&view=rev
Log:
ARIES-799: Honour collection types specified in blueprint service properties when modelling blueprint services. - Fix test failures on Sun VMs due to opposite ordering of HashSet!

Modified:
    aries/trunk/application/application-modeller-common-test/src/test/java/org/apache/aries/application/modelling/impl/ParserProxyTest.java
    aries/trunk/application/application-modeller/src/main/java/org/apache/aries/application/modelling/impl/AbstractParserProxy.java

Modified: aries/trunk/application/application-modeller-common-test/src/test/java/org/apache/aries/application/modelling/impl/ParserProxyTest.java
URL: http://svn.apache.org/viewvc/aries/trunk/application/application-modeller-common-test/src/test/java/org/apache/aries/application/modelling/impl/ParserProxyTest.java?rev=1211349&r1=1211348&r2=1211349&view=diff
==============================================================================
--- aries/trunk/application/application-modeller-common-test/src/test/java/org/apache/aries/application/modelling/impl/ParserProxyTest.java (original)
+++ aries/trunk/application/application-modeller-common-test/src/test/java/org/apache/aries/application/modelling/impl/ParserProxyTest.java Wed Dec  7 09:36:33 2011
@@ -32,10 +32,10 @@ import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Hashtable;
 import java.util.Iterator;
+import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
-import java.util.TreeSet;
 
 import org.apache.aries.application.modelling.ModellingManager;
 import org.apache.aries.application.modelling.ParsedServiceElements;
@@ -221,7 +221,7 @@ public class ParserProxyTest {
     props.put("volume", "11");
     props.put("property.list", Arrays.asList("1", "2", "3", "2", "1"));
     //Deliberately miss off duplicate entries and reorder, the parser should still match this
-    props.put("property.set", new TreeSet<String>(Arrays.asList("2", "3", "1")));
+    props.put("property.set", new LinkedHashSet<String>(Arrays.asList("1", "2", "3")));
     props.put("property.array", new String[]{"1", "2", "3", "2", "1"});
     props.put("osgi.service.blueprint.compname", "myBean");
     expectedResults.add(_modellingManager.getExportedService("myService", 0, Arrays.asList("foo.bar.MyService"), props));

Modified: aries/trunk/application/application-modeller/src/main/java/org/apache/aries/application/modelling/impl/AbstractParserProxy.java
URL: http://svn.apache.org/viewvc/aries/trunk/application/application-modeller/src/main/java/org/apache/aries/application/modelling/impl/AbstractParserProxy.java?rev=1211349&r1=1211348&r2=1211349&view=diff
==============================================================================
--- aries/trunk/application/application-modeller/src/main/java/org/apache/aries/application/modelling/impl/AbstractParserProxy.java (original)
+++ aries/trunk/application/application-modeller/src/main/java/org/apache/aries/application/modelling/impl/AbstractParserProxy.java Wed Dec  7 09:36:33 2011
@@ -9,6 +9,7 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.HashSet;
+import java.util.LinkedHashSet;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
@@ -195,7 +196,7 @@ abstract public class AbstractParserProx
 	    if(List.class.isAssignableFrom(collectionClass)) {
 	      return new ArrayList<String>();
 	    } else if (Set.class.isAssignableFrom(collectionClass)) {
-	      return new HashSet<String>();
+	      return new LinkedHashSet<String>();
 	    } else if (Queue.class.isAssignableFrom(collectionClass)) {
 	      //This covers Queue and Deque, which is caught by the isAssignableFrom check
 	      //as a sub-interface of Queue