# HG changeset patch # User Sascha L. Teichmann # Date 1343032703 0 # Node ID 0d63581c5df144cb3eabd8e9d0c7d78be43c3325 # Parent 262e7d7e58fe3a613e436f1ed09f60518540bf56 FLYSArtifact: Prevent NPE in getOutputForState(). Why does this happen? flys-artifacts/trunk@5099 c6561f87-3c4e-4783-a992-168aeb5c3f6f diff -r 262e7d7e58fe -r 0d63581c5df1 flys-artifacts/ChangeLog --- a/flys-artifacts/ChangeLog Sun Jul 22 10:38:30 2012 +0000 +++ b/flys-artifacts/ChangeLog Mon Jul 23 08:38:23 2012 +0000 @@ -1,3 +1,8 @@ +2012-07-22 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: + Prevent NPE in getOutputForState(). Why does this happen? + 2012-07-22 Sascha L. Teichmann * src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisCalculation.java, diff -r 262e7d7e58fe -r 0d63581c5df1 flys-artifacts/src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java --- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java Sun Jul 22 10:38:30 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java Mon Jul 23 08:38:23 2012 +0000 @@ -1030,20 +1030,26 @@ return outs; } - logger.debug("Filter Facets with " + filterFacets.size() + " filters."); + boolean debug = logger.isDebugEnabled(); + + if (debug) { + logger.debug( + "Filter Facets with " + filterFacets.size() + " filters."); + } List filtered = new ArrayList(); for (Output out: outs) { String outName = out.getName(); - logger.debug(" filter Facets for Output: " + outName); + if (debug) { + logger.debug(" filter Facets for Output: " + outName); + } List fFacets = filterFacets.get(outName); if (fFacets != null) { - logger.debug("" + fFacets.size() + " filters for: " + outName); - - if (logger.isDebugEnabled()) { + if (debug) { + logger.debug("" + fFacets.size() + " filters for: " + outName); for (Facet tmp: fFacets) { logger.debug(" filter = '" + tmp.getName() + "'"); } @@ -1061,7 +1067,10 @@ } } - logger.debug("Facets after filtering = " + resultFacets.size()); + if (debug) { + logger.debug( + "Facets after filtering = " + resultFacets.size()); + } if (!resultFacets.isEmpty()) { DefaultOutput nout = new DefaultOutput( @@ -1074,7 +1083,9 @@ } } - logger.debug("All Facets after filtering = " + filtered.size()); + if (debug) { + logger.debug("All Facets after filtering = " + filtered.size()); + } return filtered; } @@ -1087,7 +1098,9 @@ * @return list of outputs */ public List getOutputs(Object context) { - logger.debug("##### Get Outputs for: " + identifier() + " #####"); + if (logger.isDebugEnabled()) { + logger.debug("##### Get Outputs for: " + identifier() + " #####"); + } dumpArtifact(); @@ -1129,11 +1142,23 @@ * @return list of output(s) for given state. */ protected List getOutputForState(DefaultState state) { - logger.debug("Find Outputs for State: " + state.getID()); + + if (state == null) { + logger.error("state == null: This should not happen!"); + return new ArrayList(); + } + + boolean debug = logger.isDebugEnabled(); + + if (debug) { + logger.debug("Find Outputs for State: " + state.getID()); + } List list = state.getOutputs(); if (list == null || list.size() == 0) { - logger.debug("-> No output modes for this state."); + if (debug) { + logger.debug("-> No output modes for this state."); + } return new ArrayList(); } @@ -1142,13 +1167,17 @@ List fs = facets.get(stateId); if (fs == null || fs.size() == 0) { - logger.debug("No facets found."); + if (debug) { + logger.debug("No facets found."); + } return new ArrayList(); } List gen = generateOutputs(list, fs); - logger.debug("State '" + stateId + "' has " + gen.size() + " outs"); + if (debug) { + logger.debug("State '" + stateId + "' has " + gen.size() + " outs"); + } return gen; } @@ -1434,7 +1463,9 @@ */ @Override public void endOfLife(Object context) { - logger.info("FLYSArtifact.endOfLife: " + identifier()); + if (logger.isDebugEnabled()) { + logger.debug("FLYSArtifact.endOfLife: " + identifier()); + } ArrayList ids = (ArrayList) getPreviousStateIds(); ArrayList toDestroy = (ArrayList) ids.clone();