Mercurial > dive4elements > framework
comparison artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java @ 253:a2df2b48d2aa
Enabled the artifact database to handle requests specific to collection attributes and collection item attributes.
artifacts/trunk@1746 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Tue, 26 Apr 2011 07:43:40 +0000 |
parents | 6de74b0b878e |
children | 6cf9560bd249 |
comparison
equal
deleted
inserted
replaced
252:6de74b0b878e | 253:a2df2b48d2aa |
---|---|
1263 return c.describe(cc); | 1263 return c.describe(cc); |
1264 } | 1264 } |
1265 finally { | 1265 finally { |
1266 cc.postCall(); | 1266 cc.postCall(); |
1267 } | 1267 } |
1268 | 1268 } |
1269 | |
1270 | |
1271 public Document getCollectionAttribute(String collectionId, CallMeta meta) | |
1272 throws ArtifactDatabaseException | |
1273 { | |
1274 logger.debug("Fetch collection attribute for: " + collectionId); | |
1275 | |
1276 return backend.getCollectionAttribute(collectionId); | |
1277 } | |
1278 | |
1279 | |
1280 public Document setCollectionAttribute( | |
1281 String collectionId, | |
1282 CallMeta meta, | |
1283 Document attribute) | |
1284 throws ArtifactDatabaseException | |
1285 { | |
1286 logger.debug("Set the attribute for the collection: " + collectionId); | |
1287 | |
1288 Document attributes = XMLUtils.newDocument(); | |
1289 | |
1290 Node attr = (Node) XMLUtils.xpath( | |
1291 attribute, | |
1292 XPATH_COLLECTION_ATTRIBUTE, | |
1293 XPathConstants.NODE, | |
1294 ArtifactNamespaceContext.INSTANCE); | |
1295 | |
1296 if (attr != null) { | |
1297 attributes.appendChild(attributes.importNode(attr, true)); | |
1298 } | |
1299 | |
1300 Document result = XMLUtils.newDocument(); | |
1301 | |
1302 XMLUtils.ElementCreator ec = new XMLUtils.ElementCreator( | |
1303 result, | |
1304 ArtifactNamespaceContext.NAMESPACE_URI, | |
1305 ArtifactNamespaceContext.NAMESPACE_PREFIX); | |
1306 | |
1307 Element root = ec.create("result"); | |
1308 result.appendChild(root); | |
1309 | |
1310 boolean success = backend.setCollectionAttribute( | |
1311 collectionId, attributes); | |
1312 | |
1313 root.setTextContent(success ? OPERATION_SUCCESSFUL: OPERATION_FAILURE); | |
1314 | |
1315 return result; | |
1269 } | 1316 } |
1270 | 1317 |
1271 public Document getCollectionItemAttribute(String collectionId, String artifactId, | 1318 public Document getCollectionItemAttribute(String collectionId, String artifactId, |
1272 CallMeta callMeta) throws ArtifactDatabaseException | 1319 CallMeta callMeta) throws ArtifactDatabaseException |
1273 { | 1320 { |