use of org.apache.stanbol.ontologymanager.servicesapi.collector.UnmodifiableOntologyCollectorException in project stanbol by apache.
the class SessionResource method managedOntologyUnload.
/**
* Tells the session to no longer manage the ontology with the supplied <i>logical</i> identifier. The
* ontology will be lost if not stored or not managed by another collector.
*
* @param sessionId
* the session identifier.
* @param ontologyId
* the ontology identifier.
* @param uriInfo
* @param headers
* @return {@link Status#OK} if the removal was successful, {@link Status#NOT_FOUND} if there is no such
* session at all, {@link Status#FORBIDDEN} if the session or the ontology is locked or cannot
* modified for some other reason, {@link Status#INTERNAL_SERVER_ERROR} if some other error
* occurs.
*/
@DELETE
@Path(value = "/{ontologyId:.+}")
public Response managedOntologyUnload(@PathParam("id") String sessionId, @PathParam("ontologyId") String ontologyId, // @Context UriInfo uriInfo,
@Context HttpHeaders headers) {
ResponseBuilder rb;
session = sesMgr.getSession(sessionId);
if (session == null)
rb = Response.status(NOT_FOUND);
else {
OWLOntologyID id = OntologyUtils.decode(ontologyId);
if (!session.hasOntology(id))
rb = Response.notModified();
else
try {
session.removeOntology(id);
rb = Response.ok();
} catch (IrremovableOntologyException e) {
throw new WebApplicationException(e, FORBIDDEN);
} catch (UnmodifiableOntologyCollectorException e) {
throw new WebApplicationException(e, FORBIDDEN);
} catch (OntologyCollectorModificationException e) {
throw new WebApplicationException(e, INTERNAL_SERVER_ERROR);
}
}
// addCORSOrigin(servletContext, rb, headers);
return rb.build();
}
Aggregations