Uploaded image for project: 'Tools (JBoss Tools)'
  1. Tools (JBoss Tools)
  2. JBIDE-12126

Inform user that the selected project does not contain portlet.xml file

XMLWordPrintable

      When I try to create a Java portlet for a Dynamic web project that does not have the portlet.xml file, the error is logged into Error log.

      java.lang.RuntimeException: The portlet.xml file doesn't exist
      	at org.jboss.tools.portlet.ui.PortletUIActivator.getPortletXmlFile(PortletUIActivator.java:90)
      	at org.jboss.tools.portlet.ui.internal.wizard.NewPortletClassDataModelProvider.validate(NewPortletClassDataModelProvider.java:353)
      	at org.eclipse.wst.common.frameworks.internal.datamodel.DataModelImpl.validate(DataModelImpl.java:377)
      	at org.eclipse.wst.common.frameworks.internal.datamodel.DataModelImpl.isValid(DataModelImpl.java:423)
      	at org.eclipse.jst.servlet.ui.internal.wizard.NewWebArtifactWizard.canFinish(NewWebArtifactWizard.java:66)
      	at org.eclipse.jface.wizard.WizardDialog.updateButtons(WizardDialog.java:1345)
      	at org.eclipse.jface.wizard.WizardDialog.update(WizardDialog.java:1334)
      	at org.eclipse.jface.wizard.WizardDialog.updateForPage(WizardDialog.java:1265)
      	at org.eclipse.jface.wizard.WizardDialog.access$4(WizardDialog.java:1239)
      	at org.eclipse.jface.wizard.WizardDialog$8.run(WizardDialog.java:1228)
      	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
      	at org.eclipse.jface.wizard.WizardDialog.showPage(WizardDialog.java:1226)
      	at org.eclipse.jface.wizard.WizardDialog.nextPressed(WizardDialog.java:915)
      	at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:428)
      	at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:624)
      	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:240)
      	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
      	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1258)
      	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3588)
      	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3209)
      	at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
      	at org.eclipse.jface.window.Window.open(Window.java:801)
      	at org.eclipse.ui.internal.handlers.WizardHandler$New.executeHandler(WizardHandler.java:257)
      	at org.eclipse.ui.internal.handlers.WizardHandler.execute(WizardHandler.java:277)
      	at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:293)
      	at org.eclipse.core.commands.Command.executeWithChecks(Command.java:476)
      	at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
      	at org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:169)
      	at org.eclipse.ui.internal.handlers.SlaveHandlerService.executeCommand(SlaveHandlerService.java:241)
      	at org.eclipse.ui.internal.actions.CommandAction.runWithEvent(CommandAction.java:157)
      	at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584)
      	at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501)
      	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:1258)
      	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3588)
      	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3209)
      	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2701)
      	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2665)
      	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2499)
      	at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:679)
      	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
      	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:668)
      	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:57)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:616)
      	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)
      

      However, if user does not have error log displayed he / she has no clue what has happened.

      Could you provide a warning in the wizard about missing portlet.xml file (and that it won't be generated automatically)? In that case the message's severity in Error log can be changed from error to warning too.

            snjeza_jira Snjezana Peco (Inactive)
            ljelinko@redhat.com Lucia Jelinkova (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: