IvyDE crashes if you try to use Eclipse variables in configuration
------------------------------------------------------------------

                 Key: IVYDE-127
                 URL: https://issues.apache.org/jira/browse/IVYDE-127
             Project: IvyDE
          Issue Type: Bug
          Components: classpath container
    Affects Versions: 2.0.0.alpha1
         Environment: Eclipse Ganymede
            Reporter: Sakari Maaranen


I tried to use Eclipse-style variable ${workspace_loc:/path/to/ivysettings.xml} 
in IvyDE project specific configuration.

This crashes IvyDE and I cannot open the project specific IvyDE classpath 
container settings anymore. When I click on the "Edit..."-button for ivy.xml in 
the project build path properties, nothing happens.

As an improvement, it would be nice to have support for variables in IvyDE 
configurations, just like the Eclipse Ant integration has.
As a bug, IvyDE should not crash like this, if you give an invalid 
configuration.

In Eclipse workspace .metadata/.log there is an exception:

(Anonymized text has been replaced with ##.)


!ENTRY org.apache.ivyde.eclipse 4 0 2008-10-19 13:10:36.812
!MESSAGE The creation of the job failed
!STACK 0
java.lang.RuntimeException: java.net.MalformedURLException: no protocol: 
${workspace_loc:/######-platform/#####-ivysettings.xml}
        at 
org.apache.ivyde.eclipse.cpcontainer.IvyClasspathContainerConfiguration.getInheritedIvySettingsPath(IvyClasspathContainerConfiguration.java:269)
        at 
org.apache.ivyde.eclipse.cpcontainer.IvyClasspathContainer.computeClasspathEntries(IvyClasspathContainer.java:185)
        at 
org.apache.ivyde.eclipse.cpcontainer.IvyClasspathContainer.scheduleRefresh(IvyClasspathContainer.java:227)
        at 
org.apache.ivyde.eclipse.cpcontainer.IvyClasspathInitializer.initialize(IvyClasspathInitializer.java:71)
        at 
org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:2371)
        at 
org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:1684)
        at 
org.eclipse.jdt.core.JavaCore.getClasspathContainer(JavaCore.java:2554)
        at 
org.apache.ivyde.eclipse.cpcontainer.IvydeContainerPage.finish(IvydeContainerPage.java:165)
        at 
org.eclipse.jdt.internal.ui.wizards.buildpaths.ClasspathContainerWizard.performFinish(ClasspathContainerWizard.java:94)
        at 
org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDialog.java:742)
        at 
org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:373)
        at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:624)
        at 
org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:228)
        at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)
        at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3823)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3422)
        at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
        at org.eclipse.jface.window.Window.open(Window.java:801)
        at 
org.eclipse.jdt.internal.ui.wizards.buildpaths.ClasspathContainerWizard.openWizard(ClasspathContainerWizard.java:225)
        at 
org.eclipse.jdt.ui.wizards.BuildPathDialogAccess.configureContainerEntry(BuildPathDialogAccess.java:247)
        at 
org.eclipse.jdt.internal.ui.wizards.buildpaths.LibrariesWorkbookPage.openContainerSelectionDialog(LibrariesWorkbookPage.java:870)
        at 
org.eclipse.jdt.internal.ui.wizards.buildpaths.LibrariesWorkbookPage.editElementEntry(LibrariesWorkbookPage.java:553)
        at 
org.eclipse.jdt.internal.ui.wizards.buildpaths.LibrariesWorkbookPage.editEntry(LibrariesWorkbookPage.java:474)
        at 
org.eclipse.jdt.internal.ui.wizards.buildpaths.LibrariesWorkbookPage.libaryPageCustomButtonPressed(LibrariesWorkbookPage.java:270)
        at 
org.eclipse.jdt.internal.ui.wizards.buildpaths.LibrariesWorkbookPage.access$0(LibrariesWorkbookPage.java:248)
        at 
org.eclipse.jdt.internal.ui.wizards.buildpaths.LibrariesWorkbookPage$LibrariesAdapter.customButtonPressed(LibrariesWorkbookPage.java:197)
        at 
org.eclipse.jdt.internal.ui.wizards.dialogfields.TreeListDialogField.buttonPressed(TreeListDialogField.java:168)
        at 
org.eclipse.jdt.internal.ui.wizards.dialogfields.TreeListDialogField.doButtonSelected(TreeListDialogField.java:386)
        at 
org.eclipse.jdt.internal.ui.wizards.dialogfields.TreeListDialogField.access$2(TreeListDialogField.java:382)
        at 
org.eclipse.jdt.internal.ui.wizards.dialogfields.TreeListDialogField$2.widgetSelected(TreeListDialogField.java:347)
        at 
org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:228)
        at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)
        at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3823)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3422)
        at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
        at org.eclipse.jface.window.Window.open(Window.java:801)
        at 
org.eclipse.ui.dialogs.PropertyDialogAction.run(PropertyDialogAction.java:157)
        at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)
        at 
org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:583)
        at 
org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:500)
        at 
org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411)
        at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)
        at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3823)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3422)
        at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2382)
        at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
        at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2198)
        at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
        at 
org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:288)
        at 
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:488)
        at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
        at 
org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
        at 
org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:193)
        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:386)
        at 
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
        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(Main.java:549)
        at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
        at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
Caused by: java.net.MalformedURLException: no protocol: 
${workspace_loc:/#######-platform/#####-ivysettings.xml}
        at java.net.URL.<init>(Unknown Source)
        at java.net.URL.<init>(Unknown Source)
        at java.net.URL.<init>(Unknown Source)
        at 
org.apache.ivyde.eclipse.cpcontainer.IvyClasspathContainerConfiguration.getInheritedIvySettingsPath(IvyClasspathContainerConfiguration.java:267)
        ... 66 more


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to