@Override protected void actionPerformed(OWLEntity selectedEntity) { Optional<String> oboId = OboUtilities.getOboIdFromIri(selectedEntity.getIRI()); oboId.ifPresent(id -> Toolkit.getDefaultToolkit().getSystemClipboard().setContents(new StringSelection(id), null)); if(!oboId.isPresent()) { Toolkit.getDefaultToolkit().beep(); Toolkit.getDefaultToolkit().getSystemClipboard().setContents(new StringSelection(""), null); } }
/** * Expands a string representation of an IRI into an IRI. OBO Library Identifiers are handled as are built in * OWL IRIs. This means that IAO:0000115 is expanded to http://purl.obolibrary.org/obo/IAO_0000115 for example, * and rdfs:label is expanded into its full IRI for example. * @param iri The string representation of the IRI. * @return The expanded IRI. If the string representation is null then the empty value is returned. */ public static Optional<IRI> expand(@Nullable String iri) { if(iri == null) { return Optional.empty(); } if(OboUtilities.isOboId(iri)) { return Optional.of(OboUtilities.getOboLibraryIriFromOboId(iri)); } IRI builtInIri = builtInVocabulary.get(iri); if(builtInIri != null) { return Optional.of(builtInIri); } else { return Optional.of(IRI.create(iri)); } } }
/** * Determines whether the entered value is an OBO Id * @return true if the entered value is an OBO Id otherwise false. */ private boolean isOboId() { String enteredValue = getEntityName(); return !enteredValue.isEmpty() && OboUtilities.isOboId(enteredValue); }
public OWLEntityCreationSet<T> getOWLEntityCreationSet(EntityCreationMode preview) throws RuntimeException { try { if (isEntityIRI()) { IRI iri = getRawIRI(); return getCreationSetForIri(iri); } else if(isOboId()) { IRI iri = OboUtilities.getOboLibraryIriFromOboId(getEntityName()); if(owlEditorKit.getOWLModelManager().getActiveOntology().containsEntityInSignature(iri, Imports.INCLUDED)) { throw new OWLEntityCreationException("Entity already exists: " + iri); } return getCreationSetForIri(iri); } else { switch (preview) { case CREATE: return owlEditorKit.getModelManager().getOWLEntityFactory().createOWLEntity(type, getEntityName(), getBaseIRI()); case PREVIEW: return owlEditorKit.getModelManager().getOWLEntityFactory().preview(type, getEntityName(), getBaseIRI()); default: throw new IllegalStateException("Programmer error - report this (with stack trace) to the Protege 4 mailing list"); } } } catch (OWLEntityCreationException e) { throw new RuntimeException(e); } }
if(OboUtilities.isOboId(splitSearchString)) { preparedSearchString = splitSearchString.replace(":", "(?::|_)");
private String getOboIdBracketedRendering(@Nonnull OWLEntity entity) { return OboUtilities.getOboIdFromIri(entity.getIRI()).map(id -> " (" + id + ")").orElse(""); }
private void setupTooltip(@Nonnull OWLObject object, @Nonnull String rendering) { StringBuilder sb = new StringBuilder(); sb.append("<html><body>"); sb.append("<span style=\"font-weight: bold;\">"); sb.append(rendering); sb.append("</span>"); if(object instanceof OWLEntity) { OWLEntity entity = (OWLEntity) object; OboUtilities.getOboIdFromIri(entity.getIRI()).ifPresent(id -> { sb.append("<br>"); sb.append(id); }); sb.append("<br>"); sb.append("<span style=\"color: #a0a0a0;\">"); sb.append(entity.getIRI().toString()); sb.append("</span>"); } sb.append("</body></html>"); setToolTipText(sb.toString()); }
private void setReplacementEntity(@Nonnull OWLEntity entity) { OWLEditorKit editorKit = getOWLEditorKit(); String rendering = editorKit.getModelManager().getRendering(entity); entityFinderField.setText(rendering); selectedEntity = Optional.of(entity); chosenReplacementLabel.setText("<html><body>" + "The deprecated entity will be replaced with <span style=\"font-weight: bold;\">" + rendering + "</span>" + OboUtilities.getOboIdFromIri(entity.getIRI()).map(id -> " (" + id + ")").orElse("")); }
private static String generateTitle(OWLEditorKit editorKit, OWLEntity entityToDeprecate) { String title = "Deprecate " + editorKit.getModelManager().getRendering(entityToDeprecate); title += OboUtilities.getOboIdFromIri(entityToDeprecate.getIRI()).map(oboId -> " (" + oboId + ")").orElse(""); return title; }
private void copySubHierarchyToClipboard(N object, PrintWriter printWriter, int depth) { for (int i = 0; i < depth; i++) { printWriter.print("\t"); } String rendering = getOWLModelManager().getRendering(object); String unescapedRendering = RenderingEscapeUtils.unescape(rendering); printWriter.print(unescapedRendering); if (object instanceof HasIRI) { OboUtilities.getOboIdFromIri(((HasIRI) object).getIRI()).ifPresent(iri -> { printWriter.printf(" (%s)", iri); }); } printWriter.println(); Set<N> children = provider.getChildren(object); List<N> sortedChildren = new ArrayList<>(children); sortedChildren.sort(new OWLObjectComparator<>(getOWLModelManager())); for (N child : sortedChildren) { copySubHierarchyToClipboard(child, printWriter, depth + 1); } }
sb.append(rendering); sb.append("</span>"); OboUtilities.getOboIdFromIri(entity.getIRI()).ifPresent(id -> { sb.append("<br>"); sb.append(id);
public Object getRenderableObject(int columnIndex) { if (columnIndex == 0) { return searchResult.getGroupDescription(); } if (columnIndex == 1) { return searchResult.getSubject(); } if (hasOboIds()) { if (columnIndex == 2) { OWLObject subject = searchResult.getSubject(); if (subject instanceof OWLEntity) { return OboUtilities.getOboIdFromIri(((OWLEntity) subject).getIRI()).orElse(""); } } if (columnIndex == 3) { return searchResult.getSearchString(); } } else { if (columnIndex == 2) { return searchResult.getSearchString(); } } return ""; } }