# HG changeset patch # User Christian Lins # Date 1345638328 0 # Node ID 2b308a5d528114f0cf5b40641d4a349318bb468b # Parent 7196f06e092898364caa23c67345da47d4822b54 Fix for NPE flys-artifacts/trunk@5233 c6561f87-3c4e-4783-a992-168aeb5c3f6f diff -r 7196f06e0928 -r 2b308a5d5281 flys-artifacts/ChangeLog --- a/flys-artifacts/ChangeLog Wed Aug 22 11:58:48 2012 +0000 +++ b/flys-artifacts/ChangeLog Wed Aug 22 12:25:28 2012 +0000 @@ -1,9 +1,14 @@ -2012-08-20 Sascha L. Teichmann +2012-08-22 Christian Lins + + * src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java: + Fix for NullPointerException. + +2012-08-22 Sascha L. Teichmann * src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisCalculation.java: Made indices of analysis periods QWs zero based. -2012-08-20 Sascha L. Teichmann +2012-08-22 Sascha L. Teichmann * src/main/java/de/intevation/flys/artifacts/model/fixings/QW.java: Store index, too. @@ -16,7 +21,7 @@ src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisCalculation.java: Set QD index to the values of the column cache columns. -2012-08-20 Sascha L. Teichmann +2012-08-22 Sascha L. Teichmann Use the column cache to establish a consistent index scheme. TODO: Store the index values in the created QWDs. diff -r 7196f06e0928 -r 2b308a5d5281 flys-artifacts/src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java --- a/flys-artifacts/src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java Wed Aug 22 11:58:48 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java Wed Aug 22 12:25:28 2012 +0000 @@ -1,5 +1,24 @@ package de.intevation.flys.collections; +import de.intevation.artifactdatabase.Backend; +import de.intevation.artifactdatabase.Backend.PersistentArtifact; +import de.intevation.artifactdatabase.DefaultArtifactCollection; +import de.intevation.artifactdatabase.state.Output; +import de.intevation.artifactdatabase.state.Settings; +import de.intevation.artifactdatabase.state.StateEngine; +import de.intevation.artifacts.Artifact; +import de.intevation.artifacts.ArtifactDatabase; +import de.intevation.artifacts.ArtifactDatabaseException; +import de.intevation.artifacts.ArtifactNamespaceContext; +import de.intevation.artifacts.CallContext; +import de.intevation.artifacts.CallMeta; +import de.intevation.artifacts.common.utils.XMLUtils; +import de.intevation.flys.artifacts.FLYSArtifact; +import de.intevation.flys.artifacts.context.FLYSContext; +import de.intevation.flys.exports.OutGenerator; +import de.intevation.flys.exports.OutputHelper; +import de.intevation.flys.utils.FLYSUtils; + import java.io.IOException; import java.io.OutputStream; import java.util.ArrayList; @@ -11,35 +30,11 @@ import javax.xml.xpath.XPathConstants; import org.apache.log4j.Logger; - import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; -import de.intevation.artifacts.Artifact; -import de.intevation.artifacts.ArtifactDatabase; -import de.intevation.artifacts.ArtifactDatabaseException; -import de.intevation.artifacts.ArtifactNamespaceContext; -import de.intevation.artifacts.CallContext; -import de.intevation.artifacts.CallMeta; - -import de.intevation.artifacts.common.utils.XMLUtils; - -import de.intevation.artifactdatabase.Backend; -import de.intevation.artifactdatabase.Backend.PersistentArtifact; -import de.intevation.artifactdatabase.DefaultArtifactCollection; -import de.intevation.artifactdatabase.state.Output; -import de.intevation.artifactdatabase.state.Settings; -import de.intevation.artifactdatabase.state.StateEngine; - -import de.intevation.flys.artifacts.context.FLYSContext; -import de.intevation.flys.artifacts.FLYSArtifact; -import de.intevation.flys.exports.OutGenerator; -import de.intevation.flys.exports.OutputHelper; - -import de.intevation.flys.utils.FLYSUtils; - /** * @author Ingo Weinzierl */ @@ -459,10 +454,16 @@ FLYSContext flysContext = FLYSUtils.getFlysContext(context); StateEngine engine = (StateEngine) flysContext.get( - FLYSContext.STATE_ENGINE_KEY); + FLYSContext.STATE_ENGINE_KEY); FLYSArtifact masterArtifact = getMasterArtifact(context); + if(masterArtifact == null) { + log.debug("buildOutAttributes: masterArtifact == null"); + return null; + } + + // FIXME: ec is not used? XMLUtils.ElementCreator ec = new XMLUtils.ElementCreator( doc, ArtifactNamespaceContext.NAMESPACE_URI, @@ -483,7 +484,11 @@ aParser.parse(); - return new AttributeWriter( + if(engine == null) { + log.debug("buildOutAttributes: engine == null"); + } + + AttributeWriter aWriter = new AttributeWriter( db, aParser.getCollectionAttribute(), aParser.getOuts(), @@ -491,7 +496,8 @@ oParser.getOuts(), oParser.getFacets(), engine.getCompatibleFacets(masterArtifact.getStateHistoryIds()) - ).write(); + ); + return aWriter.write(); }