Mercurial > dive4elements > river
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 : |