]> git.argeo.org Git - gpl/argeo-slc.git/blob - runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/osgi/ArgeoOsgiDistribution.java
Generalize ArchiveWrapper and deprecates ImportBundlesZip
[gpl/argeo-slc.git] / runtime / org.argeo.slc.repo / src / main / java / org / argeo / slc / repo / osgi / ArgeoOsgiDistribution.java
1 package org.argeo.slc.repo.osgi;
2
3 import java.util.HashSet;
4 import java.util.Set;
5 import java.util.TreeSet;
6
7 import org.apache.commons.logging.Log;
8 import org.apache.commons.logging.LogFactory;
9 import org.argeo.slc.DefaultNameVersion;
10 import org.argeo.slc.NameVersion;
11 import org.argeo.slc.build.Distribution;
12 import org.argeo.slc.build.ModularDistribution;
13 import org.argeo.slc.repo.ArtifactDistribution;
14
15 public class ArgeoOsgiDistribution extends ArtifactDistribution implements
16 ModularDistribution {
17 private final static Log log = LogFactory
18 .getLog(ArgeoOsgiDistribution.class);
19
20 private Set<ArtifactDistribution> modules = new HashSet<ArtifactDistribution>();
21
22 public ArgeoOsgiDistribution(String coords) {
23 super(coords);
24 }
25
26 public void init() {
27 if (log.isDebugEnabled()) {
28 log.debug("## " + toString());
29 for (NameVersion nv : listModulesNameVersions()) {
30 log.debug(nv);
31 }
32 }
33 }
34
35 public void destroy() {
36
37 }
38
39 public Distribution getModuleDistribution(String moduleName,
40 String moduleVersion) {
41 NameVersion searched = new DefaultNameVersion(moduleName, moduleVersion);
42 for (ArtifactDistribution ad : modules) {
43 if (ad.equals(searched))
44 return ad;
45 }
46 return null;
47 }
48
49 public Set<NameVersion> listModulesNameVersions() {
50 return new TreeSet<NameVersion>(modules);
51 }
52
53 public Object getModulesDescriptor(String descriptorType) {
54 // TODO Auto-generated method stub
55 return null;
56 }
57
58 public void setModules(Set<ArtifactDistribution> modules) {
59 this.modules = modules;
60 }
61
62 }