Bug 338000 - Can org.eclipse.jst.jsf.facelet.ui be limited to load only when just opening facelets files.
Summary: Can org.eclipse.jst.jsf.facelet.ui be limited to load only when just opening ...
Status: RESOLVED WORKSFORME
Alias: None
Product: Java Server Faces
Classification: WebTools
Component: UI (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: 3.4.0 M6   Edit
Assignee: Ian Trimble CLA
QA Contact:
URL:
Whiteboard:
Keywords: helpwanted
Depends on:
Blocks:
 
Reported: 2011-02-23 12:31 EST by Matthew Martire CLA
Modified: 2012-02-01 13:10 EST (History)
8 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Matthew Martire CLA 2011-02-23 12:31:49 EST
Build Identifier: 3.6.2 GM

Our adopter product loads this plugin when opening a jsp file. I've opened this defect to investigate whether loading this plugin can be limited to just facelets files. 

This plugin loads 3 classes:
org.eclipse.jst.jsf.facelet.ui.internal.hover.FaceletHover$MyHTMLTagInfoHoverProcessor
org.eclipse.jst.jsf.facelet.ui.internal.hover.FaceletHover
org.eclipse.jst.jsf.facelet.ui.internal.FaceletUIPlugin

I have an activation stack trace for this plugin, it is loaded after opening a jsp file in a large workspace of ours:

Here is the activation stack trace:

Activating bundle: org.eclipse.jst.jsf.facelet.ui
Bundle activation stack:
	org.eclipse.jst.jsf.facelet.ui
Class loading stack:
	org.eclipse.jst.jsf.facelet.ui.internal.hover.FaceletHover
Stack trace:
java.lang.Throwable
	at org.eclipse.core.runtime.internal.stats.StatsManager.traceActivate(Unknown Source)
	at org.eclipse.core.runtime.internal.stats.StatsManager.startActivation(Unknown Source)
	at org.eclipse.core.runtime.internal.stats.StatsManager.watchBundle(Unknown Source)
	at org.eclipse.osgi.baseadaptor.BaseAdaptor$3.watchBundle(Unknown Source)
	at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(Unknown Source)
	at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(Unknown Source)
	at org.eclipse.osgi.framework.util.SecureAction.start(Unknown Source)
	at org.eclipse.osgi.internal.loader.BundleLoader.setLazyTrigger(Unknown Source)
	at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(Unknown Source)
	at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(Unknown Source)
	at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(Unknown Source)
	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(Unknown Source)
	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(Unknown Source)
	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(Unknown Source)
	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(Unknown Source)
	at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at org.eclipse.osgi.internal.loader.BundleLoader.loadClass(Unknown Source)
	at org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(Unknown Source)
	at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(Unknown Source)
	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(Unknown Source)
	at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(Unknown Source)
	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(Unknown Source)
	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(Unknown Source)
	at org.eclipse.wst.sse.ui.internal.ExtendedConfigurationBuilder$1.run(Unknown Source)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(Unknown Source)
	at org.eclipse.wst.sse.ui.internal.ExtendedConfigurationBuilder.createExtension(Unknown Source)
	at org.eclipse.wst.sse.ui.internal.ExtendedConfigurationBuilder.createConfigurations(Unknown Source)
	at org.eclipse.wst.sse.ui.internal.ExtendedConfigurationBuilder.getConfigurations(Unknown Source)
	at org.eclipse.wst.sse.ui.StructuredTextViewerConfiguration.createDocumentationHovers(Unknown Source)
	at org.eclipse.wst.sse.ui.StructuredTextViewerConfiguration.getInformationProvider(Unknown Source)
	at org.eclipse.wst.sse.ui.StructuredTextViewerConfiguration.getInformationPresenter(Unknown Source)
	at org.eclipse.wst.sse.ui.internal.StructuredTextViewer.configure(Unknown Source)
	at org.eclipse.ui.texteditor.AbstractTextEditor.createPartControl(Unknown Source)
	at org.eclipse.ui.texteditor.StatusTextEditor.createPartControl(Unknown Source)
	at org.eclipse.ui.texteditor.AbstractDecoratedTextEditor.createPartControl(Unknown Source)
	at org.eclipse.wst.sse.ui.StructuredTextEditor.createPartControl(Unknown Source)
	at com.ibm.etools.webedit.editor.internal.page.source.HTMLSourcePage.init(Unknown Source)
	at com.ibm.etools.webedit.editor.HTMLEditor.createHTMLSourcePage(Unknown Source)
	at com.ibm.etools.webedit.editor.HTMLEditor.prePaneShown(Unknown Source)
	at com.ibm.etools.webedit.editor.internal.pane.MultiPaneEditorPart$PaneManager.internalInitializeVisiblePane(Unknown Source)
	at com.ibm.etools.webedit.editor.internal.pane.MultiPaneEditorPart.internalTabChange(Unknown Source)
	at com.ibm.etools.webedit.editor.internal.pane.MultiPaneEditorPart.pageChange(Unknown Source)
	at org.eclipse.ui.part.MultiPageEditorPart.setActivePage(Unknown Source)
	at com.ibm.etools.webedit.editor.internal.pane.MultiPaneEditorPart.setActiveTab(Unknown Source)
	at com.ibm.etools.webedit.editor.HTMLEditor.access$26(Unknown Source)
	at com.ibm.etools.webedit.editor.HTMLEditor$MyPaneManager.restorePreference(Unknown Source)
	at com.ibm.etools.webedit.editor.HTMLEditor.setActivePage(Unknown Source)
	at com.ibm.etools.webedit.editor.HTMLEditor.createPages(Unknown Source)
	at org.eclipse.ui.part.MultiPageEditorPart.createPartControl(Unknown Source)
	at org.eclipse.ui.internal.EditorReference.createPartHelper(Unknown Source)
	at org.eclipse.ui.internal.EditorReference.createPart(Unknown Source)
	at org.eclipse.ui.internal.WorkbenchPartReference.getPart(Unknown Source)
	at org.eclipse.ui.internal.PartPane.setVisible(Unknown Source)
	at org.eclipse.ui.internal.presentations.PresentablePart.setVisible(Unknown Source)
	at org.eclipse.ui.internal.presentations.util.PresentablePartFolder.select(Unknown Source)
	at org.eclipse.ui.internal.presentations.util.LeftToRightTabOrder.select(Unknown Source)
	at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation.selectPart(Unknown Source)
	at org.eclipse.ui.internal.PartStack.refreshPresentationSelection(Unknown Source)
	at org.eclipse.ui.internal.PartStack.setSelection(Unknown Source)
	at org.eclipse.ui.internal.PartStack.showPart(Unknown Source)
	at org.eclipse.ui.internal.PartStack.add(Unknown Source)
	at org.eclipse.ui.internal.EditorStack.add(Unknown Source)
	at org.eclipse.ui.internal.PartStack.add(Unknown Source)
	at org.eclipse.ui.internal.EditorStack.add(Unknown Source)
	at org.eclipse.ui.internal.EditorSashContainer.addEditor(Unknown Source)
	at org.eclipse.ui.internal.EditorAreaHelper.addToLayout(Unknown Source)
	at org.eclipse.ui.internal.EditorAreaHelper.addEditor(Unknown Source)
	at org.eclipse.ui.internal.EditorManager.createEditorTab(Unknown Source)
	at org.eclipse.ui.internal.EditorManager.openEditorFromDescriptor(Unknown Source)
	at org.eclipse.ui.internal.EditorManager.openEditor(Unknown Source)
	at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(Unknown Source)
	at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(Unknown Source)
	at org.eclipse.ui.internal.WorkbenchPage.access$11(Unknown Source)
	at org.eclipse.ui.internal.WorkbenchPage$10.run(Unknown Source)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(Unknown Source)
	at org.eclipse.ui.internal.WorkbenchPage.openEditor(Unknown Source)
	at org.eclipse.ui.internal.WorkbenchPage.openEditor(Unknown Source)
	at org.eclipse.ui.internal.WorkbenchPage.openEditor(Unknown Source)
	at org.eclipse.ui.ide.IDE.openEditor(Unknown Source)
	at org.eclipse.ui.ide.IDE.openEditor(Unknown Source)
	at org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor(Unknown Source)
	at org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor(Unknown Source)
	at org.eclipse.jdt.ui.actions.OpenAction.run(Unknown Source)
	at org.eclipse.jdt.ui.actions.OpenAction.run(Unknown Source)
	at org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchRun(Unknown Source)
	at org.eclipse.jdt.ui.actions.SelectionDispatchAction.run(Unknown Source)
	at org.eclipse.jdt.internal.ui.navigator.OpenAndExpand.run(Unknown Source)
	at org.eclipse.ui.actions.RetargetAction.run(Unknown Source)
	at org.eclipse.ui.navigator.CommonNavigatorManager$3.open(Unknown Source)
	at org.eclipse.ui.OpenAndLinkWithEditorHelper$InternalListener.open(Unknown Source)
	at org.eclipse.jface.viewers.StructuredViewer$2.run(Unknown Source)
	at org.eclipse.core.runtime.SafeRunner.run(Unknown Source)
	at org.eclipse.ui.internal.JFaceUtil$1.run(Unknown Source)
	at org.eclipse.jface.util.SafeRunnable.run(Unknown Source)
	at org.eclipse.jface.viewers.StructuredViewer.fireOpen(Unknown Source)
	at org.eclipse.jface.viewers.StructuredViewer.handleOpen(Unknown Source)
	at org.eclipse.ui.navigator.CommonViewer.handleOpen(Unknown Source)
	at org.eclipse.jface.viewers.StructuredViewer$6.handleOpen(Unknown Source)
	at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(Unknown Source)
	at org.eclipse.jface.util.OpenStrategy.access$2(Unknown Source)
	at org.eclipse.jface.util.OpenStrategy$1.handleEvent(Unknown Source)
	at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
	at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Unknown Source)
	at org.eclipse.ui.internal.Workbench.runUI(Unknown Source)
	at org.eclipse.ui.internal.Workbench.access$4(Unknown Source)
	at org.eclipse.ui.internal.Workbench$7.run(Unknown Source)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Unknown Source)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Unknown Source)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(Unknown Source)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(Unknown Source)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(Unknown Source)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(Unknown Source)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(Unknown Source)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(Unknown Source)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(Unknown Source)
	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(Unknown Source)
	at org.eclipse.equinox.launcher.Main.basicRun(Unknown Source)
	at org.eclipse.equinox.launcher.Main.run(Unknown Source)
	at org.eclipse.equinox.launcher.Main.main(Unknown Source)


Reproducible: Always
Comment 1 Raghunathan Srinivasan CLA 2011-02-25 11:33:51 EST
A patch to fix the issue will be greatly appreciated!
Comment 2 Matthew Martire CLA 2011-04-21 13:42:14 EDT
Is it possible that this can be re-targetted and worked for 3.2.x? Preferably 3.2.4 or 3.2.5
Comment 3 Raghunathan Srinivasan CLA 2011-04-21 20:37:40 EDT
As indicated in comment 1, we would need a patch that addresses the issue. Unfortunately, we don't have the resource at this time to work on the issue.
Comment 4 Gary Phung CLA 2011-10-12 16:06:10 EDT
(In reply to comment #3)
> As indicated in comment 1, we would need a patch that addresses the issue.
> Unfortunately, we don't have the resource at this time to work on the issue.

Hi Raghu,

Has there been any progress on this bug?
Comment 5 Raghunathan Srinivasan CLA 2011-10-12 18:12:02 EDT
We will investigate for Juno and backport if needed.
Comment 6 Ian Trimble CLA 2012-01-12 17:15:42 EST
I don't see a way to prevent the plug-in from being loaded.

JSF facelets support contributes an ITextHover implementation to the SSE editor configuration for the "org.eclipse.wst.html.HTML_DEFAULT" partition. When a hover is being calculated for this partition type, the plug-in is loaded because FaceletHover needs to be accessed. There are no XHTML-specific partitions, support is driven by the document's HTML partitions.

Is there a specific reason that this plug-in should not be loaded?
Comment 7 Raghunathan Srinivasan CLA 2012-02-01 13:10:05 EST
Please reopen if you don't agree.