You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by jw...@apache.org on 2015/08/29 10:22:49 UTC

svn commit: r1698444 - /aries/trunk/subsystem/subsystem-core/src/main/java/org/apache/aries/subsystem/core/internal/BasicCapability.java

Author: jwross
Date: Sat Aug 29 08:22:48 2015
New Revision: 1698444

URL: http://svn.apache.org/r1698444
Log:
ARIES-1390 BasicCapability should take advantage of the effective immutability of capabilities.

Reuse the already existing, and effectively immutable, attribute and directive maps from the provided capability rather than copying.

Modified:
    aries/trunk/subsystem/subsystem-core/src/main/java/org/apache/aries/subsystem/core/internal/BasicCapability.java

Modified: aries/trunk/subsystem/subsystem-core/src/main/java/org/apache/aries/subsystem/core/internal/BasicCapability.java
URL: http://svn.apache.org/viewvc/aries/trunk/subsystem/subsystem-core/src/main/java/org/apache/aries/subsystem/core/internal/BasicCapability.java?rev=1698444&r1=1698443&r2=1698444&view=diff
==============================================================================
--- aries/trunk/subsystem/subsystem-core/src/main/java/org/apache/aries/subsystem/core/internal/BasicCapability.java (original)
+++ aries/trunk/subsystem/subsystem-core/src/main/java/org/apache/aries/subsystem/core/internal/BasicCapability.java Sat Aug 29 08:22:48 2015
@@ -68,7 +68,13 @@ public class BasicCapability extends Abs
 	private final String namespace;
 	
 	public BasicCapability(Capability capability, Resource resource) {
-		this(capability.getNamespace(), capability.getAttributes(), capability.getDirectives(), resource);
+	    if (resource == null) {
+	        throw new NullPointerException();
+	    }
+		attributes = capability.getAttributes();
+		directives = capability.getDirectives();
+		this.resource = resource;
+		namespace = capability.getNamespace();
 	}
 	
 	public BasicCapability(String namespace, Map<String, Object> attributes, Map<String, String> directives, Resource resource) {