1 7 package com.inversoft.savant; 8 9 10 import java.util.ArrayList ; 11 import java.util.Collections ; 12 import java.util.HashMap ; 13 import java.util.HashSet ; 14 import java.util.List ; 15 import java.util.Map ; 16 import java.util.Set ; 17 18 19 28 public class Dependencies { 29 private Map projects = new HashMap (); 30 private List artifactGroups = new ArrayList (); 31 private List artifacts = new ArrayList (); 32 33 34 35 40 public LocalProject getProject(String id) { 41 return (LocalProject) projects.get(id); 42 } 43 44 51 public void addProject(LocalProject project) throws SavantException { 52 project.validate(); 53 projects.put(project.getID(), project); 54 } 55 56 61 public void removeProject(LocalProject project) { 62 projects.remove(project.getID()); 63 } 64 65 72 public void addArtifactGroup(ArtifactGroup group) throws SavantException { 73 group.validate(); 74 this.artifactGroups.add(group); 75 } 76 77 83 public void removeArtifactGroup(ArtifactGroup group) { 84 this.artifactGroups.remove(group); 85 } 86 87 94 public void addArtifact(Artifact artifact) throws SavantException { 95 artifact.validate(); 96 this.artifacts.add(artifact); 97 } 98 99 104 public void removeArtifact(Artifact artifact) { 105 this.artifacts.add(artifact); 106 } 107 108 111 public List getArtifactGroups() { 112 return Collections.unmodifiableList(artifactGroups); 113 } 114 115 118 public List getArtifacts() { 119 return artifacts; 120 } 121 122 126 public Set getAllArtifacts() { 127 Set set = new HashSet (); 128 for (int i = 0; i < artifactGroups.size(); i++) { 129 ArtifactGroup group = (ArtifactGroup) artifactGroups.get(i); 130 addGroup(set, group); 131 } 132 133 set.addAll(artifacts); 134 135 return set; 136 } 137 138 145 protected void addGroup(Set set, ArtifactGroup group) { 146 set.addAll(group.getArtifacts()); 147 148 List groups = group.getArtifactGroups(); 149 for (int i = 0; i < groups.size(); i++) { 150 addGroup(set, (ArtifactGroup) groups.get(i)); 151 152 } 153 } 154 }
| Popular Tags
|