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

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

Introduction

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

Prototype

IPackageFragment getPackageFragment(String packageName);

Source Link

Document

Returns the package fragment with the given package name.

Usage

From source file:org.eclipse.che.jdt.refactoring.ccp.MoveTest.java

License:Open Source License

@Test
public void testDestination_no_fileToParentSourceFolder2() throws Exception {
    IPackageFragmentRoot root = getRoot();
    assertTrue(root.exists());//from w w  w . j a  v a 2  s . co  m
    IFolder superFolder = (IFolder) root.getPackageFragment("").getResource();
    IFile file = superFolder.getFile("a.txt");
    file.create(getStream("123"), true, null);

    IJavaElement[] javaElements = {};
    IResource[] resources = { file };
    JavaMoveProcessor ref = verifyEnabled(resources, javaElements, createReorgQueries());
    Object destination = root;
    verifyInvalidDestination(ref, destination);
}

From source file:org.eclipse.che.jdt.refactoring.ccp.MoveTest.java

License:Open Source License

@Test
public void testDestination_yes_cuToRoot() throws Exception {
    ParticipantTesting.reset();//  w  w  w. j  av a  2 s .c  o  m
    String newSource = "package p;class A{void foo(){}class Inner{}}";
    String oldSource = "package p;class A{void foo(){}class Inner{}}";
    ICompilationUnit cu1 = getPackageP().createCompilationUnit("A.java", oldSource, false,
            new NullProgressMonitor());
    IPackageFragmentRoot destination = JavaProjectHelper.addSourceContainer(getRoot().getJavaProject(), "src2");
    IJavaElement[] javaElements = { cu1 };
    IResource[] resources = {};
    String[] handles = ParticipantTesting
            .createHandles(new Object[] { cu1, cu1.getTypes()[0], cu1.getResource() });
    JavaMoveProcessor ref = verifyEnabled(resources, javaElements, createReorgQueries());

    verifyValidDestination(ref, destination);

    assertTrue("source file does not exist before moving", cu1.exists());
    RefactoringStatus status = performRefactoring(ref, true);
    assertEquals(null, status);
    assertTrue("source file exists after moving", !cu1.exists());
    ICompilationUnit newCu = destination.getPackageFragment("p").getCompilationUnit(cu1.getElementName());
    assertTrue("new file does not exist after moving", newCu.exists());
    assertEqualLines("source differs", newSource, newCu.getSource());

    ParticipantTesting.testMove(handles, new MoveArguments[] {
            new MoveArguments(destination.getPackageFragment("p"), ref.getUpdateReferences()),
            new MoveArguments(destination.getPackageFragment("p"), ref.getUpdateReferences()),
            new MoveArguments(destination.getPackageFragment("p").getResource(), ref.getUpdateReferences()) });

}

From source file:org.eclipse.che.plugin.java.server.JavaNavigation.java

License:Open Source License

public List<JarEntry> getChildren(IJavaProject project, int rootId, String path) throws JavaModelException {
    IPackageFragmentRoot root = getPackageFragmentRoot(project, rootId);
    if (root == null) {
        return NO_ENTRIES;
    }//from  w  ww .  jav  a2s . c  o m

    if (path.startsWith("/")) {
        // jar file and folders
        Object[] resources = root.getNonJavaResources();
        for (Object resource : resources) {
            if (resource instanceof JarEntryDirectory) {
                JarEntryDirectory directory = (JarEntryDirectory) resource;
                Object[] children = findJarDirectoryChildren(directory, path);
                if (children != null) {
                    return convertToJarEntry(children, root);
                }
            }
        }

    } else {
        // packages and class files
        IPackageFragment fragment = root.getPackageFragment(path);
        if (fragment == null) {
            return NO_ENTRIES;
        }
        return convertToJarEntry(getPackageContent(fragment), root);
    }
    return NO_ENTRIES;
}

From source file:org.eclipse.e4.xwt.ui.wizards.NewPresentationWizardPage.java

License:Open Source License

@Override
public void setPackageFragment(IPackageFragment pack, boolean canBeModified) {

    String name = pack.getElementName() + ".ui";
    IPackageFragmentRoot root = (IPackageFragmentRoot) pack.getParent();
    IPackageFragment packageFragment = root.getPackageFragment(name);
    super.setPackageFragment(packageFragment, canBeModified);
}

From source file:org.eclipse.gmf.internal.common.codegen.ImportUtil.java

License:Open Source License

public ImportUtil(String compilationUnitPackage, String compilationUnitName, IPackageFragmentRoot sourceRoot) {
    this(compilationUnitPackage, compilationUnitName);
    if (sourceRoot != null) {
        ICompilationUnit existingCU = sourceRoot.getPackageFragment(compilationUnitPackage)
                .getCompilationUnit(compilationUnitName + ".java"); //$NON-NLS-1$
        if (existingCU.exists()) {
            try {
                myImportManager.addCompilationUnitImports(existingCU.getSource());
            } catch (JavaModelException e) {
                //Ignore. The compilation unit imports will not be added, but we may proceed.
            }//from  ww w .  jav  a 2  s. co  m
        }
    }
}

From source file:org.eclipse.imp.wizards.IMPWizardPage.java

License:Open Source License

protected WizardDialog getDialogWithClassName(String componentID, String interfaceQualName,
        String superClassName, Text text, WizardDialog dialog, NewClassWizardPage page) {
    try {/*from   w  ww  .j  a  v  a 2 s.  c  o  m*/
        String intfName = interfaceQualName.substring(interfaceQualName.lastIndexOf('.') + 1);
        IJavaProject javaProject = JavaCore.create(getProjectOfRecord());
        if (javaProject == null) {
            ErrorHandler.reportError("Java project is null", true);
            return null;
        }
        // RMF 7/5/2005 - If the project doesn't yet have the necessary
        // plug-in
        // dependency for this reference to be satisfiable, an error ensues.
        if (interfaceQualName != null && interfaceQualName.length() > 0) {
            if (javaProject.findType(interfaceQualName) == null) {
                ErrorHandler.reportError("Base interface '" + interfaceQualName
                        + "' does not exist in project's build path; be sure to add the appropriate plugin to the dependencies.",
                        true);
                return null;
                // TODO: Do we want to continue from this point, or should
                // we just throw an exception?
            }
        }
        if (superClassName != null && superClassName.length() > 0) {
            if (javaProject.findType(superClassName) == null) {
                ErrorHandler.reportError("Base class '" + superClassName
                        + "' does not exist in project's build path; be sure to add the appropriate plugin to the dependencies.",
                        true);
                return null;
                // TODO: Do we want to continue from this point, or should
                // we just throw an exception?
            }
        }
        String givenPackageName = "";
        String givenClassName = "";
        if (text != null && text.getText().length() > 0) {
            givenPackageName = text.getText().substring(0, text.getText().lastIndexOf('.'));
            givenClassName = text.getText().substring(text.getText().lastIndexOf('.') + 1);
        }
        page.setSuperClass(superClassName, true);
        ArrayList<String> interfaces = new ArrayList<String>();
        if (interfaceQualName != null && interfaceQualName.length() > 0) {
            interfaces.add(interfaceQualName);
            page.setSuperInterfaces(interfaces, true);
        }
        String langName = fLanguageText.getText();
        String langClassName = upperCaseFirst(langName);
        String langPackageName = lowerCaseFirst(langName);
        // Compute name of package for new service class
        String servicePackageName = givenPackageName;
        if (servicePackageName == null || servicePackageName.length() == 0) {
            servicePackageName = "org.eclipse.imp."
                    + ((langPackageName == null || langPackageName.length() == 0) ? "" : langPackageName)
                    + componentID.substring(componentID.lastIndexOf('.') + 1);
        }
        // Compute unqualified name of new service class
        String serviceClassName = givenClassName;
        if (serviceClassName == null || serviceClassName.length() == 0) {
            serviceClassName = ((langClassName == null || langClassName.length() == 0) ? "" : langClassName);
            if (intfName.charAt(0) == 'I' && Character.isUpperCase(intfName.charAt(1)))
                serviceClassName = serviceClassName + intfName.substring(1);
            else
                serviceClassName = serviceClassName + intfName;
        }
        WizardUtilities.createSubFolders(servicePackageName.replace('.', '\\'), getProjectOfRecord(),
                new NullProgressMonitor());
        // SMS 2 Mar 2008: Setting of srcFolder could be more sophisticated
        // TODO: set srcFolder with a properly computed value
        IFolder srcFolder = getProjectOfRecord().getFolder("src/");
        IPackageFragmentRoot pkgFragRoot = javaProject.getPackageFragmentRoot(srcFolder);
        IPackageFragment pkgFrag = pkgFragRoot.getPackageFragment(servicePackageName);
        page.setPackageFragmentRoot(pkgFragRoot, true);
        page.setPackageFragment(pkgFrag, true);
        page.setTypeName(serviceClassName, true);
        // SWTUtil.setDialogSize(dialog, 400, 500);
        // if (dialog.open() == WizardDialog.OK) {
        // String name= page.getTypeName();
        // String pkg= page.getPackageText();
        // if (pkg.length() > 0)
        // name= pkg + '.' + name;
        // text.setText(name);
        // fPackageName= pkg;
        // }
        return dialog;
    } catch (Exception e) {
        ErrorHandler.reportError("Could not create class implementing " + interfaceQualName, true, e);
    }
    // return null;
    return dialog;
}

From source file:org.eclipse.incquery.tooling.ui.wizards.NewEiqFileWizardContainerConfigurationPage.java

License:Open Source License

/**
 * Returns the name of the package set in the wizard.
 * /*w ww.ja v  a2  s  .com*/
 * @return the name of the package
 */
public String getPackageName() {
    IPackageFragmentRoot root = getPackageFragmentRoot();

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

    if (!fragment.exists()) {
        try {
            root.createPackageFragment(getPackageText(), true, new NullProgressMonitor());
        } catch (JavaModelException e) {
            IncQueryGUIPlugin.getDefault().logException("Cannot load packages " + e.getMessage(), e);
        }
    }

    return getPackageText();
}

From source file:org.eclipse.jet.taglib.java.JavaActionsUtil.java

License:Open Source License

/**
 * Return the {@link IFolder} corresponding to the given Java package name.
 * @param sourceFolder the source folder containing the package
 * @param packageName the package name//ww w.  j av  a2 s .co  m
 * @return the folder corresponding to the package
 * @throws JET2TagException if the source folder is not valid.
 */
public static IContainer getContainerForPackage(IPath sourceFolder, String packageName)
        throws JET2TagException {
    IContainer result = null;
    if (sourceFolder == null || packageName == null) {
        throw new NullPointerException();
    }
    if (sourceFolder.segmentCount() == 0) {
        throw new IllegalArgumentException();
    }

    // if the JDT is not sync'd with the workspace changes, this may return null.
    IJavaElement jElementForFolder = JavaCore
            .create(ResourcesPlugin.getWorkspace().getRoot().findMember(sourceFolder));

    if (jElementForFolder == null) {
        // checkpoint the workspace (inform the builders) of our changes to date...
        ActionsUtil.checkpointWorkspace(false, new NullProgressMonitor());
        buildProject(sourceFolder.segment(0));
        // and try again...
        jElementForFolder = JavaCore.create(ResourcesPlugin.getWorkspace().getRoot().findMember(sourceFolder));
    }

    if (jElementForFolder != null) {
        // find the package fragment root corresponding to sourceFolder
        if (jElementForFolder instanceof IPackageFragmentRoot) {
            IPackageFragmentRoot root = (IPackageFragmentRoot) jElementForFolder;
            final IPackageFragment packageFragment = root.getPackageFragment(packageName);
            result = (IContainer) packageFragment.getResource();
        } else if (jElementForFolder instanceof IJavaProject) {
            try {
                result = (IContainer) findOrCreateJavaPackage((IJavaProject) jElementForFolder, packageName);
            } catch (JavaModelException e) {
                final String msg = JET2Messages.JavaActionsUtil_CannotFindSourceFolder;
                // it's serious this time, throw an exception;
                throw new JET2TagException(
                        MessageFormat.format(msg, new Object[] { sourceFolder.segment(0), packageName, }));
            }
        } else {
            throw new JET2TagException(MessageFormat.format(JET2Messages.JavaActionsUtil_InvalidSourceFolder,
                    new Object[] { sourceFolder.toString() }));
        }
    } else {
        throw new JET2TagException(MessageFormat.format(JET2Messages.JavaActionsUtil_InvalidSourceFolder,
                new Object[] { sourceFolder.toString() }));
    }
    return result;
}

From source file:org.eclipse.jpt.common.ui.internal.widgets.ClassChooserPane.java

License:Open Source License

protected void classChooserSubjectChanged(T newSubject) {
    IPackageFragment packageFragment = null;
    if (newSubject != null) {
        IPackageFragmentRoot root = getPackageFragmentRoot();
        if (root != null) {
            packageFragment = root.getPackageFragment("");
        }/*from w  w w.  jav a2 s  . co  m*/
    }
    this.javaTypeCompletionProcessor.setPackageFragment(packageFragment);
}

From source file:org.eclipse.jpt.jaxb.core.internal.gen.SchemaGenerator.java

License:Open Source License

private IPackageFragment findPackageFragementForSourceClassName(String sourceClassName) {

    if (this.classIsInDefaultPackage(sourceClassName)) {
        return this.emptyPackageFragment();
    }//w w  w .  jav  a 2  s .c o m
    String packageName = sourceClassName.substring(0, sourceClassName.lastIndexOf('.'));

    //Find the existing package fragment where we want to generate
    for (IPackageFragmentRoot pfr : JavaProjectTools.getSourceFolders(this.getJavaProject())) {
        //use the package of the first source class as the package for generation
        IPackageFragment packageFragment = pfr.getPackageFragment(packageName);
        if (packageFragment.exists()) {
            return packageFragment;
        }
    }
    //the existing package fragment was not found
    throw new IllegalStateException("Java package must exist for source class"); //$NON-NLS-1$
}