#690 MCRURIResolver$MCRClassificationResolver builds invalid uri using windows path

svn
closed-fixed
5
2014-05-21
2014-03-07
Kathleen Neumann
No

Fehlerbeschreibung

Wenn ich MIR unter Windows installiere und die generischen Pfade nutze, bekomme ich einen Fehler beim Versuch einen Editor zu öffnen. Die Klassifikationen, die über eine URI eingebunden werden, können nicht gefunden werden. Wenn ich das basedir-Property selber setze, klappt es auch mit der Auflösung (weswegen wir mit alten Anwendungen bisher keine Probleme hatten ...).

Und so sieht das generische Property aus
MCR.datadir=C\:\Users\kkrebs\AppData\Local\MyCoRe\mir/data

Hier nochmal zum Vergleich das funktionierende Property:
MCR.datadir=C\:/Users/kkrebs/AppData/Local/MyCoRe/mir/data

Ich vermute mal, dass der MCRURIResolver$MCRClassificationResolver dafür verantwortlich ist:

org.mycore.common.xml.MCRURIResolver$MCRClassificationResolver.resolveElement(MCRURIResolver.java:966)
at org.mycore.common.xml.MCRURIResolver$2.resolve(MCRURIResolver.java:244)
... 54 more
Caused by: java.net.URISyntaxException: Illegal character in path at index 10: file:///C:\Users\kkrebs\AppData\Local\MyCoRe\mir/data/versions-metadata/

Hier aber auch nochmal der vollständige StackTrace dazu:

Mrz 07, 2014 10:03:01 AM org.apache.catalina.core.StandardWrapperValve invoke
Schwerwiegend: Servlet.service() for servlet [MCRStaticXMLFileServlet] in context with path [/mir] threw exception
org.mycore.common.MCRException: Error while resolving classification:editorComplete:-1:children:mir_genres:confpub
at org.mycore.common.xml.MCRURIResolver.resolve(MCRURIResolver.java:347)
at org.mycore.frontend.editor.MCREditorDefReader.resolveIncludes(MCREditorDefReader.java:160)
at org.mycore.frontend.editor.MCREditorDefReader.resolveChildren(MCREditorDefReader.java:192)
at org.mycore.frontend.editor.MCREditorDefReader.resolveIncludes(MCREditorDefReader.java:180)
at org.mycore.frontend.editor.MCREditorDefReader.resolveChildren(MCREditorDefReader.java:192)
at org.mycore.frontend.editor.MCREditorDefReader.resolveIncludes(MCREditorDefReader.java:180)
at org.mycore.frontend.editor.MCREditorDefReader.resolveChildren(MCREditorDefReader.java:192)
at org.mycore.frontend.editor.MCREditorDefReader.resolveIncludes(MCREditorDefReader.java:180)
at org.mycore.frontend.editor.MCREditorDefReader.resolveChildren(MCREditorDefReader.java:192)
at org.mycore.frontend.editor.MCREditorDefReader.resolveIncludes(MCREditorDefReader.java:180)
at org.mycore.frontend.editor.MCREditorDefReader.resolveChildren(MCREditorDefReader.java:192)
at org.mycore.frontend.editor.MCREditorDefReader.resolveIncludes(MCREditorDefReader.java:180)
at org.mycore.frontend.editor.MCREditorDefReader.<init>(MCREditorDefReader.java:80)
at org.mycore.frontend.editor.MCREditorServlet.startSession(MCREditorServlet.java:191)
at org.mycore.frontend.editor.MCREditorServlet.replaceEditorElements(MCREditorServlet.java:171)
at org.mycore.frontend.servlets.MCRStaticXMLFileServlet.expandEditorElements(MCRStaticXMLFileServlet.java:120)
at org.mycore.frontend.servlets.MCRStaticXMLFileServlet.doGetPost(MCRStaticXMLFileServlet.java:83)
at org.mycore.frontend.servlets.MCRServlet.doGet(MCRServlet.java:211)
at org.mycore.frontend.servlets.MCRServlet.render(MCRServlet.java:478)
at org.mycore.frontend.servlets.MCRServlet.processRenderingPhase(MCRServlet.java:440)
at org.mycore.frontend.servlets.MCRServlet.doGetPost(MCRServlet.java:327)
at org.mycore.frontend.servlets.MCRServlet.doGet(MCRServlet.java:184)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:620)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.mycore.frontend.filter.MCRUserAgentFilter.doFilter(MCRUserAgentFilter.java:69)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.mycore.common.xml.MCRURIResolverFilter.doFilter(MCRURIResolverFilter.java:81)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.mycore.frontend.filter.MCRWebAppBaseFilter.doFilter(MCRWebAppBaseFilter.java:64)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:315)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: javax.xml.transform.TransformerException: Error while resolving: classification:editorComplete:-1:children:mir_genres:confpub
at org.mycore.common.xml.MCRURIResolver$2.resolve(MCRURIResolver.java:246)
at org.mycore.common.xml.MCRURIResolver.resolve(MCRURIResolver.java:287)
at org.mycore.common.content.MCRSourceContent.getInstance(MCRSourceContent.java:117)
at org.mycore.common.xml.MCRURIResolver.resolve(MCRURIResolver.java:340)
... 51 more
Caused by: org.mycore.common.config.MCRConfigurationException: Syntax error in MCR.Metadata.Store.SVNBase property: null
at org.mycore.datamodel.common.MCRXMLMetadataManager.reload(MCRXMLMetadataManager.java:177)
at org.mycore.datamodel.common.MCRXMLMetadataManager.<init>(MCRXMLMetadataManager.java:136)
at org.mycore.datamodel.common.MCRXMLMetadataManager.instance(MCRXMLMetadataManager.java:129)
at org.mycore.common.xml.MCRURIResolver$MCRClassificationResolver.getSystemLastModified(MCRURIResolver.java:1079)
at org.mycore.common.xml.MCRURIResolver$MCRClassificationResolver.resolveElement(MCRURIResolver.java:966)
at org.mycore.common.xml.MCRURIResolver$2.resolve(MCRURIResolver.java:244)
... 54 more
Caused by: java.net.URISyntaxException: Illegal character in path at index 10: file:///C:\Users\kkrebs\AppData\Local\MyCoRe\mir/data/versions-metadata/
at java.net.URI$Parser.fail(Unknown Source)
at java.net.URI$Parser.checkChars(Unknown Source)
at java.net.URI$Parser.parseHierarchical(Unknown Source)
at java.net.URI$Parser.parse(Unknown Source)
at java.net.URI.<init>(Unknown Source)
at org.mycore.datamodel.common.MCRXMLMetadataManager.reload(MCRXMLMetadataManager.java:166)
... 59 more

Discussion

    • status: open --> closed-fixed
     
  • fixed in trunk (use forward spaces in path under windows)