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=50b76fa4764c06abeb2460a03a0b8b765d41818f;hb=621383daf84de8a09a7953a2b9a15dd2fa7fcdce;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..50b76fa47 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,30 +10,41 @@ 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; + private String label; + private String description; + public OsgiBundle() { } + 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 +55,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; } @@ -80,4 +80,20 @@ public class OsgiBundle implements Module { this.internalBundleId = internalBundleId; } + public String getLabel() { + return label; + } + + public void setLabel(String label) { + this.label = label; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + }