[jbosstools-issues] [JBoss JIRA] Commented: (JBIDE-5854) NullPointerException occures when openning JBoss Tools Properties Editor for a jar-packaged property file

Viacheslav Kabanovich (JIRA) jira-events at lists.jboss.org
Tue Feb 16 08:34:15 EST 2010


    [ https://jira.jboss.org/jira/browse/JBIDE-5854?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12514663#action_12514663 ] 

Viacheslav Kabanovich commented on JBIDE-5854:
----------------------------------------------

It happens because XModelObjectEditorInput fails to convert JarEntryEditorInput.
In this particular case jar entry comes as 'com.sun.faces/LogStrings.properties', while convertor expects it as 'com/sun/faces/LogStrings.properties'.

Having studied the problem further, I found that editor input convertation fails in more cases: for *any* entry of jar in projects without jsfnature, that is for any Java or Dynamic Web project before JSF capabilities are added. What makes the problem not minor but maybe even critical is that jar entries do not have option 'Open With...' but only 'Open' and for files *.properties, *.tld, page files JBT editors are invoked by default and fail (workaround - edit File Associations in preferences). It is surprising that no complaints were made till now.

The problem is easy to fix, I will attach the patch and suggest to commmit the fix to CR2. Max, Alexey, what do you think of it?



> NullPointerException occures when openning JBoss Tools Properties Editor for a jar-packaged property file 
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: JBIDE-5854
>                 URL: https://jira.jboss.org/jira/browse/JBIDE-5854
>             Project: Tools (JBoss Tools)
>          Issue Type: Bug
>          Components: common
>    Affects Versions: 3.1.0.CR1
>            Reporter: Victor Rubezhny
>            Assignee: Viacheslav Kabanovich
>            Priority: Minor
>             Fix For: 3.1.1
>
>
> NullPointerException occures when openning JBoss Tools Properties Editor for a jar-packaged property file 
> Steps to reproduce:
> EXECUTE: Create a project (Struts/JSF/Seam - doesn't matter which, but it should contain some JAR libraries). For example, create Seam project.
> EXECUTE: Expand Web App Libraries in Package explorer and one of existing JAR libraries. Search for a property file and then open it with JBoss Tools Properties Editor (It must be openned by default)
> ASSERT: File is openned in editor. (FAILURE. See Exception below)
> java.lang.NullPointerException
> 	at org.jboss.tools.common.model.ui.texteditors.PropertiesTextEditorComponent.createPartControl(PropertiesTextEditorComponent.java:58)
> 	at org.eclipse.ui.part.MultiPageEditorPart.addPage(MultiPageEditorPart.java:242)
> 	at org.eclipse.ui.part.MultiPageEditorPart.addPage(MultiPageEditorPart.java:212)
> 	at org.jboss.tools.common.editor.ObjectMultiPageEditor.createTextPage(ObjectMultiPageEditor.java:274)
> 	at org.jboss.tools.common.editor.ObjectMultiPageEditor.createUnloadedPage(ObjectMultiPageEditor.java:261)
> 	at org.jboss.tools.common.editor.ObjectMultiPageEditor.createPages(ObjectMultiPageEditor.java:226)
> 	at org.eclipse.ui.part.MultiPageEditorPart.createPartControl(MultiPageEditorPart.java:357)
> 	at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:659)
> 	at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:459)
> 	at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:595)
> 	at org.eclipse.ui.internal.EditorReference.getPart(EditorReference.java:821)
> 	at org.eclipse.ui.internal.EditorReference.getEditor(EditorReference.java:283)
> 	at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2857)
> 	at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2762)
> 	at org.eclipse.ui.internal.WorkbenchPage.access$11(WorkbenchPage.java:2754)
> 	at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:2705)
> 	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
> 	at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2701)
> 	at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2685)
> 	at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2676)
> 	at org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor(EditorUtility.java:374)
> 	at org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor(EditorUtility.java:178)
> 	at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:229)
> 	at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:208)
> 	at org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchRun(SelectionDispatchAction.java:274)
> 	at org.eclipse.jdt.ui.actions.SelectionDispatchAction.run(SelectionDispatchAction.java:250)
> 	at org.eclipse.jdt.internal.ui.packageview.PackageExplorerActionGroup.handleOpen(PackageExplorerActionGroup.java:373)
> 	at org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart$4.open(PackageExplorerPart.java:526)
> 	at org.eclipse.ui.OpenAndLinkWithEditorHelper$InternalListener.open(OpenAndLinkWithEditorHelper.java:48)
> 	at org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredViewer.java:842)
> 	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
> 	at org.eclipse.core.runtime.Platform.run(Platform.java:888)
> 	at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:48)
> 	at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)
> 	at org.eclipse.jface.viewers.StructuredViewer.fireOpen(StructuredViewer.java:840)
> 	at org.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewer.java:1101)
> 	at org.eclipse.jface.viewers.StructuredViewer$6.handleOpen(StructuredViewer.java:1205)
> 	at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrategy.java:264)
> 	at org.eclipse.jface.util.OpenStrategy.access$2(OpenStrategy.java:258)
> 	at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:298)
> 	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:3880)
> 	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3473)
> 	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405)
> 	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)
> 	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221)
> 	at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
> 	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
> 	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493)
> 	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:194)
> 	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:368)
> 	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:585)
> 	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
> 	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
> 	at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
> 	at org.eclipse.equinox.launcher.Main.main(Main.java:1287)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the jbosstools-issues mailing list