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;
import org.osgi.framework.Bundle;
import org.osgi.framework.Constants;
-public class OsgiBundle implements Module<ResourceDistribution> {
- 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() {
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;
}
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;
+ }
+
}