Bug 125139 - [introduce factory] does not work for binary constructors
Summary: [introduce factory] does not work for binary constructors
Status: ASSIGNED
Alias: None
Product: JDT
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 3.2   Edit
Hardware: PC Windows XP
: P4 enhancement (vote)
Target Milestone: ---   Edit
Assignee: Markus Keller CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-01-25 05:32 EST by Markus Keller CLA
Modified: 2008-07-11 05:42 EDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Markus Keller CLA 2006-01-25 05:32:32 EST
I20060124-0800

Introduce Factory should also work for binary constructors. It feels strange that Introduce Indirection can handle binary methods but Introduce Factory cannot.
Comment 1 Martin Aeschlimann CLA 2006-01-27 04:48:56 EST
Markus, can you take over 'Introduce Factory' from Dirk?
I gree with the bug, but it's low priority.
Comment 2 metatech CLA 2008-07-11 05:42:51 EDT
Hello,

When I tried in another workspace (with the Migrate JAR file feature), I get the following stack trace (in 3.3.2).
This might be useful for other people searching for the error message.

java.lang.reflect.InvocationTargetException
at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:403)
at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java:934)
at org.eclipse.ltk.ui.refactoring.history.RefactoringHistoryWizard.getRefactoringPage(RefactoringHistoryWizard.java:879)
at org.eclipse.ltk.ui.refactoring.history.RefactoringHistoryWizard.getNextPage(RefactoringHistoryWizard.java:662)
at org.eclipse.jdt.internal.ui.jarimport.JarImportWizard.getNextPage(JarImportWizard.java:308)
at org.eclipse.ltk.internal.ui.refactoring.history.RefactoringHistoryOverviewPage.getNextPage(RefactoringHistoryOverviewPage.java:119)
at org.eclipse.jface.wizard.WizardDialog.nextPressed(WizardDialog.java:813)
at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:369)
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.actions.JarImportWizardAction.run(JarImportWizardAction.java:74)
at org.eclipse.jdt.internal.ui.actions.JarImportWizardAction.run(JarImportWizardAction.java:58)
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:382)
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)
at org.eclipse.equinox.launcher.Main.main(Main.java:1212)
Caused by: java.lang.NullPointerException
at org.eclipse.jdt.internal.corext.dom.ASTNodes.getNormalizedNode(ASTNodes.java:485)
at org.eclipse.jdt.internal.corext.refactoring.code.IntroduceFactoryRefactoring.getTargetNode(IntroduceFactoryRefactoring.java:273)
at org.eclipse.jdt.internal.corext.refactoring.code.IntroduceFactoryRefactoring.checkSelection(IntroduceFactoryRefactoring.java:300)
at org.eclipse.jdt.internal.corext.refactoring.code.IntroduceFactoryRefactoring.checkInitialConditions(IntroduceFactoryRefactoring.java:368)
at org.eclipse.ltk.core.refactoring.CheckConditionsOperation.run(CheckConditionsOperation.java:83)
at org.eclipse.ltk.ui.refactoring.history.RefactoringHistoryWizard.checkConditions(RefactoringHistoryWizard.java:505)
at org.eclipse.ltk.ui.refactoring.history.RefactoringHistoryWizard.access$12(RefactoringHistoryWizard.java:499)
at org.eclipse.ltk.ui.refactoring.history.RefactoringHistoryWizard$7.run(RefactoringHistoryWizard.java:833)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
Root exception:
java.lang.NullPointerException
at org.eclipse.jdt.internal.corext.dom.ASTNodes.getNormalizedNode(ASTNodes.java:485)
at org.eclipse.jdt.internal.corext.refactoring.code.IntroduceFactoryRefactoring.getTargetNode(IntroduceFactoryRefactoring.java:273)
at org.eclipse.jdt.internal.corext.refactoring.code.IntroduceFactoryRefactoring.checkSelection(IntroduceFactoryRefactoring.java:300)
at org.eclipse.jdt.internal.corext.refactoring.code.IntroduceFactoryRefactoring.checkInitialConditions(IntroduceFactoryRefactoring.java:368)
at org.eclipse.ltk.core.refactoring.CheckConditionsOperation.run(CheckConditionsOperation.java:83)
at org.eclipse.ltk.ui.refactoring.history.RefactoringHistoryWizard.checkConditions(RefactoringHistoryWizard.java:505)
at org.eclipse.ltk.ui.refactoring.history.RefactoringHistoryWizard.access$12(RefactoringHistoryWizard.java:499)
at org.eclipse.ltk.ui.refactoring.history.RefactoringHistoryWizard$7.run(RefactoringHistoryWizard.java:833)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)