Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java @ 940:f4439e015278
Append artifact recommendations to the artifact's describe document.
flys-artifacts/trunk@2334 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Thu, 14 Jul 2011 15:30:55 +0000 |
parents | 9e813e9137a5 |
children | 1b509e4cf99b |
comparison
equal
deleted
inserted
replaced
939:32d0a543e3e8 | 940:f4439e015278 |
---|---|
21 | 21 |
22 import org.w3c.dom.Document; | 22 import org.w3c.dom.Document; |
23 import org.w3c.dom.Element; | 23 import org.w3c.dom.Element; |
24 import org.w3c.dom.NodeList; | 24 import org.w3c.dom.NodeList; |
25 | 25 |
26 import de.intevation.artifacts.Artifact; | |
27 import de.intevation.artifacts.ArtifactDatabase; | |
28 import de.intevation.artifacts.ArtifactDatabaseException; | |
26 import de.intevation.artifacts.ArtifactFactory; | 29 import de.intevation.artifacts.ArtifactFactory; |
27 import de.intevation.artifacts.CallContext; | 30 import de.intevation.artifacts.CallContext; |
28 | 31 |
29 import de.intevation.artifacts.common.ArtifactNamespaceContext; | 32 import de.intevation.artifacts.common.ArtifactNamespaceContext; |
30 import de.intevation.artifacts.common.utils.XMLUtils; | 33 import de.intevation.artifacts.common.utils.XMLUtils; |
31 | 34 |
35 import de.intevation.artifactdatabase.ArtifactDatabaseImpl; | |
32 import de.intevation.artifactdatabase.DefaultArtifact; | 36 import de.intevation.artifactdatabase.DefaultArtifact; |
33 import de.intevation.artifactdatabase.data.DefaultStateData; | 37 import de.intevation.artifactdatabase.data.DefaultStateData; |
34 import de.intevation.artifactdatabase.data.StateData; | 38 import de.intevation.artifactdatabase.data.StateData; |
35 import de.intevation.artifactdatabase.state.DefaultOutput; | 39 import de.intevation.artifactdatabase.state.DefaultOutput; |
36 import de.intevation.artifactdatabase.state.Facet; | 40 import de.intevation.artifactdatabase.state.Facet; |
76 | 80 |
77 /** The XPath that points to the name of the target state of ADVANCE.*/ | 81 /** The XPath that points to the name of the target state of ADVANCE.*/ |
78 public static final String XPATH_ADVANCE_TARGET = | 82 public static final String XPATH_ADVANCE_TARGET = |
79 "/art:action/art:target/@art:name"; | 83 "/art:action/art:target/@art:name"; |
80 | 84 |
85 public static final String XPATH_MODEL_ARTIFACT = | |
86 "/art:action/art:template/@art:uuid"; | |
87 | |
81 /** The constant string that shows that an operation was successful.*/ | 88 /** The constant string that shows that an operation was successful.*/ |
82 public static final String OPERATION_SUCCESSFUL = "SUCCESS"; | 89 public static final String OPERATION_SUCCESSFUL = "SUCCESS"; |
83 | 90 |
84 /** The constant string that shows that an operation failed.*/ | 91 /** The constant string that shows that an operation failed.*/ |
85 public static final String OPERATION_FAILED = "FAILURE"; | 92 public static final String OPERATION_FAILED = "FAILURE"; |
168 | 175 |
169 logger.debug("Set initial state for artifact '" + name + "'"); | 176 logger.debug("Set initial state for artifact '" + name + "'"); |
170 List<State> states = engine.getStates(name); | 177 List<State> states = engine.getStates(name); |
171 | 178 |
172 setCurrentState(states.get(0)); | 179 setCurrentState(states.get(0)); |
180 | |
181 String model = XMLUtils.xpathString( | |
182 data, | |
183 XPATH_MODEL_ARTIFACT, | |
184 ArtifactNamespaceContext.INSTANCE); | |
185 | |
186 if (model != null && model.length() > 0) { | |
187 ArtifactDatabase db = (ArtifactDatabase) flysContext.get( | |
188 ArtifactDatabaseImpl.GLOBAL_CONTEXT_KEY); | |
189 | |
190 try { | |
191 initialize(db.getRawArtifact(model), context); | |
192 } | |
193 catch (ArtifactDatabaseException adbe) { | |
194 logger.error(adbe, adbe); | |
195 } | |
196 } | |
197 } | |
198 | |
199 | |
200 protected void initialize(Artifact artifact, Object context) { | |
201 // do nothing here | |
173 } | 202 } |
174 | 203 |
175 | 204 |
176 /** | 205 /** |
177 * Insert new data included in <code>input</code> into the current state. | 206 * Insert new data included in <code>input</code> into the current state. |