This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 57430 - Extract Interface Refactoring
Summary: Extract Interface Refactoring
Status: RESOLVED FIXED
Alias: None
Product: editor
Classification: Unclassified
Component: Refactoring (show other bugs)
Version: 4.x
Hardware: All All
: P3 blocker with 1 vote (vote)
Assignee: Martin Matula
URL: http://refactoring.netbeans.org/refac...
Keywords: API_REVIEW_FAST
: 51739 (view as bug list)
Depends on:
Blocks:
 
Reported: 2005-04-04 15:20 UTC by Daniel Prusa
Modified: 2007-04-03 18:02 UTC (History)
2 users (show)

See Also:
Issue Type: ENHANCEMENT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Daniel Prusa 2005-04-04 15:20:57 UTC
Issue to track implementation of Extract Interface refactoring.
Comment 1 Jan Becicka 2005-05-25 14:05:42 UTC
*** Issue 51739 has been marked as a duplicate of this issue. ***
Comment 2 wqtnetbeans 2005-07-10 20:04:55 UTC
It seems there is one thing missing from the "changes to be made" of the spec.
The current changes are:

   1. The new interface with the selected methods and fields is created in the
same package as the base class/interface.
   2. The implements/extends clause of the base class/interface is updated to
include the new interface and to exclude the interfaces that the new interface
extends.
   3. The selected static public fields are removed from the base class.

The missing change would be: 

4. (?) Option of changing all references to the base class to newly extracted
interface. 

This is currently in Eclipse's "extract interface" feature, and IMHO necessary.

-Qingtian

Comment 3 Martin Matula 2005-07-12 10:21:36 UTC
to wqtnetbeans: This will be covered by Use Supertype Where Possible refactoring
which will allow you to do this not only for the newly extracted interfaces but
for any class that has supertypes.
Comment 4 Martin Matula 2005-07-19 16:27:06 UTC
The feature was added to the experimental refactoring module that is available
on development autoupdate center (in dev builds).

Checking in nbproject/project.properties;
/cvs/refactoring/experimental/nbproject/project.properties,v  <-- 
project.properties
new revision: 1.13; previous revision: 1.12
done
Checking in src/org/netbeans/modules/refactoring/experimental/Bundle.properties;
/cvs/refactoring/experimental/src/org/netbeans/modules/refactoring/experimental/Bundle.properties,v
 <--  Bundle.properties
new revision: 1.7; previous revision: 1.6
done
RCS file:
/cvs/refactoring/experimental/src/org/netbeans/modules/refactoring/experimental/ExtractInterfaceRefactoring.java,v
done
Checking in
src/org/netbeans/modules/refactoring/experimental/ExtractInterfaceRefactoring.java;
/cvs/refactoring/experimental/src/org/netbeans/modules/refactoring/experimental/ExtractInterfaceRefactoring.java,v
 <--  ExtractInterfaceRefactoring.java
initial revision: 1.1
done
Checking in
src/org/netbeans/modules/refactoring/experimental/PullUpRefactoring.java;
/cvs/refactoring/experimental/src/org/netbeans/modules/refactoring/experimental/PullUpRefactoring.java,v
 <--  PullUpRefactoring.java
new revision: 1.4; previous revision: 1.3
done
Checking in
src/org/netbeans/modules/refactoring/experimental/plugins/Bundle.properties;
/cvs/refactoring/experimental/src/org/netbeans/modules/refactoring/experimental/plugins/Bundle.properties,v
 <--  Bundle.properties
new revision: 1.15; previous revision: 1.14
done
RCS file:
/cvs/refactoring/experimental/src/org/netbeans/modules/refactoring/experimental/plugins/ExtractInterfaceRefactoringPlugin.java,v
done
Checking in
src/org/netbeans/modules/refactoring/experimental/plugins/ExtractInterfaceRefactoringPlugin.java;
/cvs/refactoring/experimental/src/org/netbeans/modules/refactoring/experimental/plugins/ExtractInterfaceRefactoringPlugin.java,v
 <--  ExtractInterfaceRefactoringPlugin.java
initial revision: 1.1
done
Checking in
src/org/netbeans/modules/refactoring/experimental/plugins/PluginsFactory.java;
/cvs/refactoring/experimental/src/org/netbeans/modules/refactoring/experimental/plugins/PluginsFactory.java,v
 <--  PluginsFactory.java
new revision: 1.14; previous revision: 1.13
done
Checking in
src/org/netbeans/modules/refactoring/experimental/resources/mf-layer.xml;
/cvs/refactoring/experimental/src/org/netbeans/modules/refactoring/experimental/resources/mf-layer.xml,v
 <--  mf-layer.xml
new revision: 1.12; previous revision: 1.11
done
Checking in src/org/netbeans/modules/refactoring/experimental/ui/Bundle.properties;
/cvs/refactoring/experimental/src/org/netbeans/modules/refactoring/experimental/ui/Bundle.properties,v
 <--  Bundle.properties
new revision: 1.21; previous revision: 1.20
done
RCS file:
/cvs/refactoring/experimental/src/org/netbeans/modules/refactoring/experimental/ui/ExtractInterfaceAction.java,v
done
Checking in
src/org/netbeans/modules/refactoring/experimental/ui/ExtractInterfaceAction.java;
/cvs/refactoring/experimental/src/org/netbeans/modules/refactoring/experimental/ui/ExtractInterfaceAction.java,v
 <--  ExtractInterfaceAction.java
initial revision: 1.1
done
RCS file:
/cvs/refactoring/experimental/src/org/netbeans/modules/refactoring/experimental/ui/ExtractInterfacePanel.form,v
done
Checking in
src/org/netbeans/modules/refactoring/experimental/ui/ExtractInterfacePanel.form;
/cvs/refactoring/experimental/src/org/netbeans/modules/refactoring/experimental/ui/ExtractInterfacePanel.form,v
 <--  ExtractInterfacePanel.form
initial revision: 1.1
done
RCS file:
/cvs/refactoring/experimental/src/org/netbeans/modules/refactoring/experimental/ui/ExtractInterfacePanel.java,v
done
Checking in
src/org/netbeans/modules/refactoring/experimental/ui/ExtractInterfacePanel.java;
/cvs/refactoring/experimental/src/org/netbeans/modules/refactoring/experimental/ui/ExtractInterfacePanel.java,v
 <--  ExtractInterfacePanel.java
initial revision: 1.1
done
RCS file:
/cvs/refactoring/experimental/src/org/netbeans/modules/refactoring/experimental/ui/ExtractInterfaceRefactoringUI.java,v
done
Checking in
src/org/netbeans/modules/refactoring/experimental/ui/ExtractInterfaceRefactoringUI.java;
/cvs/refactoring/experimental/src/org/netbeans/modules/refactoring/experimental/ui/ExtractInterfaceRefactoringUI.java,v
 <--  ExtractInterfaceRefactoringUI.java
initial revision: 1.1
done
Comment 5 Martin Matula 2005-08-02 16:23:50 UTC
Reopening to reuse this issue for requesting approval to add this to the release.
Comment 6 Martin Matula 2005-08-02 16:31:02 UTC
We would like to add this feature to the standard build (to the regular
refactoring module). I'm asking j2ee team (since they have a dependency on the
refactoring friend API this will become part of) to confirm they are OK with this.
Comment 7 Pavel Fiala 2005-08-02 16:37:53 UTC
For me it is OK.
Comment 8 Pavel Buzek 2005-08-02 17:03:46 UTC
ok with me
Comment 9 Martin Matula 2005-08-03 14:50:27 UTC
Added to the build.

Checking in experimental/nbproject/project.properties;
/cvs/refactoring/experimental/nbproject/project.properties,v  <-- 
project.properties
new revision: 1.16; previous revision: 1.15
done
Checking in
experimental/src/org/netbeans/modules/refactoring/experimental/Bundle.properties;
/cvs/refactoring/experimental/src/org/netbeans/modules/refactoring/experimental/Bundle.properties,v
 <--  Bundle.properties
new revision: 1.9; previous revision: 1.8
done
Removing
experimental/src/org/netbeans/modules/refactoring/experimental/ExtractInterfaceRefactoring.java;
/cvs/refactoring/experimental/src/org/netbeans/modules/refactoring/experimental/ExtractInterfaceRefactoring.java,v
 <--  ExtractInterfaceRefactoring.java
new revision: delete; previous revision: 1.1
done
Removing
experimental/src/org/netbeans/modules/refactoring/experimental/ExtractSuperClassRefactoring.java;
/cvs/refactoring/experimental/src/org/netbeans/modules/refactoring/experimental/ExtractSuperClassRefactoring.java,v
 <--  ExtractSuperClassRefactoring.java
new revision: delete; previous revision: 1.1
done
Checking in
experimental/src/org/netbeans/modules/refactoring/experimental/PullUpRefactoring.java;
/cvs/refactoring/experimental/src/org/netbeans/modules/refactoring/experimental/PullUpRefactoring.java,v
 <--  PullUpRefactoring.java
new revision: 1.6; previous revision: 1.5
done
Removing
experimental/src/org/netbeans/modules/refactoring/experimental/Utilities.java;
/cvs/refactoring/experimental/src/org/netbeans/modules/refactoring/experimental/Utilities.java,v
 <--  Utilities.java
new revision: delete; previous revision: 1.3
done
Checking in
experimental/src/org/netbeans/modules/refactoring/experimental/plugins/Bundle.properties;
/cvs/refactoring/experimental/src/org/netbeans/modules/refactoring/experimental/plugins/Bundle.properties,v
 <--  Bundle.properties
new revision: 1.19; previous revision: 1.18
done
Removing
experimental/src/org/netbeans/modules/refactoring/experimental/plugins/ExtractInterfaceRefactoringPlugin.java;
/cvs/refactoring/experimental/src/org/netbeans/modules/refactoring/experimental/plugins/ExtractInterfaceRefactoringPlugin.java,v
 <--  ExtractInterfaceRefactoringPlugin.java
new revision: delete; previous revision: 1.3
done
Removing
experimental/src/org/netbeans/modules/refactoring/experimental/plugins/ExtractSuperClassRefactoringPlugin.java;
/cvs/refactoring/experimental/src/org/netbeans/modules/refactoring/experimental/plugins/ExtractSuperClassRefactoringPlugin.java,v
 <--  ExtractSuperClassRefactoringPlugin.java
new revision: delete; previous revision: 1.1
done
Checking in
experimental/src/org/netbeans/modules/refactoring/experimental/plugins/InnerToOuterRefactoringPlugin.java;
/cvs/refactoring/experimental/src/org/netbeans/modules/refactoring/experimental/plugins/InnerToOuterRefactoringPlugin.java,v
 <--  InnerToOuterRefactoringPlugin.java
new revision: 1.2; previous revision: 1.1
done
Checking in
experimental/src/org/netbeans/modules/refactoring/experimental/plugins/PluginsFactory.java;
/cvs/refactoring/experimental/src/org/netbeans/modules/refactoring/experimental/plugins/PluginsFactory.java,v
 <--  PluginsFactory.java
new revision: 1.17; previous revision: 1.16
done
Checking in
experimental/src/org/netbeans/modules/refactoring/experimental/plugins/PullUpRefactoringPlugin.java;
/cvs/refactoring/experimental/src/org/netbeans/modules/refactoring/experimental/plugins/PullUpRefactoringPlugin.java,v
 <--  PullUpRefactoringPlugin.java
new revision: 1.8; previous revision: 1.7
done
Checking in
experimental/src/org/netbeans/modules/refactoring/experimental/plugins/PushDownRefactoringPlugin.java;
/cvs/refactoring/experimental/src/org/netbeans/modules/refactoring/experimental/plugins/PushDownRefactoringPlugin.java,v
 <--  PushDownRefactoringPlugin.java
new revision: 1.5; previous revision: 1.4
done
Checking in
experimental/src/org/netbeans/modules/refactoring/experimental/resources/mf-layer.xml;
/cvs/refactoring/experimental/src/org/netbeans/modules/refactoring/experimental/resources/mf-layer.xml,v
 <--  mf-layer.xml
new revision: 1.15; previous revision: 1.14
done
Checking in
experimental/src/org/netbeans/modules/refactoring/experimental/ui/Bundle.properties;
/cvs/refactoring/experimental/src/org/netbeans/modules/refactoring/experimental/ui/Bundle.properties,v
 <--  Bundle.properties
new revision: 1.25; previous revision: 1.24
done
Removing
experimental/src/org/netbeans/modules/refactoring/experimental/ui/ExtractInterfaceAction.java;
/cvs/refactoring/experimental/src/org/netbeans/modules/refactoring/experimental/ui/ExtractInterfaceAction.java,v
 <--  ExtractInterfaceAction.java
new revision: delete; previous revision: 1.1
done
Removing
experimental/src/org/netbeans/modules/refactoring/experimental/ui/ExtractInterfacePanel.form;
/cvs/refactoring/experimental/src/org/netbeans/modules/refactoring/experimental/ui/ExtractInterfacePanel.form,v
 <--  ExtractInterfacePanel.form
new revision: delete; previous revision: 1.1
done
Removing
experimental/src/org/netbeans/modules/refactoring/experimental/ui/ExtractInterfacePanel.java;
/cvs/refactoring/experimental/src/org/netbeans/modules/refactoring/experimental/ui/ExtractInterfacePanel.java,v
 <--  ExtractInterfacePanel.java
new revision: delete; previous revision: 1.1
done
Removing
experimental/src/org/netbeans/modules/refactoring/experimental/ui/ExtractInterfaceRefactoringUI.java;
/cvs/refactoring/experimental/src/org/netbeans/modules/refactoring/experimental/ui/ExtractInterfaceRefactoringUI.java,v
 <--  ExtractInterfaceRefactoringUI.java
new revision: delete; previous revision: 1.2
done
Removing
experimental/src/org/netbeans/modules/refactoring/experimental/ui/ExtractSuperClassAction.java;
/cvs/refactoring/experimental/src/org/netbeans/modules/refactoring/experimental/ui/ExtractSuperClassAction.java,v
 <--  ExtractSuperClassAction.java
new revision: delete; previous revision: 1.1
done
Removing
experimental/src/org/netbeans/modules/refactoring/experimental/ui/ExtractSuperClassPanel.form;
/cvs/refactoring/experimental/src/org/netbeans/modules/refactoring/experimental/ui/ExtractSuperClassPanel.form,v
 <--  ExtractSuperClassPanel.form
new revision: delete; previous revision: 1.1
done
Removing
experimental/src/org/netbeans/modules/refactoring/experimental/ui/ExtractSuperClassPanel.java;
/cvs/refactoring/experimental/src/org/netbeans/modules/refactoring/experimental/ui/ExtractSuperClassPanel.java,v
 <--  ExtractSuperClassPanel.java
new revision: delete; previous revision: 1.1
done
Removing
experimental/src/org/netbeans/modules/refactoring/experimental/ui/ExtractSuperClassRefactoringUI.java;
/cvs/refactoring/experimental/src/org/netbeans/modules/refactoring/experimental/ui/ExtractSuperClassRefactoringUI.java,v
 <--  ExtractSuperClassRefactoringUI.java
new revision: delete; previous revision: 1.1
done
Checking in
experimental/src/org/netbeans/modules/refactoring/experimental/ui/PullUpPanel.java;
/cvs/refactoring/experimental/src/org/netbeans/modules/refactoring/experimental/ui/PullUpPanel.java,v
 <--  PullUpPanel.java
new revision: 1.5; previous revision: 1.4
done
Checking in
experimental/src/org/netbeans/modules/refactoring/experimental/ui/PushDownPanel.java;
/cvs/refactoring/experimental/src/org/netbeans/modules/refactoring/experimental/ui/PushDownPanel.java,v
 <--  PushDownPanel.java
new revision: 1.3; previous revision: 1.2
done
Removing
experimental/src/org/netbeans/modules/refactoring/experimental/ui/UIUtilities.java;
/cvs/refactoring/experimental/src/org/netbeans/modules/refactoring/experimental/ui/UIUtilities.java,v
 <--  UIUtilities.java
new revision: delete; previous revision: 1.3
done
Checking in nbproject/project.properties;
/cvs/refactoring/nbproject/project.properties,v  <--  project.properties
new revision: 1.16; previous revision: 1.15
done
RCS file: /cvs/refactoring/src/org/netbeans/modules/refactoring/Utilities.java,v
done
Checking in src/org/netbeans/modules/refactoring/Utilities.java;
/cvs/refactoring/src/org/netbeans/modules/refactoring/Utilities.java,v  <-- 
Utilities.java
initial revision: 1.1
done
RCS file:
/cvs/refactoring/src/org/netbeans/modules/refactoring/api/ExtractInterfaceRefactoring.java,v
done
Checking in
src/org/netbeans/modules/refactoring/api/ExtractInterfaceRefactoring.java;
/cvs/refactoring/src/org/netbeans/modules/refactoring/api/ExtractInterfaceRefactoring.java,v
 <--  ExtractInterfaceRefactoring.java
initial revision: 1.1
done
RCS file:
/cvs/refactoring/src/org/netbeans/modules/refactoring/api/ExtractSuperClassRefactoring.java,v
done
Checking in
src/org/netbeans/modules/refactoring/api/ExtractSuperClassRefactoring.java;
/cvs/refactoring/src/org/netbeans/modules/refactoring/api/ExtractSuperClassRefactoring.java,v
 <--  ExtractSuperClassRefactoring.java
initial revision: 1.1
done
Checking in src/org/netbeans/modules/refactoring/plugins/Bundle.properties;
/cvs/refactoring/src/org/netbeans/modules/refactoring/plugins/Bundle.properties,v
 <--  Bundle.properties
new revision: 1.3; previous revision: 1.2
done
RCS file:
/cvs/refactoring/src/org/netbeans/modules/refactoring/plugins/ExtractInterfaceRefactoringPlugin.java,v
done
Checking in
src/org/netbeans/modules/refactoring/plugins/ExtractInterfaceRefactoringPlugin.java;
/cvs/refactoring/src/org/netbeans/modules/refactoring/plugins/ExtractInterfaceRefactoringPlugin.java,v
 <--  ExtractInterfaceRefactoringPlugin.java
initial revision: 1.1
done
RCS file:
/cvs/refactoring/src/org/netbeans/modules/refactoring/plugins/ExtractSuperClassRefactoringPlugin.java,v
done
Checking in
src/org/netbeans/modules/refactoring/plugins/ExtractSuperClassRefactoringPlugin.java;
/cvs/refactoring/src/org/netbeans/modules/refactoring/plugins/ExtractSuperClassRefactoringPlugin.java,v
 <--  ExtractSuperClassRefactoringPlugin.java
initial revision: 1.1
done
Checking in
src/org/netbeans/modules/refactoring/plugins/JavaRefactoringsFactory.java;
/cvs/refactoring/src/org/netbeans/modules/refactoring/plugins/JavaRefactoringsFactory.java,v
 <--  JavaRefactoringsFactory.java
new revision: 1.6; previous revision: 1.5
done
Checking in src/org/netbeans/modules/refactoring/resources/mf-layer.xml;
/cvs/refactoring/src/org/netbeans/modules/refactoring/resources/mf-layer.xml,v 
<--  mf-layer.xml
new revision: 1.26; previous revision: 1.25
done
Checking in src/org/netbeans/modules/refactoring/ui/Bundle.properties;
/cvs/refactoring/src/org/netbeans/modules/refactoring/ui/Bundle.properties,v 
<--  Bundle.properties
new revision: 1.59; previous revision: 1.58
done
RCS file:
/cvs/refactoring/src/org/netbeans/modules/refactoring/ui/ExtractInterfaceAction.java,v
done
Checking in src/org/netbeans/modules/refactoring/ui/ExtractInterfaceAction.java;
/cvs/refactoring/src/org/netbeans/modules/refactoring/ui/ExtractInterfaceAction.java,v
 <--  ExtractInterfaceAction.java
initial revision: 1.1
done
RCS file:
/cvs/refactoring/src/org/netbeans/modules/refactoring/ui/ExtractInterfacePanel.form,v
done
Checking in src/org/netbeans/modules/refactoring/ui/ExtractInterfacePanel.form;
/cvs/refactoring/src/org/netbeans/modules/refactoring/ui/ExtractInterfacePanel.form,v
 <--  ExtractInterfacePanel.form
initial revision: 1.1
done
RCS file:
/cvs/refactoring/src/org/netbeans/modules/refactoring/ui/ExtractInterfacePanel.java,v
done
Checking in src/org/netbeans/modules/refactoring/ui/ExtractInterfacePanel.java;
/cvs/refactoring/src/org/netbeans/modules/refactoring/ui/ExtractInterfacePanel.java,v
 <--  ExtractInterfacePanel.java
initial revision: 1.1
done
RCS file:
/cvs/refactoring/src/org/netbeans/modules/refactoring/ui/ExtractInterfaceRefactoringUI.java,v
done
Checking in
src/org/netbeans/modules/refactoring/ui/ExtractInterfaceRefactoringUI.java;
/cvs/refactoring/src/org/netbeans/modules/refactoring/ui/ExtractInterfaceRefactoringUI.java,v
 <--  ExtractInterfaceRefactoringUI.java
initial revision: 1.1
done
RCS file:
/cvs/refactoring/src/org/netbeans/modules/refactoring/ui/ExtractSuperClassAction.java,v
done
Checking in src/org/netbeans/modules/refactoring/ui/ExtractSuperClassAction.java;
/cvs/refactoring/src/org/netbeans/modules/refactoring/ui/ExtractSuperClassAction.java,v
 <--  ExtractSuperClassAction.java
initial revision: 1.1
done
RCS file:
/cvs/refactoring/src/org/netbeans/modules/refactoring/ui/ExtractSuperClassPanel.form,v
done
Checking in src/org/netbeans/modules/refactoring/ui/ExtractSuperClassPanel.form;
/cvs/refactoring/src/org/netbeans/modules/refactoring/ui/ExtractSuperClassPanel.form,v
 <--  ExtractSuperClassPanel.form
initial revision: 1.1
done
RCS file:
/cvs/refactoring/src/org/netbeans/modules/refactoring/ui/ExtractSuperClassPanel.java,v
done
Checking in src/org/netbeans/modules/refactoring/ui/ExtractSuperClassPanel.java;
/cvs/refactoring/src/org/netbeans/modules/refactoring/ui/ExtractSuperClassPanel.java,v
 <--  ExtractSuperClassPanel.java
initial revision: 1.1
done
RCS file:
/cvs/refactoring/src/org/netbeans/modules/refactoring/ui/ExtractSuperClassRefactoringUI.java,v
done
Checking in
src/org/netbeans/modules/refactoring/ui/ExtractSuperClassRefactoringUI.java;
/cvs/refactoring/src/org/netbeans/modules/refactoring/ui/ExtractSuperClassRefactoringUI.java,v
 <--  ExtractSuperClassRefactoringUI.java
initial revision: 1.1
done
RCS file:
/cvs/refactoring/src/org/netbeans/modules/refactoring/ui/UIUtilities.java,v
done
Checking in src/org/netbeans/modules/refactoring/ui/UIUtilities.java;
/cvs/refactoring/src/org/netbeans/modules/refactoring/ui/UIUtilities.java,v  <--
 UIUtilities.java
initial revision: 1.1
done