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.fusesource.ide.branding.wizards.NewCamelTestWizardPageOne.java

License:Open Source License

/**
 * Initialized the page with the current selection
 * /*from  w  w  w.  j a  v  a2s.  com*/
 * @param selection
 *            The selection
 */
public void init(IStructuredSelection selection) {
    IJavaElement elem = getInitialJavaElement(selection);
    IJavaProject jproject = elem.getJavaProject();
    IPackageFragmentRoot testRoot = null;

    if (selection != null && !selection.isEmpty()) {
        Object selectedElement = selection.getFirstElement();
        IFile ifile = null;

        if (selectedElement instanceof IFile) {
            ifile = (IFile) selectedElement;
        } else if (selectedElement instanceof IAdaptable) {
            IAdaptable adaptable = (IAdaptable) selectedElement;
            ifile = (IFile) adaptable.getAdapter(IFile.class);
        }

        if (ifile != null) {
            setXmlFileUnderTest(ifile);
        }

        // now we determine the container for the test classes
        if (jproject != null && jproject.exists()) {
            try {
                IPackageFragmentRoot[] roots = jproject.getPackageFragmentRoots();
                for (int i = 0; i < roots.length; i++) {
                    if (roots[i].getKind() == IPackageFragmentRoot.K_SOURCE) {
                        if (roots[i].getPath().toFile().getPath()
                                .contains(String.format("src%stest%sjava", File.separator, File.separator))) {
                            testRoot = roots[i];
                            break;
                        } else if (roots[i].getPath().toFile().getPath()
                                .contains(String.format("src%stest%sscala", File.separator, File.separator))) {
                            testRoot = roots[i];
                            // we will prefer the src/test/java folder, so we don't break here and search for it
                        }
                    }
                }
            } catch (Exception ex) {
                Activator.getLogger().error(ex);
            }
        }
    }

    if (elem != null) {
        initContainerPage(elem);

        // if we found a suitable test class container then we set it here
        if (testRoot != null) {
            // set the container correctly
            setPackageFragmentRoot(testRoot, true);
        }

        IJavaProject project = elem.getJavaProject();
        resourceContainer = project.getProject();

        // evaluate the enclosing type
        IPackageFragment pack = (IPackageFragment) elem.getAncestor(IJavaElement.PACKAGE_FRAGMENT);
        if (pack != null) {
            setPackageFragment(pack, true);
        } else {
            File testFolderFile = project.getProject().getParent().getRawLocation()
                    .append(getPackageFragmentRoot().getPath().makeRelative()).toFile();
            File f = getBasePackage(testFolderFile);
            if (f != null && testRoot != null) {
                IPath p = new Path(f.getPath());
                p = p.makeRelativeTo(project.getProject().getParent().getRawLocation()
                        .append(getPackageFragmentRoot().getPath().makeRelative()));
                String name = "";
                StringTokenizer strTok = new StringTokenizer(p.toOSString(), File.separator);
                while (strTok.hasMoreTokens()) {
                    String tok = strTok.nextToken();
                    if (name.trim().length() > 0) {
                        name += ".";
                    }
                    name += tok;
                }
                try {
                    IPackageFragment pf = testRoot.createPackageFragment(name, true, new NullProgressMonitor());
                    setPackageFragment(pf, true);
                } catch (Exception ex) {
                    Activator.getLogger().error(ex);
                }
            }
        }

        if (fXmlFileUnderTest == null) {
            try {
                // if we have no file selected yet, lets see if there's a
                // single one available
                List<IFile> files = ResourceModelUtils.filter(resourceContainer,
                        new org.fusesource.ide.foundation.core.util.Filter<IFile>() {
                            @Override
                            public boolean matches(IFile file) {
                                if (Objects.equal(file.getFileExtension(), "xml")) {
                                    return camelXmlMatcher.matches(file);
                                }
                                return false;
                            }
                        });
                if (files.size() == 1) {
                    setXmlFileUnderTest(files.get(0));
                }
            } catch (Exception e) {
                Activator.getLogger().error("Failed to search for Camel XML files: " + e, e);
            }
        }
    }
    setJUnit4(true, true);
    updateStatus(getStatusList());
}

From source file:org.grails.ide.eclipse.test.gsp.AbstractGSPTagsTest.java

License:Open Source License

protected GroovyCompilationUnit createTagLib(String contents) throws Exception {
    IPackageFragmentRoot root = testProject.createSourceFolder("grails-app/taglib", null);
    IPackageFragment pack = root.createPackageFragment("nuthin", true, null);
    IFile file = testProject.createGroovyType(pack, "NuthinTagLib.groovy",
            "class NuthinTagLib {\n " + contents + "}");
    return (GroovyCompilationUnit) JavaCore.createCompilationUnitFrom(file);
}

From source file:org.grails.ide.eclipse.test.gsp.AbstractGSPTagsTest.java

License:Open Source License

protected GroovyCompilationUnit createController(String contents) throws Exception {
    IPackageFragmentRoot root = testProject.createSourceFolder("grails-app/controllers", null);
    IPackageFragment pack = root.createPackageFragment("nuthin", true, null);
    IFile file = testProject.createGroovyType(pack, "NuthinController.groovy",
            "class NuthinController {\n " + contents + "}");
    return (GroovyCompilationUnit) JavaCore.createCompilationUnitFrom(file);
}

From source file:org.grails.ide.eclipse.test.gsp.GSPStructuredModelCreationTests.java

License:Open Source License

public void testCreateModel8() throws Exception {
    // create this first so it doesn't force a second uninitialize
    IPackageFragmentRoot root = testProject.createSourceFolder("grails-app/taglib", null);
    IPackageFragment pack = root.createPackageFragment("nuthin", true, null);

    createModel("foo.gsp", "TTT");
    PerProjectTagProvider provider = getTagProvider();
    provider.getDocumentForTagName("nuthin");

    testProject.createGroovyType(pack, "NuthinTagLib.groovy", "class NuthinTagLib { }");

    provider.getDocumentForTagName("nuthin");

    // it looks like on the build server uninitialize can be called twice
    // that will increase the number of statuses from 7 to 9
    List<IStatus> statuses = logger.getAllEntriesWithPrefix("PerProjectTagProvider");
    assertTrue("Found wrong number of statuses:\n" + logger.getSomeEntriesAsText(statuses),
            statuses.size() == 7 || statuses.size() == 9);
    int i = 0;//from w w  w.  j  a v  a2s.co m
    assertConnectStatus(statuses, i++);
    assertInitializeStatus(statuses, i++);
    assertInitializeTagTrackersStatus(statuses, i++);
    assertUninitializeStatus(statuses, i++);
    assertUninitializeTagTrackersStatus(statuses, i++);
    if (statuses.size() == 9) {
        assertUninitializeStatus(statuses, i++);
        assertUninitializeTagTrackersStatus(statuses, i++);
    }
    assertInitializeStatus(statuses, i++);
    assertInitializeTagTrackersStatus(statuses, i++);
}

From source file:org.hibernate.eclipse.console.test.project.SimpleTestProject.java

License:Open Source License

private IPackageFragment buildPackage(String name, IProject project, IJavaProject javaProject)
        throws CoreException {
    IPackageFragmentRoot sourceFolder = buildSourceFolder(project, javaProject);
    return sourceFolder.createPackageFragment(name, false, null);
}

From source file:org.hibernate.eclipse.criteriaeditor.CriteriaEditorTest.java

License:Open Source License

public void testCriteriaCodeCompletion()
        throws CoreException, NoSuchFieldException, IllegalAccessException, IOException {
    cleanUpProject();/*from  w  ww . ja  v a 2s .c  o  m*/
    project = new SimpleTestProjectWithMapping(PROJ_NAME);

    IPackageFragmentRoot sourceFolder = project.createSourceFolder();
    IPackageFragment pf = sourceFolder.createPackageFragment(SimpleTestProject.PACKAGE_NAME, false, null);
    ConsoleConfigUtils.customizeCfgXmlForPack(pf);
    List<IPath> libs = new ArrayList<IPath>();
    project.generateClassPath(libs, sourceFolder);
    project.fullBuild();

    //setup console configuration
    IPath cfgFilePath = new Path(project.getIProject().getName() + File.separator + TestProject.SRC_FOLDER
            + File.separator + ConsoleConfigUtils.CFG_FILE_NAME);
    ConsoleConfigUtils.createConsoleConfig(PROJ_NAME, cfgFilePath, CONSOLE_NAME);
    ConsoleConfiguration cc = KnownConfigurations.getInstance().find(CONSOLE_NAME);
    assertNotNull("Console Configuration not found", cc); //$NON-NLS-1$
    cc.build();

    String query = "Object o = new Object();\n" + //$NON-NLS-1$
            "System.out.print(o.toString());"; //$NON-NLS-1$
    IEditorPart editorPart = HibernateConsolePlugin.getDefault().openCriteriaEditor(CONSOLE_NAME, query);
    assertTrue("Opened editor is not CriteriaEditor", editorPart instanceof CriteriaEditor); //$NON-NLS-1$

    CriteriaEditor editor = (CriteriaEditor) editorPart;
    assertEquals(editor.getEditorText(), query);

    QueryInputModel model = editor.getQueryInputModel();
    assertTrue(model.getParameterCount() == 0);

    editor.setConsoleConfigurationName(CONSOLE_NAME);

    JavaCompletionProcessor processor = new JavaCompletionProcessor(editor);

    int position = query.indexOf("toString()"); //$NON-NLS-1$
    ICompletionProposal[] proposals = processor.computeCompletionProposals(null, position);
    assertTrue("Class java.lang.Object has at least 9 methods. But " + proposals.length //$NON-NLS-1$
            + " code completion proposals where provided.", proposals.length >= 9); //$NON-NLS-1$
    cc.reset();
}

From source file:org.hibernate.eclipse.hqleditor.HQLEditorTest.java

License:Open Source License

public void testHQLEditorCodeCompletionWithTabs()
        throws CoreException, NoSuchFieldException, IllegalAccessException {
    cleanUpProject();// www .j  a v  a  2 s .  c  o m
    project = new SimpleTestProjectWithMapping(PROJ_NAME);

    IPackageFragmentRoot sourceFolder = project.createSourceFolder();
    IPackageFragment pf = sourceFolder.createPackageFragment(SimpleTestProject.PACKAGE_NAME, false, null);
    ConsoleConfigUtils.customizeCfgXmlForPack(pf);
    List<IPath> libs = new ArrayList<IPath>();
    project.generateClassPath(libs, sourceFolder);
    project.fullBuild();

    //setup console configuration
    IPath cfgFilePath = new Path(project.getIProject().getName() + File.separator + TestProject.SRC_FOLDER
            + File.separator + ConsoleConfigUtils.CFG_FILE_NAME);
    ConsoleConfigUtils.createConsoleConfig(PROJ_NAME, cfgFilePath, CONSOLE_NAME);
    ConsoleConfiguration cc = KnownConfigurations.getInstance().find(CONSOLE_NAME);
    assertNotNull("Console Configuration not found", cc); //$NON-NLS-1$
    cc.build();

    final String codeCompletionPlaceMarker = " from "; //$NON-NLS-1$
    final String query = "select\t \tt1." + codeCompletionPlaceMarker + //$NON-NLS-1$
            project.getFullyQualifiedTestClassName() + " t1"; //$NON-NLS-1$
    IEditorPart editorPart = HibernateConsolePlugin.getDefault().openScratchHQLEditor(CONSOLE_NAME, query);
    assertTrue("Opened editor is not HQLEditor", editorPart instanceof HQLEditor); //$NON-NLS-1$

    HQLEditor editor = (HQLEditor) editorPart;
    assertEquals(editor.getEditorText(), query);

    QueryInputModel model = editor.getQueryInputModel();
    assertTrue(model.getParameterCount() == 0);

    editor.setConsoleConfigurationName(CONSOLE_NAME);
    IDocument doc = editor.getDocumentProvider().getDocument(editor.getEditorInput());

    HQLCompletionProcessor processor = new HQLCompletionProcessor(editor);

    int position = query.indexOf(codeCompletionPlaceMarker);
    ICompletionProposal[] proposals = processor.computeCompletionProposals(doc, position);
    assertTrue(proposals.length > 0);
    cc.reset();
}

From source file:org.isoe.fwk.deployer.M2Handler.java

License:Open Source License

private void generateClass(String packageName, String className, String interfaceName,
        IPackageFragmentRoot projectRoot) {
    if (packageName == null)
        packageName = "";
    String packagePrefix = packageName;
    try {//from  w  w  w.  j a v a 2 s .c  o  m
        IPackageFragment pkgFragment = projectRoot.createPackageFragment(packageName, true,
                new NullProgressMonitor());
        if (packagePrefix.length() > 0)
            packagePrefix = "package " + packagePrefix + ";";
        pkgFragment.createCompilationUnit(className + ".java",
                MessageFormat.format(CLASS_TEMPLATE, new Object[] { packagePrefix, className, interfaceName }),
                true, new NullProgressMonitor());
    } catch (JavaModelException e) {
        throw new RuntimeException(e.getMessage());
    }

}

From source file:org.isoe.fwk.deployer.M2Handler.java

License:Open Source License

private void generateInterface(String packageName, String itfName, IPackageFragmentRoot projectRoot) {
    if (packageName == null)
        packageName = "";
    String packagePrefix = packageName;
    try {/*from  w w w  .  j  a  v a  2 s  .  c  o  m*/
        IPackageFragment pkgFragment = projectRoot.createPackageFragment(packageName, true,
                new NullProgressMonitor());
        if (packagePrefix.length() > 0)
            packagePrefix = "package " + packagePrefix + ";";
        pkgFragment.createCompilationUnit(itfName + ".java",
                MessageFormat.format(INTERFACE_TEMPLATE, new Object[] { packagePrefix, itfName }), true,
                new NullProgressMonitor());
    } catch (JavaModelException e) {
        throw new RuntimeException(e.getMessage());
    }
}

From source file:org.isoe.fwk.megamodel.deploy.EmfHandler.java

License:Open Source License

private void generateUserInterface(String fqClassName, // FP150313
        IPackageFragmentRoot projectRoot, StringBuffer exportedPackages) {
    String className = CodeGenUtil.getSimpleClassName(fqClassName);
    String packageName = CodeGenUtil.getPackageName(fqClassName);
    if (packageName == null) {
        packageName = "";
    }//from ww  w . ja va2s  .  com
    String packagePrefix = packageName;
    try {
        IPackageFragment pkgFragment = projectRoot.createPackageFragment(packageName, true,
                new NullProgressMonitor());
        if (packagePrefix.length() > 0)
            packagePrefix = "package " + packagePrefix + ";";
        pkgFragment.createCompilationUnit(className + ".java",
                MessageFormat.format(INTERFACE_TEMPLATE, new Object[] { packagePrefix, className }), true,
                new NullProgressMonitor());
    } catch (JavaModelException e) {
        throw new RuntimeException(e.getMessage());
    }
    if (packageName.length() > 0 && exportedPackages.indexOf(packageName) == -1) {
        exportedPackages.append(",");
        exportedPackages.append(packageName);
    }
}