Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Annotation value rendering fails in cases when the value begins like a URL but contains characters not permitted in a URL #427

Closed
csnyulas opened this issue May 16, 2016 · 0 comments

Comments

@csnyulas
Copy link
Member

csnyulas commented May 16, 2016

Rendering of any of the following annotation property values would fail (with exceptions thrown and scrambled UI):

        <BioTRI2:Reference_URL>http://www.ncbi.nlm.nih.gov/pubmed/15122497
http://www.jstor.org/stable/pdf/10.1086/382755.pdf</BioTRI2:Reference_URL>

        <BioTRI2:Reference_URL>http://www.ncbi.nlm.nih.gov/pubmed/15122497 http://www.jstor.org/stable/pdf/10.1086/382755.pdf</BioTRI2:Reference_URL>

        <BioTRI2:Reference_URL>http://www.ncbi.nlm.nih.gov/pubmed/15122497  followed by random text</BioTRI2:Reference_URL>

        <BioTRI2:Reference_URL>  http://www.ncbi.nlm.nih.gov/pubmed/15122497  followed by random text</BioTRI2:Reference_URL>

but this is fine:

        <BioTRI2:Reference_URL>random text http://www.ncbi.nlm.nih.gov/pubmed/15122497</BioTRI2:Reference_URL>

        <BioTRI2:Reference_URL>random text http://www.ncbi.nlm.nih.gov/pubmed/15122497
http://www.jstor.org/stable/pdf/10.1086/382755.pdf</BioTRI2:Reference_URL>

This is the exception that we get on the failed rendering (sometimes several times):

Uncaught Exception in thread 'AWT-EventQueue-0' 
java.lang.IllegalArgumentException: Illegal character in path at index 43: http://www.ncbi.nlm.nih.gov/pubmed/15122497
http://www.jstor.org/stable/pdf/10.1086/382755.pdf
    at java.net.URI.create(URI.java:852) ~[na:1.8.0_40]
    at org.semanticweb.owlapi.model.IRI.toURI(IRI.java:56) ~[na:na]
    at org.protege.editor.owl.ui.renderer.OWLAnnotationCellRenderer2.renderExternalIRI(OWLAnnotationCellRenderer2.java:384) ~[na:na]
    at org.protege.editor.owl.ui.renderer.OWLAnnotationCellRenderer2.renderIRI(OWLAnnotationCellRenderer2.java:344) ~[na:na]
    at org.protege.editor.owl.ui.renderer.OWLAnnotationCellRenderer2.renderLiteral(OWLAnnotationCellRenderer2.java:472) ~[na:na]
    at org.protege.editor.owl.ui.renderer.OWLAnnotationCellRenderer2.access$200(OWLAnnotationCellRenderer2.java:35) ~[na:na]
    at org.protege.editor.owl.ui.renderer.OWLAnnotationCellRenderer2$1.visit(OWLAnnotationCellRenderer2.java:322) ~[na:na]
    at org.protege.editor.owl.ui.renderer.OWLAnnotationCellRenderer2$1.visit(OWLAnnotationCellRenderer2.java:312) ~[na:na]
    at uk.ac.manchester.cs.owl.owlapi.OWLLiteralImplPlain.accept(OWLLiteralImplPlain.java:213) ~[na:na]
    at org.protege.editor.owl.ui.renderer.OWLAnnotationCellRenderer2.renderAnnotationValue(OWLAnnotationCellRenderer2.java:312) ~[na:na]
    at org.protege.editor.owl.ui.renderer.OWLAnnotationCellRenderer2.renderCellValue(OWLAnnotationCellRenderer2.java:196) ~[na:na]
    at org.protege.editor.owl.ui.renderer.OWLAnnotationCellRenderer2.fillPage(OWLAnnotationCellRenderer2.java:160) ~[na:na]
    at org.protege.editor.owl.ui.renderer.layout.PageCellRenderer.getListCellRendererComponent(PageCellRenderer.java:93) ~[na:na]
    at org.protege.editor.owl.ui.framelist.OWLFrameListRenderer.getListCellRendererComponent(OWLFrameListRenderer.java:150) ~[na:na]
    at org.protege.editor.core.ui.list.MList$MListCellRenderer.getListCellRendererComponent(MList.java:260) ~[na:na]
    at org.protege.editor.owl.ui.framelist.OWLFrameList$OWLFrameListUI.updateLayoutState(OWLFrameList.java:837) ~[na:na]
    at javax.swing.plaf.basic.BasicListUI.maybeUpdateLayoutState(BasicListUI.java:1311) ~[na:1.8.0_40]
    at javax.swing.plaf.basic.BasicListUI.getPreferredSize(BasicListUI.java:578) ~[na:1.8.0_40]
    at javax.swing.JComponent.getPreferredSize(JComponent.java:1662) ~[na:1.8.0_40]
    at javax.swing.ScrollPaneLayout.layoutContainer(ScrollPaneLayout.java:791) ~[na:1.8.0_40]
    at java.awt.Container.layout(Container.java:1508) ~[na:1.8.0_40]
    at java.awt.Container.doLayout(Container.java:1497) ~[na:1.8.0_40]
    at java.awt.Container.validateTree(Container.java:1693) ~[na:1.8.0_40]
    at java.awt.Container.validateTree(Container.java:1702) ~[na:1.8.0_40]
    at java.awt.Container.validateTree(Container.java:1702) ~[na:1.8.0_40]
    at java.awt.Container.validateTree(Container.java:1702) ~[na:1.8.0_40]
    at java.awt.Container.validateTree(Container.java:1702) ~[na:1.8.0_40]
    at java.awt.Container.validateTree(Container.java:1702) ~[na:1.8.0_40]
    at java.awt.Container.validateTree(Container.java:1702) ~[na:1.8.0_40]
    at java.awt.Container.validateTree(Container.java:1702) ~[na:1.8.0_40]
    at java.awt.Container.validateTree(Container.java:1702) ~[na:1.8.0_40]
    at java.awt.Container.validateTree(Container.java:1702) ~[na:1.8.0_40]
    at java.awt.Container.validateTree(Container.java:1702) ~[na:1.8.0_40]
    at java.awt.Container.validateTree(Container.java:1702) ~[na:1.8.0_40]
    at java.awt.Container.validateTree(Container.java:1702) ~[na:1.8.0_40]
    at java.awt.Container.validateTree(Container.java:1702) ~[na:1.8.0_40]
    at java.awt.Container.validateTree(Container.java:1702) ~[na:1.8.0_40]
    at java.awt.Container.validateTree(Container.java:1702) ~[na:1.8.0_40]
    at java.awt.Container.validateTree(Container.java:1702) ~[na:1.8.0_40]
    at java.awt.Container.validateTree(Container.java:1702) ~[na:1.8.0_40]
    at java.awt.Container.validateTree(Container.java:1702) ~[na:1.8.0_40]
    at java.awt.Container.validateTree(Container.java:1702) ~[na:1.8.0_40]
    at java.awt.Container.validate(Container.java:1628) ~[na:1.8.0_40]
    at javax.swing.RepaintManager$3.run(RepaintManager.java:704) ~[na:1.8.0_40]
    at javax.swing.RepaintManager$3.run(RepaintManager.java:702) ~[na:1.8.0_40]
    at java.security.AccessController.doPrivileged(Native Method) ~[na:1.8.0_40]
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75) ~[na:1.8.0_40]
    at javax.swing.RepaintManager.validateInvalidComponents(RepaintManager.java:701) ~[na:1.8.0_40]
    at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1719) ~[na:1.8.0_40]
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) ~[na:1.8.0_40]
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:749) ~[na:1.8.0_40]
    at java.awt.EventQueue.access$500(EventQueue.java:97) ~[na:1.8.0_40]
    at java.awt.EventQueue$3.run(EventQueue.java:702) ~[na:1.8.0_40]
    at java.awt.EventQueue$3.run(EventQueue.java:696) ~[na:1.8.0_40]
    at java.security.AccessController.doPrivileged(Native Method) ~[na:1.8.0_40]
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75) ~[na:1.8.0_40]
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:719) ~[na:1.8.0_40]
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) [na:1.8.0_40]
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) [na:1.8.0_40]
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) [na:1.8.0_40]
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) [na:1.8.0_40]
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) [na:1.8.0_40]
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) [na:1.8.0_40]
Caused by: java.net.URISyntaxException: Illegal character in path at index 43: http://www.ncbi.nlm.nih.gov/pubmed/15122497
http://www.jstor.org/stable/pdf/10.1086/382755.pdf
    at java.net.URI$Parser.fail(URI.java:2848) ~[na:1.8.0_40]
    at java.net.URI$Parser.checkChars(URI.java:3021) ~[na:1.8.0_40]
    at java.net.URI$Parser.parseHierarchical(URI.java:3105) ~[na:1.8.0_40]
    at java.net.URI$Parser.parse(URI.java:3053) ~[na:1.8.0_40]
    at java.net.URI.<init>(URI.java:588) ~[na:1.8.0_40]
    at java.net.URI.create(URI.java:850) ~[na:1.8.0_40]
    ... 62 common frames omitted
Uncaught Exception in thread 'AWT-EventQueue-0' 
java.lang.IllegalArgumentException: Illegal character in path at index 43: http://www.ncbi.nlm.nih.gov/pubmed/15122497
http://www.jstor.org/stable/pdf/10.1086/382755.pdf
    at java.net.URI.create(URI.java:852) ~[na:1.8.0_40]
    at org.semanticweb.owlapi.model.IRI.toURI(IRI.java:56) ~[na:na]
    at org.protege.editor.owl.ui.renderer.OWLAnnotationCellRenderer2.renderExternalIRI(OWLAnnotationCellRenderer2.java:384) ~[na:na]
    at org.protege.editor.owl.ui.renderer.OWLAnnotationCellRenderer2.renderIRI(OWLAnnotationCellRenderer2.java:344) ~[na:na]
    at org.protege.editor.owl.ui.renderer.OWLAnnotationCellRenderer2.renderLiteral(OWLAnnotationCellRenderer2.java:472) ~[na:na]
    at org.protege.editor.owl.ui.renderer.OWLAnnotationCellRenderer2.access$200(OWLAnnotationCellRenderer2.java:35) ~[na:na]
    at org.protege.editor.owl.ui.renderer.OWLAnnotationCellRenderer2$1.visit(OWLAnnotationCellRenderer2.java:322) ~[na:na]
    at org.protege.editor.owl.ui.renderer.OWLAnnotationCellRenderer2$1.visit(OWLAnnotationCellRenderer2.java:312) ~[na:na]
    at uk.ac.manchester.cs.owl.owlapi.OWLLiteralImplPlain.accept(OWLLiteralImplPlain.java:213) ~[na:na]
    at org.protege.editor.owl.ui.renderer.OWLAnnotationCellRenderer2.renderAnnotationValue(OWLAnnotationCellRenderer2.java:312) ~[na:na]
    at org.protege.editor.owl.ui.renderer.OWLAnnotationCellRenderer2.renderCellValue(OWLAnnotationCellRenderer2.java:196) ~[na:na]
    at org.protege.editor.owl.ui.renderer.OWLAnnotationCellRenderer2.fillPage(OWLAnnotationCellRenderer2.java:160) ~[na:na]
    at org.protege.editor.owl.ui.renderer.layout.PageCellRenderer.getListCellRendererComponent(PageCellRenderer.java:93) ~[na:na]
    at org.protege.editor.owl.ui.framelist.OWLFrameListRenderer.getListCellRendererComponent(OWLFrameListRenderer.java:150) ~[na:na]
    at org.protege.editor.core.ui.list.MList$MListCellRenderer.getListCellRendererComponent(MList.java:260) ~[na:na]
    at org.protege.editor.owl.ui.framelist.OWLFrameList$OWLFrameListUI.updateLayoutState(OWLFrameList.java:837) ~[na:na]
    at javax.swing.plaf.basic.BasicListUI.maybeUpdateLayoutState(BasicListUI.java:1311) ~[na:1.8.0_40]
    at javax.swing.plaf.basic.BasicListUI.paintImpl(BasicListUI.java:264) ~[na:1.8.0_40]
    at javax.swing.plaf.basic.BasicListUI.paint(BasicListUI.java:240) ~[na:1.8.0_40]
    at javax.swing.plaf.ComponentUI.update(ComponentUI.java:161) ~[na:1.8.0_40]
    at javax.swing.JComponent.paintComponent(JComponent.java:780) ~[na:1.8.0_40]
    at org.protege.editor.core.ui.list.MList.paintComponent(MList.java:400) ~[na:na]
    at javax.swing.JComponent.paint(JComponent.java:1056) ~[na:1.8.0_40]
    at javax.swing.JComponent.paintToOffscreen(JComponent.java:5219) ~[na:1.8.0_40]
    at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1572) ~[na:1.8.0_40]
    at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1495) ~[na:1.8.0_40]
    at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:306) ~[na:1.8.0_40]
    at javax.swing.RepaintManager.paint(RepaintManager.java:1265) ~[na:1.8.0_40]
    at javax.swing.JComponent._paintImmediately(JComponent.java:5167) ~[na:1.8.0_40]
    at javax.swing.JComponent.paintImmediately(JComponent.java:4978) ~[na:1.8.0_40]
    at javax.swing.RepaintManager$4.run(RepaintManager.java:824) ~[na:1.8.0_40]
    at javax.swing.RepaintManager$4.run(RepaintManager.java:807) ~[na:1.8.0_40]
    at java.security.AccessController.doPrivileged(Native Method) ~[na:1.8.0_40]
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75) ~[na:1.8.0_40]
    at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:807) ~[na:1.8.0_40]
    at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:782) ~[na:1.8.0_40]
    at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:731) ~[na:1.8.0_40]
    at javax.swing.RepaintManager.access$1300(RepaintManager.java:64) ~[na:1.8.0_40]
    at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1720) ~[na:1.8.0_40]
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) ~[na:1.8.0_40]
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:749) ~[na:1.8.0_40]
    at java.awt.EventQueue.access$500(EventQueue.java:97) ~[na:1.8.0_40]
    at java.awt.EventQueue$3.run(EventQueue.java:702) ~[na:1.8.0_40]
    at java.awt.EventQueue$3.run(EventQueue.java:696) ~[na:1.8.0_40]
    at java.security.AccessController.doPrivileged(Native Method) ~[na:1.8.0_40]
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75) ~[na:1.8.0_40]
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:719) ~[na:1.8.0_40]
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) [na:1.8.0_40]
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) [na:1.8.0_40]
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) [na:1.8.0_40]
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) [na:1.8.0_40]
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) [na:1.8.0_40]
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) [na:1.8.0_40]
Caused by: java.net.URISyntaxException: Illegal character in path at index 43: http://www.ncbi.nlm.nih.gov/pubmed/15122497
http://www.jstor.org/stable/pdf/10.1086/382755.pdf
    at java.net.URI$Parser.fail(URI.java:2848) ~[na:1.8.0_40]
    at java.net.URI$Parser.checkChars(URI.java:3021) ~[na:1.8.0_40]
    at java.net.URI$Parser.parseHierarchical(URI.java:3105) ~[na:1.8.0_40]
    at java.net.URI$Parser.parse(URI.java:3053) ~[na:1.8.0_40]
    at java.net.URI.<init>(URI.java:588) ~[na:1.8.0_40]
    at java.net.URI.create(URI.java:850) ~[na:1.8.0_40]
    ... 52 common frames omitted

There is a test ontology attached. Observe that the Case subclasses that have names starting with "BMOC_" exhibit the bug, but those not starting with "BMOC_" render fine.

Cases.owl.zip

@csnyulas csnyulas changed the title Annotation value rendering fails in when it begins like a URL but contains characters not permitted in a URL Annotation value rendering fails in cases when the value begins like a URL but contains characters not permitted in a URL May 16, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant