Search in sources :

Example 16 with UnmodifiableOntologyCollectorException

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();
}
Also used : IrremovableOntologyException(org.apache.stanbol.ontologymanager.servicesapi.collector.IrremovableOntologyException) WebApplicationException(javax.ws.rs.WebApplicationException) OntologyCollectorModificationException(org.apache.stanbol.ontologymanager.servicesapi.collector.OntologyCollectorModificationException) UnmodifiableOntologyCollectorException(org.apache.stanbol.ontologymanager.servicesapi.collector.UnmodifiableOntologyCollectorException) OWLOntologyID(org.semanticweb.owlapi.model.OWLOntologyID) ResponseBuilder(javax.ws.rs.core.Response.ResponseBuilder) Path(javax.ws.rs.Path) DELETE(javax.ws.rs.DELETE)

Aggregations

UnmodifiableOntologyCollectorException (org.apache.stanbol.ontologymanager.servicesapi.collector.UnmodifiableOntologyCollectorException)16 OWLOntologyID (org.semanticweb.owlapi.model.OWLOntologyID)8 OntologySpace (org.apache.stanbol.ontologymanager.servicesapi.scope.OntologySpace)7 OWLOntologyCreationException (org.semanticweb.owlapi.model.OWLOntologyCreationException)7 WebApplicationException (javax.ws.rs.WebApplicationException)6 ResponseBuilder (javax.ws.rs.core.Response.ResponseBuilder)6 RootOntologySource (org.apache.stanbol.ontologymanager.sources.owlapi.RootOntologySource)5 Consumes (javax.ws.rs.Consumes)4 POST (javax.ws.rs.POST)4 IOException (java.io.IOException)3 URI (java.net.URI)3 IRI (org.apache.clerezza.commons.rdf.IRI)3 DuplicateIDException (org.apache.stanbol.ontologymanager.servicesapi.collector.DuplicateIDException)3 MissingOntologyException (org.apache.stanbol.ontologymanager.servicesapi.collector.MissingOntologyException)3 Test (org.junit.Test)3 FileNotFoundException (java.io.FileNotFoundException)2 DELETE (javax.ws.rs.DELETE)2 Path (javax.ws.rs.Path)2 EngineException (org.apache.stanbol.enhancer.servicesapi.EngineException)2 IrremovableOntologyException (org.apache.stanbol.ontologymanager.servicesapi.collector.IrremovableOntologyException)2