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 2013/07/09 16:03:16 UTC
svn commit: r1501272 - in
/aries/trunk/subsystem/subsystem-core/src/main/java/org/apache/aries/subsystem/core/internal:
Activator.java BundleResource.java BundleRevisionResource.java
Author: jwross
Date: Tue Jul 9 14:03:16 2013
New Revision: 1501272
URL: http://svn.apache.org/r1501272
Log:
[aries-952] Make ModelledResourceManager service dependency optional.
Modified:
aries/trunk/subsystem/subsystem-core/src/main/java/org/apache/aries/subsystem/core/internal/Activator.java
aries/trunk/subsystem/subsystem-core/src/main/java/org/apache/aries/subsystem/core/internal/BundleResource.java
aries/trunk/subsystem/subsystem-core/src/main/java/org/apache/aries/subsystem/core/internal/BundleRevisionResource.java
Modified: aries/trunk/subsystem/subsystem-core/src/main/java/org/apache/aries/subsystem/core/internal/Activator.java
URL: http://svn.apache.org/viewvc/aries/trunk/subsystem/subsystem-core/src/main/java/org/apache/aries/subsystem/core/internal/Activator.java?rev=1501272&r1=1501271&r2=1501272&view=diff
==============================================================================
--- aries/trunk/subsystem/subsystem-core/src/main/java/org/apache/aries/subsystem/core/internal/Activator.java (original)
+++ aries/trunk/subsystem/subsystem-core/src/main/java/org/apache/aries/subsystem/core/internal/Activator.java Tue Jul 9 14:03:16 2013
@@ -209,8 +209,7 @@ public class Activator implements Bundle
private boolean hasRequiredServices() {
return coordinator != null &&
regionDigraph != null &&
- resolver != null &&
- modelledResourceManager != null;
+ resolver != null;
}
private boolean isActive() {
Modified: aries/trunk/subsystem/subsystem-core/src/main/java/org/apache/aries/subsystem/core/internal/BundleResource.java
URL: http://svn.apache.org/viewvc/aries/trunk/subsystem/subsystem-core/src/main/java/org/apache/aries/subsystem/core/internal/BundleResource.java?rev=1501272&r1=1501271&r2=1501272&view=diff
==============================================================================
--- aries/trunk/subsystem/subsystem-core/src/main/java/org/apache/aries/subsystem/core/internal/BundleResource.java (original)
+++ aries/trunk/subsystem/subsystem-core/src/main/java/org/apache/aries/subsystem/core/internal/BundleResource.java Tue Jul 9 14:03:16 2013
@@ -71,11 +71,7 @@ public class BundleResource implements R
this.content = content;
IDirectory dir = content.isDirectory() ? content.convert() : content.convertNested();
manifest = computeManifest(dir);
- // TODO Could use ModelledResourceManager.getServiceElements instead.
- // Only the service dependency info is being used right now.
- ModelledResource resource = getModelledResourceManager().getModelledResource(dir);
- computeRequirements(resource);
- computeCapabilities(resource);
+ computeRequirementsAndCapabilities(dir);
}
public List<Capability> getCapabilities(String namespace) {
@@ -136,12 +132,11 @@ public class BundleResource implements R
return content.toString();
}
- private void computeCapabilities(ModelledResource resource) {
+ private void computeCapabilitiesOtherThanService() {
computeOsgiIdentityCapability();
computeOsgiWiringPackageCapabilities();
computeOsgiWiringBundleCapability();
computeGenericCapabilities();
- computeOsgiServiceCapabilities(resource);
}
private void computeGenericCapabilities() {
@@ -231,12 +226,24 @@ public class BundleResource implements R
if (iph != null)
requirements.addAll(iph.toRequirements(this));
}
-
- private void computeRequirements(ModelledResource resource) {
+
+ private void computeRequirementsAndCapabilities(IDirectory directory) throws ModellerException {
+ computeRequirementsOtherThanService();
+ computeCapabilitiesOtherThanService();
+ ModelledResourceManager manager = getModelledResourceManager();
+ if (manager == null)
+ return;
+ // TODO Could use ModelledResourceManager.getServiceElements instead.
+ // Only the service dependency info is being used right now.
+ ModelledResource resource = manager.getModelledResource(directory);
+ computeOsgiServiceRequirements(resource);
+ computeOsgiServiceCapabilities(resource);
+ }
+
+ private void computeRequirementsOtherThanService() {
computeOsgiWiringPackageRequirements();
computeGenericRequirements();
computeOsgiWiringBundleRequirements();
- computeOsgiServiceRequirements(resource);
computeOsgiExecutionEnvironmentRequirement();
}
Modified: aries/trunk/subsystem/subsystem-core/src/main/java/org/apache/aries/subsystem/core/internal/BundleRevisionResource.java
URL: http://svn.apache.org/viewvc/aries/trunk/subsystem/subsystem-core/src/main/java/org/apache/aries/subsystem/core/internal/BundleRevisionResource.java?rev=1501272&r1=1501271&r2=1501272&view=diff
==============================================================================
--- aries/trunk/subsystem/subsystem-core/src/main/java/org/apache/aries/subsystem/core/internal/BundleRevisionResource.java (original)
+++ aries/trunk/subsystem/subsystem-core/src/main/java/org/apache/aries/subsystem/core/internal/BundleRevisionResource.java Tue Jul 9 14:03:16 2013
@@ -75,6 +75,8 @@ public class BundleRevisionResource impl
private ModelledResource computeModelledResource() {
Activator activator = Activator.getInstance();
ModelledResourceManager manager = activator.getModelledResourceManager();
+ if (manager == null)
+ return null;
BundleDirectory directory = new BundleDirectory(revision.getBundle());
try {
return manager.getModelledResource(directory);
@@ -86,6 +88,8 @@ public class BundleRevisionResource impl
private List<Capability> computeServiceCapabilities() {
ModelledResource resource = getModelledResource();
+ if (resource == null)
+ return Collections.emptyList();
Collection<? extends ExportedService> services = resource.getExportedServices();
if (services.isEmpty())
return Collections.emptyList();
@@ -102,6 +106,8 @@ public class BundleRevisionResource impl
private List<Requirement> computeServiceRequirements() {
ModelledResource resource = getModelledResource();
+ if (resource == null)
+ return Collections.emptyList();
Collection<? extends ImportedService> services = resource.getImportedServices();
if (services.isEmpty())
return Collections.emptyList();