X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=runtime%2Forg.argeo.slc.support.osgi%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Fosgi%2FOsgiBundle.java;h=9fb09bebf588ea6fe071ac31d71b41760b87f4c6;hb=5a7871454f57064cf5fb2be810dc1f26f744629e;hp=45cee40e2e98eab4f996c6c6a0dda1638e930ae2;hpb=ee6c3543a0ff9403420ce6a9c647723269f14331;p=gpl%2Fargeo-slc.git diff --git a/runtime/org.argeo.slc.support.osgi/src/main/java/org/argeo/slc/osgi/OsgiBundle.java b/runtime/org.argeo.slc.support.osgi/src/main/java/org/argeo/slc/osgi/OsgiBundle.java index 45cee40e2..9fb09bebf 100644 --- a/runtime/org.argeo.slc.support.osgi/src/main/java/org/argeo/slc/osgi/OsgiBundle.java +++ b/runtime/org.argeo.slc.support.osgi/src/main/java/org/argeo/slc/osgi/OsgiBundle.java @@ -1,7 +1,8 @@ package org.argeo.slc.osgi; +import org.argeo.slc.build.BasicNameVersion; import org.argeo.slc.build.Distribution; -import org.argeo.slc.core.deploy.ResourceDistribution; +import org.argeo.slc.core.build.ResourceDistribution; import org.argeo.slc.deploy.DeploymentData; import org.argeo.slc.deploy.Module; import org.argeo.slc.deploy.TargetData; @@ -9,10 +10,8 @@ import org.argeo.slc.process.RealizedFlow; import org.osgi.framework.Bundle; import org.osgi.framework.Constants; -public class OsgiBundle implements Module { - private String name; - private String version; - private Distribution distribution; +public class OsgiBundle extends BasicNameVersion implements Module { + private ResourceDistribution distribution; private Long internalBundleId; @@ -20,19 +19,29 @@ public class OsgiBundle implements Module { } + public OsgiBundle(String name, String version) { + super(name, version); + } + public OsgiBundle(Bundle bundle) { - name = bundle.getSymbolicName(); - version = bundle.getHeaders().get(Constants.BUNDLE_VERSION).toString(); + super(bundle.getSymbolicName(), getVersionSafe(bundle)); internalBundleId = bundle.getBundleId(); } + private static String getVersionSafe(Bundle bundle) { + Object versionObj = bundle.getHeaders().get(Constants.BUNDLE_VERSION); + if (versionObj != null) + return versionObj.toString(); + else + return null; + } + public OsgiBundle(RealizedFlow realizedFlow) { - name = realizedFlow.getModuleName(); - version = realizedFlow.getModuleVersion(); + super(realizedFlow.getModuleName(), realizedFlow.getModuleVersion()); } public String getDeployedSystemId() { - return name + ":" + version; + return getName() + ":" + getVersion(); } public DeploymentData getDeploymentData() { @@ -43,27 +52,15 @@ public class OsgiBundle implements Module { return distribution; } - public TargetData getTargetData() { - throw new UnsupportedOperationException(); - } - - public String getName() { - return name; - } - - public String getVersion() { - return version; - } - - public void setName(String name) { - this.name = name; + public ResourceDistribution getResourceDistribution() { + return distribution; } - public void setVersion(String version) { - this.version = version; + public TargetData getTargetData() { + throw new UnsupportedOperationException(); } - public void setDistribution(Distribution distribution) { + public void setResourceDistribution(ResourceDistribution distribution) { this.distribution = distribution; }