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

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

Introduction

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

Prototype

IResource getResource();

Source Link

Document

Returns the innermost resource enclosing this element.

Usage

From source file:org.eclipselabs.spray.xtext.ui.commands.SprayJavaProjectUtil.java

License:Open Source License

/**
 * Returns <code>true</code> when the compilation unit is in the generated sources folder, does not end with the name "Base", but
 * has a sibling unit that has this name.
 *//*  www.  j  a va 2s . c om*/
public boolean isGeneratedExtensionFile(ICompilationUnit cu) {
    IPackageFragmentRoot pfRoot = getPackageFragmentRoot(cu);
    if (pfRoot != null && pfRoot.getResource().equals(getSrcGenFolder(cu.getResource().getProject()))) {
        IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
        IPath baseClassPath = new Path(cu.getPath().removeFileExtension().toString() + "Base.java");
        if (root.findMember(baseClassPath) != null) {
            return true;
        }
    }
    return false;
}

From source file:org.entirej.ide.core.project.EJFormConsistencyChecker.java

License:Apache License

protected IProject[] build(int kind, Map<String, String> args, IProgressMonitor monitor) throws CoreException {
    IResourceDelta delta = null;/*from  w w  w.j  a  v a2  s  .  co  m*/
    if (kind != FULL_BUILD)
        delta = getDelta(getProject());

    if (delta == null || kind == FULL_BUILD) {
        if (isInterestingProject(getProject())) {
            clean(monitor);
            IJavaProject project = JavaCore.create(getProject());
            // make sure it is refresh before build again
            EJPluginEntireJClassLoader.reload(project);
            IPackageFragmentRoot[] packageFragmentRoots = project.getPackageFragmentRoots();

            for (IPackageFragmentRoot iPackageFragmentRoot : packageFragmentRoots) {
                if (iPackageFragmentRoot.getResource() instanceof IContainer)
                    validateFormsIn((IContainer) iPackageFragmentRoot.getResource(), getValidateProviders(),
                            monitor);
            }
        }
    } else {
        delta.accept(new DeltaVisitor(monitor));
    }
    return new IProject[0];
}

From source file:org.entirej.ide.ui.editors.descriptors.AbstractProjectSrcFileDescriptor.java

License:Apache License

@Override
public String browseType() {
    List<IPackageFragmentRoot> elements = new ArrayList<IPackageFragmentRoot>();
    IJavaProject javaProject = projectProvider.getJavaProject();
    try {/*ww  w .j a  v a  2s. c o  m*/
        IPackageFragmentRoot[] roots = javaProject.getPackageFragmentRoots();
        for (int i = 0; i < roots.length; i++) {
            if (roots[i].getKind() == IPackageFragmentRoot.K_SOURCE) {
                elements.add(roots[i]);

            }
        }
    } catch (JavaModelException e) {
        EJCoreLog.logException(e);
    }

    final List<IResource> resources = new ArrayList<IResource>();
    for (IPackageFragmentRoot root : elements) {
        try {
            IResource resource = root.getResource();
            if (resource instanceof IContainer)
                ((IContainer) resource).accept(new IResourceProxyVisitor() {
                    public boolean visit(IResourceProxy proxy) {

                        if (proxy.isDerived()) {
                            return false;
                        }
                        int type = proxy.getType();
                        if ((IResource.FILE & type) != 0) {

                            IResource res = proxy.requestResource();

                            resources.add(res);
                            return true;

                        }
                        if (type == IResource.FILE) {
                            return false;
                        }
                        return true;
                    }
                }, IResource.NONE);
        } catch (CoreException e) {
            // ignore
        }
    }

    ResourceListSelectionDialog dialog = new ResourceListSelectionDialog(EJUIPlugin.getActiveWorkbenchShell(),
            resources.toArray(new IResource[0]));

    dialog.setTitle("Select File");
    dialog.setMessage("Select a project file:");

    if (dialog.open() == Window.OK) {
        Object[] result = dialog.getResult();
        if (result != null && result.length > 0) {
            IResource resource = (IResource) result[0];

            String chosenPath = resource.getFullPath().toPortableString();

            // Return the chosen package without the source directory path

            for (IPackageFragmentRoot root : elements) {
                String sourcePath = root.getPath().toPortableString();
                if (chosenPath.startsWith(sourcePath)) {
                    chosenPath = chosenPath.replace(sourcePath, "");
                    break;
                }
            }
            return chosenPath;
        }
    }

    return getValue();
}

From source file:org.entirej.ide.ui.editors.form.builder.EJFormConstBuilder.java

License:Apache License

protected IProject[] build(int kind, Map<String, String> args, IProgressMonitor monitor) throws CoreException {
    IResourceDelta delta = null;//from  ww  w.j  a v a2 s .  c om
    if (kind != FULL_BUILD)
        delta = getDelta(getProject());

    if (delta == null || kind == FULL_BUILD) {
        if (isInterestingProject(getProject())) {
            clean(monitor);
            IProject p = getProject();
            IJavaProject project = JavaCore.create(p);
            // make sure it is refresh before build again
            EJPluginEntireJClassLoader.reload(project);

            genPropertiesConstantFile(EJProject.getPropertiesFile(p), monitor);
            IPackageFragmentRoot[] packageFragmentRoots = project.getPackageFragmentRoots();

            for (IPackageFragmentRoot iPackageFragmentRoot : packageFragmentRoots) {
                if (iPackageFragmentRoot.getResource() instanceof IContainer)
                    genFormConstantsIn((IContainer) iPackageFragmentRoot.getResource(), monitor);
            }
            p.refreshLocal(IResource.DEPTH_INFINITE, monitor);
        }

    } else {
        delta.accept(new DeltaVisitor(monitor));
    }
    return new IProject[0];
}

From source file:org.entirej.ide.ui.refactoring.EJFormPackageMoveParticipant.java

License:Apache License

@Override
public Change createChange(IProgressMonitor pm) throws CoreException, OperationCanceledException {
    if (!getArguments().getUpdateReferences())
        return null;

    final IJavaElement[] elements = fElements.keySet().toArray(new IJavaElement[0]);
    final String[] newNames = getNewNames();

    IPackageFragmentRoot[] packageFragmentRoots = fProject.getPackageFragmentRoots();
    CompositeChange result = new CompositeChange(getName());
    for (IPackageFragmentRoot iPackageFragmentRoot : packageFragmentRoots) {
        if (iPackageFragmentRoot.getResource() instanceof IContainer)
            handelFormsIn((IContainer) iPackageFragmentRoot.getResource(), elements, newNames, result);
    }/*  www.  ja va  2 s  . co  m*/

    return result;

}

From source file:org.entirej.ide.ui.refactoring.EJFormTypeDeleteParticipant.java

License:Apache License

@Override
public Change createChange(IProgressMonitor pm) throws CoreException, OperationCanceledException {

    final IJavaElement[] elements = fElements.toArray(new IJavaElement[0]);

    IPackageFragmentRoot[] packageFragmentRoots = fProject.getPackageFragmentRoots();
    CompositeChange result = new CompositeChange(getName());
    for (IPackageFragmentRoot iPackageFragmentRoot : packageFragmentRoots) {
        if (iPackageFragmentRoot.getResource() instanceof IContainer)
            handelFormsIn((IContainer) iPackageFragmentRoot.getResource(), elements, result);
    }/*from  w  ww. j  a v  a  2s.c  o m*/

    return result;

}

From source file:org.entirej.ide.ui.refactoring.EJFormTypeMoveParticipant.java

License:Apache License

@Override
public Change createChange(IProgressMonitor pm) throws CoreException, OperationCanceledException {
    if (!getArguments().getUpdateReferences())
        return null;

    final IJavaElement[] elements = fElements.keySet().toArray(new IJavaElement[0]);
    final String[] newNames = getNewNames();

    IPackageFragmentRoot[] packageFragmentRoots = fProject.getPackageFragmentRoots();
    CompositeChange result = new CompositeChange(getName());
    for (IPackageFragmentRoot iPackageFragmentRoot : packageFragmentRoots) {
        if (iPackageFragmentRoot.getResource() instanceof IContainer)
            handelFormsIn((IContainer) iPackageFragmentRoot.getResource(), elements, newNames, result);
    }/*w  ww.j a  va  2s . co  m*/
    return result;

}

From source file:org.entirej.ide.ui.refactoring.EJFormTypeRenameParticipant.java

License:Apache License

@Override
public Change createChange(IProgressMonitor pm) throws CoreException, OperationCanceledException {
    if (!getArguments().getUpdateReferences())
        return null;

    final IJavaElement[] elements = fElements.keySet().toArray(new IJavaElement[0]);
    final String[] newNames = getNewNames();
    IPackageFragmentRoot[] packageFragmentRoots = fProject.getPackageFragmentRoots();
    CompositeChange result = new CompositeChange(getName());
    for (IPackageFragmentRoot iPackageFragmentRoot : packageFragmentRoots) {
        if (iPackageFragmentRoot.getResource() instanceof IContainer)
            handelFormsIn((IContainer) iPackageFragmentRoot.getResource(), elements, newNames, result);
    }//from  w  ww. ja v a  2  s .com

    return result;

}

From source file:org.entirej.ide.ui.refactoring.EJLovDefRenameParticipant.java

License:Apache License

@Override
public Change createChange(IProgressMonitor pm) throws CoreException, OperationCanceledException {
    if (!getArguments().getUpdateReferences() || fProject == null)
        return null;

    final IFile[] elements = fElements.keySet().toArray(new IFile[0]);
    final String[] newNames = getNewNames();
    IPackageFragmentRoot[] packageFragmentRoots = fProject.getPackageFragmentRoots();
    CompositeChange result = new CompositeChange(getName());

    for (int i = 0; i < elements.length; i++) {
        final IFile element = elements[i];
        String fileExtension = element.getFileExtension();
        final String newName = newNames[i];
        final IFile newelement = element.getParent().getFile(new Path(newName));
        final EJPluginFormProperties formProperties = getFormProperties(element, fProject);
        if (EJDevConstants.REFERENCED_LOVDEF_PROPERTIES_FILE_SUFFIX.equalsIgnoreCase(fileExtension)) {

            // rename Constants

            String formId = EJFormConstBuilder.getFormId(formProperties.getFormName());
            IFile formConstantsSource = EJFormConstBuilder.getFormJavaSource(element, pm, formId);
            if (formConstantsSource.exists()) {

                String newNameref = EJFormConstBuilder
                        .getFormId(newName.substring(0, newName.lastIndexOf(".")));

                String id = IJavaRefactorings.RENAME_COMPILATION_UNIT;
                RefactoringContribution contrib = RefactoringCore.getRefactoringContribution(id);
                RenameJavaElementDescriptor desc = (RenameJavaElementDescriptor) contrib.createDescriptor();
                desc.setUpdateReferences(true);
                desc.setProject(formConstantsSource.getProject().getName());
                desc.setJavaElement(JavaCore.create(formConstantsSource));
                desc.setNewName(newNameref);
                Refactoring refactoring = desc.createRefactoring(new RefactoringStatus());
                refactoring.checkInitialConditions(pm);
                refactoring.checkFinalConditions(pm);
                result.add(refactoring.createChange(pm));
            }// w w w.  j av a  2  s . c om
            Change propChange = new Change() {

                @Override
                public Change perform(IProgressMonitor pm) throws CoreException {

                    String oldName = element.getName();
                    oldName = oldName.substring(0, oldName.lastIndexOf("."));

                    List<EJPluginLovDefinitionProperties> definitionProperties = formProperties
                            .getLovDefinitionContainer().getAllLovDefinitionProperties();
                    for (EJPluginLovDefinitionProperties blockProp : definitionProperties) {

                        String newDef = newName.substring(0, newName.lastIndexOf("."));
                        blockProp.internalSetName(newDef);
                        blockProp.getBlockProperties().internalSetName(newDef);

                    }
                    FormPropertiesWriter write = new FormPropertiesWriter();
                    write.saveForm(formProperties, newelement, pm);

                    // do we need to support undo change as well ?
                    return null;
                }

                @Override
                public RefactoringStatus isValid(IProgressMonitor pm)
                        throws CoreException, OperationCanceledException {
                    return new RefactoringStatus();
                }

                @Override
                public void initializeValidationData(IProgressMonitor pm) {
                    // ignore

                }

                @Override
                public String getName() {
                    return String.format("Rename LOV definition name : %s.", element.getName());
                }

                @Override
                public Object getModifiedElement() {

                    return newelement;
                }
            };
            result.add(propChange);

        }
    }

    for (IPackageFragmentRoot iPackageFragmentRoot : packageFragmentRoots) {
        if (iPackageFragmentRoot.getResource() instanceof IContainer)
            handelFormsIn((IContainer) iPackageFragmentRoot.getResource(), elements, newNames, result);
    }

    return result;

}

From source file:org.entirej.ide.ui.refactoring.EJObjectGroupDefRenameParticipant.java

License:Apache License

@Override
public Change createChange(IProgressMonitor pm) throws CoreException, OperationCanceledException {
    if (!getArguments().getUpdateReferences() || fProject == null)
        return null;

    final IFile[] elements = fElements.keySet().toArray(new IFile[0]);
    final String[] newNames = getNewNames();
    IPackageFragmentRoot[] packageFragmentRoots = fProject.getPackageFragmentRoots();
    CompositeChange result = new CompositeChange(getName());

    for (int i = 0; i < elements.length; i++) {
        final IFile element = elements[i];
        String fileExtension = element.getFileExtension();
        final String newName = newNames[i];
        final IFile newelement = element.getParent().getFile(new Path(newName));
        final EJPluginFormProperties formProperties = getFormProperties(element, fProject);
        if (formProperties == null)
            continue;
        if (EJDevConstants.OBJECT_GROUP_PROPERTIES_FILE_SUFFIX.equalsIgnoreCase(fileExtension)) {

            // rename Constants

            String formId = EJFormConstBuilder.getFormId(formProperties.getFormName());
            IFile formConstantsSource = EJFormConstBuilder.getFormJavaSource(element, pm, formId);
            if (formConstantsSource.exists()) {

                String newNameref = EJFormConstBuilder
                        .getFormId(newName.substring(0, newName.lastIndexOf(".")));

                String id = IJavaRefactorings.RENAME_COMPILATION_UNIT;
                RefactoringContribution contrib = RefactoringCore.getRefactoringContribution(id);
                RenameJavaElementDescriptor desc = (RenameJavaElementDescriptor) contrib.createDescriptor();
                desc.setUpdateReferences(true);
                desc.setProject(formConstantsSource.getProject().getName());
                desc.setJavaElement(JavaCore.create(formConstantsSource));
                desc.setNewName(newNameref);
                Refactoring refactoring = desc.createRefactoring(new RefactoringStatus());
                refactoring.checkInitialConditions(pm);
                refactoring.checkFinalConditions(pm);
                result.add(refactoring.createChange(pm));
            }/*  w w w . jav  a  2s . co m*/
            Change propChange = new Change() {

                @Override
                public Change perform(IProgressMonitor pm) throws CoreException {

                    String oldName = element.getName();
                    oldName = oldName.substring(0, oldName.lastIndexOf("."));

                    List<EJPluginObjectGroupProperties> definitionProperties = formProperties
                            .getObjectGroupContainer().getAllObjectGroupProperties();
                    for (EJPluginObjectGroupProperties blockProp : definitionProperties) {

                        String newDef = newName.substring(0, newName.lastIndexOf("."));
                        blockProp.changeName(newDef);

                    }
                    FormPropertiesWriter write = new FormPropertiesWriter();
                    write.saveForm(formProperties, newelement, pm);

                    // do we need to support undo change as well ?
                    return null;
                }

                @Override
                public RefactoringStatus isValid(IProgressMonitor pm)
                        throws CoreException, OperationCanceledException {
                    return new RefactoringStatus();
                }

                @Override
                public void initializeValidationData(IProgressMonitor pm) {
                    // ignore

                }

                @Override
                public String getName() {
                    return String.format("Rename referenced ObjectGroup definition name : %s.",
                            element.getName());
                }

                @Override
                public Object getModifiedElement() {

                    return newelement;
                }
            };
            result.add(propChange);

        }
    }

    for (IPackageFragmentRoot iPackageFragmentRoot : packageFragmentRoots) {
        if (iPackageFragmentRoot.getResource() instanceof IContainer)
            handelFormsIn((IContainer) iPackageFragmentRoot.getResource(), elements, newNames, result);
    }

    return result;

}