comparison flys-artifacts/src/main/java/de/intevation/flys/collections/CollectionDescriptionHelper.java @ 3870:0c16eace7b6c

Add robustness checks to prevent NPEs flys-artifacts/trunk@5502 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Christian Lins <christian.lins@intevation.de>
date Tue, 18 Sep 2012 10:18:30 +0000
parents 4a76da133144
children
comparison
equal deleted inserted replaced
3869:74f9766599b5 3870:0c16eace7b6c
4 import java.util.Date; 4 import java.util.Date;
5 import java.util.List; 5 import java.util.List;
6 6
7 import javax.xml.xpath.XPathConstants; 7 import javax.xml.xpath.XPathConstants;
8 8
9 import org.apache.log4j.Logger;
9 import org.w3c.dom.Document; 10 import org.w3c.dom.Document;
10 import org.w3c.dom.Element; 11 import org.w3c.dom.Element;
11 import org.w3c.dom.Node; 12 import org.w3c.dom.Node;
12 import org.w3c.dom.NodeList; 13 import org.w3c.dom.NodeList;
13 14
14 import org.apache.log4j.Logger;
15
16 import de.intevation.artifacts.ArtifactDatabase; 15 import de.intevation.artifacts.ArtifactDatabase;
17 import de.intevation.artifacts.ArtifactDatabaseException; 16 import de.intevation.artifacts.ArtifactDatabaseException;
18 import de.intevation.artifacts.ArtifactNamespaceContext; 17 import de.intevation.artifacts.ArtifactNamespaceContext;
19 import de.intevation.artifacts.CallContext; 18 import de.intevation.artifacts.CallContext;
20
21 import de.intevation.artifacts.common.utils.XMLUtils; 19 import de.intevation.artifacts.common.utils.XMLUtils;
22 import de.intevation.artifacts.common.utils.XMLUtils.ElementCreator; 20 import de.intevation.artifacts.common.utils.XMLUtils.ElementCreator;
23 21
24 22
25 public class CollectionDescriptionHelper { 23 public class CollectionDescriptionHelper {
61 String uuid, 59 String uuid,
62 Date creation, 60 Date creation,
63 long ttl, 61 long ttl,
64 CallContext callContext 62 CallContext callContext
65 ) { 63 ) {
66 this.name = name; 64 this.name = name;
67 this.uuid = uuid; 65 this.uuid = uuid;
68 this.creation = creation; 66 this.creation = creation;
69 this.ttl = ttl; 67 this.ttl = ttl;
70 this.context = callContext; 68 this.context = callContext;
71 this.database = callContext.getDatabase(); 69 this.database = callContext.getDatabase();
70 this.artifacts = new ArrayList<String>();
72 } 71 }
73 72
74 73
75 public void addArtifact(String uuid) { 74 public void addArtifact(String uuid) {
76 if (artifacts == null) {
77 artifacts = new ArrayList<String>();
78 }
79
80 if (uuid != null && uuid.length() > 0) { 75 if (uuid != null && uuid.length() > 0) {
81 artifacts.add(uuid); 76 artifacts.add(uuid);
82 } 77 }
83 } 78 }
84 79
195 return ci; 190 return ci;
196 } 191 }
197 192
198 193
199 protected void appendAttribute(Element root) { 194 protected void appendAttribute(Element root) {
200 Document owner = root.getOwnerDocument(); 195 if (attribute != null) {
201 Document attr = attribute.toXML(); 196 Document owner = root.getOwnerDocument();
202 197 Document attr = attribute.toXML();
203 root.appendChild(owner.importNode(attr.getFirstChild(), true)); 198
199 root.appendChild(owner.importNode(attr.getFirstChild(), true));
200 }
204 } 201 }
205 } 202 }
206 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : 203 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org