Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 326547

Summary: URISyntaxException in org.eclipse.jst.jsf.facelet.core.internal.registry.taglib.TagModelLoader
Product: [WebTools] Java Server Faces Reporter: Krzysztof Daniel <krzysztof.daniel>
Component: CoreAssignee: Gerry Kessler <gerry.kessler>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: krzysztof.daniel, raghunathan.srinivasan, yurykats
Version: unspecified   
Target Milestone: 3.2.3   
Hardware: PC   
OS: Windows XP   
Whiteboard:
Attachments:
Description Flags
Patch proposal none

Description Krzysztof Daniel CLA 2010-09-29 11:05:55 EDT
findFaceletDtdInCatalog constructs new URI from String. This will fail each time if the String contains a space (f.e. "Program Files").
Comment 1 Krzysztof Daniel CLA 2010-09-29 11:07:35 EDT
Created attachment 179856 [details]
Patch proposal

URIUtil.fromString, which escapes the string, is used instead of new URI.
Comment 2 Yury Kats CLA 2010-09-30 14:37:56 EDT
You did not indicate what version you were using. This issue has already been addressed in bug 318596.
Comment 3 Yury Kats CLA 2010-09-30 14:40:20 EDT
Or is it a problem *similar* to bug 318596, but in a different place?
Comment 4 Krzysztof Daniel CLA 2010-10-01 02:03:21 EDT
The stacktrace is different, the fix also touches different place, but the bug has the same cause.  The build was created the same day when bug 318596 was fixed.

Error
Tue Sep 28 16:55:13 EDT 2010
While trying to load facelet dtd from catalog

java.net.URISyntaxException: Illegal character in opaque part at index 20: jar:file:/C:/Program Files/IBM/SDPShared/plugins/org.eclipse.jst.jsf.facelet.core_1.0.1.v20100712.jar!/dtd/facelet-taglib_1_0.dtd
at java.net.URI$Parser.fail(Unknown Source)
at java.net.URI$Parser.checkChars(Unknown Source)
at java.net.URI$Parser.parse(Unknown Source)
at java.net.URI.<init>(Unknown Source)
at org.eclipse.jst.jsf.facelet.core.internal.registry.taglib.TagModelLoader$DefaultFaceletURIHandler.findFaceletDtdInCatalog(Unknown Source)
at org.eclipse.jst.jsf.facelet.core.internal.registry.taglib.TagModelLoader$DefaultFaceletURIHandler.createInputStream(Unknown Source)
at org.eclipse.emf.ecore.resource.impl.ExtensibleURIConverterImpl.createInputStream(Unknown Source)
at org.eclipse.emf.ecore.xmi.impl.XMLHandler.resolveEntity(Unknown Source)
at org.apache.xerces.util.EntityResolverWrapper.resolveEntity(Unknown Source)
at org.apache.xerces.impl.XMLEntityManager.resolveEntity(Unknown Source)
at org.apache.xerces.impl.XMLDocumentScannerImpl$DTDDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
at org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown Source)
at org.eclipse.emf.ecore.xmi.impl.XMLLoadImpl.load(Unknown Source)
at org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl.doLoad(Unknown Source)
at org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(Unknown Source)
at org.eclipse.jst.jsf.facelet.core.internal.registry.taglib.TagModelLoader.loadFromInputStream(Unknown Source)
at org.eclipse.jst.jsf.facelet.core.internal.registry.taglib.JarFileFaceletTaglibLocator.processJar(Unknown Source)
at org.eclipse.jst.jsf.facelet.core.internal.registry.taglib.JarFileFaceletTaglibLocator.start(Unknown Source)
at org.eclipse.jst.jsf.facelet.core.internal.registry.taglib.JarFileFaceletTaglibLocator.start(Unknown Source)
at org.eclipse.jst.jsf.facelet.core.internal.registry.taglib.ProjectTaglibDescriptor$1.run(Unknown Source)
at org.eclipse.core.runtime.SafeRunner.run(Unknown Source)
at org.eclipse.jst.jsf.facelet.core.internal.registry.taglib.ProjectTaglibDescriptor.initialize(Unknown Source)
at org.eclipse.jst.jsf.facelet.core.internal.registry.taglib.ProjectTaglibDescriptor.getTagLibraries(Unknown Source)
at org.eclipse.jst.jsf.facelet.core.internal.registry.FaceletTagRegistry.initialize(Unknown Source)
at org.eclipse.jst.jsf.facelet.core.internal.registry.FaceletTagRegistry.getAllTagLibraries(Unknown Source)
at org.eclipse.jst.jsf.facelet.core.internal.registry.FaceletTagRegistry.getTagLibrary(Unknown Source)
at org.eclipse.jst.jsf.facelet.core.internal.metadata.FaceletNamespaceMetaDataLocator.locateMetaDataModelProviders(Unknown Source)
at org.eclipse.jst.jsf.common.metadata.internal.DomainLoadingStrategy.locateMetaDataSourceInstances(Unknown Source)
at org.eclipse.jst.jsf.common.metadata.internal.DomainLoadingStrategy.load(Unknown Source)
at org.eclipse.jst.jsf.common.metadata.internal.MetaDataModel.load(Unknown Source)
at org.eclipse.jst.jsf.common.metadata.internal.MetaDataModelManager.loadMetadata(Unknown Source)
at org.eclipse.jst.jsf.common.metadata.internal.MetaDataModelManager.getModel(Unknown Source)
at org.eclipse.jst.jsf.common.metadata.query.TaglibDomainMetaDataQueryHelper.getMDModel(Unknown Source)
at org.eclipse.jst.jsf.common.metadata.query.TaglibDomainMetaDataQueryHelper.getModel(Unknown Source)
at org.eclipse.jst.jsf.common.metadata.query.TaglibDomainMetaDataQueryHelper.getEntities(Unknown Source)
at org.eclipse.jst.jsf.common.metadata.query.TaglibDomainMetaDataQueryHelper.getEntity(Unknown Source)
at com.ibm.etools.references.web.faces.internal.providers.detectors.FacesComponentLinkDetector.addLinksForTagAndAttributes(Unknown Source)
at com.ibm.etools.references.web.faces.internal.providers.detectors.FacesComponentLinkDetector.detectLinks(Unknown Source)
at com.ibm.etools.references.internal.services.LinkDetectorService$CompatibleAbstractLinkDetector.detectLinks(Unknown Source)
at com.ibm.etools.references.internal.services.LinkDetectorService$1.run(Unknown Source)
at com.ibm.etools.references.internal.services.LinkDetectorService$1.run(Unknown Source)
at com.ibm.etools.references.internal.services.SafeRun$SafeRunnableWithResult.run(Unknown Source)
at com.ibm.etools.references.internal.services.SafeRun.run(Unknown Source)
at com.ibm.etools.references.internal.services.SafeRun.run(Unknown Source)
at com.ibm.etools.references.internal.services.LinkDetectorService.detectLinks(Unknown Source)
at com.ibm.etools.references.internal.management.InternalReferenceManager.parseLinksOnly(Unknown Source)
at com.ibm.etools.references.management.ReferenceManager.parseLinksOnly(Unknown Source)
at com.ibm.etools.webedit.viewer.utils.LinkUtil.cloneAndFixupModel(Unknown Source)
at com.ibm.etools.jsf.facelet.internal.visualizer.ui.CompositionTagVisualizer.importAndVisualizeTemplateModel(Unknown Source)
at com.ibm.etools.jsf.facelet.internal.visualizer.ui.CompositionTagVisualizer.doStart(Unknown Source)
at com.ibm.etools.webedit.taglib.design.DesignTimeTagAdapterVct.createCloneNode(Unknown Source)
at com.ibm.etools.webedit.taglib.design.DesignTimeTagAdapterVct.getCloneNode(Unknown Source)
at com.ibm.etools.webedit.taglib.design.DesignTimeTagAdapterVct.getSubNode(Unknown Source)
at com.ibm.etools.webedit.editparts.ElementEditPart.getVisualNode(Unknown Source)
at com.ibm.etools.webedit.editparts.ElementEditPart.getAllModelChildren(Unknown Source)
at com.ibm.etools.webedit.editparts.ElementEditPart.getModelChildren(Unknown Source)
at com.ibm.etools.webedit.editparts.NodeEditPart.refreshChildren(Unknown Source)
at com.ibm.etools.webedit.editparts.ElementEditPart.refreshChildren(Unknown Source)
at org.eclipse.gef.editparts.AbstractEditPart.refresh(Unknown Source)
at org.eclipse.gef.editparts.AbstractGraphicalEditPart.refresh(Unknown Source)
at org.eclipse.gef.editparts.AbstractEditPart.addNotify(Unknown Source)
at org.eclipse.gef.editparts.AbstractGraphicalEditPart.addNotify(Unknown Source)
at com.ibm.etools.webedit.editparts.VisibleNodeEditPart.addNotify(Unknown Source)
at com.ibm.etools.webedit.editparts.ElementEditPart.addNotify(Unknown Source)
at org.eclipse.gef.editparts.AbstractEditPart.addChild(Unknown Source)
at com.ibm.etools.webedit.editparts.NodeEditPart.refreshChildren(Unknown Source)
at com.ibm.etools.webedit.editparts.OffRenderingEditPart.refreshChildren(Unknown Source)
at org.eclipse.gef.editparts.AbstractEditPart.refresh(Unknown Source)
at org.eclipse.gef.editparts.AbstractGraphicalEditPart.refresh(Unknown Source)
at org.eclipse.gef.editparts.AbstractEditPart.addNotify(Unknown Source)
at org.eclipse.gef.editparts.AbstractGraphicalEditPart.addNotify(Unknown Source)
at org.eclipse.gef.editparts.AbstractEditPart.addChild(Unknown Source)
at com.ibm.etools.webedit.editparts.DocumentEditPart.refreshChildren(Unknown Source)
at org.eclipse.gef.editparts.AbstractEditPart.refresh(Unknown Source)
at org.eclipse.gef.editparts.AbstractGraphicalEditPart.refresh(Unknown Source)
at org.eclipse.gef.editparts.AbstractEditPart.addNotify(Unknown Source)
at org.eclipse.gef.editparts.AbstractGraphicalEditPart.addNotify(Unknown Source)
at com.ibm.etools.webedit.editparts.DocumentEditPart.addNotify(Unknown Source)
at org.eclipse.gef.editparts.AbstractEditPart.addChild(Unknown Source)
at org.eclipse.gef.editparts.SimpleRootEditPart.setContents(Unknown Source)
at com.ibm.etools.webedit.editparts.HTMLGraphicalRootEditPart.setContents(Unknown Source)
at org.eclipse.gef.ui.parts.AbstractEditPartViewer.setContents(Unknown Source)
at com.ibm.etools.webedit.editparts.HTMLGraphicalViewerImpl.setContents(Unknown Source)
at com.ibm.etools.webedit.editor.internal.page.design.WysiwygView.setModel(Unknown Source)
at com.ibm.etools.webedit.editor.internal.page.design.HTMLDesignPage.setModel(Unknown Source)
at com.ibm.etools.webedit.editor.HTMLEditor.createDesignPane(Unknown Source)
at com.ibm.etools.webedit.editor.HTMLEditor.access$21(Unknown Source)
at com.ibm.etools.webedit.editor.HTMLEditor$SplitPaneContainer.createPane(Unknown Source)
at com.ibm.etools.webedit.editor.internal.pane.PageDesignerPaneContainerForTwo.createAndAddPane(Unknown Source)
at com.ibm.etools.webedit.editor.internal.pane.PageDesignerPaneContainerForTwo.createPaneContainer(Unknown Source)
at com.ibm.etools.webedit.editor.HTMLEditor$SplitPaneContainer.createPaneContainer(Unknown Source)
at com.ibm.etools.webedit.editor.HTMLEditor$MyPaneManager.createTabs(Unknown Source)
at com.ibm.etools.webedit.editor.internal.pane.MultiPaneEditorPart.createPages(Unknown Source)
at com.ibm.etools.webedit.editor.HTMLEditor.createPages(Unknown Source)
at org.eclipse.ui.part.MultiPageEditorPart.createPartControl(Unknown Source)
at org.eclipse.ui.internal.EditorReference.createPartHelper(Unknown Source)
at org.eclipse.ui.internal.EditorReference.createPart(Unknown Source)
at org.eclipse.ui.internal.WorkbenchPartReference.getPart(Unknown Source)
at org.eclipse.ui.internal.EditorReference.getEditor(Unknown Source)
at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(Unknown Source)
at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(Unknown Source)
at org.eclipse.ui.internal.WorkbenchPage.access$11(Unknown Source)
at org.eclipse.ui.internal.WorkbenchPage$10.run(Unknown Source)
at org.eclipse.swt.custom.BusyIndicator.showWhile(Unknown Source)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(Unknown Source)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(Unknown Source)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(Unknown Source)
at org.eclipse.ui.ide.IDE.openEditor(Unknown Source)
at org.eclipse.ui.ide.IDE.openEditor(Unknown Source)
at org.eclipse.ui.ide.IDE.openEditor(Unknown Source)
at org.eclipse.ui.internal.views.markers.ExtendedMarkersView.openMarkerInEditor(Unknown Source)
at org.eclipse.ui.internal.views.markers.ExtendedMarkersView.openSelectedMarkers(Unknown Source)
at org.eclipse.ui.internal.views.markers.ExtendedMarkersView$4.open(Unknown Source)
at org.eclipse.ui.OpenAndLinkWithEditorHelper$InternalListener.open(Unknown Source)
at org.eclipse.jface.viewers.StructuredViewer$2.run(Unknown Source)
at org.eclipse.core.runtime.SafeRunner.run(Unknown Source)
at org.eclipse.ui.internal.JFaceUtil$1.run(Unknown Source)
at org.eclipse.jface.util.SafeRunnable.run(Unknown Source)
at org.eclipse.jface.viewers.StructuredViewer.fireOpen(Unknown Source)
at org.eclipse.jface.viewers.StructuredViewer.handleOpen(Unknown Source)
at org.eclipse.jface.viewers.StructuredViewer$6.handleOpen(Unknown Source)
at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(Unknown Source)
at org.eclipse.jface.util.OpenStrategy.access$2(Unknown Source)
at org.eclipse.jface.util.OpenStrategy$1.handleEvent(Unknown Source)
at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)
at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
at org.eclipse.ui.internal.Workbench.runEventLoop(Unknown Source)
at org.eclipse.ui.internal.Workbench.runUI(Unknown Source)
at org.eclipse.ui.internal.Workbench.access$4(Unknown Source)
at org.eclipse.ui.internal.Workbench$7.run(Unknown Source)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Unknown Source)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Unknown Source)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(Unknown Source)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(Unknown Source)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(Unknown Source)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(Unknown Source)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(Unknown Source)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(Unknown Source)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Unknown Source)
at org.eclipse.equinox.launcher.Main.basicRun(Unknown Source)
at org.eclipse.equinox.launcher.Main.run(Unknown Source)
at org.eclipse.equinox.launcher.Main.main(Unknown Source)
Comment 5 Yury Kats CLA 2010-10-07 08:15:03 EDT
This appears to be happening only when the project contains a jar with pre-JSF2 facelets library.
Comment 6 Yury Kats CLA 2010-12-01 13:47:50 EST
Is anything preventing the patch from being applied to 3.2.3? Any other assistance we can offer to help resolve this bug?
Comment 7 Raghunathan Srinivasan CLA 2010-12-01 14:25:03 EST
Mass update: The JSF Tools team is currently focused on performance and deadlock issues in the product. We plan to address other WTP bugs later this month and will review and checkin the patches soon. Thanks for your contribution and understanding.
-Raghu
Comment 8 Gerry Kessler CLA 2011-01-05 16:17:03 EST
Fix is now checked in and released