Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 370033 - Improve handling of bad URI for par file
Summary: Improve handling of bad URI for par file
Status: RESOLVED FIXED
Alias: None
Product: Virgo
Classification: RT
Component: tooling (show other bugs)
Version: unspecified   Edit
Hardware: PC Mac OS X - Carbon (unsup.)
: P3 major (vote)
Target Milestone: ---   Edit
Assignee: Miles Parker CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 370034 341911
  Show dependency tree
 
Reported: 2012-01-27 20:55 EST by Miles Parker CLA
Modified: 2012-01-27 21:38 EST (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Miles Parker CLA 2012-01-27 20:55:47 EST
Bug 369134 introduced a serious problem that we won't be able to deal with with just the 369458. We're getting spammed with errors. We should probably just fix this for the user.

org.eclipse.emf.ecore.resource.impl.ResourceSetImpl$1DiagnosticWrappedException: org.eclipse.emf.ecore.xmi.PackageNotFoundException: Package with uri 'http:///com/springsource/server/ide/par.ecore' not found. (file:/Users/milesparker/git/org.eclipse.virgo.sample-greenpages/solution/greenpages/.settings/org.eclipse.virgo.ide.runtime.core.par.xml, 2, 177)
	at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.handleDemandLoadException(ResourceSetImpl.java:315)
	at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLoadHelper(ResourceSetImpl.java:274)
	at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.getResource(ResourceSetImpl.java:397)
	at org.eclipse.virgo.ide.facet.core.FacetUtils.getParDefinition(FacetUtils.java:141)
	at org.eclipse.virgo.ide.runtime.internal.core.ServerRuntimeUtils.execute(ServerRuntimeUtils.java:95)
	at org.eclipse.virgo.ide.runtime.core.ServerUtils.getTargettedRuntimes(ServerUtils.java:115)
	at org.eclipse.virgo.ide.jdt.internal.core.classpath.ServerClasspathContainer.<init>(ServerClasspathContainer.java:187)
	at org.eclipse.virgo.ide.jdt.internal.core.classpath.ServerClasspathContainerInitializer.initialize(ServerClasspathContainerInitializer.java:60)
	at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:2863)
	at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:1877)
	at org.eclipse.jdt.core.JavaCore.getClasspathContainer(JavaCore.java:2798)
	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:2674)
	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:2838)
	at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath(JavaProject.java:1943)
	at org.eclipse.jdt.internal.core.JavaModelManager.determineIfOnClasspath(JavaModelManager.java:1010)
	at org.eclipse.jdt.internal.core.JavaModelManager.create(JavaModelManager.java:907)
	at org.eclipse.jdt.internal.core.JavaModelManager.create(JavaModelManager.java:837)
	at org.eclipse.jdt.core.JavaCore.create(JavaCore.java:2683)
	at org.eclipse.jdt.internal.corext.refactoring.reorg.ParentChecker.getCommonParent(ParentChecker.java:57)
	at org.eclipse.jdt.internal.corext.refactoring.reorg.ParentChecker.haveCommonParent(ParentChecker.java:44)
	at org.eclipse.jdt.internal.corext.refactoring.reorg.ReorgPolicyFactory.createReorgPolicy(ReorgPolicyFactory.java:4208)
	at org.eclipse.jdt.internal.corext.refactoring.reorg.ReorgPolicyFactory.createMovePolicy(ReorgPolicyFactory.java:4153)
	at org.eclipse.jdt.internal.corext.refactoring.RefactoringAvailabilityTester.isMoveAvailable(RefactoringAvailabilityTester.java:798)
	at org.eclipse.jdt.internal.ui.refactoring.reorg.ReorgMoveAction.selectionChanged(ReorgMoveAction.java:63)
	at org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchSelectionChanged(SelectionDispatchAction.java:263)
	at org.eclipse.jdt.ui.actions.SelectionDispatchAction.update(SelectionDispatchAction.java:162)
	at org.eclipse.jdt.ui.actions.MoveAction.update(MoveAction.java:269)
	at org.eclipse.jdt.ui.actions.RefactorActionGroup.addRefactorSubmenu(RefactorActionGroup.java:584)
	at org.eclipse.jdt.ui.actions.RefactorActionGroup.fillContextMenu(RefactorActionGroup.java:519)
	at org.eclipse.jdt.internal.ui.actions.CompositeActionGroup.fillContextMenu(CompositeActionGroup.java:75)
	at org.eclipse.jdt.internal.ui.packageview.PackageExplorerActionGroup.fillContextMenu(PackageExplorerActionGroup.java:290)
	at org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart.menuAboutToShow(PackageExplorerPart.java:795)
	at org.eclipse.jface.action.MenuManager.fireAboutToShow(MenuManager.java:342)
	at org.eclipse.jface.action.MenuManager.handleAboutToShow(MenuManager.java:473)
	at org.eclipse.jface.action.MenuManager.access$1(MenuManager.java:469)
	at org.eclipse.jface.action.MenuManager$2.menuShown(MenuManager.java:495)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:247)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4128)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1457)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1480)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1461)
	at org.eclipse.swt.widgets.Menu.menuWillOpen(Menu.java:805)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:5525)
	at org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native Method)
	at org.eclipse.swt.internal.cocoa.NSMenu.popUpContextMenu(NSMenu.java:73)
	at org.eclipse.swt.widgets.Menu._setVisible(Menu.java:277)
	at org.eclipse.swt.widgets.Display.runPopups(Display.java:4051)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3606)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2696)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2660)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494)
	at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1386)
Caused by: org.eclipse.emf.ecore.xmi.PackageNotFoundException: Package with uri 'http:///com/springsource/server/ide/par.ecore' not found. (file:/Users/milesparker/git/org.eclipse.virgo.sample-greenpages/solution/greenpages/.settings/org.eclipse.virgo.ide.runtime.core.par.xml, 2, 177)
	at org.eclipse.emf.ecore.xmi.impl.XMLHandler.getPackageForURI(XMLHandler.java:2591)
	at org.eclipse.emf.ecore.xmi.impl.XMLHandler.getFactoryForPrefix(XMLHandler.java:2422)
	at org.eclipse.emf.ecore.xmi.impl.XMLHandler.createObjectByType(XMLHandler.java:1299)
	at org.eclipse.emf.ecore.xmi.impl.XMLHandler.createTopObject(XMLHandler.java:1468)
	at org.eclipse.emf.ecore.xmi.impl.XMLHandler.processElement(XMLHandler.java:1019)
	at org.eclipse.emf.ecore.xmi.impl.XMIHandler.processElement(XMIHandler.java:83)
	at org.eclipse.emf.ecore.xmi.impl.XMLHandler.startElement(XMLHandler.java:1001)
	at org.eclipse.emf.ecore.xmi.impl.XMLHandler.startElement(XMLHandler.java:712)
	at org.eclipse.emf.ecore.xmi.impl.XMIHandler.startElement(XMIHandler.java:169)
	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:501)
	at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.startElement(XMLDTDValidator.java:767)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1363)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$ContentDriver.scanRootElementHook(XMLDocumentScannerImpl.java:1318)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:3103)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:922)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511)
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808)
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
	at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119)
	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
	at javax.xml.parsers.SAXParser.parse(SAXParser.java:395)
	at org.eclipse.emf.ecore.xmi.impl.XMLLoadImpl.load(XMLLoadImpl.java:181)
	at org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl.doLoad(XMLResourceImpl.java:242)
	at org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(ResourceImpl.java:1511)
	at org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(ResourceImpl.java:1290)
	at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLoad(ResourceSetImpl.java:255)
	at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLoadHelper(ResourceSetImpl.java:270)
	... 68 more
Comment 1 Miles Parker CLA 2012-01-27 21:24:52 EST
Leo,

Here's a fix for this:

https://github.com/MilesParker/Virgo-Tooling/commit/d9413521af2bb009ecaf886ad72c5388441c7f96

I went ahead and handled that case. Rather than setup unit testing etc. for this, I think we should treat this as a temporary solution that should come back out a release or two down the road. I doubt that this will affect many people. I'm creating another task so we remember to do that, since we'll have to close this one for the contribution.

I wrote all of this code and have followed the rules set out by Eclipse for such contributions.
Comment 2 Leo Dos Santos CLA 2012-01-27 21:38:01 EST
It's a migration solution I can get behind. Applied:
http://git.eclipse.org/c/virgo/org.eclipse.virgo.ide.git/commit/?id=f889a9ce52da6c7a87be40ab85cfd86a8112941c