# HG changeset patch # User Christian Lins # Date 1346056385 0 # Node ID 410a1bfb9590382934cfdb9a6b45712bc67c79ab # Parent 733e76413bf8fd99f68c0a1f5ef32a76d8b40ddf Fix for NPE on empty user database artifacts/trunk@5270 c6561f87-3c4e-4783-a992-168aeb5c3f6f diff -r 733e76413bf8 -r 410a1bfb9590 ChangeLog --- a/ChangeLog Fri Aug 24 14:09:53 2012 +0000 +++ b/ChangeLog Mon Aug 27 08:33:05 2012 +0000 @@ -1,3 +1,9 @@ +2012-08-27 Christian Lins + + * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java, + artifacts/src/main/java/de/intevation/artifacts/CallContext.java: + Fix for NPE on empty user database. + 2012-08-24 Björn Ricks * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/RestApp.java, diff -r 733e76413bf8 -r 410a1bfb9590 artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java --- a/artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java Fri Aug 24 14:09:53 2012 +0000 +++ b/artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java Mon Aug 27 08:33:05 2012 +0000 @@ -1217,23 +1217,25 @@ Element root = ec.create("users"); result.appendChild(root); + + if(users != null) { + for (User user: users) { + Element ue = ec.create("user"); + ec.addAttr(ue, "uuid", user.identifier(), true); + ec.addAttr(ue, "name", user.getName(), true); + Element ua = ec.create("account"); + ec.addAttr(ua, "name", user.getAccount(), true); + ue.appendChild(ua); - for (User user: users) { - Element ue = ec.create("user"); - ec.addAttr(ue, "uuid", user.identifier(), true); - ec.addAttr(ue, "name", user.getName(), true); - Element ua = ec.create("account"); - ec.addAttr(ua, "name", user.getAccount(), true); - ue.appendChild(ua); + Document role = user.getRole(); - Document role = user.getRole(); + if (role != null) { + ue.appendChild(result.importNode(role.getFirstChild(), true)); + } - if (role != null) { - ue.appendChild(result.importNode(role.getFirstChild(), true)); + root.appendChild(ue); + } - - root.appendChild(ue); - } return result; diff -r 733e76413bf8 -r 410a1bfb9590 artifacts/src/main/java/de/intevation/artifacts/CallContext.java --- a/artifacts/src/main/java/de/intevation/artifacts/CallContext.java Fri Aug 24 14:09:53 2012 +0000 +++ b/artifacts/src/main/java/de/intevation/artifacts/CallContext.java Mon Aug 27 08:33:05 2012 +0000 @@ -8,8 +8,8 @@ package de.intevation.artifacts; +import java.util.LinkedList; import java.util.List; -import java.util.LinkedList; import org.w3c.dom.Document; import org.w3c.dom.Node; @@ -110,7 +110,7 @@ * Each call context has a clipboard. * getContextValue is used to fetch data from this board. * @param key Key of the requested item. - * @return The value stored for the secified value, null if + * @return The value stored for the specified value, null if * no item with this key exists. */ Object getContextValue(Object key);