Example usage for org.eclipse.jdt.core IPackageFragmentRoot createPackageFragment

List of usage examples for org.eclipse.jdt.core IPackageFragmentRoot createPackageFragment

Introduction

In this page you can find the example usage for org.eclipse.jdt.core IPackageFragmentRoot createPackageFragment.

Prototype

IPackageFragment createPackageFragment(String name, boolean force, IProgressMonitor monitor)
        throws JavaModelException;

Source Link

Document

Creates and returns a package fragment in this root with the given dot-separated package name.

Usage

From source file:org.eclipse.objectteams.otdt.ui.tests.core.OrganizeImportsTest.java

License:Open Source License

public void testStaticImportInGuard1() throws CoreException, BackingStoreException {
    IPackageFragmentRoot sourceFolder = JavaProjectHelper.addSourceContainer(_project, "src");

    IPackageFragment basePkg = sourceFolder.createPackageFragment("basePkg", false, null);
    StringBuffer buf = new StringBuffer();
    buf.append("package basePkg;\n");
    buf.append("public class B1 {\n");
    buf.append("   private static void testB1() { }");
    buf.append("}\n");
    basePkg.createCompilationUnit("B1.java", buf.toString(), false, null);

    IPackageFragment teamPkg = sourceFolder.createPackageFragment("teamPkg", false, null);
    buf = new StringBuffer();
    buf.append("package teamPkg;\n");
    buf.append("import static java.lang.Math.max;\n");
    buf.append("public team class T1 {\n");
    buf.append("    public class R1 playedBy B1 when (max(1,2)==2) {\n");
    buf.append("    }\n");
    buf.append("}\n");
    ICompilationUnit cu = teamPkg.createCompilationUnit("T1.java", buf.toString(), false, null);

    String[] order = new String[0];
    IChooseImportQuery query = createQuery("T1", new String[] {}, new int[] {});

    OrganizeImportsOperation op = createOperation(cu, order, 99, false, true, true, query);
    op.run(null);//from w w  w .  j  a va 2 s .c  o  m

    buf = new StringBuffer();
    buf.append("package teamPkg;\n");
    buf.append("import static java.lang.Math.max;\n");
    buf.append("\n");
    buf.append("import base basePkg.B1;\n");
    buf.append("public team class T1 {\n");
    buf.append("    public class R1 playedBy B1 when (max(1,2)==2) {\n");
    buf.append("    }\n");
    buf.append("}\n");
    assertEqualString(cu.getSource(), buf.toString());
}

From source file:org.eclipse.objectteams.otdt.ui.tests.core.OrganizeImportsTest.java

License:Open Source License

public void testStaticImportInGuard2() throws CoreException, BackingStoreException {
    IPackageFragmentRoot sourceFolder = JavaProjectHelper.addSourceContainer(_project, "src");

    IPackageFragment basePkg = sourceFolder.createPackageFragment("basePkg", false, null);
    StringBuffer buf = new StringBuffer();
    buf.append("package basePkg;\n");
    buf.append("public class B1 {\n");
    buf.append("   void testB1() { }");
    buf.append("}\n");
    basePkg.createCompilationUnit("B1.java", buf.toString(), false, null);

    IPackageFragment teamPkg = sourceFolder.createPackageFragment("teamPkg", false, null);
    buf = new StringBuffer();
    buf.append("package teamPkg;\n");
    buf.append("import static java.lang.Math.max;\n");
    buf.append("public team class T1 {\n");
    buf.append("    public class R1 playedBy B1 {\n");
    buf.append("       void rm() { }\n");
    buf.append("       rm <- after test\n");
    buf.append("         base when (max(1,2)==2);\n");
    buf.append("    }\n");
    buf.append("}\n");
    ICompilationUnit cu = teamPkg.createCompilationUnit("T1.java", buf.toString(), false, null);

    String[] order = new String[0];
    IChooseImportQuery query = createQuery("T1", new String[] {}, new int[] {});

    OrganizeImportsOperation op = createOperation(cu, order, 99, false, true, true, query);
    op.run(null);/*from   www.  j  av  a 2  s. c om*/

    buf = new StringBuffer();
    buf.append("package teamPkg;\n");
    buf.append("import static java.lang.Math.max;\n");
    buf.append("\n");
    buf.append("import base basePkg.B1;\n");
    buf.append("public team class T1 {\n");
    buf.append("    public class R1 playedBy B1 {\n");
    buf.append("       void rm() { }\n");
    buf.append("       rm <- after test\n");
    buf.append("         base when (max(1,2)==2);\n");
    buf.append("    }\n");
    buf.append("}\n");
    assertEqualString(cu.getSource(), buf.toString());
}

From source file:org.eclipse.objectteams.otdt.ui.tests.core.OrganizeImportsTest.java

License:Open Source License

public void testRoleHidesBase1() throws CoreException, BackingStoreException {
    IPackageFragmentRoot sourceFolder = JavaProjectHelper.addSourceContainer(_project, "src");

    IPackageFragment basePkg = sourceFolder.createPackageFragment("basePkg", false, null);
    StringBuffer buf = new StringBuffer();
    buf.append("package basePkg;\n");
    buf.append("public class B1 {\n");
    buf.append("}\n");
    basePkg.createCompilationUnit("B1.java", buf.toString(), false, null);

    IPackageFragment teamPkg = sourceFolder.createPackageFragment("teamPkg", false, null);
    buf = new StringBuffer();
    buf.append("package teamPkg;\n");
    buf.append("import base basePkg.B1;\n");
    buf.append("public team class T1 {\n");
    buf.append("    public class R2 {\n");
    buf.append("        B1 other;\n");
    buf.append("    }\n");
    buf.append("    public class B1 playedBy B1 {\n");
    buf.append("    }\n");
    buf.append("}\n");
    ICompilationUnit cu = teamPkg.createCompilationUnit("T1.java", buf.toString(), false, null);

    String[] order = new String[0];
    IChooseImportQuery query = createQuery("T1", new String[] {}, new int[] {});

    OrganizeImportsOperation op = createOperation(cu, order, 99, false, true, true, query);
    op.run(null);/*w w w  .  ja  v  a2 s  .com*/

    buf = new StringBuffer();
    buf.append("package teamPkg;\n");
    buf.append("import base basePkg.B1;\n");
    buf.append("public team class T1 {\n");
    buf.append("    public class R2 {\n");
    buf.append("        B1 other;\n");
    buf.append("    }\n");
    buf.append("    public class B1 playedBy B1 {\n");
    buf.append("    }\n");
    buf.append("}\n");
    assertEqualString(cu.getSource(), buf.toString());
}

From source file:org.eclipse.objectteams.otdt.ui.tests.core.OrganizeImportsTest.java

License:Open Source License

public void testImportRole() throws CoreException, BackingStoreException {
    IPackageFragmentRoot sourceFolder = JavaProjectHelper.addSourceContainer(_project, "src");

    IPackageFragment basePkg = sourceFolder.createPackageFragment("basePkg", false, null);
    StringBuffer buf = new StringBuffer();
    buf.append("package basePkg;\n");
    buf.append("public team class BaseTeam {\n");
    buf.append("    public class BaseRole {\n");
    buf.append("    }\n");
    buf.append("}\n");
    basePkg.createCompilationUnit("BaseTeam.java", buf.toString(), false, null);

    IPackageFragment teamPkg = sourceFolder.createPackageFragment("teamPkg", false, null);
    buf = new StringBuffer();
    buf.append("package teamPkg;\n");
    buf.append("import basePkg.BaseTeam;\n");
    buf.append("public team class T1 {\n");
    buf.append("    BaseTeam t;\n");
    buf.append("    BaseRole r;\n");
    buf.append("}\n");
    ICompilationUnit cu = teamPkg.createCompilationUnit("T1.java", buf.toString(), false, null);

    String[] order = new String[0];
    IChooseImportQuery query = createQuery("T1", new String[] {}, new int[] {});

    OrganizeImportsOperation op = createOperation(cu, order, 99, false, true, true, query);
    op.run(null);//from w ww  .j a va  2 s.c o m

    buf = new StringBuffer();
    buf.append("package teamPkg;\n");
    buf.append("import basePkg.BaseTeam;\n");
    buf.append("public team class T1 {\n");
    buf.append("    BaseTeam t;\n");
    buf.append("    BaseRole r;\n");
    buf.append("}\n");
    assertEqualString(cu.getSource(), buf.toString());
}

From source file:org.eclipse.objectteams.otdt.ui.tests.core.OrganizeImportsTest.java

License:Open Source License

public void testDontImportStaticField() throws CoreException, BackingStoreException {
    IPackageFragmentRoot sourceFolder = JavaProjectHelper.addSourceContainer(_project, "src");

    IPackageFragment basePkg = sourceFolder.createPackageFragment("basePkg", false, null);
    StringBuffer buf = new StringBuffer();
    buf.append("package basePkg;\n");
    buf.append("public class Base {\n");
    buf.append("    private static boolean field;\n");
    buf.append("    void m() {}\n");
    buf.append("}\n");
    basePkg.createCompilationUnit("Base.java", buf.toString(), false, null);

    IPackageFragment teamPkg = sourceFolder.createPackageFragment("teamPkg", false, null);
    buf = new StringBuffer();
    buf.append("package teamPkg;\n");
    buf.append("import base basePkg.Base;\n");
    buf.append("public team class T1 {\n");
    buf.append("    protected class R playedBy Base {\n");
    buf.append("       m <-replace m;\n");
    buf.append("        @SuppressWarnings({ \"inferredcallout\", \"decapsulation\" })\n");
    buf.append("      callin void m(){\n");
    buf.append("         boolean v = field;\n");
    buf.append("          System.out.println(v);\n");
    buf.append("      }\n");
    buf.append("    }\n");
    buf.append("}\n");
    ICompilationUnit cu = teamPkg.createCompilationUnit("T1.java", buf.toString(), false, null);

    String[] order = new String[0];
    IChooseImportQuery query = createQuery("T1", new String[] {}, new int[] {});

    OrganizeImportsOperation op = createOperation(cu, order, 99, false, true, true, query);
    op.run(null);//from   w  w w.ja v a 2 s  .  c  om

    // buf remains unchanged
    assertEqualString(cu.getSource(), buf.toString());
}

From source file:org.eclipse.pde.api.tools.tests.AbstractApiTest.java

License:Open Source License

/**
 * Creates a project with the given name and adds the default 'src' folder
 * /* w  w  w .  jav a2 s  .c om*/
 * @param name
 * @param packages an optional list of packages to add to the project when
 *            it is created
 * @throws Exception
 */
protected void createProject(final String name, String[] packages) throws Exception {
    if (name == null) {
        return;
    }

    // create project and import source
    IJavaProject jproject = ProjectUtils.createPluginProject(name,
            new String[] { PDE.PLUGIN_NATURE, ApiPlugin.NATURE_ID });
    assertNotNull("The java project must have been created", jproject); //$NON-NLS-1$

    IPackageFragmentRoot root = jproject
            .getPackageFragmentRoot(jproject.getProject().getFolder(ProjectUtils.SRC_FOLDER));
    assertTrue("the src root must have been created", root.exists()); //$NON-NLS-1$
    if (packages != null) {
        IPackageFragment fragment = null;
        for (int i = 0; i < packages.length; i++) {
            fragment = root.createPackageFragment(packages[i], true, new NullProgressMonitor());
            assertNotNull("the package fragment " + packages[i] + " cannot be null", fragment); //$NON-NLS-1$ //$NON-NLS-2$
        }
    }

    PluginRegistry.getWorkspaceModels();

    IApiBaseline baseline = getWorkspaceBaseline();
    assertNotNull("the workspace baseline cannot be null", baseline); //$NON-NLS-1$

    // This assertion caused intermittant failures, skipping it hasn't
    // caused any problems in the tests (Bug 368458)
    // IApiComponent component = baseline.getApiComponent(name);
    // assertNotNull("the test project api component must exist in the workspace baseline",
    // component);

}

From source file:org.eclipse.pde.api.tools.util.tests.ApiBaselineManagerTests.java

License:Open Source License

/**
 * Adds the package with the given name to the given package fragment root
 * //  w ww. ja v  a  2 s  . co m
 * @param the project to add the package to
 * @param srcroot the absolute path to the package fragment root to add the
 *            new package to
 * @param packagename the name of the new package
 * @return the new {@link IPackageFragment} or <code>null</code>
 */
public IPackageFragment assertTestPackage(IJavaProject project, IPath srcroot, String packagename)
        throws JavaModelException {
    IPackageFragment fragment = null;
    IPackageFragmentRoot root = project.findPackageFragmentRoot(srcroot);
    assertNotNull("the 'src' package fragment root must exist", root); //$NON-NLS-1$
    fragment = root.createPackageFragment(packagename, true, new NullProgressMonitor());
    assertNotNull("the new package '" + packagename + "' should have been created", fragment); //$NON-NLS-1$ //$NON-NLS-2$
    return fragment;
}

From source file:org.eclipse.rap.ui.internal.launch.rwt.tests.TestProject.java

License:Open Source License

public ICompilationUnit createJavaClass(String packageName, String className, String content)
        throws CoreException {
    initializeJavaProject();//w ww  .  java2s  .  com
    IProgressMonitor monitor = newProgressMonitor();
    IFile srcFolder = project.getFile(DEFAULT_SOURCE_FOLDER);
    IPackageFragmentRoot packageRoot = javaProject.findPackageFragmentRoot(srcFolder.getFullPath());
    IPackageFragment pkg = packageRoot.getPackageFragment(packageName);
    if (!pkg.exists()) {
        packageRoot.createPackageFragment(packageName, true, monitor);
    }
    String cuName = className + ".java";
    ICompilationUnit result = pkg.createCompilationUnit(cuName, content, true, monitor);
    waitForAutoBuild();
    return result;
}

From source file:org.eclipse.sapphire.java.jdt.ui.internal.JavaTypeCreateActionHandler.java

License:Open Source License

@Override

protected Object run(final Presentation context) {
    final Shell shell = ((FormComponentPresentation) context).shell();
    final Value<?> javaTypeNameValue = (Value<?>) property();

    if (javaTypeNameValue.malformed()) {
        return null;
    }/*from  w w  w.  j  a  va2 s . co  m*/

    final JavaTypeName javaTypeName = (JavaTypeName) javaTypeNameValue.content();

    if (javaTypeName.pkg() == null) {
        if (!MessageDialog.openConfirm(shell, discourageDialogTitle.text(), discourageDefaultPackage.text())) {
            return null;
        }
    }

    if (!Character.isUpperCase(javaTypeName.simple().charAt(0))) {
        if (!MessageDialog.openConfirm(shell, discourageDialogTitle.text(), discourageLowerCase.text())) {
            return null;
        }
    }

    final JavaTypeConstraintService javaTypeConstraintService = javaTypeNameValue
            .service(JavaTypeConstraintService.class);

    final IJavaProject jproj = javaTypeNameValue.element().adapt(IJavaProject.class);

    JavaTypeName expectedBaseClassTemp = null;
    final List<JavaTypeName> expectedInterfaces = new ArrayList<JavaTypeName>();

    if (javaTypeConstraintService != null) {
        final JavaTypeConstraintBehavior behavior = javaTypeConstraintService.behavior();

        final Collection<String> types = javaTypeConstraintService.types();
        final Iterator<String> iterator = types.iterator();

        for (int i = 0, n = (behavior == JavaTypeConstraintBehavior.ALL ? types.size()
                : min(1, types.size())); i < n; i++) {
            final String typeName = iterator.next();

            try {
                final IType type = jproj.findType(typeName.replace('$', '.'));

                if (type != null && type.exists()) {
                    if (type.isClass()) {
                        expectedBaseClassTemp = new JavaTypeName(typeName);
                    } else if (type.isInterface()) {
                        expectedInterfaces.add(new JavaTypeName(typeName));
                    }
                }
            } catch (Exception e) {
                Sapphire.service(LoggingService.class).log(e);
            }
        }
    }

    final JavaTypeName expectedBaseClass = expectedBaseClassTemp;

    final IRunnableWithProgress op = new IRunnableWithProgress() {
        public void run(final IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
            monitor.beginTask("", 7);

            final JavaTypeKind kind = JavaTypeCreateActionHandler.this.kind;

            final StringBuilder buf = new StringBuilder();

            if (javaTypeName.pkg() != null) {
                buf.append("package ");
                buf.append(javaTypeName.pkg());
                buf.append(";\n\n");
            }

            final List<JavaTypeName> imports = new ArrayList<JavaTypeName>();
            imports.add(javaTypeName);

            String base = null;

            if (kind == JavaTypeKind.CLASS && expectedBaseClass != null) {
                base = deriveSafeLocalName(expectedBaseClass, imports);
            }

            final List<String> interfaces = new ArrayList<String>();

            if (kind == JavaTypeKind.CLASS || kind == JavaTypeKind.INTERFACE) {
                for (JavaTypeName t : expectedInterfaces) {
                    interfaces.add(deriveSafeLocalName(t, imports));
                }
            }

            imports.remove(javaTypeName);

            if (!imports.isEmpty()) {
                for (JavaTypeName t : imports) {
                    buf.append("import ");
                    buf.append(t.qualified().replace('$', '.'));
                    buf.append(";\n");
                }

                buf.append('\n');
            }

            buf.append("public ");

            switch (kind) {
            case ANNOTATION:
                buf.append("@interface");
                break;
            case ENUM:
                buf.append("enum");
                break;
            case INTERFACE:
                buf.append("interface");
                break;
            default:
                buf.append("class");
            }

            buf.append(' ');
            buf.append(javaTypeName.simple());

            if (base != null) {
                buf.append(" extends ");
                buf.append(base);
            }

            if (!interfaces.isEmpty()) {
                buf.append(kind == JavaTypeKind.INTERFACE ? " extends " : " implements ");

                boolean first = true;

                for (String implementsType : interfaces) {
                    if (first) {
                        first = false;
                    } else {
                        buf.append(", ");
                    }

                    buf.append(implementsType);
                }
            }

            buf.append("\n{\n}\n");

            monitor.worked(1);

            final IProject proj = javaTypeNameValue.element().adapt(IProject.class);
            final IJavaProject jproj = JavaCore.create(proj);

            try {
                final IPackageFragmentRoot src = src(jproj);
                final IPackageFragment pkg = src.createPackageFragment(
                        (javaTypeName.pkg() == null ? "" : javaTypeName.pkg()), true, null);
                final ICompilationUnit cu = pkg.createCompilationUnit(javaTypeName.simple() + ".java",
                        buf.toString(), true, null);

                cu.save(null, true);

                monitor.worked(1);

                final IEditorPart editor = JavaUI.openInEditor(cu);
                final IWorkbenchPartSite site = editor.getSite();

                monitor.worked(1);

                if (kind == JavaTypeKind.CLASS) {
                    final IType type = cu.getType(javaTypeName.simple());

                    final ASTParser parser = createAstParser();
                    parser.setResolveBindings(true);
                    parser.setSource(cu);

                    final CompilationUnit ast = (CompilationUnit) parser.createAST(null);

                    ASTNode node = NodeFinder.perform(ast, type.getNameRange());

                    while (!(node instanceof AbstractTypeDeclaration)) {
                        node = node.getParent();
                    }

                    final ITypeBinding typeBinding = ((AbstractTypeDeclaration) node).resolveBinding();

                    final IWorkspaceRunnable addUnimplementedConstructorsOp = AddUnimplementedConstructorsAction
                            .createRunnable(ast, typeBinding, null, -1, false, Flags.AccPublic, false);

                    addUnimplementedConstructorsOp.run(null);

                    final IWorkspaceRunnable overrideMethodsOp = OverrideMethodsAction.createRunnable(ast,
                            typeBinding, null, -1, false);

                    overrideMethodsOp.run(null);
                }

                monitor.worked(1);

                final OrganizeImportsAction organizeImportsAction = new OrganizeImportsAction(site);
                organizeImportsAction.run(cu);

                monitor.worked(1);

                final FormatAllAction formatAllAction = new FormatAllAction(site);
                formatAllAction.runOnMultiple(new ICompilationUnit[] { cu });

                monitor.worked(1);

                editor.doSave(null);

                monitor.worked(1);
            } catch (CoreException e) {
                Sapphire.service(LoggingService.class).log(e);
            }

            monitor.done();
        }
    };

    try {
        (new ProgressMonitorDialog(shell)).run(false, false, op);
    } catch (InvocationTargetException e) {
        Sapphire.service(LoggingService.class).log(e);
    } catch (InterruptedException e) {
        // Should not happen.

        Sapphire.service(LoggingService.class).log(e);
    }

    return null;
}

From source file:org.eclipse.viatra.cep.tooling.ui.wizards.NewVeplFileWizardContainerConfigurationPage.java

License:Open Source License

public String getPackageName() {
    IPackageFragmentRoot root = getPackageFragmentRoot();

    IPackageFragment fragment = root.getPackageFragment(getPackageText());

    if (!fragment.exists()) {
        try {/*from www .  j a v a  2 s  .c  o  m*/
            root.createPackageFragment(getPackageText(), true, new NullProgressMonitor());
        } catch (JavaModelException e) {
            Activator.getDefault().logException("Cannot load packages " + e.getMessage(), e);
        }
    }

    return getPackageText();
}