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

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

Introduction

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

Prototype

int K_SOURCE

To view the source code for org.eclipse.jdt.core IPackageFragmentRoot K_SOURCE.

Click Source Link

Document

Kind constant for a source path root.

Usage

From source file:org.eclipse.acceleo.internal.ide.ui.builders.AcceleoMarkerUtils.java

License:Open Source License

/**
 * Computes if the java service described in the message is accessible from the given file.
 * /* w  w w.  j  ava2s .c  o  m*/
 * @param file
 *            The file
 * @param message
 *            The message describing the service
 * @param marker
 *            The marker to use if the service is not accessible
 * @throws JavaModelException
 *             In case of problem during the search of the service class.
 * @throws CoreException
 *             In case of problem during the search of the service class.
 */
private static void computeAccessibleService(IFile file, String message, IMarker marker)
        throws JavaModelException, CoreException {
    boolean exported = false;
    boolean found = false;

    String projectName = ""; //$NON-NLS-1$

    IProject project = file.getProject();
    AcceleoProject acceleoProject = new AcceleoProject(project);
    List<IProject> recursivelyAccessibleProjects = acceleoProject.getRecursivelyAccessibleProjects();
    for (IProject iProject : recursivelyAccessibleProjects) {
        if (iProject.isAccessible() && iProject.hasNature(JavaCore.NATURE_ID)) {
            JavaProject javaProject = new JavaProject();
            javaProject.setProject(iProject);

            IType type = null;

            List<IType> types = new ArrayList<IType>();
            IPackageFragment[] packageFragments = javaProject.getPackageFragments();
            for (IPackageFragment iPackageFragment : packageFragments) {
                if (iPackageFragment.getKind() == IPackageFragmentRoot.K_SOURCE) {
                    ICompilationUnit[] compilationUnits = iPackageFragment.getCompilationUnits();
                    for (ICompilationUnit iCompilationUnit : compilationUnits) {
                        types.addAll(Arrays.asList(iCompilationUnit.getTypes()));
                    }
                }
            }
            for (IType iType : types) {
                if (iType.getFullyQualifiedName()
                        .equals(message.substring(AcceleoParserInfo.SERVICE_INVOCATION.length()))) {
                    type = iType;
                }
            }

            BundleDescription bundleDescription = null;
            if (type != null && PluginRegistry.findModel(iProject) != null) {
                found = true;
                projectName = iProject.getName();
                IPluginModelBase plugin = PluginRegistry.findModel(iProject);
                bundleDescription = plugin.getBundleDescription();
            }
            if (type != null && PluginRegistry.findModel(iProject) != null && bundleDescription != null) {
                ExportPackageDescription[] exportPackages = bundleDescription.getExportPackages();
                for (ExportPackageDescription exportPackageDescription : exportPackages) {
                    if (exportPackageDescription.getName().equals(type.getPackageFragment().getElementName())) {
                        exported = true;
                    }
                }
            }
        }
    }
    if (found && !exported) {
        marker.setAttribute(IMarker.MESSAGE,
                AcceleoUIMessages.getString("AcceleoMarkerUtils.JavaServiceClassNotExported", message //$NON-NLS-1$
                        .substring(AcceleoParserInfo.SERVICE_INVOCATION.length()), projectName));
    } else {
        marker.delete();
    }
}

From source file:org.eclipse.ajdt.core.AspectJCorePreferences.java

License:Open Source License

private static String toContentKind(String contentStr) {
    int content = 0;
    if (contentStr.equals("SOURCE")) { //$NON-NLS-1$
        content = IPackageFragmentRoot.K_SOURCE;
    } else if (contentStr.equals("BINARY")) { //$NON-NLS-1$
        content = IPackageFragmentRoot.K_BINARY;
    }/*from www.  j a  va  2  s.c  o  m*/
    return new Integer(content).toString();
}

From source file:org.eclipse.ajdt.core.tests.model.AspectJMemberElementTest.java

License:Open Source License

public void testGetSignature() throws Exception {
    IPackageFragmentRoot[] roots = jProject.getAllPackageFragmentRoots();
    for (int i = 0; i < roots.length; i++) {
        IPackageFragmentRoot root = roots[i];
        if (root.getKind() == IPackageFragmentRoot.K_SOURCE) {
            doVisit(root);//from w ww.ja va2s .c  o m
        }
    }
}

From source file:org.eclipse.ajdt.internal.ui.ajdocexport.AJdocOptionsManager.java

License:Open Source License

private boolean containsCompilationUnits(IPackageFragmentRoot root) throws JavaModelException {
    if (root.getKind() != IPackageFragmentRoot.K_SOURCE) {
        return false;
    }// w  ww . j  ava 2 s.  c  o  m

    IJavaElement[] elements = root.getChildren();
    for (int i = 0; i < elements.length; i++) {
        if (elements[i] instanceof IPackageFragment) {
            IPackageFragment fragment = (IPackageFragment) elements[i];
            if (containsCompilationUnits(fragment)) {
                return true;
            }
        }
    }
    return false;
}

From source file:org.eclipse.ajdt.internal.ui.ajdocexport.AJdocTreeWizardPage.java

License:Open Source License

private IPath[] getSourcePath(IJavaProject[] projects) {
    HashSet res = new HashSet();
    //loops through all projects and gets a list if of thier sourpaths
    for (int k = 0; k < projects.length; k++) {
        IJavaProject iJavaProject = projects[k];

        try {//from   w  w  w  .jav a2 s  .  c  o  m
            IPackageFragmentRoot[] roots = iJavaProject.getPackageFragmentRoots();
            for (int i = 0; i < roots.length; i++) {
                IPackageFragmentRoot curr = roots[i];
                if (curr.getKind() == IPackageFragmentRoot.K_SOURCE) {
                    IResource resource = curr.getResource();
                    if (resource != null) {
                        IPath p = resource.getLocation();
                        if (p != null) {
                            res.add(p);
                        }
                    }
                }
            }
        } catch (JavaModelException e) {
            JavaPlugin.log(e);
        }
    }
    return (IPath[]) res.toArray(new IPath[res.size()]);
}

From source file:org.eclipse.ajdt.internal.ui.editor.actions.AJOrganizeImportsAction.java

License:Open Source License

private void collectCompilationUnits(IPackageFragmentRoot root, Collection result) throws JavaModelException {
    if (root.getKind() == IPackageFragmentRoot.K_SOURCE) {
        IJavaElement[] children = root.getChildren();
        for (int i = 0; i < children.length; i++) {
            collectCompilationUnits((IPackageFragment) children[i], result);
        }//from  ww w  .  ja va 2 s. co  m
    }
}

From source file:org.eclipse.ajdt.internal.ui.editor.actions.AJOrganizeImportsAction.java

License:Open Source License

private boolean isEnabled(IStructuredSelection selection) {
    Object[] selected = selection.toArray();
    for (int i = 0; i < selected.length; i++) {
        try {/*from   ww w  .  j a va 2s. c o  m*/
            if (selected[i] instanceof IJavaElement) {
                IJavaElement elem = (IJavaElement) selected[i];
                if (elem.exists()) {
                    switch (elem.getElementType()) {
                    case IJavaElement.TYPE:
                        return elem.getParent().getElementType() == IJavaElement.COMPILATION_UNIT; // for browsing perspective
                    case IJavaElement.COMPILATION_UNIT:
                        return true;
                    case IJavaElement.IMPORT_CONTAINER:
                        return true;
                    case IJavaElement.PACKAGE_FRAGMENT:
                    case IJavaElement.PACKAGE_FRAGMENT_ROOT:
                        IPackageFragmentRoot root = (IPackageFragmentRoot) elem
                                .getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT);
                        return (root.getKind() == IPackageFragmentRoot.K_SOURCE);
                    case IJavaElement.JAVA_PROJECT:
                        // https://bugs.eclipse.org/bugs/show_bug.cgi?id=65638
                        return true;
                    }
                }
            } else if (selected[i] instanceof LogicalPackage) {
                return true;
            }
        } catch (JavaModelException e) {
            if (!e.isDoesNotExist()) {
                JavaPlugin.log(e);
            }
        }
    }
    return false;
}

From source file:org.eclipse.ajdt.internal.ui.markers.UpdateAJMarkers.java

License:Open Source License

/**
* creates new markers for an entire project
*//*w w  w  . java  2  s . c om*/
private void addMarkersForProject(IProgressMonitor monitor) {
    if (!model.hasModel()) {
        return;
    }
    try {
        IJavaProject jProject = JavaCore.create(project);
        IPackageFragmentRoot[] fragRoots = jProject.getPackageFragmentRoots();
        SubProgressMonitor subMonitor = new SubProgressMonitor(monitor, fragRoots.length);
        subMonitor.beginTask("Add markers for " + project.getName(), fragRoots.length);
        for (int i = 0; i < fragRoots.length; i++) {
            if (fragRoots[i].getKind() == IPackageFragmentRoot.K_SOURCE) {
                IJavaElement[] frags = fragRoots[i].getChildren();
                for (int j = 0; j < frags.length; j++) {
                    Set<String> completedCUNames = new HashSet<String>(frags.length, 1.0f);
                    IJavaElement[] cus = ((IPackageFragment) frags[j]).getChildren();
                    for (int k = 0; k < cus.length; k++) {
                        // ignore any class files in the source folder (Bug 258698)
                        if (cus[k].getElementType() == IJavaElement.COMPILATION_UNIT) {
                            // ignore duplicate compilation units
                            IResource resource = cus[k].getResource();
                            if (!completedCUNames.contains(resource.getName())) {
                                subMonitor.subTask("Add markers for " + cus[k].getElementName());
                                addMarkersForFile((ICompilationUnit) cus[k],
                                        ((ICompilationUnit) cus[k]).getResource());
                                completedCUNames.add(resource.getName());
                                fileCount++;
                            }
                            if (subMonitor.isCanceled()) {
                                throw new OperationCanceledException();
                            }
                        }
                    }
                }
                subMonitor.worked(1);
            }
        }
    } catch (JavaModelException e) {
    }

}

From source file:org.eclipse.ajdt.internal.ui.wizards.exports.StandardJavaElementContentProvider.java

License:Open Source License

private Object[] getPackageContents(IPackageFragment fragment) throws JavaModelException {
    if (fragment.getKind() == IPackageFragmentRoot.K_SOURCE) {
        // AspectJ Change begin 
        if (AspectJPlugin.USING_CU_PROVIDER) {
            return concatenate(fragment.getCompilationUnits(), fragment.getNonJavaResources());
        } else {/*from  w  w w.  j  a  v  a2 s. c  o m*/
            // ignore AJCompilationUnits to avoid duplicates
            ArrayList filesToKeep = new ArrayList();
            Object[] files = fragment.getCompilationUnits();
            for (int i = 0; i < files.length; i++) {
                if (!(files[i] instanceof AJCompilationUnit)) {
                    filesToKeep.add(files[i]);
                }
            }
            return concatenate(filesToKeep.toArray(), fragment.getNonJavaResources());
        }
        // AspectJ Change end
    }
    return concatenate(fragment.getClassFiles(), fragment.getNonJavaResources());
}

From source file:org.eclipse.andmore.wizards.buildingblocks.ElementTreeValidator.java

License:Apache License

@Override
public boolean isSelectedValid(Object element) {
    boolean isValid = false;
    try {//from  w  ww .  ja  v  a 2 s.co  m
        if (element instanceof IJavaProject) {
            IJavaProject jproject = (IJavaProject) element;
            IPath path = jproject.getProject().getFullPath();
            isValid = (jproject.findPackageFragmentRoot(path) != null);
        } else if (element instanceof IPackageFragmentRoot) {
            IPackageFragmentRoot packageFragmentRoot = (IPackageFragmentRoot) element;

            boolean isSrc = (packageFragmentRoot.getKind() == IPackageFragmentRoot.K_SOURCE);
            boolean isGen = packageFragmentRoot.getElementName().equals(IAndroidConstants.GEN_SRC_FOLDER)
                    && (packageFragmentRoot.getParent() instanceof IJavaProject);

            isValid = isSrc && !isGen;
        } else {
            isValid = true;
        }
    } catch (JavaModelException e) {
        AndmoreLogger.error(ElementTreeValidator.class, e.getLocalizedMessage(), e);
    }
    return isValid;
}