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

Bug 364667

Summary: NullPointerException occurs when I try to display attributes for an HTML element in Web Page Editor
Product: [WebTools] Java Server Faces Reporter: matt.silver
Component: UIAssignee: Ian Trimble <ian.trimble>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: abhishek.choudhary, erlanrocha, raghunathan.srinivasan, thatnitind
Version: unspecified   
Target Milestone: 3.3.2   
Hardware: PC   
OS: Windows 7   
Whiteboard:

Description matt.silver CLA 2011-11-23 22:45:53 EST
Build Identifier: 20110916-0149

I was trying to modify the attributes for an HTML element inside the Web Page Editor using the Attributes tab of the Properties view.  This works fine in the Helios release, but doesn't work in the Indigo Service Release 1.  If I click inside an element (e.g., <input>) and then on the Attributes tab, I get a dialog that contains java.lang.NullPointerException.  It says to see the error log for more details.  This is what I see in the log:

!ENTRY org.eclipse.ui.views.properties.tabbed 4 2 2011-11-23 22:25:35.900
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.ui.views.properties.tabbed".
!STACK 0
java.lang.NullPointerException
	at org.eclipse.jst.pagedesigner.properties.AttributePropertySource.getAttrPropertyDescriptor(AttributePropertySource.java:244)
	at org.eclipse.jst.pagedesigner.properties.AttributePropertySource.getPropertyDescriptors(AttributePropertySource.java:208)
	at org.eclipse.ui.views.properties.PropertySheetEntry.computeMergedPropertyDescriptors(PropertySheetEntry.java:167)
	at org.eclipse.ui.views.properties.PropertySheetEntry.refreshChildEntries(PropertySheetEntry.java:530)
	at org.eclipse.ui.views.properties.PropertySheetEntry.setValues(PropertySheetEntry.java:760)
	at org.eclipse.ui.views.properties.PropertySheetViewer.setInput(PropertySheetViewer.java:973)
	at org.eclipse.ui.views.properties.PropertySheetPage.refresh(PropertySheetPage.java:491)
	at org.eclipse.jst.pagedesigner.properties.AllPropertySection.refresh(AllPropertySection.java:128)
	at org.eclipse.ui.views.properties.tabbed.TabContents$6.run(TabContents.java:217)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49)
	at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)
	at org.eclipse.ui.views.properties.tabbed.TabContents.refresh(TabContents.java:220)
	at org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage$SelectionChangedListener.selectionChanged(TabbedPropertySheetPage.java:222)
	at org.eclipse.jface.viewers.Viewer$2.run(Viewer.java:164)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49)
	at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)
	at org.eclipse.jface.viewers.Viewer.fireSelectionChanged(Viewer.java:162)
	at org.eclipse.jface.viewers.StructuredViewer.updateSelection(StructuredViewer.java:2188)
	at org.eclipse.jface.viewers.StructuredViewer.handleSelect(StructuredViewer.java:1211)
	at org.eclipse.jface.viewers.StructuredViewer$4.widgetSelected(StructuredViewer.java:1241)
	at org.eclipse.jface.util.OpenStrategy.fireSelectionEvent(OpenStrategy.java:239)
	at org.eclipse.jface.util.OpenStrategy.access$4(OpenStrategy.java:233)
	at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:403)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1077)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1062)
	at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:774)
	at org.eclipse.ui.internal.views.properties.tabbed.view.TabbedPropertyList.select(TabbedPropertyList.java:664)
	at org.eclipse.ui.internal.views.properties.tabbed.view.TabbedPropertyList$2.mouseUp(TabbedPropertyList.java:156)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:219)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4165)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3754)
	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(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: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)


Reproducible: Always

Steps to Reproduce:
1. Create an HTML file using the "New HTML File(5)" template.
2. Close the file.
3. Open the file with the Web Page Editor.
4. Add a form element.
5. Nest an input element inside the form element.
6. Click on the Properties view and its Attributes tab.
7. Click inside the form element.
8. Click on the Attributes tab.  A NullPointerException should pop up.

The procedure is explained in more detail in the following blog in the section entitled "Using the WYSIWYG Editor".

http://blog.webagesolutions.com/archives/419#respond
Comment 1 Ian Trimble CLA 2011-12-13 13:53:06 EST
Fix committed to R_3_3_Maintenance at 2011/12/13 10:51AM PST.
Comment 2 Ian Trimble CLA 2011-12-13 14:04:31 EST
Fix committed to HEAD at 2011/12/13 11:04AM PST.
Comment 3 Ian Trimble CLA 2012-01-06 19:51:25 EST
*** Bug 358430 has been marked as a duplicate of this bug. ***