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:org.limy.eclipse.qalab.propertypage.PackageSelector.java

License:Open Source License

/**
 * v?WFNgt@CI?B//  ww  w. j  av  a2  s .  c o  m
 * @throws JavaModelException 
 */
private void setFromProject() throws JavaModelException {

    ElementTreeSelectionDialog dialog = new ElementTreeSelectionDialog(new Shell(),
            new WorkbenchLabelProvider(), new WorkbenchContentProvider());

    dialog.setTitle("Package Selection");
    dialog.setMessage("Package I?B");
    ViewerFilter filter = new ViewerFilter() {
        @Override
        public boolean select(Viewer viewer, Object parentElement, Object element) {
            if (element instanceof ICompilationUnit) {
                return false;
            }
            return true;
        }
    };
    dialog.addFilter(filter);

    Collection<IPackageFragment> targetElements = new ArrayList<IPackageFragment>();
    for (IProject project : projects) {
        IJavaProject javaProject = JavaCore.create(project);
        for (IPackageFragmentRoot root : javaProject.getAllPackageFragmentRoots()) {
            if (root.getKind() == IPackageFragmentRoot.K_SOURCE) {
                // jarpbP?[W?O
                IJavaElement[] children = root.getChildren();
                for (IJavaElement child : children) {
                    targetElements.add((IPackageFragment) child);
                }
            }
        }
    }

    dialog.setInput(new AdaptableList(targetElements));

    if (dialog.open() == Dialog.OK) {

        Object[] results = dialog.getResult();
        for (Object result : results) {
            IPackageFragment fragment = (IPackageFragment) result;
            control.add(fragment.getElementName());
            if (listener != null) {
                PropertyChangeEvent evt = new PropertyChangeEvent(control, "resultPath", null,
                        fragment.getPath());
                listener.propertyChange(evt);
            }
        }
    }
}

From source file:org.limy.eclipse.qalab.propertypage.SourceDirSelector.java

License:Open Source License

/**
 * pbP?[WfBNgI???s?B/*from w w w.j av  a2 s.  c  o  m*/
 * @throws JavaModelException 
 */
private void setPackageDir() throws JavaModelException {

    ElementTreeSelectionDialog dialog = new ElementTreeSelectionDialog(new Shell(),
            new WorkbenchLabelProvider(), new WorkbenchContentProvider());

    dialog.setTitle(Messages.TITLE_SELECT_SOURCE_DIR);
    dialog.setMessage(Messages.MES_SELECT_SOURCE_DIR);
    ViewerFilter filter = new ViewerFilter() {
        @Override
        public boolean select(Viewer viewer, Object parentElement, Object element) {
            if (element instanceof IPackageFragmentRoot) {
                return true;
            }
            return false;
        }
    };
    dialog.addFilter(filter);

    Collection<IPackageFragmentRoot> targetElements = new ArrayList<IPackageFragmentRoot>();
    for (IProject project : projects) {
        IJavaProject javaProject = JavaCore.create(project);
        for (IPackageFragmentRoot root : javaProject.getAllPackageFragmentRoots()) {
            if (root.getKind() == IPackageFragmentRoot.K_SOURCE) {
                // jarpbP?[W?O
                targetElements.add(root);
            }
        }
    }

    dialog.setInput(new AdaptableList(targetElements));

    if (dialog.open() == Dialog.OK) {

        Object[] results = dialog.getResult();
        for (Object result : results) {
            IPackageFragmentRoot fragment = (IPackageFragmentRoot) result;
            control.add(fragment.getElementName());
            if (listener != null) {
                PropertyChangeEvent evt = new PropertyChangeEvent(control, "resultPath", null,
                        fragment.getPath());
                listener.propertyChange(evt);
            }
        }
    }
}

From source file:org.lunifera.dsl.entity.xtext.ui.type.EntityJdtTypeProvider.java

License:Open Source License

private boolean canLink(String typeName) {
    if (typeName == null) {
        return false;
    }// www  .  j  av  a2s .  co  m
    IndexedJvmTypeAccess indexedJvmTypeAccess = this.getIndexedJvmTypeAccess();
    if (indexedJvmTypeAccess != null && indexedJvmTypeAccess.isIndexingPhase(getResourceSet())) {
        // during indexing we don't see project local types.
        // see https://bugs.eclipse.org/bugs/show_bug.cgi?id=410594
        try {
            IType type = getJavaProject().findType(typeName);
            if (type != null && type.exists()) {
                String enabled = System.getProperty("lunifera.linker.constraint", "true");
                if (Boolean.valueOf(enabled)) {
                    IResource underlyingResource = type.getUnderlyingResource();
                    if (underlyingResource == null) {
                        return true;
                    }
                    for (IPackageFragmentRoot root : getJavaProject().getPackageFragmentRoots()) {
                        if (root.getKind() == IPackageFragmentRoot.K_SOURCE) {
                            IResource srcUnderlyingResource = root.getUnderlyingResource();
                            if (srcUnderlyingResource != null
                                    && srcUnderlyingResource.contains(underlyingResource)) {
                                return false;
                            }
                        }
                    }
                }
                return true;
            }
        } catch (JavaModelException e) {
            LOGGER.error(e.getMessage(), e);
        }
        return false;
    }
    return true;
}

From source file:org.nuxeo.ide.connect.OperationScanner.java

License:Open Source License

public static List<OperationModel> getOperations(IJavaProject[] projects) throws Exception {
    List<OperationModel> result = new ArrayList<OperationModel>();
    for (IJavaProject project : projects) {
        for (IPackageFragmentRoot root : project.getPackageFragmentRoots()) {
            if (root.getKind() == IPackageFragmentRoot.K_SOURCE) {
                scanPackageRoot(root, result);
            }/* w  w w.  ja  v a  2 s  .  c  o m*/
        }
    }
    return result;
}

From source file:org.nuxeo.ide.connect.OperationScanner.java

License:Open Source License

public static List<OperationModel> getOperations(IJavaProject project) throws Exception {
    List<OperationModel> result = new ArrayList<OperationModel>();
    for (IPackageFragmentRoot root : project.getPackageFragmentRoots()) {
        if (root.getKind() == IPackageFragmentRoot.K_SOURCE) {
            scanPackageRoot(root, result);
        }//from ww w  .  j  a v a 2 s. c o  m
    }
    return result;
}

From source file:org.nuxeo.ide.sdk.deploy.Deployment.java

License:Open Source License

/**
 * For a given @param depName java unit import, retrieves all unit classes
 * having given dependencies Parse all resources from src/main folder (could
 * be src/main/java, src/main/seam...)//w  w w .  j  a  v  a  2s .  c o m
 */
protected void buildProjectCommands(Set<String> commands, IProject project) throws Exception {
    IJavaProject java = JavaCore.create(project);
    IFolder nxdataFolder = nxdataFolder(java);
    if (nxdataFolder.exists()) {
        nxdataFolder.delete(false, new NullProgressMonitor());
    }
    for (IPackageFragmentRoot root : java.getPackageFragmentRoots()) {
        if (root.getKind() != IPackageFragmentRoot.K_SOURCE) {
            continue;
        }
        if (!"main".equals(root.getCorrespondingResource().getParent().getName())) {
            continue;
        }
        copyPackageRoot(commands, root);
    }
}

From source file:org.nuxeo.ide.sdk.index.DependencyProvider.java

License:Open Source License

/**
 * Get all dependencies//from www  . j  a v a  2 s .c o  m
 * 
 * @param project
 * @return
 * @throws Exception
 */
public static Set<Dependency> getDependencies(IJavaProject project) throws Exception {
    Set<Dependency> result = new HashSet<Dependency>();
    for (IPackageFragmentRoot root : project.getPackageFragmentRoots()) {
        if (root.getKind() == IPackageFragmentRoot.K_SOURCE) {
            introspectPackageRoot(root, result);
        }
    }
    return result;
}

From source file:org.nuxeo.ide.sdk.index.DependencyProvider.java

License:Open Source License

/**
 * Get all non test dependencies//from w w w .ja  va2 s  . co  m
 * 
 * @param project
 * @return
 * @throws Exception
 */
public static Set<Dependency> getNonTestDependencies(IJavaProject project) throws Exception {
    IPath testPrefix = new Path("src/test");
    Set<Dependency> result = new HashSet<Dependency>();
    for (IPackageFragmentRoot root : project.getPackageFragmentRoots()) {
        if (root.getKind() == IPackageFragmentRoot.K_SOURCE) {
            IResource r = root.getCorrespondingResource();
            if (r != null && !testPrefix.isPrefixOf(r.getProjectRelativePath())) {
                introspectPackageRoot(root, result);
            }
        }
    }
    return result;
}

From source file:org.nuxeo.ide.sdk.java.ProjectDeployer.java

License:Open Source License

protected void copy(IProgressMonitor monitor, Appendable devbundle)
        throws CoreException, IOException, StorageException, BackingStoreException {
    devFolder.delete(true, monitor);/*w  ww .  j ava 2 s. co  m*/
    devFolder.create(IResource.FORCE | IResource.DERIVED, true, monitor);
    mainFolder.create(IResource.FORCE | IResource.DERIVED, true, monitor);
    seamFolder.create(IResource.FORCE | IResource.DERIVED, true, monitor);
    mergeOutputLocation(project.getOutputLocation(), monitor);
    for (IPackageFragmentRoot root : project.getPackageFragmentRoots()) {
        if (root.getKind() != IPackageFragmentRoot.K_SOURCE) {
            continue;
        }
        if (!"main".equals(root.getCorrespondingResource().getParent().getName())) {
            continue;
        }
        IPath outputLocation = root.getRawClasspathEntry().getOutputLocation();
        if (outputLocation != null) {
            if (outputLocation.lastSegment().equals("test-classes")) {
                continue;
            }
            mergeOutputLocation(outputLocation, monitor);
        }
        copyRoot(root, monitor);
    }
    if (mainFolder.members().length != 0) {
        devbundle.append("bundle:" + mainFolder.getLocation().toOSString()).append("\n");
    }
    if (seamFolder.members().length != 0) {
        devbundle.append("seam:" + seamFolder.getLocation().toOSString()).append("\n");
    }
    IFolder l10n = project.getProject().getFolder("src/main/resources/OSGI-INF/l10n");
    if (l10n.exists()) {
        for (IResource m : l10n.members()) {
            if (IResource.FILE == m.getType()) {
                devbundle.append("resourceBundleFragment:").append(m.getLocation().toOSString()).append("\n");
            }
        }
    }
    IConnectProvider connectProvider = SDKPlugin.getDefault().getConnectProvider();
    if (connectProvider != null) {
        for (IConnectProvider.Infos infos : SDKPlugin.getDefault().getConnectProvider()
                .getLibrariesInfos(project.getProject(), monitor)) {
            devbundle.append("bundle:").append(infos.file.getPath()).append("\n");
        }
    }
}

From source file:org.nuxeo.ide.sdk.server.ui.ExportProjectJar.java

License:Open Source License

protected Object[] collectElementsToExport(IProject project) throws JavaModelException {
    IJavaProject jp = JavaCore.create(project);
    ArrayList<Object> result = new ArrayList<Object>();
    // IFolder folder = project.getFolder("src/main/java");
    // if (folder.exists()) {
    // result.add(jp.getPackageFragmentRoot(folder));
    // }/*w  w w . ja v a2  s. com*/
    // folder = project.getFolder("src/main/resources");
    // if (folder.exists()) {
    // result.add(jp.getPackageFragmentRoot(folder));
    // }
    // return result;
    IFolder testSrc = project.getFolder("src/test");
    IPath test = testSrc.exists() ? testSrc.getFullPath() : null;
    IPackageFragmentRoot[] roots = jp.getPackageFragmentRoots();
    for (IPackageFragmentRoot root : roots) {
        if (root.getKind() == IPackageFragmentRoot.K_SOURCE) {
            if (test == null || !test.isPrefixOf(root.getPath())) {
                result.add(root);
            }
        }
    }
    return result.toArray(new Object[result.size()]);
}