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.jpt.jpa.eclipselink.ui.internal.entity.data.model.EclipseLinkDynamicEntityDataModelProvider.java

License:Open Source License

/**
 * Returns all the the existing source path roots cross the selected project
 * @return a set of IPackageFragmentRoot with the kind of source path
 *//* www .  j av  a2s.c  om*/
protected IPackageFragmentRoot[] getJavaPackageFragmentRoots() {
    JpaProject jpaProject = getJpaProject();
    IPackageFragmentRoot[] packRoots = new IPackageFragmentRoot[0];
    List<IPackageFragmentRoot> rootList = new ArrayList<IPackageFragmentRoot>();
    if (jpaProject != null) {
        IJavaProject javaProject = jpaProject.getJavaProject();
        if (javaProject != null) {
            try {
                packRoots = javaProject.getAllPackageFragmentRoots();
                for (IPackageFragmentRoot root : packRoots) {
                    if (root.getKind() == IPackageFragmentRoot.K_SOURCE) {
                        rootList.add(root);
                    }
                }
                packRoots = new IPackageFragmentRoot[rootList.size()];
                rootList.toArray(packRoots);
            } catch (JavaModelException e) {
                // fall through
                JptJpaEclipseLinkUiPlugin.instance().logError(e);
            }
        }
    }
    return packRoots;
}

From source file:org.eclipse.jpt.jpa.gen.internal.PackageGenerator.java

License:Open Source License

private IPackageFragmentRoot getDefaultJavaSourceLocation(IJavaProject jproject, String sourceFolder) {
    IPackageFragmentRoot defaultSrcPath = null;
    if (jproject != null && jproject.exists()) {
        try {//from w  ww. j  av  a  2  s.co m
            IPackageFragmentRoot[] roots = jproject.getPackageFragmentRoots();
            for (int i = 0; i < roots.length; i++) {
                if (roots[i].getKind() == IPackageFragmentRoot.K_SOURCE) {
                    if (defaultSrcPath == null) {
                        defaultSrcPath = roots[i];
                    }
                    String path = roots[i].getPath().toString();
                    if (path.equals('/' + sourceFolder)) {
                        return roots[i];
                    }
                }
            }
        } catch (JavaModelException e) {
            JptJpaGenPlugin.instance().logError(e);
        }
    }
    return defaultSrcPath;
}

From source file:org.eclipse.jpt.jpa.ui.internal.wizards.entity.data.model.EntityDataModelProvider.java

License:Open Source License

protected IContainer getDefaultJavaSourceContainer() {
    JpaProject jpaProject = getTargetJpaProject();
    if (jpaProject == null) {
        return null;
    }/*from   ww  w .jav  a  2 s.  co  m*/
    IJavaProject javaProject = jpaProject.getJavaProject();
    try {
        for (IPackageFragmentRoot pfr : javaProject.getPackageFragmentRoots()) {
            if (pfr.getKind() == IPackageFragmentRoot.K_SOURCE) {
                return (IContainer) pfr.getUnderlyingResource();
            }
        }
    } catch (JavaModelException jme) {
        // fall through
        JptJpaUiPlugin.instance().logError(jme);
    }
    return null;
}

From source file:org.eclipse.jpt.jpa.ui.internal.wizards.entity.data.model.EntityDataModelProvider.java

License:Open Source License

protected IContainer getJavaSourceContainer() {
    String containerFullPath = getStringProperty(SOURCE_FOLDER);
    JpaProject jpaProject = getTargetJpaProject();
    if (jpaProject == null) {
        return null;
    }//from   ww w.  j a va2 s  . com
    IJavaProject javaProject = jpaProject.getJavaProject();
    try {
        for (IPackageFragmentRoot pfr : javaProject.getPackageFragmentRoots()) {
            if (pfr.getKind() == IPackageFragmentRoot.K_SOURCE) {
                IContainer container = (IContainer) pfr.getUnderlyingResource();
                if (container.getFullPath().equals(new Path(containerFullPath))) {
                    return container;
                }
            }
        }
    } catch (JavaModelException jme) {
        // fall through
        JptJpaUiPlugin.instance().logError(jme);
    }
    return null;
}

From source file:org.eclipse.jst.j2ee.internal.common.operations.JavaModelUtil.java

License:Open Source License

private static void addAllCus(HashSet/*<ICompilationUnit>*/ collector, IJavaElement javaElement)
        throws JavaModelException {
    switch (javaElement.getElementType()) {
    case IJavaElement.JAVA_PROJECT:
        IJavaProject javaProject = (IJavaProject) javaElement;
        IPackageFragmentRoot[] packageFragmentRoots = javaProject.getPackageFragmentRoots();
        for (int i = 0; i < packageFragmentRoots.length; i++)
            addAllCus(collector, packageFragmentRoots[i]);
        return;/*from  ww  w  . ja v a  2  s . c  o  m*/

    case IJavaElement.PACKAGE_FRAGMENT_ROOT:
        IPackageFragmentRoot packageFragmentRoot = (IPackageFragmentRoot) javaElement;
        if (packageFragmentRoot.getKind() != IPackageFragmentRoot.K_SOURCE)
            return;
        IJavaElement[] packageFragments = packageFragmentRoot.getChildren();
        for (int j = 0; j < packageFragments.length; j++)
            addAllCus(collector, packageFragments[j]);
        return;

    case IJavaElement.PACKAGE_FRAGMENT:
        IPackageFragment packageFragment = (IPackageFragment) javaElement;
        collector.addAll(Arrays.asList(packageFragment.getCompilationUnits()));
        return;

    case IJavaElement.COMPILATION_UNIT:
        collector.add(javaElement);
        return;

    default:
        IJavaElement cu = javaElement.getAncestor(IJavaElement.COMPILATION_UNIT);
        if (cu != null)
            collector.add(cu);
    }
}

From source file:org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities.java

License:Open Source License

/**
 * @deprecated use {@link JavaLiteUtilities#getJavaSourceContainers(IVirtualComponent)}
 * @param project/*w ww.j av a2  s  .  co  m*/
 * @return
 */
public static IPackageFragmentRoot[] getSourceContainers(IProject project) {
    IJavaProject jProject = JemProjectUtilities.getJavaProject(project);
    if (jProject == null)
        return new IPackageFragmentRoot[0];
    List list = new ArrayList();
    IVirtualComponent vc = ComponentCore.createComponent(project);
    IPackageFragmentRoot[] roots;
    try {
        roots = jProject.getPackageFragmentRoots();
        for (int i = 0; i < roots.length; i++) {
            if (roots[i].getKind() != IPackageFragmentRoot.K_SOURCE)
                continue;
            IResource resource = roots[i].getResource();
            if (null != resource) {
                IVirtualResource[] vResources = ComponentCore.createResources(resource);
                boolean found = false;
                for (int j = 0; !found && j < vResources.length; j++) {
                    if (vResources[j].getComponent().equals(vc)) {
                        if (!list.contains(roots[i]))
                            list.add(roots[i]);
                        found = true;
                    }
                }
            }
        }
    } catch (JavaModelException e) {
        J2EEPlugin.logError(e);
    }
    return (IPackageFragmentRoot[]) list.toArray(new IPackageFragmentRoot[list.size()]);
}

From source file:org.eclipse.jst.j2ee.internal.project.WTPJETEmitter.java

License:Open Source License

/**
 * @param progressMonitor/*from ww  w  . j a v  a 2  s .co m*/
 * @param project
 * @param javaProject
 * @return
 * @throws JavaModelException
 */
protected IPackageFragmentRoot openJavaProjectIfNecessary(IProgressMonitor progressMonitor,
        final IProject project, IJavaProject javaProject) throws JavaModelException {
    progressMonitor.subTask(CodeGenPlugin.getPlugin().getString("_UI_JETOpeningJavaProject_message", //$NON-NLS-1$
            new Object[] { project.getName() }));
    javaProject.open(new SubProgressMonitor(progressMonitor, 1));

    IPackageFragmentRoot[] packageFragmentRoots = javaProject.getPackageFragmentRoots();
    IPackageFragmentRoot sourcePackageFragmentRoot = null;
    for (int j = 0; j < packageFragmentRoots.length; ++j) {
        IPackageFragmentRoot packageFragmentRoot = packageFragmentRoots[j];
        if (packageFragmentRoot.getKind() == IPackageFragmentRoot.K_SOURCE) {
            sourcePackageFragmentRoot = packageFragmentRoot;
            break;
        }
    }
    return sourcePackageFragmentRoot;
}

From source file:org.eclipse.jst.j2ee.internal.web.operations.WebPropertiesUtil.java

License:Open Source License

public static String validateWebContentName(String webContentName, IProject project, String javaSourceName) {

    String msg = validateFolderName(webContentName);
    if (msg != null)
        return msg;

    if (javaSourceName != null && webContentName.equals(javaSourceName))
        return ProjectSupportResourceHandler.Folder_names_cannot_be_equal_4;

    // If given a java project, check to make sure current package fragment
    // root folders do not overlap with new web content name
    if (project != null) {
        IJavaProject javaProject = JemProjectUtilities.getJavaProject(project);
        if (javaProject != null) {
            try {
                IPackageFragmentRoot roots[] = javaProject.getPackageFragmentRoots();
                for (int i = 0; i < roots.length; i++) {
                    IPackageFragmentRoot root = roots[i];
                    if (!root.isArchive()) {
                        IResource resource = root.getCorrespondingResource();
                        if (resource.getType() == IResource.FOLDER) {
                            IPath path = resource.getFullPath();
                            String rootFolder = path.segment(1);
                            if (webContentName.equals(rootFolder)) {
                                if (root.getKind() == IPackageFragmentRoot.K_SOURCE)
                                    return ProjectSupportResourceHandler.Folder_name_cannot_be_the_same_as_Java_source_folder_5;

                                return ProjectSupportResourceHandler.Folder_name_cannot_be_the_same_as_Java_class_folder_6;
                            }/*w w w. ja v  a  2s.c o  m*/
                        }
                    }
                }
            } catch (JavaModelException e) {
                return null;
            }
        }
    }

    return null;
}

From source file:org.eclipse.jst.j2ee.refactor.listeners.J2EEElementChangedListener.java

License:Open Source License

private void getJavaSrcMappings(final IJavaElementDelta[] children, final boolean cpChanged,
        final IJavaProject jproject, final List pathsToAdd, final List pathsToRemove, final List changedPaths)
        throws CoreException {

    IVirtualComponent c = ComponentCore.createComponent(jproject.getProject());
    if (c == null)
        return;// w  ww  .j a  va2  s .c o m
    // get the default destination folder
    final IVirtualFolder defaultDestFolder = getDestinationFolder(c);

    for (int i = 0; i < children.length; i++) {
        final IJavaElementDelta delta = children[i];
        final IJavaElement element = delta.getElement();
        if (element.getElementType() == IJavaElement.PACKAGE_FRAGMENT_ROOT) {
            final IPackageFragmentRoot root = (IPackageFragmentRoot) element;
            int cpeKind = IPackageFragmentRoot.K_SOURCE;
            boolean abortAdd = false;
            try {
                cpeKind = root.getKind();
            } catch (JavaModelException jme) {
                // this is thrown if the folder corresponding to the CPE has been deleted
                // since it could represent another error, we need to abort adding. 
                abortAdd = true;
            }
            // only update if we know it is a src folder
            if (cpeKind == IPackageFragmentRoot.K_SOURCE) {
                final int kind = delta.getKind();
                if (!cpChanged) {
                    // if the classpath is not changed, save modifications to the Java src path
                    if (kind == IJavaElementDelta.CHANGED || kind == IJavaElementDelta.REMOVED) {
                        changedPaths.add(root.getPath().removeFirstSegments(1));
                    }
                } else {

                    // kind and flags for CP additions are somewhat sporadic; either:
                    // -kind is ADDED and flags are 0
                    //   or
                    // -kind is CHANGED and flags are F_ADDED_TO_CLASSPATH
                    final int flags = delta.getFlags();

                    if (kind == IJavaElementDelta.ADDED || (flags
                            & IJavaElementDelta.F_ADDED_TO_CLASSPATH) == IJavaElementDelta.F_ADDED_TO_CLASSPATH) {
                        if (!abortAdd) {
                            final IPath pathToAdd = root.getPath().removeFirstSegments(1);
                            pathsToAdd.add(new Object[] { pathToAdd, defaultDestFolder });
                            // if the added src path was moved from another location, remove any mapping for that
                            // location
                            if ((flags & IJavaElementDelta.F_MOVED_FROM) == IJavaElementDelta.F_MOVED_FROM) {
                                final IJavaElement movedFromElement = delta.getMovedFromElement();
                                final IPath pathToRemove = movedFromElement.getPath().removeFirstSegments(1);
                                pathsToRemove.add(new Object[] { pathToRemove, defaultDestFolder });
                            }
                        }
                        // getting a kind = REMOVED and flags = 0 for removal of the folder (w/o removing the CPE), probably
                        // should not be generated
                    } else if (kind == IJavaElementDelta.REMOVED || (flags
                            & IJavaElementDelta.F_REMOVED_FROM_CLASSPATH) == IJavaElementDelta.F_REMOVED_FROM_CLASSPATH) {
                        IPath path = root.getPath().removeFirstSegments(1);
                        pathsToRemove.add(new Object[] { path, defaultDestFolder });
                    }
                }
            }
        }
    }
}

From source file:org.eclipse.jst.jee.model.internal.common.AbstractAnnotationModelProvider.java

License:Open Source License

protected void visitJavaFiles(final Collection<ICompilationUnit> javaFiles, final IPackageFragmentRoot root)
        throws CoreException {
    if (root.getKind() != IPackageFragmentRoot.K_SOURCE)
        return;/*  www  . j ava2  s .c o m*/
    root.getCorrespondingResource().accept(new IResourceProxyVisitor() {
        public boolean visit(IResourceProxy proxy) throws CoreException {
            if (proxy.getType() == IResource.FILE) {
                if (proxy.getName().endsWith("." + JAVA_EXTENSION)) { //$NON-NLS-1$
                    IFile file = (IFile) proxy.requestResource();
                    if (!root.getJavaProject().isOnClasspath(file))
                        return false;
                    if (!file.isSynchronized(IResource.DEPTH_ONE))
                        return false;
                    javaFiles.add(JavaCore.createCompilationUnitFrom(file));
                }
                return false;
            }
            return true;
        }
    }, IContainer.NONE);

}