Changeset 215
- Timestamp:
- 03/04/10 12:11:07 (14 years ago)
- Location:
- VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry
- Files:
-
- 2 added
- 2 deleted
- 14 edited
Legend:
- Unmodified
- Added
- Removed
-
VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/VirtualCollectionNotFoundException.java
r146 r215 4 4 VirtualCollectionRegistryException { 5 5 private static final long serialVersionUID = 1L; 6 6 7 7 public VirtualCollectionNotFoundException(long id) { 8 super("virtual collection with id " + id + " not found");8 super("virtual collection with id " + id + " was not found"); 9 9 } 10 10 -
VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/VirtualCollectionRegistry.java
r213 r215 21 21 import eu.clarin.cmdi.virtualcollectionregistry.model.VirtualCollectionValidator; 22 22 import eu.clarin.cmdi.virtualcollectionregistry.query.ParsedQuery; 23 import eu.clarin.cmdi.virtualcollectionregistry.query.QueryException; 23 24 24 25 public class VirtualCollectionRegistry { … … 46 47 logger.fine("initialize ..."); 47 48 if (config == null) { 48 throw new IllegalArgumentException("config may not benull");49 throw new NullPointerException("config == null"); 49 50 } 50 51 for (String key : config.keySet()) { … … 73 74 VirtualCollection vc) throws VirtualCollectionRegistryException { 74 75 if (principal == null) { 75 throw new IllegalArgumentException("principal == null");76 throw new NullPointerException("principal == null"); 76 77 } 77 78 if (vc == null) { 78 throw new IllegalArgumentException("vc == null");79 throw new NullPointerException("vc == null"); 79 80 } 80 81 … … 119 120 return vc.getId(); 120 121 } catch (Exception e) { 121 logger.log(Level.SEVERE, "create", e); 122 throw new VirtualCollectionRegistryException("create", e); 123 } 124 } 125 126 public long updateVirtualCollection(Principal principal, long id, VirtualCollection vc) 127 throws VirtualCollectionRegistryException { 122 logger.log(Level.SEVERE, 123 "error while creating virtual collection", e); 124 throw new VirtualCollectionRegistryException( 125 "error while creating virtual collection", e); 126 } 127 } 128 129 public long updateVirtualCollection(Principal principal, long id, 130 VirtualCollection vc) throws VirtualCollectionRegistryException { 128 131 if (principal == null) { 129 throw new IllegalArgumentException("principal == null");132 throw new NullPointerException("principal == null"); 130 133 } 131 134 if (id <= 0) { … … 133 136 } 134 137 if (vc == null) { 135 throw new IllegalArgumentException("vc == null");138 throw new NullPointerException("vc == null"); 136 139 } 137 140 … … 149 152 if (!c.getOwner().equalsPrincipal(principal)) { 150 153 throw new VirtualCollectionRegistryPermissionException( 151 "permission denied for user " + principal.getName()); 154 "permission denied for user \"" + 155 principal.getName() + "\""); 152 156 } 153 157 c.updateFrom(vc); … … 179 183 throw e; 180 184 } catch (Exception e) { 181 logger.log(Level.SEVERE, "update", e); 182 throw new VirtualCollectionRegistryException("update", e); 185 logger.log(Level.SEVERE, 186 "error while updating virtual collection", e); 187 throw new VirtualCollectionRegistryException( 188 "error while updating virtual collection", e); 183 189 } 184 190 } … … 187 193 throws VirtualCollectionRegistryException { 188 194 if (principal == null) { 189 throw new IllegalArgumentException("principal == null");195 throw new NullPointerException("principal == null"); 190 196 } 191 197 if (id <= 0) { … … 202 208 if (!vc.getOwner().equalsPrincipal(principal)) { 203 209 throw new VirtualCollectionRegistryPermissionException( 204 "permission denied for user " + principal.getName()); 210 "permission denied for user \"" + 211 principal.getName() + "\""); 205 212 } 206 213 em.remove(vc); … … 210 217 throw e; 211 218 } catch (Exception e) { 212 logger.log(Level.SEVERE, "delete", e); 213 throw new VirtualCollectionRegistryException("delete", e); 219 logger.log(Level.SEVERE, 220 "error while deleting virtual collection", e); 221 throw new VirtualCollectionRegistryException( 222 "error while deleting virtual collection", e); 214 223 } 215 224 } … … 234 243 throw e; 235 244 } catch (Exception e) { 236 logger.log(Level.SEVERE, "get", e); 237 throw new VirtualCollectionRegistryException("get", e); 245 logger.log(Level.SEVERE, 246 "error while retrieving virtual collection", e); 247 throw new VirtualCollectionRegistryException( 248 "error while retrieving virtual collection", e); 238 249 } 239 250 } … … 251 262 em.getTransaction().commit(); 252 263 if (md == null) { 253 throw new VirtualCollection NotFoundException(id);264 throw new VirtualCollectionMetadataNotFoundException(id); 254 265 } 255 266 return md; … … 257 268 throw e; 258 269 } catch (Exception e) { 259 throw new VirtualCollectionRegistryException("get metadata", e); 270 logger.log(Level.SEVERE, 271 "error while retrieving metadata resource", e); 272 throw new VirtualCollectionRegistryException( 273 "error while retrieving metadata resource", e); 260 274 } 261 275 … … 297 311 } 298 312 return new VirtualCollectionList(results, offset, (int) totalCount); 299 } catch (Exception e) { 300 logger.log(Level.SEVERE, "list", e); 301 throw new VirtualCollectionRegistryException("list", e); 313 } catch (QueryException e) { 314 throw new VirtualCollectionRegistryUsageException( 315 "query invalid", e); 316 } catch (Exception e) { 317 logger.log(Level.SEVERE, 318 "error while enumerating virtual collections", e); 319 throw new VirtualCollectionRegistryException( 320 "error while enumerating virtual collections", e); 302 321 } finally { 303 322 em.getTransaction().commit(); … … 309 328 throws VirtualCollectionRegistryException { 310 329 if (principal == null) { 311 throw new IllegalArgumentException("principal == null");330 throw new NullPointerException("principal == null"); 312 331 } 313 332 EntityManager em = DataStore.instance().getEntityManager(); … … 318 337 User user = fetchUser(em, principal); 319 338 if (user == null) { 320 throw new VirtualCollectionRegistryException("user does not exist"); 339 throw new VirtualCollectionRegistryPermissionException("user " + 340 principal.getName() + " does not exist"); 321 341 } 322 342 … … 351 371 } 352 372 return new VirtualCollectionList(results, offset, (int) totalCount); 373 } catch (QueryException e) { 374 throw new VirtualCollectionRegistryUsageException( 375 "query invalid", e); 353 376 } catch (VirtualCollectionRegistryException e) { 354 377 throw e; 355 378 } catch (Exception e) { 356 logger.log(Level.SEVERE, "list", e); 357 throw new VirtualCollectionRegistryException("list", e); 379 logger.log(Level.SEVERE, 380 "error while enumerating virtual collections", e); 381 throw new VirtualCollectionRegistryException( 382 "error while enumerating virtual collections", e); 358 383 } finally { 359 384 em.getTransaction().commit(); -
VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/VirtualCollectionRegistryException.java
r146 r215 5 5 6 6 public VirtualCollectionRegistryException(String msg) { 7 super(msg);7 this(msg, null); 8 8 } 9 9 -
VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/VirtualCollectionRegistryMarshaller.java
r188 r215 72 72 VirtualCollection vc) throws IOException { 73 73 if (output == null) { 74 throw new IllegalArgumentException("output == null");74 throw new NullPointerException("output == null"); 75 75 } 76 76 try { … … 94 94 String encoding) throws IOException { 95 95 if (input == null) { 96 throw new IllegalArgumentException("input == null");96 throw new NullPointerException("input == null"); 97 97 } 98 98 try { … … 149 149 ClarinVirtualCollection vc) throws IOException { 150 150 if (output == null) { 151 throw new IllegalArgumentException("output == null");151 throw new NullPointerException("output == null"); 152 152 } 153 153 try { … … 170 170 throws Exception { 171 171 if (format == null) { 172 throw new IllegalArgumentException("format == null");172 throw new NullPointerException("format == null"); 173 173 } 174 174 switch (format) { … … 178 178 return jsonWriterFactory.createXMLStreamWriter(output, ENCODING); 179 179 default: 180 // this should never happen 181 throw new InternalError("bad writer format " + format); 180 // should never happen 181 throw new IllegalArgumentException("output format " + format 182 + " is not supported"); 182 183 } // switch 183 184 } … … 186 187 String encoding) throws Exception { 187 188 if (format == null) { 188 throw new IllegalArgumentException("format == null");189 throw new NullPointerException("format == null"); 189 190 } 190 191 if (encoding == null) { 191 throw new IllegalArgumentException("encoding == null");192 throw new NullPointerException("encoding == null"); 192 193 } 193 194 … … 201 202 break; 202 203 default: 203 // this should never happen 204 throw new InternalError("bad reader format " + format); 204 // should never happen 205 throw new IllegalArgumentException("input format " + format 206 + " is not supported"); 205 207 } // switch 206 208 -
VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/model/ResourceMetadata.java
r211 r215 51 51 public void setName(String name) { 52 52 if (name == null) { 53 throw new IllegalArgumentException("name == null");53 throw new NullPointerException("name == null"); 54 54 } 55 55 this.name = name; … … 81 81 public void setRef(String ref) { 82 82 if (ref == null) { 83 throw new IllegalArgumentException("ref == null");83 throw new NullPointerException("ref == null"); 84 84 } 85 85 this.ref = ref; … … 93 93 public void setPid(String pid) { 94 94 if (pid == null) { 95 throw new IllegalArgumentException("pid == null");95 throw new NullPointerException("pid == null"); 96 96 } 97 this.pid = pid ;97 this.pid = pid.trim(); 98 98 } 99 99 -
VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/model/ResourceProxy.java
r211 r215 42 42 public void setType(ResourceType type) { 43 43 if (type == null) { 44 throw new IllegalArgumentException("type == null");44 throw new NullPointerException("type == null"); 45 45 } 46 46 this.type = type; … … 54 54 public void setRef(String ref) { 55 55 if (ref == null) { 56 throw new IllegalArgumentException("ref == null");56 throw new NullPointerException("ref == null"); 57 57 } 58 58 this.ref = ref; -
VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/model/User.java
r191 r215 52 52 public void setName(String name) { 53 53 if (name == null) { 54 throw new IllegalArgumentException("name == null"); 54 throw new NullPointerException("name == null"); 55 } 56 name = name.trim(); 57 if (name.isEmpty()) { 58 throw new IllegalArgumentException("empty name is not allowed"); 55 59 } 56 60 this.name = name; 57 61 } 58 62 59 63 public String getName() { 60 64 return name; … … 67 71 public boolean equals(Object o) { 68 72 if (o == null) { 69 throw new IllegalArgumentException("o == null");73 throw new NullPointerException("o == null"); 70 74 } 71 75 if (o instanceof User) { … … 78 82 public boolean equalsPrincipal(Principal principal) { 79 83 if (principal == null) { 80 throw new IllegalArgumentException("principal == null");84 throw new NullPointerException("principal == null"); 81 85 } 82 86 return name.equals(principal.getName()); -
VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/model/VirtualCollection.java
r191 r215 147 147 public void setOwner(User owner) { 148 148 if (owner == null) { 149 throw new IllegalArgumentException("owner == null");149 throw new NullPointerException("owner == null"); 150 150 } 151 151 this.owner = owner; … … 158 158 public void setPid(String pid) { 159 159 if (name == null) { 160 throw new IllegalArgumentException("name == null"); 160 throw new NullPointerException("name == null"); 161 } 162 pid = pid.trim(); 163 if (pid.length() < 1) { 164 throw new IllegalArgumentException("empty pid is not allowed"); 161 165 } 162 166 this.pid = pid; … … 169 173 public void setName(String name) { 170 174 if (name == null) { 171 throw new IllegalArgumentException("name == null");175 throw new NullPointerException("name == null"); 172 176 } 173 177 this.name = name; … … 188 192 public void setCreationDate(Date creationDate) { 189 193 if (creationDate == null) { 190 throw new IllegalArgumentException("creationDate == null");194 throw new NullPointerException("creationDate == null"); 191 195 } 192 196 this.creationDate = creationDate; … … 199 203 public void setVisibility(Visibility visibility) { 200 204 if (visibility == null) { 201 throw new IllegalArgumentException("visibility == null");205 throw new NullPointerException("visibility == null"); 202 206 } 203 207 this.visibility = visibility; … … 210 214 public void setType(Type style) { 211 215 if (style == null) { 212 throw new IllegalArgumentException("style == null");216 throw new NullPointerException("style == null"); 213 217 } 214 218 this.type = style; … … 245 249 public void setModifiedDate(Date modifiedDate) { 246 250 if (modifiedDate == null) { 247 throw new IllegalArgumentException("modifiedDate == null");251 throw new NullPointerException("modifiedDate == null"); 248 252 } 249 253 this.modifedDate = modifiedDate; -
VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/model/VirtualCollectionValidator.java
r146 r215 2 2 3 3 import java.util.HashMap; 4 5 import eu.clarin.cmdi.virtualcollectionregistry.VirtualCollectionRegistryException; 6 import eu.clarin.cmdi.virtualcollectionregistry.VirtualCollectionRegistryUsageException; 4 7 5 8 public class VirtualCollectionValidator { … … 9 12 new HashMap<String, Resource>(); 10 13 11 public void validate(VirtualCollection vc) { 14 public void validate(VirtualCollection vc) 15 throws VirtualCollectionRegistryException { 16 if ((vc.getName() == null) || vc.getName().trim().isEmpty()) { 17 throw new VirtualCollectionRegistryUsageException( 18 "collection has an empty name"); 19 } 12 20 for (Resource resource : vc.getResources()) { 13 21 int signature = resource.getSignature(); 14 22 if (uniqueResources.containsKey(signature)) { 15 throw new IllegalArgumentException("collection contains non-unique resources"); 23 throw new VirtualCollectionRegistryUsageException( 24 "collection contains non-unique resources"); 16 25 } 17 26 uniqueResources.put(signature, resource); 18 27 String ref = resource.getRef(); 19 28 if ((ref == null) || ref.trim().isEmpty()) { 20 throw new IllegalArgumentException("collection contains resource with empty ResourceRef"); 29 throw new VirtualCollectionRegistryUsageException( 30 "collection contains resource with empty ResourceRef"); 21 31 } 22 32 if (uniqueResourceRefs.containsKey(ref)) { 23 throw new IllegalArgumentException("collection contains non-unique ResourceRefs"); 33 throw new VirtualCollectionRegistryUsageException( 34 "collection contains non-unique ResourceRefs"); 24 35 } 25 36 uniqueResourceRefs.put(ref, resource); -
VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/query/QueryException.java
r213 r215 4 4 private static final long serialVersionUID = 1L; 5 5 6 public QueryException(String msg, Throwable t) {7 super(msg, t);8 }9 10 6 public QueryException(String msg) { 11 7 this(msg, null); 12 8 } 13 9 10 public QueryException(String msg, Throwable cause) { 11 super(msg, cause); 12 } 13 14 14 } // class QueryException -
VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/rest/IllegalArgumentExceptionMapper.java
r171 r215 14 14 response.setIsSuccess(false); 15 15 response.setInfo(e.getMessage()); 16 return Response.status(Response.Status.BAD_REQUEST) 17 .entity(e.getMessage()).type(MediaType.APPLICATION_XML).entity(response).build(); 16 return Response 17 .status(Response.Status.BAD_REQUEST) 18 .type(MediaType.APPLICATION_XML) 19 .entity(response) 20 .build(); 18 21 } 19 22 20 23 } // class IllegalArgumentExceptionMapper -
VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/rest/RestResponse.java
r146 r215 49 49 50 50 public void setError(List<String> errors) { 51 this.errors = errors; 51 if ((errors != null) && !errors.isEmpty()) { 52 this.errors = errors; 53 } 52 54 } 53 55 -
VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/rest/VirtualCollectionRegistryExceptionMapper.java
r171 r215 6 6 import javax.ws.rs.core.MediaType; 7 7 import javax.ws.rs.core.Response; 8 import javax.ws.rs.core.Response.Status; 8 9 import javax.ws.rs.ext.ExceptionMapper; 9 10 import javax.ws.rs.ext.Provider; 11 import javax.xml.stream.XMLStreamException; 10 12 11 13 import org.xml.sax.SAXParseException; 12 14 15 import eu.clarin.cmdi.virtualcollectionregistry.VirtualCollectionMetadataNotFoundException; 16 import eu.clarin.cmdi.virtualcollectionregistry.VirtualCollectionNotFoundException; 13 17 import eu.clarin.cmdi.virtualcollectionregistry.VirtualCollectionRegistryException; 18 import eu.clarin.cmdi.virtualcollectionregistry.VirtualCollectionRegistryPermissionException; 19 import eu.clarin.cmdi.virtualcollectionregistry.VirtualCollectionRegistryUsageException; 14 20 15 21 @Provider … … 18 24 19 25 public Response toResponse(VirtualCollectionRegistryException e) { 26 Status status = null; 27 List<String> errors = null; 28 if (e instanceof VirtualCollectionRegistryUsageException) { 29 status = Status.BAD_REQUEST; 30 errors = getErrors(e.getCause()); 31 } else if (e instanceof VirtualCollectionRegistryPermissionException) { 32 status = Status.FORBIDDEN; 33 } else if (e instanceof VirtualCollectionNotFoundException) { 34 status = Status.NOT_FOUND; 35 } else if (e instanceof VirtualCollectionMetadataNotFoundException) { 36 status = Status.NOT_FOUND; 37 } else { 38 if (hasCause(e.getCause(), XMLStreamException.class)) { 39 status = Status.BAD_REQUEST; 40 } else { 41 status = Status.INTERNAL_SERVER_ERROR; 42 } 43 errors = getErrors(e.getCause()); 44 } 20 45 RestResponse response = new RestResponse(); 21 46 response.setIsSuccess(false); 22 response.setInfo("an error occured: " + e.getMessage()); 23 response.setError(getErrors(e.getCause())); 24 return Response.status(Response.Status.INTERNAL_SERVER_ERROR) 25 .entity(e.getMessage()).type(MediaType.APPLICATION_XML).entity(response).build(); 47 response.setInfo(e.getMessage()); 48 if (errors != null) { 49 response.setError(errors); 50 } 51 return Response 52 .status(status) 53 .type(MediaType.APPLICATION_XML) 54 .entity(response) 55 .build(); 26 56 } 27 57 … … 41 71 } 42 72 73 private static boolean hasCause(Throwable t, Class<?> clazz) { 74 while (t != null) { 75 if (clazz.isInstance(t)) { 76 return true; 77 } 78 t = t.getCause(); 79 } 80 return false; 81 } 82 43 83 } // class VirtualCollectionRegistryExceptionMapper -
VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/rest/VirtualCollectionRegistryRestService.java
r213 r215 58 58 Principal principal = security.getUserPrincipal(); 59 59 if (principal == null) { 60 throw new IllegalArgumentException("princial == null");60 throw new NullPointerException("princial == null"); 61 61 } 62 62 try { … … 103 103 Principal principal = security.getUserPrincipal(); 104 104 if (principal == null) { 105 throw new IllegalArgumentException("princial == null");105 throw new NullPointerException("princial == null"); 106 106 } 107 107 registry.updateVirtualCollection(principal, id, vc); … … 120 120 Principal principal = security.getUserPrincipal(); 121 121 if (principal == null) { 122 throw new IllegalArgumentException("princial == null");122 throw new NullPointerException("princial == null"); 123 123 } 124 124 registry.deleteVirtualCollection(principal, id); … … 163 163 Principal principal = security.getUserPrincipal(); 164 164 if (principal == null) { 165 throw new IllegalArgumentException("princial == null");165 throw new NullPointerException("princial == null"); 166 166 } 167 167 final VirtualCollectionList vcs =
Note: See TracChangeset
for help on using the changeset viewer.