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

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

Introduction

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

Prototype

int getKind() throws JavaModelException;

Source Link

Document

Returns this package fragment root's kind encoded as an integer.

Usage

From source file:com.windowtester.eclipse.ui_tool.WTConvertAPIContextBuilderTool.java

License:Open Source License

/**
 * Recursively iterate over the elements in the specified java element looking for
 * WindowTester classes and members./*from   w ww. j  a  v  a  2s . c om*/
 * 
 * @param root the package fragment root (not <code>null</code>)
 */
private void scanPackageRoot(IPackageFragmentRoot root) throws JavaModelException {
    if (root.getKind() != IPackageFragmentRoot.K_SOURCE)
        return;
    IJavaElement[] children = root.getChildren();
    for (int i = 0; i < children.length; i++)
        scanElement(children[i]);
}

From source file:com.worldline.awltech.i18ntools.wizard.core.ui.RefactoringWizardConfiguration.java

License:Open Source License

/**
 * Returns the first source folder available in the list. The last one
 * should be a default value that can be returned if none is found. If last
 * one is null, the first source folder found in the project will be
 * returned./*from   ww w  .j a v  a 2 s  . com*/
 * 
 * @param sourceFolders
 * @return
 */
private String getSourceFolder(final String... sourceFolders) {

    // We look for all the source folders specified, except the last one.
    for (int i = 0; i < sourceFolders.length - 1; i++) {
        final IFolder folder = this.project.getFolder(new Path(sourceFolders[i]));
        if (folder.exists()) {
            final IJavaElement javaElement = JavaCore.create(folder);
            try {
                if (javaElement != null && javaElement.getElementType() == IJavaElement.PACKAGE_FRAGMENT_ROOT
                        && ((IPackageFragmentRoot) javaElement).getKind() == IPackageFragmentRoot.K_SOURCE) {
                    return sourceFolders[i];
                }
            } catch (final JavaModelException e) {
                Activator.getDefault().getLog().log(new Status(IStatus.ERROR, Activator.PLUGIN_ID,
                        RefactoringWizardMessages.ERROR_SEEK_SOURCEFOLDER.value(), e));
            }
        }
    }

    if (sourceFolders.length > 0 && sourceFolders[sourceFolders.length - 1] == null) {
        final IJavaProject javaProject = JavaCore.create(this.project);
        try {
            final IPackageFragmentRoot[] allPackageFragmentRoots = javaProject.getAllPackageFragmentRoots();
            for (final IPackageFragmentRoot packageFragmentRoot : allPackageFragmentRoots) {
                if (packageFragmentRoot.getKind() == IPackageFragmentRoot.K_SOURCE) {
                    return packageFragmentRoot.getPath().makeRelativeTo(this.project.getFullPath()).toString();
                }
            }
        } catch (final JavaModelException e) {
            Activator.getDefault().getLog().log(new Status(IStatus.ERROR, Activator.PLUGIN_ID,
                    RefactoringWizardMessages.ERROR_SEEK_SOURCEFOLDER.value(), e));
        }

    }

    return null;
}

From source file:de.fxworld.generationgap.GapConfiguration.java

License:Open Source License

public void resetDefault() {
    final IProject project = getJavaProject().getProject();
    final List<String> genModels = new ArrayList<String>();
    final List<String> clearSrcPaths = new ArrayList<String>();

    setGenerateEdit(false);/*from   ww  w . j av  a2 s  . c  o  m*/
    setGenerateEditor(false);
    setGenerateCustomClasses(false);

    // add all generator models
    try {
        project.accept(new IResourceVisitor() {

            @Override
            public boolean visit(IResource resource) throws CoreException {
                if ((resource != null) && (resource instanceof IFile)) {
                    IFile file = (IFile) resource;

                    if ((file.exists()) && ("genmodel".equals(file.getFileExtension()))) {
                        genModels.add(file.getProjectRelativePath().toString());
                    }
                }

                return true; // visit children too
            }
        });

    } catch (CoreException e) {
        e.printStackTrace();
    }

    // get all source paths
    try {
        boolean found = false;

        for (IPackageFragmentRoot root : javaProject.getAllPackageFragmentRoots()) {
            if ((root.getKind() == IPackageFragmentRoot.K_SOURCE) && (root.getJavaProject() == javaProject)) {
                if (root.getElementName().contains("src-gen")) {
                    clearSrcPaths.add(root.getResource().getProjectRelativePath().toString());

                } else if (!found) {
                    setCustomSrcPath(root.getResource().getProjectRelativePath().toString());
                    found = true;
                }
            }
        }

    } catch (JavaModelException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    setGenModels(genModels);
    setSrcPaths(clearSrcPaths);
}

From source file:de.fxworld.generationgap.GapEclipseWorkflow.java

License:Open Source License

protected List<String> getSourceFolders(IProject project) {
    List<String> result = new ArrayList<String>();
    IJavaProject javaProject = JavaCore.create(project);
    IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();

    try {/*  w  ww .j  av  a2 s . c o m*/
        for (IPackageFragmentRoot packageFragmentRoot : javaProject.getPackageFragmentRoots()) {
            if (packageFragmentRoot.getKind() == IPackageFragmentRoot.K_SOURCE) {
                IPath path = packageFragmentRoot.getPath();
                IFolder folder = root.getFolder(path);
                String location = folder.getLocation().toString();

                if (!location.contains("src-gen")) {
                    result.add(location);
                }
            }
        }

        for (IProject referencedProject : javaProject.getProject().getReferencedProjects()) {
            if (referencedProject.isAccessible() && referencedProject.hasNature(JavaCore.NATURE_ID)) {
                result.addAll(getSourceFolders(referencedProject));
            }
        }

    } catch (JavaModelException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();

    } catch (CoreException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    return result;
}

From source file:de.fxworld.generationgap.ui.properties.GapPropertyPage.java

License:Open Source License

protected String[] getSourceFolders(GapConfiguration configuration) {
    List<String> result = new ArrayList<String>();
    IJavaProject project = configuration.getJavaProject();

    try {//from  ww  w .j  a va 2s.com
        for (IPackageFragmentRoot root : project.getAllPackageFragmentRoots()) {
            if ((root.getKind() == IPackageFragmentRoot.K_SOURCE) && (root.getJavaProject() == project)) {
                result.add(root.getElementName());
            }
        }

    } catch (JavaModelException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    // TODO Auto-generated method stub

    return result.toArray(new String[result.size()]);
}

From source file:de.fxworld.generationgap.ui.properties.SourceFolderContentProvider.java

License:Open Source License

@Override
public Object[] getElements(Object inputElement) {
    List<Object> result = new ArrayList<Object>();
    IJavaProject javaProject = (IJavaProject) inputElement;

    try {//  w w w .j av  a2s. c  o m
        for (IPackageFragmentRoot root : javaProject.getAllPackageFragmentRoots()) {
            if ((root.getKind() == IPackageFragmentRoot.K_SOURCE) && (root.getJavaProject() == javaProject)) {
                result.add(root);
            }
        }

    } catch (JavaModelException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    return result.toArray();
}

From source file:edu.brown.cs.bubbles.bedrock.BedrockEditor.java

License:Open Source License

/********************************************************************************/

void handleDelete(String proj, String what, String path) throws BedrockException {
    IResource rs = null;/*w  w  w. j av a 2  s.  c  o  m*/
    FileData fd = null;
    IProject ip = our_plugin.getProjectManager().findProject(proj);
    IJavaProject ijp = JavaCore.create(ip);

    if (what.equals("PROJECT")) {
        if (ip == null)
            throw new BedrockException("Can't find project to delete");
        rs = ip;
    } else if (what.equals("FILE")) {
        fd = file_map.get(path);
        if (fd != null) {
            rs = fd.getSearchUnit().getResource();
        }
        if (rs == null)
            throw new BedrockException("Can't find file to delete");
    } else if (what.equals("CLASS")) {
        IType ityp = null;
        String bcls = baseClassName(path);
        String file = getFileFromClass(proj, bcls);
        fd = file_map.get(file);
        try {
            if (ijp != null)
                ityp = ijp.findType(bcls);
        } catch (JavaModelException e) {
        }
        if (ityp == null)
            throw new BedrockException("Can't find class to delete");
        rs = ityp.getResource();
    } else if (what.equals("PACKAGE")) {
        IPackageFragmentRoot ipfr = null;
        try {
            for (IPackageFragmentRoot pfr : ijp.getAllPackageFragmentRoots()) {
                try {
                    if (!pfr.isExternal() && !pfr.isArchive()
                            && pfr.getKind() == IPackageFragmentRoot.K_SOURCE) {
                        ipfr = pfr;
                        break;
                    }
                } catch (JavaModelException e) {
                }
            }
        } catch (JavaModelException e) {
            throw new BedrockException("Problem finding package root", e);
        }
        if (ipfr == null)
            throw new BedrockException("Can't find source fragment root");
        IPackageFragment ifr = ipfr.getPackageFragment(path);
        if (ifr == null)
            throw new BedrockException("Can't find package to delete");
        rs = ifr.getResource();
    }

    if (rs != null) {
        BedrockPlugin.logD("Delete resource " + rs);
        try {
            rs.delete(IResource.FORCE | IResource.KEEP_HISTORY | IResource.ALWAYS_DELETE_PROJECT_CONTENT,
                    new BedrockProgressMonitor(our_plugin, "Deleting " + path));
        } catch (CoreException e) {
            throw new BedrockException("Problem with delete", e);
        }
    }

    if (fd != null) {
        String file = fd.getFileName();
        file_map.remove(file);
        IvyXmlWriter xw = our_plugin.beginMessage("RESOURCE");
        xw.begin("DELTA");
        xw.field("KIND", "REMOVED");
        xw.field("PATH", file);
        xw.begin("RESOURCE");
        xw.field("LOCATION", file);
        xw.field("TYPE", "FILE");
        xw.field("PROJECT", proj);
        xw.end("RESOURCE");
        xw.end("DELTA");
        our_plugin.finishMessage(xw);
    }
}

From source file:edu.brown.cs.bubbles.bedrock.BedrockEditor.java

License:Open Source License

/********************************************************************************/

// This shouldn't be needed since edits in a window should also be made in the default
// buffer and hence in the actual compilation unit that would be reported

void getActiveElements(IJavaElement root, List<IJavaElement> rslt) {
    switch (root.getElementType()) {
    case IJavaElement.ANNOTATION:
    case IJavaElement.CLASS_FILE:
    case IJavaElement.FIELD:
    case IJavaElement.IMPORT_CONTAINER:
    case IJavaElement.IMPORT_DECLARATION:
    case IJavaElement.INITIALIZER:
    case IJavaElement.JAVA_MODEL:
    case IJavaElement.LOCAL_VARIABLE:
    case IJavaElement.METHOD:
    case IJavaElement.PACKAGE_DECLARATION:
    case IJavaElement.TYPE:
    case IJavaElement.TYPE_PARAMETER:
    default://from   w ww .jav a2 s .co m
        break;
    case IJavaElement.PACKAGE_FRAGMENT_ROOT:
        IPackageFragmentRoot pfr = (IPackageFragmentRoot) root;
        try {
            if (pfr.getKind() == IPackageFragmentRoot.K_SOURCE && pfr.hasChildren()) {
                IJavaElement[] chld = pfr.getChildren();
                for (IJavaElement c : chld)
                    getActiveElements(c, rslt);
            }
        } catch (JavaModelException e) {
        }
        break;
    case IJavaElement.JAVA_PROJECT:
    case IJavaElement.PACKAGE_FRAGMENT:
        IParent par = (IParent) root;
        try {
            if (par.hasChildren()) {
                IJavaElement[] chld = par.getChildren();
                for (IJavaElement c : chld)
                    getActiveElements(c, rslt);
            }
        } catch (JavaModelException e) {
        }
        break;
    case IJavaElement.COMPILATION_UNIT:
        ICompilationUnit cu = (ICompilationUnit) root;
        IProject ip = cu.getJavaProject().getProject();
        File f = BedrockUtil.getFileForPath(cu.getPath(), ip);
        String fnm = f.getPath();
        FileData fd = file_map.get(fnm);
        if (fd == null)
            rslt.add(cu);
        else {
            rslt.add(fd.getSearchUnit());
        }
        break;
    }
}

From source file:edu.brown.cs.bubbles.bedrock.BedrockEditor.java

License:Open Source License

void getWorkingElements(IJavaElement root, List<ICompilationUnit> rslt) {
    switch (root.getElementType()) {
    case IJavaElement.ANNOTATION:
    case IJavaElement.CLASS_FILE:
    case IJavaElement.FIELD:
    case IJavaElement.IMPORT_CONTAINER:
    case IJavaElement.IMPORT_DECLARATION:
    case IJavaElement.INITIALIZER:
    case IJavaElement.JAVA_MODEL:
    case IJavaElement.LOCAL_VARIABLE:
    case IJavaElement.METHOD:
    case IJavaElement.PACKAGE_DECLARATION:
    case IJavaElement.TYPE:
    case IJavaElement.TYPE_PARAMETER:
    default:/*from  w w w  .j  a v a  2  s  . c  om*/
        break;
    case IJavaElement.PACKAGE_FRAGMENT_ROOT:
        IPackageFragmentRoot pfr = (IPackageFragmentRoot) root;
        try {
            if (pfr.getKind() == IPackageFragmentRoot.K_SOURCE && pfr.hasChildren()) {
                IJavaElement[] chld = pfr.getChildren();
                for (IJavaElement c : chld)
                    getWorkingElements(c, rslt);
            }
        } catch (JavaModelException e) {
        }
        break;
    case IJavaElement.JAVA_PROJECT:
    case IJavaElement.PACKAGE_FRAGMENT:
        IParent par = (IParent) root;
        try {
            if (par.hasChildren()) {
                IJavaElement[] chld = par.getChildren();
                for (IJavaElement c : chld)
                    getWorkingElements(c, rslt);
            }
        } catch (JavaModelException e) {
        }
        break;
    case IJavaElement.COMPILATION_UNIT:
        ICompilationUnit cu = (ICompilationUnit) root;
        IProject ip = cu.getJavaProject().getProject();
        File f = BedrockUtil.getFileForPath(cu.getPath(), ip);
        String fnm = f.getPath();
        FileData fd = file_map.get(fnm);
        if (fd != null) {
            rslt.add(fd.getEditableUnit(null));
        }
        break;
    }
}

From source file:edu.brown.cs.bubbles.bedrock.BedrockEditor.java

License:Open Source License

void getCompilationElements(IJavaElement root, List<ICompilationUnit> rslt) {
    switch (root.getElementType()) {
    case IJavaElement.ANNOTATION:
    case IJavaElement.CLASS_FILE:
    case IJavaElement.FIELD:
    case IJavaElement.IMPORT_CONTAINER:
    case IJavaElement.IMPORT_DECLARATION:
    case IJavaElement.INITIALIZER:
    case IJavaElement.JAVA_MODEL:
    case IJavaElement.LOCAL_VARIABLE:
    case IJavaElement.METHOD:
    case IJavaElement.PACKAGE_DECLARATION:
    case IJavaElement.TYPE:
    case IJavaElement.TYPE_PARAMETER:
    default://from   ww w  .  j  a  v  a  2s. com
        break;
    case IJavaElement.PACKAGE_FRAGMENT_ROOT:
        IPackageFragmentRoot pfr = (IPackageFragmentRoot) root;
        try {
            if (pfr.getKind() == IPackageFragmentRoot.K_SOURCE && pfr.hasChildren()) {
                IJavaElement[] chld = pfr.getChildren();
                for (IJavaElement c : chld)
                    getCompilationElements(c, rslt);
            }
        } catch (JavaModelException e) {
        }
        break;
    case IJavaElement.JAVA_PROJECT:
    case IJavaElement.PACKAGE_FRAGMENT:
        IParent par = (IParent) root;
        try {
            if (par.hasChildren()) {
                IJavaElement[] chld = par.getChildren();
                for (IJavaElement c : chld)
                    getCompilationElements(c, rslt);
            }
        } catch (JavaModelException e) {
        }
        break;
    case IJavaElement.COMPILATION_UNIT:
        ICompilationUnit cu = (ICompilationUnit) root;
        IProject ip = cu.getJavaProject().getProject();
        File f = BedrockUtil.getFileForPath(cu.getPath(), ip);
        String fnm = f.getPath();
        FileData fd = file_map.get(fnm);
        if (fd != null) {
            rslt.add(fd.getEditableUnit(null));
        } else
            rslt.add(cu);
        break;
    }
}