Mercurial > dive4elements > framework
comparison artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java @ 158:d718a4d55662
Implemented the createCollection() method in the artifact database.
artifacts/trunk@1383 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Thu, 03 Mar 2011 10:54:33 +0000 |
parents | 6e6965873a48 |
children | db0d20440b92 |
comparison
equal
deleted
inserted
replaced
157:6e6965873a48 | 158:d718a4d55662 |
---|---|
9 package de.intevation.artifactdatabase; | 9 package de.intevation.artifactdatabase; |
10 | 10 |
11 import de.intevation.artifactdatabase.Backend.PersistentArtifact; | 11 import de.intevation.artifactdatabase.Backend.PersistentArtifact; |
12 | 12 |
13 import de.intevation.artifacts.Artifact; | 13 import de.intevation.artifacts.Artifact; |
14 import de.intevation.artifacts.ArtifactCollection; | |
14 import de.intevation.artifacts.ArtifactCollectionFactory; | 15 import de.intevation.artifacts.ArtifactCollectionFactory; |
15 import de.intevation.artifacts.ArtifactDatabase; | 16 import de.intevation.artifacts.ArtifactDatabase; |
16 import de.intevation.artifacts.ArtifactDatabaseException; | 17 import de.intevation.artifacts.ArtifactDatabaseException; |
17 import de.intevation.artifacts.ArtifactFactory; | 18 import de.intevation.artifacts.ArtifactFactory; |
18 import de.intevation.artifacts.ArtifactNamespaceContext; | 19 import de.intevation.artifacts.ArtifactNamespaceContext; |
190 "No such user"; | 191 "No such user"; |
191 | 192 |
192 /** Error message if no username is given for user creation.*/ | 193 /** Error message if no username is given for user creation.*/ |
193 public static final String NO_USERNAME = | 194 public static final String NO_USERNAME = |
194 "Invalid username"; | 195 "Invalid username"; |
196 | |
197 // Collection constants | |
198 | |
199 /** | |
200 * Error message issued if the creation of a collection failed. | |
201 */ | |
202 public static final String COLLECTION_CREATION_FAILED = | |
203 "Creation of collection failed"; | |
195 | 204 |
196 | 205 |
197 /** | 206 /** |
198 * Inner class that implements the call context handed | 207 * Inner class that implements the call context handed |
199 * to the methods calls describe(), feed(), etc. of the artifact. | 208 * to the methods calls describe(), feed(), etc. of the artifact. |
620 | 629 |
621 public UserFactory getUserFactory() { | 630 public UserFactory getUserFactory() { |
622 return userFactory; | 631 return userFactory; |
623 } | 632 } |
624 | 633 |
634 public ArtifactCollectionFactory getArtifactCollectionFactory() { | |
635 return collectionFactory; | |
636 } | |
637 | |
625 public Document createArtifactWithFactory( | 638 public Document createArtifactWithFactory( |
626 String factoryName, | 639 String factoryName, |
627 CallMeta callMeta, | 640 CallMeta callMeta, |
628 Document data | 641 Document data |
629 ) | 642 ) |
1080 throw new ArtifactDatabaseException("Not implemented, yet!"); | 1093 throw new ArtifactDatabaseException("Not implemented, yet!"); |
1081 } | 1094 } |
1082 | 1095 |
1083 public Document createCollection(String ownerId, Document data, | 1096 public Document createCollection(String ownerId, Document data, |
1084 CallMeta callMeta) | 1097 CallMeta callMeta) |
1085 throws ArtifactDatabaseException { | 1098 throws ArtifactDatabaseException |
1086 throw new ArtifactDatabaseException("Not implemented, yet!"); | 1099 { |
1100 ArtifactCollectionFactory acf = getArtifactCollectionFactory(); | |
1101 | |
1102 if (acf == null) { | |
1103 throw new ArtifactDatabaseException(NO_SUCH_FACTORY); | |
1104 } | |
1105 | |
1106 ArtifactCollection ac = backend.createCollection( | |
1107 ownerId, data, context, acf); | |
1108 | |
1109 if (ac == null) { | |
1110 throw new ArtifactDatabaseException(COLLECTION_CREATION_FAILED); | |
1111 } | |
1112 | |
1113 Document result = XMLUtils.newDocument(); | |
1114 | |
1115 XMLUtils.ElementCreator ec = new XMLUtils.ElementCreator( | |
1116 result, | |
1117 ArtifactNamespaceContext.NAMESPACE_URI, | |
1118 ArtifactNamespaceContext.NAMESPACE_PREFIX); | |
1119 | |
1120 Element root = ec.create("result"); | |
1121 result.appendChild(root); | |
1122 | |
1123 result.setTextContent(OPERATION_SUCCESSFUL); | |
1124 | |
1125 return result; | |
1087 } | 1126 } |
1088 | 1127 |
1089 public Document deleteCollection(String collectionId, CallMeta callMeta) | 1128 public Document deleteCollection(String collectionId, CallMeta callMeta) |
1090 throws ArtifactDatabaseException { | 1129 throws ArtifactDatabaseException { |
1091 throw new ArtifactDatabaseException("Not implemented, yet!"); | 1130 throw new ArtifactDatabaseException("Not implemented, yet!"); |