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.

View | Details | Raw Unified | Return to bug 75076
Collapse All | Expand All

(-)a/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/MoveTransformer.java (-3 / +13 lines)
Lines 42-52 Link Here
42
package org.netbeans.modules.refactoring.java.plugins;
42
package org.netbeans.modules.refactoring.java.plugins;
43
43
44
import com.sun.source.util.TreePath;
44
import com.sun.source.util.TreePath;
45
import java.io.IOException;
45
import java.util.List;
46
import java.util.List;
46
import org.netbeans.modules.refactoring.java.spi.RefactoringVisitor;
47
import org.netbeans.modules.refactoring.java.spi.RefactoringVisitor;
47
import com.sun.source.tree.*;
48
import com.sun.source.tree.*;
48
import java.util.ArrayList;
49
import java.util.ArrayList;
49
import java.util.HashSet;
50
import java.util.HashSet;
51
import java.util.LinkedList;
50
import java.util.Set;
52
import java.util.Set;
51
import javax.lang.model.element.*;
53
import javax.lang.model.element.*;
52
import org.netbeans.api.java.source.ElementHandle;
54
import org.netbeans.api.java.source.ElementHandle;
Lines 56-61 Link Here
56
import org.netbeans.modules.refactoring.java.SourceUtilsEx;
58
import org.netbeans.modules.refactoring.java.SourceUtilsEx;
57
import org.netbeans.modules.refactoring.java.spi.ToPhaseException;
59
import org.netbeans.modules.refactoring.java.spi.ToPhaseException;
58
import org.openide.filesystems.FileObject;
60
import org.openide.filesystems.FileObject;
61
import org.openide.util.Exceptions;
59
import org.openide.util.NbBundle;
62
import org.openide.util.NbBundle;
60
63
61
/**
64
/**
Lines 68-73 Link Here
68
    private MoveRefactoringPlugin move;
71
    private MoveRefactoringPlugin move;
69
    private Set<Element> elementsToImport;
72
    private Set<Element> elementsToImport;
70
    private Set<ImportTree> importToRemove;
73
    private Set<ImportTree> importToRemove;
74
    private Set<String> importToAdd;
71
    private boolean isThisFileMoving;
75
    private boolean isThisFileMoving;
72
    private boolean isThisFileReferencingOldPackage = false;
76
    private boolean isThisFileReferencingOldPackage = false;
73
    private Set<Element> elementsAlreadyImported;
77
    private Set<Element> elementsAlreadyImported;
Lines 96-101 Link Here
96
        isThisFileReferencingOldPackage = false;
100
        isThisFileReferencingOldPackage = false;
97
        elementsAlreadyImported = new HashSet<Element>();
101
        elementsAlreadyImported = new HashSet<Element>();
98
        importToRemove = new HashSet<ImportTree>();
102
        importToRemove = new HashSet<ImportTree>();
103
        importToAdd = new HashSet<String>();
99
    }
104
    }
100
    
105
    
101
    @Override
106
    @Override
Lines 167-175 Link Here
167
                    }
172
                    }
168
                } else {
173
                } else {
169
                    Boolean[] isElementMoving = new Boolean[1];
174
                    Boolean[] isElementMoving = new Boolean[1];
170
                    if (!isThisFileReferencingOldPackage
175
                    if (isTopLevelClass(el) && !isElementMoving(el, isElementMoving)
171
                            && (isTopLevelClass(el) && !isElementMoving(el, isElementMoving))
172
                            && getPackageOf(el).toString().equals(originalPackage)) {
176
                            && getPackageOf(el).toString().equals(originalPackage)) {
177
                        importToAdd.add(el.toString());
173
                        isThisFileReferencingOldPackage = true;
178
                        isThisFileReferencingOldPackage = true;
174
                    }
179
                    }
175
                    if (el.getKind() != ElementKind.PACKAGE
180
                    if (el.getKind() != ElementKind.PACKAGE
Lines 301-307 Link Here
301
                //add import to old package
306
                //add import to old package
302
                ExpressionTree newPackageName = cut.getPackageName();
307
                ExpressionTree newPackageName = cut.getPackageName();
303
                if (newPackageName != null) {
308
                if (newPackageName != null) {
304
                    cut = insertImport(cut, newPackageName.toString() + ".*", null, null); // NOI18N
309
                    try {
310
                        cut = RetoucheUtils.addImports(cut, new LinkedList<String>(importToAdd), make);
311
                    } catch (IOException ex) {
312
                        Exceptions.printStackTrace(ex);
313
                    }
314
                    //cut = insertImport(cut, newPackageName.toString() + ".*", null, null); // NOI18N
305
                } else {
315
                } else {
306
                    if (!moveToDefaulPackageProblem) {
316
                    if (!moveToDefaulPackageProblem) {
307
                        problem = createProblem(problem, false, NbBundle.getMessage(MoveTransformer.class, "ERR_MovingClassToDefaultPackage"));
317
                        problem = createProblem(problem, false, NbBundle.getMessage(MoveTransformer.class, "ERR_MovingClassToDefaultPackage"));

Return to bug 75076