Example usage for org.eclipse.jdt.core IPackageFragment getCorrespondingResource

List of usage examples for org.eclipse.jdt.core IPackageFragment getCorrespondingResource

Introduction

In this page you can find the example usage for org.eclipse.jdt.core IPackageFragment getCorrespondingResource.

Prototype

IResource getCorrespondingResource() throws JavaModelException;

Source Link

Document

Returns the resource that corresponds directly to this element, or null if there is no resource that corresponds to this element.

Usage

From source file:com.centurylink.mdw.plugin.ResourceWrapper.java

License:Apache License

public IFolder getFolder() throws JavaModelException {
    IFolder folder = null;/*from   ww  w .j av a2  s.co  m*/
    if (adaptable != null) {
        folder = (IFolder) adaptable.getAdapter(IFolder.class);
        if (folder == null) {
            // try as java element
            IPackageFragmentRoot pkgFragmentRoot = (IPackageFragmentRoot) adaptable
                    .getAdapter(IPackageFragmentRoot.class);
            if (pkgFragmentRoot != null) {
                IResource res = pkgFragmentRoot.getCorrespondingResource();
                folder = (IFolder) res.getAdapter(IFolder.class);
            } else {
                IPackageFragment pkgFragment = (IPackageFragment) adaptable.getAdapter(IPackageFragment.class);
                if (pkgFragment != null) {
                    IResource res = pkgFragment.getCorrespondingResource();
                    folder = (IFolder) res.getAdapter(IFolder.class);
                }
            }
        }
    } else {
        if (resourceObj instanceof IFolder) {
            folder = (IFolder) resourceObj;
        } else if (resourceObj instanceof IPackageFragmentRoot) {
            IPackageFragmentRoot pkgFragmentRoot = (IPackageFragmentRoot) resourceObj;
            IResource res = pkgFragmentRoot.getCorrespondingResource();
            folder = (IFolder) res.getAdapter(IFolder.class);
        } else if (resourceObj instanceof IPackageFragment) {
            IPackageFragment pkgFragment = (IPackageFragment) resourceObj;
            IResource res = pkgFragment.getCorrespondingResource();
            folder = (IFolder) res.getAdapter(IFolder.class);
        }
    }
    return folder;
}

From source file:com.google.gwt.eclipse.core.wizards.NewModuleWizard.java

License:Open Source License

@Override
public boolean performFinish() {

    IPackageFragmentRoot root = newModuleWizardPage.getPackageFragmentRoot();
    String packName = newModuleWizardPage.getModulePackageName();

    try {/*from  ww  w  . j a v  a  2 s.  co  m*/

        IPackageFragment createdPackageFragment = root.createPackageFragment(packName, false,
                new NullProgressMonitor());

        if (newModuleWizardPage.shouldCreateClientPackage()) {

            String clientPackName = null;

            if (packName == null || packName.length() == 0) {
                clientPackName = "client";
            } else {
                clientPackName = packName + ".client";
            }

            root.createPackageFragment(clientPackName, false, new NullProgressMonitor());
        }

        if (newModuleWizardPage.shouldCreatePublicPath()) {
            IFolder folder = (IFolder) createdPackageFragment.getCorrespondingResource();
            IFolder publicFolder = folder.getFolder("public");
            if (!publicFolder.exists()) {
                publicFolder.create(false, true, new NullProgressMonitor());
            }
        }

    } catch (Exception e) {
        MessageDialog.openError(getContainer().getShell(),
                "An error occurred while attempting to create a new GWT Module",
                NLS.bind(IDEWorkbenchMessages.WizardNewFileCreationPage_internalErrorMessage, e));

        GWTPluginLog.logError(e,
                "Unable to create new GWT Module with source folder: {0}, name: {1}, package: {2}, createClientPackage: {4}, createPublicPath: {5}",
                newModuleWizardPage.getPackageFragmentRootText(), newModuleWizardPage.getModuleName(),
                newModuleWizardPage.shouldCreateClientPackage(), newModuleWizardPage.shouldCreatePublicPath());

        return false;
    }

    // TODO: The actions of creating the client package and the public folder
    // are not undoable, even though the file creation is (since it delegates
    // to super.performFinish(), which uses an undoable file operation to create
    // the file). We should make the creation of the client package and public
    // path part of the same undoable operation.
    return super.performFinish();
}

From source file:org.datanucleus.ide.eclipse.wizard.createmetadata.MetadataCreationWizard.java

License:Open Source License

/**
 * Worker method creating the file resource and adding basic contents.
 * //  w  w w  . j av a2  s  .  co m
 * @param ProgressMonitor to show modal progress.
 * @throws CoreException
 */
private void doFinish(IProgressMonitor monitor) throws CoreException {
    final IPackageFragment packageFragment = model.getPackageFragment();
    final String fileName = model.getFileName();

    monitor.beginTask("Creating " + fileName, 2);
    IResource resource = packageFragment.getCorrespondingResource();
    IContainer container = (IContainer) resource;
    final IFile file = container.getFile(new Path(fileName));
    try {
        InputStream stream = MetadataCreationUtil.getMetadataContentStream(model);
        if (file.exists()) {
            file.setContents(stream, true, true, monitor);
        } else {
            file.create(stream, true, monitor);
        }
        stream.close();
    } catch (IOException e) {
    }
    monitor.worked(1);
    monitor.setTaskName("Opening file for editing...");
    getShell().getDisplay().asyncExec(new Runnable() {
        public void run() {
            IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
            try {
                IDE.openEditor(page, file, true);
            } catch (PartInitException e) {
            }
        }
    });
    monitor.worked(1);
}

From source file:org.eclipse.ajdt.core.javaelements.AJCompilationUnitManager.java

License:Open Source License

public List getAJCompilationUnitsForPackage(IPackageFragment pFragment)
        throws CoreException, JavaModelException {
    final List ajcus = new ArrayList();
    final IResource folder = pFragment.getCorrespondingResource();
    if (folder != null) {
        folder.accept(new IResourceVisitor() {

            public boolean visit(IResource resource) {
                if (resource instanceof IFile) {
                    if (CoreUtils.ASPECTJ_SOURCE_ONLY_FILTER.accept(resource.getName())) {
                        ajcus.add(getAJCompilationUnit((IFile) resource));
                    }/*  ww  w.j a  v a  2s .  com*/
                }
                return resource.equals(folder);
            }
        });
    }
    return ajcus;
}

From source file:org.eclipse.che.jdt.refactoring.RenamePackageTest.java

License:Open Source License

@Test
public void testReadOnly() throws Exception {
    if (BUG_6054) {
        printTestDisabledMessage("see bug#6054 (renaming a read-only package resets the read-only flag)");
        return;//w  w w .ja  v a  2s .  c o  m
    }

    fIsPreDeltaTest = true;
    String[] packageNames = new String[] { "r" };
    String[][] packageFileNames = new String[][] { { "A" } };
    String newPackageName = "p1";
    IPackageFragment[] packages = new IPackageFragment[packageNames.length];

    ICompilationUnit[][] cus = new ICompilationUnit[packageFileNames.length][packageFileNames[0].length];
    for (int i = 0; i < packageNames.length; i++) {
        packages[i] = getRoot().createPackageFragment(packageNames[i], true, null);
        for (int j = 0; j < packageFileNames[i].length; j++) {
            cus[i][j] = createCUfromTestFile(packages[i], packageFileNames[i][j],
                    packageNames[i].replace('.', '/') + "/");
        }
    }
    IPackageFragment thisPackage = packages[0];
    final IResource resource = thisPackage.getCorrespondingResource();
    final ResourceAttributes attributes = resource.getResourceAttributes();
    if (attributes != null)
        attributes.setReadOnly(true);
    RefactoringStatus result = performRefactoring(createRefactoringDescriptor(thisPackage, newPackageName));
    assertEquals("preconditions were supposed to pass", null, result);

    assertTrue("package not renamed", !getRoot().getPackageFragment(packageNames[0]).exists());
    IPackageFragment newPackage = getRoot().getPackageFragment(newPackageName);
    assertTrue("new package does not exist", newPackage.exists());
    assertTrue("new package should be read-only", attributes == null || attributes.isReadOnly());
}

From source file:org.eclipse.che.plugin.java.server.jdt.refactoring.RenamePackageTest.java

License:Open Source License

@Test
public void testReadOnly() throws Exception {
    if (BUG_6054) {
        printTestDisabledMessage("see bug#6054 (renaming a read-only package resets the read-only flag)");
        return;/*from  w w  w.j  av a  2s.  co m*/
    }

    fIsPreDeltaTest = true;
    String[] packageNames = new String[] { "r" };
    String[][] packageFileNames = new String[][] { { "A" } };
    String newPackageName = "p1";
    IPackageFragment[] packages = new IPackageFragment[packageNames.length];

    ICompilationUnit[][] cus = new ICompilationUnit[packageFileNames.length][packageFileNames[0].length];
    for (int i = 0; i < packageNames.length; i++) {
        packages[i] = getRoot().createPackageFragment(packageNames[i], true, null);
        for (int j = 0; j < packageFileNames[i].length; j++) {
            cus[i][j] = createCUfromTestFile(packages[i], packageFileNames[i][j],
                    packageNames[i].replace('.', '/') + "/");
        }
    }
    IPackageFragment thisPackage = packages[0];
    final IResource resource = thisPackage.getCorrespondingResource();
    final ResourceAttributes attributes = resource.getResourceAttributes();
    if (attributes != null)
        attributes.setReadOnly(true);
    RefactoringStatus result = performRefactoring(createRefactoringDescriptor(thisPackage, newPackageName));
    TestCase.assertEquals("preconditions were supposed to pass", null, result);

    assertTrue("package not renamed", !getRoot().getPackageFragment(packageNames[0]).exists());
    IPackageFragment newPackage = getRoot().getPackageFragment(newPackageName);
    assertTrue("new package does not exist", newPackage.exists());
    assertTrue("new package should be read-only", attributes == null || attributes.isReadOnly());
}

From source file:org.eclipse.emf.eson.ui.wizard.EFactoryNewFileWizardPage.java

License:Open Source License

/**
 * Tests if the current workbench selection is a suitable container to use.
 *///from  w w  w .jav  a  2s  .c  o  m

private void initialize() {
    if (selection != null && selection.isEmpty() == false && selection instanceof IStructuredSelection) {
        IStructuredSelection ssel = (IStructuredSelection) selection;
        if (ssel.size() > 1)
            return;
        Object obj = ssel.getFirstElement();
        if (obj instanceof IResource) {
            setContainerText((IResource) obj);
        } else if (obj instanceof IPackageFragment) {
            IPackageFragment packageFragment = (IPackageFragment) obj;
            try {
                setContainerText(packageFragment.getCorrespondingResource());
            } catch (JavaModelException e) {
                EFactoryLog.logError(e);
            }
        }
    }
    fileText.setText("model.efactory");
}

From source file:org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil.java

License:Open Source License

@SuppressWarnings("deprecation")
private static IFolder getPackageFolder(IProject project) throws JavaModelException {

    IJavaProject javaProject = JavaCore.create(project);
    IPackageFragmentRoot[] packageFragmentRoots = new IPackageFragmentRoot[0];
    final IClasspathEntry[] classpathEntries = javaProject.getRawClasspath();
    for (IClasspathEntry classpathEntry : classpathEntries) {
        if (classpathEntry.getEntryKind() == IClasspathEntry.CPE_SOURCE) {
            packageFragmentRoots = javaProject.getPackageFragmentRoots(classpathEntry);
            break;
        }//from  www.  j  a  va 2 s . c  o m
    }

    IPackageFragmentRoot packageFragmentRoot = packageFragmentRoots[0];
    Properties props = JPADiagramPropertyPage.loadProperties(project);
    IPackageFragment packageFragment = packageFragmentRoot
            .getPackageFragment(JPADiagramPropertyPage.getDefaultPackage(project, props));
    if (packageFragment.exists() == false) {
        packageFragment = packageFragmentRoot.createPackageFragment(
                JPADiagramPropertyPage.getDefaultPackage(project, props), true, new NullProgressMonitor());
    }
    IFolder folder = (IFolder) packageFragment.getCorrespondingResource();
    return folder;

}

From source file:org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil.java

License:Open Source License

@SuppressWarnings("deprecation")
static private boolean isJavaFileInProject(IProject project, String entityName, String defaultEntityPacakage) {
    IJavaProject javaProject = JavaCore.create(project);
    IPackageFragmentRoot[] packageFragmentRoots = new IPackageFragmentRoot[0];
    IClasspathEntry[] classpathEntries = null;
    try {/*from  w  w w.j  a  v a 2  s  .  co  m*/
        classpathEntries = javaProject.getRawClasspath();
    } catch (JavaModelException e) {
        JPADiagramEditorPlugin.logError("Cannot obtain the classpath", e); //$NON-NLS-1$   
        return false;
    }
    for (IClasspathEntry classpathEntry : classpathEntries) {
        if (classpathEntry.getEntryKind() == IClasspathEntry.CPE_SOURCE) {
            packageFragmentRoots = javaProject.getPackageFragmentRoots(classpathEntry);
            break;
        }
    }

    IPackageFragmentRoot packageFragmentRoot = packageFragmentRoots[0];
    IPackageFragment packageFragment = packageFragmentRoot
            .getPackageFragment(JPADiagramPropertyPage.getDefaultPackage(project));
    if (!packageFragment.exists())
        return false;
    IFolder folder = null;
    try {
        folder = (IFolder) packageFragment.getCorrespondingResource();
    } catch (JavaModelException e) {
        JPADiagramEditorPlugin.logError("Cannot obtain the folder", e); //$NON-NLS-1$   
        return false;
    }
    if (!folder.exists())
        return false;
    String entityShortName = entityName.substring(entityName.lastIndexOf('.') + 1);
    IFile file = folder.getFile(entityShortName + ".java"); //$NON-NLS-1$
    return file.exists();
}

From source file:org.eclipse.zest.dot.internal.ZestBuilder.java

License:Open Source License

private void importToGeneratedSourceFolder(final IFile dotFile) {
    try {/*from www  .j  a  va 2s.  c o  m*/
        IJavaProject javaProject = JavaCore.create(dotFile.getProject());
        String sourceGenPath = "/" + javaProject.getElementName() + "/" + ZestProjectWizard.SRC_GEN;
        IPackageFragmentRoot packageRoot = javaProject.findPackageFragmentRoot(new Path(sourceGenPath));
        IPackageFragment targetPackage = packageRoot.getPackageFragment(ZestProjectWizard.PACKAGE);
        IResource targetFolder = targetPackage.getCorrespondingResource();
        new DotImport(dotFile).newGraphSubclass((IContainer) targetFolder);
        targetFolder.refreshLocal(1, null);
    } catch (CoreException e) {
        e.printStackTrace();
    }
}