Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java @ 1744:62efd1288e34
Fix setting of masterartifact in flyscollections.
flys-artifacts/trunk@3038 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Wed, 19 Oct 2011 16:04:40 +0000 |
parents | defe2cfeefa5 |
children | d2a17e990c70 |
comparison
equal
deleted
inserted
replaced
1743:8a2cbf947395 | 1744:62efd1288e34 |
---|---|
56 | 56 |
57 public static final String XPATH_OUT_NAME = "/art:action/@art:name"; | 57 public static final String XPATH_OUT_NAME = "/art:action/@art:name"; |
58 | 58 |
59 public static final String XPATH_OUT_TYPE = "/art:action/@art:type"; | 59 public static final String XPATH_OUT_TYPE = "/art:action/@art:type"; |
60 | 60 |
61 public static final String XPATH_MASTER_UUID = "/art:artifact-collection/art:artifact/@art:uuid"; | |
62 | |
61 public static final String XPATH_LOADED_RECOMMENDATIONS = | 63 public static final String XPATH_LOADED_RECOMMENDATIONS = |
62 "/art:attribute/art:loaded-recommendations"; | 64 "/art:attribute/art:loaded-recommendations"; |
63 | |
64 | 65 |
65 | 66 |
66 /** | 67 /** |
67 * Return description Document for this collection. | 68 * Return description Document for this collection. |
68 */ | 69 */ |
215 return; | 216 return; |
216 } | 217 } |
217 | 218 |
218 generator.init(format, out, context); | 219 generator.init(format, out, context); |
219 | 220 |
220 // TODO Determine the correct master artifact here! | 221 // Get master artifact. |
222 try{ | |
223 ArtifactDatabase db = context.getDatabase(); | |
224 CallMeta callMeta = context.getMeta(); | |
225 Document document = | |
226 db.getCollectionsMasterArtifact(identifier(), callMeta); | |
227 | |
228 //log.debug(XMLUtils.toString(document)); | |
229 | |
230 String masterUUID = XMLUtils.xpathString( | |
231 document, XPATH_MASTER_UUID, ArtifactNamespaceContext.INSTANCE); | |
232 | |
233 log.error("Will set master Artifact to uuid: " + masterUUID); | |
234 generator.setMasterArtifact(getArtifact(masterUUID, context)); | |
235 } catch (ArtifactDatabaseException adb) { | |
236 log.error(adb, adb); | |
237 } | |
221 | 238 |
222 try { | 239 try { |
223 Document attr = getAttribute(context, name); | 240 Document attr = getAttribute(context, name); |
224 doOut(generator, name, subtype, attr, context); | 241 doOut(generator, name, subtype, attr, context); |
225 } | 242 } |
275 if (outName.equals("export") && !facetName.equals(facet)) { | 292 if (outName.equals("export") && !facetName.equals(facet)) { |
276 continue; | 293 continue; |
277 } | 294 } |
278 | 295 |
279 Artifact artifact = getArtifact(art, context); | 296 Artifact artifact = getArtifact(art, context); |
280 if (i == 0) { | |
281 generator.setMasterArtifact(artifact); | |
282 } | |
283 | 297 |
284 generator.doOut( | 298 generator.doOut( |
285 artifact, | 299 artifact, |
286 theme, | 300 theme, |
287 getFacetThemeFromAttribute( | 301 getFacetThemeFromAttribute( |