@Override public void removeOntologyStorer(OWLStorerFactory storer) { // Locking done by collection ontologyStorers.remove(storer); }
/** * Use the MIME type it to select a sublist of parsers. * * @param mimeType MIME type * @param parsers parsers * @return candidate parsers */ private static PriorityCollection<OWLParserFactory> getParserCandidatesByMIME(String mimeType, PriorityCollection<OWLParserFactory> parsers) { return parsers.getByMIMEType(mimeType); }
@Override public void addIRIMapper(OWLOntologyIRIMapper mapper) { // Locking done by collection documentMappers.add(mapper); }
private OWLOntology createFreshProjectOntology(OWLOntologyManager manager) throws OWLOntologyCreationException, OWLOntologyStorageException { logger.info("Creating a fresh project with an Id of {}", projectId); File parentDirectory = rootOntologyDocument.getParentFile(); parentDirectory.mkdirs(); IRI ontologyIRI = createUniqueOntologyIRI(); IRI documentIRI = IRI.create(rootOntologyDocument); SimpleIRIMapper mapper = new SimpleIRIMapper(ontologyIRI, documentIRI); manager.getIRIMappers().add(mapper); OWLOntology ontology = manager.createOntology(ontologyIRI); manager.getIRIMappers().remove(mapper); writeNewProject(manager, ontology); return ontology; }
/** * Use the format to select a sublist of parsers. * * @param format document format * @param parsers parsers * @return candidate parsers */ private static PriorityCollection<OWLParserFactory> getParsersByFormat(OWLDocumentFormat format, PriorityCollection<OWLParserFactory> parsers) { PriorityCollection<OWLParserFactory> candidateParsers = new PriorityCollection<>(PriorityCollectionSorting.NEVER); for (OWLParserFactory parser : parsers) { if (parser.getSupportedFormat().getKey().equals(format.getKey())) { candidateParsers.add(parser); } } return candidateParsers; }
@Override public void clearOntologyStorers() { // Locking done by collection ontologyStorers.clear(); }
/** * @param parsers parsers to analyze * @return accept headers from parsers */ public static String headersFromParsers(PriorityCollection<OWLParserFactory> parsers) { Map<String, TreeSet<Integer>> map = new HashMap<>(); parsers.forEach(p -> addToMap(map, p.getMIMETypes())); return map.entrySet().stream().sorted(AcceptHeaderBuilder::compare) .map(AcceptHeaderBuilder::tostring).collect(Collectors.joining(", ")); }
@Override public void addIRIMapper(OWLOntologyIRIMapper mapper) { // Locking done by collection documentMappers.add(mapper); }
@Override public void loadOntologies(final Map<IRI, IRI> ontMap) { OWLOntologyIRIMapper mapper = new OWLOntologyIRIMapper(){ private static final long serialVersionUID = 1L; @Override public IRI getDocumentIRI(IRI ontologyIRI) { return ontMap.get(ontologyIRI); } }; mngr.getIRIMappers().add(mapper); for (IRI iri : ontMap.keySet()){ try { if (!iri.equals(ServerConstants.ROOT_ONTOLOGY)){ mngr.loadOntology(iri); } } catch (OWLOntologyDocumentAlreadyExistsException e){ // do nothing - as we're not trying to load in order just keep going } catch (OWLOntologyAlreadyExistsException e){ // do nothing - as we're not trying to load in order just keep going } catch (OWLOntologyCreationException e) { e.printStackTrace(); } } mngr.getIRIMappers().remove(mapper); resetRootImports(); }
/** * Returns the first item matching the mime type<br> * NOTE: The order in which the services are loaded an examined is not * deterministic so this method may return different results if the * MIME-Type matches more than one item. However, if the default MIME-Types * are always unique, the correct item will always be chosen * * @param mimeType A MIME type to use for choosing an item * @return An item matching the given mime type or null if none were found. */ public PriorityCollection<T> getByMIMEType(String mimeType) { checkNotNull(mimeType, "MIME-Type cannot be null"); PriorityCollection<T> pc = new PriorityCollection<>(configurationHolder); // adding directly to the delegate. No need to order because insertion // will be ordered as in this PriorityCollection for (T t : delegate) { // if the instance has MIME types associated if (t instanceof MIMETypeAware) { MIMETypeAware mimeTypeAware = (MIMETypeAware) t; if (mimeType.equals(mimeTypeAware.getDefaultMIMEType())) { pc.add(t); } else { if (mimeTypeAware.getMIMETypes().contains(mimeType)) { pc.add(t); } } } } return pc; }
@Override public void clearIRIMappers() { // Locking done by collection documentMappers.clear(); }
/** * @param parsers parsers to analyze * @return accept headers from parsers */ public static String headersFromParsers(PriorityCollection<OWLParserFactory> parsers) { Map<String, TreeSet<Integer>> map = new HashMap<>(); parsers.forEach(p -> addToMap(map, p.getMIMETypes())); return map.entrySet().stream().sorted(AcceptHeaderBuilder::compare) .map(AcceptHeaderBuilder::tostring).collect(Collectors.joining(", ")); }
@Override public void addOntologyStorer(OWLStorerFactory storer) { // Locking done by collection ontologyStorers.add(storer); }
private void createDebuggingOntology() { if (debuggingOntology != null) { man.removeOntology(verifyNotNull(debuggingOntology)); } IRI iri = createIRI(); SimpleIRIMapper mapper = new SimpleIRIMapper(iri, iri); man.getIRIMappers().add(mapper); try { debuggingOntology = man.createOntology(iri); } catch (OWLOntologyCreationException e) { throw new OWLRuntimeException(e); } man.getIRIMappers().remove(mapper); List<AddAxiom> changes = new ArrayList<>(); debuggingAxioms.forEach(ax -> changes.add(new AddAxiom(getDebuggingOntology(), ax))); temporaryAxioms.forEach(ax -> changes.add(new AddAxiom(getDebuggingOntology(), ax))); // Ensure the ontology contains the signature of the class which is // being debugged OWLAxiom ax = df.getOWLSubClassOfAxiom(verifyNotNull(currentClass), df.getOWLThing()); changes.add(new AddAxiom(getDebuggingOntology(), ax)); man.applyChanges(changes); }
/** * Use the format to select a sublist of parsers. * * @param format document format * @param parsers parsers * @return candidate parsers */ private static PriorityCollection<OWLParserFactory> getParsersByFormat(OWLDocumentFormat format, PriorityCollection<OWLParserFactory> parsers) { PriorityCollection<OWLParserFactory> candidateParsers = new PriorityCollection<>(PriorityCollectionSorting.NEVER); for (OWLParserFactory parser : parsers) { if (parser.getSupportedFormat().getKey().equals(format.getKey())) { candidateParsers.add(parser); } } return candidateParsers; }
@Override public void clearOntologyStorers() { // Locking done by collection ontologyStorers.clear(); }