Search in sources :

Example 46 with OrganizeImportsOperation

use of org.eclipse.jdt.internal.corext.codemanipulation.OrganizeImportsOperation in project che by eclipse.

the class ImportOrganizeTest method testTypeArgumentImports.

@Test
public void testTypeArgumentImports() throws Exception {
    IPackageFragmentRoot sourceFolder = JavaProjectHelper.addSourceContainer(fJProject1, "src");
    IPackageFragment pack1 = sourceFolder.createPackageFragment("pack1", false, null);
    StringBuffer buf = new StringBuffer();
    buf.append("package pack1;\n");
    buf.append("\n");
    buf.append("public class B {\n");
    buf.append("	   public B() {\n");
    // constructor invocation
    buf.append("        <File> this(null);\n");
    buf.append("    }\n");
    buf.append("    public <T> B(T t) {\n");
    buf.append("    }\n");
    buf.append("    public <T> void foo(T t) {\n");
    // method invocation
    buf.append("        this.<Socket> foo(null);\n");
    // class instance creation
    buf.append("        new<URL> B(null);\n");
    buf.append("    }\n");
    buf.append("    class C extends B {\n");
    buf.append("        public C() {\n");
    // super constructor invocation
    buf.append("            <Vector> super(null);\n");
    // super method invocation
    buf.append("            super.<HashMap> foo(null);\n");
    buf.append("        }\n");
    buf.append("    }\n");
    buf.append("}\n");
    ICompilationUnit cu = pack1.createCompilationUnit("B.java", buf.toString(), false, null);
    String[] order = new String[] { "", "#" };
    IChooseImportQuery query = createQuery("B", new String[] {}, new int[] {});
    OrganizeImportsOperation op = createOperation(cu, order, 99, false, true, true, query);
    op.run(null);
    buf = new StringBuffer();
    buf.append("package pack1;\n");
    buf.append("\n");
    buf.append("import java.io.File;\n");
    buf.append("import java.net.Socket;\n");
    buf.append("import java.net.URL;\n");
    buf.append("import java.util.HashMap;\n");
    buf.append("import java.util.Vector;\n");
    buf.append("\n");
    buf.append("public class B {\n");
    buf.append("	   public B() {\n");
    buf.append("        <File> this(null);\n");
    buf.append("    }\n");
    buf.append("    public <T> B(T t) {\n");
    buf.append("    }\n");
    buf.append("    public <T> void foo(T t) {\n");
    buf.append("        this.<Socket> foo(null);\n");
    buf.append("        new<URL> B(null);\n");
    buf.append("    }\n");
    buf.append("    class C extends B {\n");
    buf.append("        public C() {\n");
    buf.append("            <Vector> super(null);\n");
    buf.append("            super.<HashMap> foo(null);\n");
    buf.append("        }\n");
    buf.append("    }\n");
    buf.append("}\n");
    assertEqualString(cu.getSource(), buf.toString());
}
Also used : ICompilationUnit(org.eclipse.jdt.core.ICompilationUnit) IPackageFragment(org.eclipse.jdt.core.IPackageFragment) OrganizeImportsOperation(org.eclipse.jdt.internal.corext.codemanipulation.OrganizeImportsOperation) IChooseImportQuery(org.eclipse.jdt.internal.corext.codemanipulation.OrganizeImportsOperation.IChooseImportQuery) IPackageFragmentRoot(org.eclipse.jdt.core.IPackageFragmentRoot) Test(org.junit.Test)

Example 47 with OrganizeImportsOperation

use of org.eclipse.jdt.internal.corext.codemanipulation.OrganizeImportsOperation in project che by eclipse.

the class ImportOrganizeTest method testClearImportsNoPackage.

@Test
public void testClearImportsNoPackage() throws Exception {
    IPackageFragmentRoot sourceFolder = JavaProjectHelper.addSourceContainer(fJProject1, "src");
    IPackageFragment pack1 = sourceFolder.getPackageFragment("");
    StringBuffer buf = new StringBuffer();
    buf.append("import java.util.Vector;\n");
    buf.append("public class C {\n");
    buf.append("}\n");
    ICompilationUnit cu = pack1.createCompilationUnit("C.java", buf.toString(), false, null);
    String[] order = new String[0];
    IChooseImportQuery query = createQuery("C", new String[] {}, new int[] {});
    OrganizeImportsOperation op = createOperation(cu, order, 99, false, true, true, query);
    op.run(null);
    buf = new StringBuffer();
    buf.append("public class C {\n");
    buf.append("}\n");
    assertEqualString(cu.getSource(), buf.toString());
}
Also used : ICompilationUnit(org.eclipse.jdt.core.ICompilationUnit) IPackageFragment(org.eclipse.jdt.core.IPackageFragment) OrganizeImportsOperation(org.eclipse.jdt.internal.corext.codemanipulation.OrganizeImportsOperation) IChooseImportQuery(org.eclipse.jdt.internal.corext.codemanipulation.OrganizeImportsOperation.IChooseImportQuery) IPackageFragmentRoot(org.eclipse.jdt.core.IPackageFragmentRoot) Test(org.junit.Test)

Example 48 with OrganizeImportsOperation

use of org.eclipse.jdt.internal.corext.codemanipulation.OrganizeImportsOperation in project che by eclipse.

the class ImportOrganizeTest method testImportToStarWithExplicit5.

@Test
public void testImportToStarWithExplicit5() throws Exception {
    // unrelated project, to fill the all types cache
    IJavaProject project2 = JavaProjectHelper.createJavaProject("TestProject2", "bin");
    try {
        assertTrue("rt not found", JavaProjectHelper.addRTJar(project2) != null);
        IPackageFragmentRoot sourceFolder2 = JavaProjectHelper.addSourceContainer(project2, "src");
        IPackageFragment pack22 = sourceFolder2.createPackageFragment("packx", false, null);
        StringBuffer buf = new StringBuffer();
        buf.append("package pack;\n");
        buf.append("public class Vector {\n");
        buf.append("}\n");
        pack22.createCompilationUnit("List.java", buf.toString(), false, null);
        buf = new StringBuffer();
        buf.append("package pack;\n");
        buf.append("public class Set {\n");
        buf.append("}\n");
        pack22.createCompilationUnit("Set.java", buf.toString(), false, null);
        IPackageFragmentRoot sourceFolder = JavaProjectHelper.addSourceContainer(fJProject1, "src");
        IPackageFragment pack2 = sourceFolder.createPackageFragment("pack", false, null);
        buf = new StringBuffer();
        buf.append("package pack;\n");
        buf.append("public class List {\n");
        buf.append("}\n");
        pack2.createCompilationUnit("List.java", buf.toString(), false, null);
        IPackageFragment pack1 = sourceFolder.createPackageFragment("pack1", false, null);
        buf = new StringBuffer();
        buf.append("package pack1;\n");
        buf.append("\n");
        buf.append("import java.util.Set;\n");
        buf.append("import java.util.Vector;\n");
        buf.append("import java.util.Map;\n");
        buf.append("\n");
        buf.append("import pack.List;\n");
        buf.append("\n");
        buf.append("public class C {\n");
        buf.append("    Vector v;\n");
        buf.append("    Set v2;\n");
        buf.append("    Map v3;\n");
        buf.append("    List v4;\n");
        buf.append("    String v6;\n");
        buf.append("}\n");
        ICompilationUnit cu = pack1.createCompilationUnit("C.java", buf.toString(), false, null);
        String[] order = new String[] { "java", "pack" };
        IChooseImportQuery query = createQuery("C", new String[] {}, new int[] {});
        OrganizeImportsOperation op = createOperation(cu, order, 1, false, true, true, query);
        op.run(null);
        buf = new StringBuffer();
        buf.append("package pack1;\n");
        buf.append("\n");
        buf.append("import java.util.*;\n");
        buf.append("\n");
        buf.append("import pack.List;\n");
        buf.append("\n");
        buf.append("public class C {\n");
        buf.append("    Vector v;\n");
        buf.append("    Set v2;\n");
        buf.append("    Map v3;\n");
        buf.append("    List v4;\n");
        buf.append("    String v6;\n");
        buf.append("}\n");
        assertEqualString(cu.getSource(), buf.toString());
    } finally {
        JavaProjectHelper.delete(project2);
    }
}
Also used : ICompilationUnit(org.eclipse.jdt.core.ICompilationUnit) IPackageFragment(org.eclipse.jdt.core.IPackageFragment) OrganizeImportsOperation(org.eclipse.jdt.internal.corext.codemanipulation.OrganizeImportsOperation) IJavaProject(org.eclipse.jdt.core.IJavaProject) IChooseImportQuery(org.eclipse.jdt.internal.corext.codemanipulation.OrganizeImportsOperation.IChooseImportQuery) IPackageFragmentRoot(org.eclipse.jdt.core.IPackageFragmentRoot) Test(org.junit.Test)

Example 49 with OrganizeImportsOperation

use of org.eclipse.jdt.internal.corext.codemanipulation.OrganizeImportsOperation in project che by eclipse.

the class ImportOrganizeTest method testStaticImports_bug159424.

public void testStaticImports_bug159424() throws Exception {
    IPackageFragmentRoot sourceFolder = JavaProjectHelper.addSourceContainer(fJProject1, "src");
    IPackageFragment pack0 = sourceFolder.createPackageFragment("pack0", false, null);
    StringBuffer buf = new StringBuffer();
    buf.append("package pack0;\n");
    buf.append("\n");
    buf.append("import java.util.List;\n");
    buf.append("\n");
    buf.append("public abstract class B {\n");
    buf.append("    private static List logger;\n");
    buf.append("}\n");
    pack0.createCompilationUnit("B.java", buf.toString(), false, null);
    IPackageFragment pack1 = sourceFolder.createPackageFragment("pack1", false, null);
    buf = new StringBuffer();
    buf.append("package pack1;\n");
    buf.append("\n");
    buf.append("import java.util.List;\n");
    buf.append("import pack0.B;\n");
    buf.append("\n");
    buf.append("public abstract class A {\n");
    buf.append("    private static List logger;\n");
    buf.append("\n");
    buf.append("    protected class BSubClass extends B {\n");
    buf.append("        public void someMethod() {\n");
    buf.append("            logger.toString();\n");
    buf.append("        }\n");
    buf.append("    }\n");
    buf.append("}\n");
    ICompilationUnit cu = pack1.createCompilationUnit("A.java", buf.toString(), false, null);
    String[] order = new String[] {};
    IChooseImportQuery query = createQuery("testStaticImports_bug159424", new String[] {}, new int[] {});
    OrganizeImportsOperation op = createOperation(cu, order, 99, false, true, true, query);
    op.run(null);
    // no changes, don't add 'logger' as static import
    assertEqualString(cu.getSource(), buf.toString());
}
Also used : ICompilationUnit(org.eclipse.jdt.core.ICompilationUnit) IPackageFragment(org.eclipse.jdt.core.IPackageFragment) OrganizeImportsOperation(org.eclipse.jdt.internal.corext.codemanipulation.OrganizeImportsOperation) IChooseImportQuery(org.eclipse.jdt.internal.corext.codemanipulation.OrganizeImportsOperation.IChooseImportQuery) IPackageFragmentRoot(org.eclipse.jdt.core.IPackageFragmentRoot)

Example 50 with OrganizeImportsOperation

use of org.eclipse.jdt.internal.corext.codemanipulation.OrganizeImportsOperation in project che by eclipse.

the class ImportOrganizeTest method test_bug78533.

@Test
public void test_bug78533() throws Exception {
    IPackageFragmentRoot sourceFolder = JavaProjectHelper.addSourceContainer(fJProject1, "src");
    IPackageFragment pack1 = sourceFolder.createPackageFragment("pack0", false, null);
    StringBuffer buf = new StringBuffer();
    buf.append("package pack0;\n");
    buf.append("public class A {\n");
    buf.append("    public <T extends Collection> void method1() { }\n");
    buf.append("}\n");
    ICompilationUnit cu = pack1.createCompilationUnit("A.java", buf.toString(), false, null);
    String[] order = new String[] {};
    IChooseImportQuery query = createQuery("MyClass", new String[] {}, new int[] {});
    OrganizeImportsOperation op = createOperation(cu, order, 99, false, true, true, query);
    op.run(null);
    buf = new StringBuffer();
    buf.append("package pack0;\n");
    buf.append("\n");
    buf.append("import java.util.Collection;\n");
    buf.append("\n");
    buf.append("public class A {\n");
    buf.append("    public <T extends Collection> void method1() { }\n");
    buf.append("}\n");
    assertEqualString(cu.getSource(), buf.toString());
}
Also used : ICompilationUnit(org.eclipse.jdt.core.ICompilationUnit) IPackageFragment(org.eclipse.jdt.core.IPackageFragment) OrganizeImportsOperation(org.eclipse.jdt.internal.corext.codemanipulation.OrganizeImportsOperation) IChooseImportQuery(org.eclipse.jdt.internal.corext.codemanipulation.OrganizeImportsOperation.IChooseImportQuery) IPackageFragmentRoot(org.eclipse.jdt.core.IPackageFragmentRoot) Test(org.junit.Test)

Aggregations

OrganizeImportsOperation (org.eclipse.jdt.internal.corext.codemanipulation.OrganizeImportsOperation)71 ICompilationUnit (org.eclipse.jdt.core.ICompilationUnit)70 IChooseImportQuery (org.eclipse.jdt.internal.corext.codemanipulation.OrganizeImportsOperation.IChooseImportQuery)70 Test (org.junit.Test)69 IPackageFragment (org.eclipse.jdt.core.IPackageFragment)67 IPackageFragmentRoot (org.eclipse.jdt.core.IPackageFragmentRoot)67 File (java.io.File)5 JUnitSourceSetup (org.eclipse.che.plugin.java.server.jdt.search.JUnitSourceSetup)5 Path (org.eclipse.core.runtime.Path)5 OrganizeImportResult (org.eclipse.che.ide.ext.java.shared.dto.OrganizeImportResult)1 NullProgressMonitor (org.eclipse.core.runtime.NullProgressMonitor)1 IBuffer (org.eclipse.jdt.core.IBuffer)1 IJavaProject (org.eclipse.jdt.core.IJavaProject)1 CodeGenerationSettings (org.eclipse.jdt.internal.corext.codemanipulation.CodeGenerationSettings)1 DocumentChangeListener (org.eclipse.jdt.internal.corext.format.DocumentChangeListener)1 BadLocationException (org.eclipse.jface.text.BadLocationException)1 Document (org.eclipse.jface.text.Document)1 IDocument (org.eclipse.jface.text.IDocument)1 TextEdit (org.eclipse.text.edits.TextEdit)1