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 {

http://dive4elements.wald.intevation.org