contact.setAttribute("name", contactName);
contacts.appendChild(contact);
}
s.appendChild(contacts);
SubmissionActionType sat = sub.getSubmissionActionType();
Map<String, List<Submittable<Document>>> map = new HashMap<String, List<Submittable<Document>>>();
map.put("study", new ArrayList<Submittable<Document>>());
map.put("sample", new ArrayList<Submittable<Document>>());
map.put("experiment", new ArrayList<Submittable<Document>>());
map.put("run", new ArrayList<Submittable<Document>>());
Map<SequencerPoolPartition, Collection<? extends Poolable>> dataFilePoolables =
new HashMap<SequencerPoolPartition, Collection<? extends Poolable>>();
Set<Submittable<Document>> subs = sub.getSubmissionElements();
for (Submittable<Document> subtype : subs) {
if (subtype instanceof Study) {
map.get("study").add(subtype);
}
else if (subtype instanceof Sample) {
map.get("sample").add(subtype);
}
else if (subtype instanceof Experiment) {
map.get("experiment").add(subtype);
}
else if (subtype instanceof SequencerPoolPartition) {
map.get("run").add(subtype);
SequencerPoolPartition p = (SequencerPoolPartition)subtype;
if (p.getPool() != null) {
dataFilePoolables.put(p, p.getPool().getPoolableElements());
}
}
}
Element actions = submission.createElementNS(null, "ACTIONS");
for (String key : map.keySet()) {
List<Submittable<Document>> submittables = map.get(key);
if (submittables.size() > 0) {
Element action = submission.createElementNS(null, "ACTION");
if (sat != null) {
if (sat.equals(SubmissionActionType.VALIDATE)) {
Element validate = submission.createElementNS(null, "VALIDATE");
validate.setAttribute("schema", key);
validate.setAttribute("source", sub.getName()+"_"+key+"_"+submissionProperties.getProperty("submissionDate")+".xml");
action.appendChild(validate);
}
else if (sat.equals(SubmissionActionType.ADD)) {
Element add = submission.createElementNS(null, "ADD");
add.setAttribute("schema", key);
add.setAttribute("source", sub.getName()+"_"+key+"_"+submissionProperties.getProperty("submissionDate")+".xml");
action.appendChild(add);
}