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.limy.eclipse.qalab.common.LimyQalabJavaUtils.java

License:Open Source License

/**
 * PackageFragmentRoot?pX?B/*from  ww w .  jav  a 2  s .  co  m*/
 * @param fragment PackageFragmentRoot
 * @return
 * @throws CoreException 
 */
public static String getExternalLocation(IPackageFragmentRoot fragment) throws CoreException {

    String location = null;
    if (fragment.getKind() == IPackageFragmentRoot.K_SOURCE) {
        // v?WFNgQ?v?WFNg\?[XfBNg
        IPath outputLocation = fragment.getRawClasspathEntry().getOutputLocation();
        if (outputLocation != null) {
            // \?[XpXL?o?w??
            location = LimyQalabUtils.createFullPath(fragment.getJavaProject(), outputLocation);
        } else {
            // \?[XpXL?o?w???Av?WFNgftHg?o?gp
            location = LimyQalabUtils.createFullPath(fragment.getJavaProject(),
                    fragment.getJavaProject().getOutputLocation());
        }
    } else {
        // v?WFNgclasspathQ?v?WFNgExportCu
        IResource resource = fragment.getResource();
        if (resource != null) {
            location = resource.getLocation().toString();
        } else {
            // Variablewjart@Cresource = null 
            IPath path = fragment.getRawClasspathEntry().getPath();
            if (!path.toString().startsWith("org.eclipse.jdt.launching.JRE_CONTAINER")) {
                // JREOJARt@C?iVariablew?jNXpX
                location = fragment.getPath().toString();
            }
        }
    }
    return location;
}

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

License:Open Source License

/**
 * v?WFNgt@CI?B/*w ww .  j a  va  2 s  .co  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/*ww  w  . java 2 s . co 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;
    }/*w ww.  j a  v a 2  s. c  o  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.mobicents.eclipslee.servicecreation.wizards.generic.FilenamePage.java

License:Apache License

/**
 * Tests if the current workbench selection is a suitable
 * container to use.// w w  w .  ja v a  2s.  c o m
 */

private void initialize() {
    if (selection != null && selection.isEmpty() == false && selection instanceof IStructuredSelection) {

        IJavaElement element = getInitialJavaElement((IStructuredSelection) selection);
        IPackageFragmentRoot initialRoot;
        initialRoot = JavaModelUtil.getPackageFragmentRoot(element);
        if (initialRoot == null || initialRoot.isArchive()) {
            IJavaProject javaProject = element.getJavaProject();
            if (javaProject != null) {
                try {
                    initialRoot = null;
                    if (javaProject.exists()) {
                        IPackageFragmentRoot roots[] = javaProject.getPackageFragmentRoots();
                        for (int i = 0; i < roots.length; i++) {
                            if (roots[i].getKind() == IPackageFragmentRoot.K_SOURCE) {
                                initialRoot = roots[i];
                                break;
                            }
                        }
                    }
                } catch (JavaModelException e) {
                    ServiceCreationPlugin.log("JavaModelException determining project root.");
                }
                if (initialRoot == null) {
                    initialRoot = javaProject.getPackageFragmentRoot(javaProject.getResource());
                }
            }
        }

        try {
            setSourceContainer((IFolder) initialRoot.getCorrespondingResource());
        } catch (JavaModelException e) {
            ServiceCreationPlugin.log("JavaModelException thrown setting source container on FilenamePage");
        }

        //         // Initialize the maven module dialog
        //         mavenModuleText.setText(mavenModule);

        // Initialize the filename dialog
        fileText.setText("__Replace_Me__" + ends);

        if (element != null && element.getElementType() == IJavaElement.PACKAGE_FRAGMENT) {
            IPackageFragment fragment = (IPackageFragment) element;
            setPackage(fragment);
            return;
        }

        if (element != null && element.getElementType() == IJavaElement.COMPILATION_UNIT) {
            ICompilationUnit unit = (ICompilationUnit) element;
            IPackageFragment fragment = (IPackageFragment) unit.getParent();
            setPackage(fragment);
            return;
        }

        setPackage(null);
    }

}

From source file:org.mobicents.eclipslee.servicecreation.wizards.generic.FilenamePage.java

License:Apache License

private void handleProjectBrowse() {
    // Get a list of the available source folders.
    IWorkspaceRoot workspace = ResourcesPlugin.getWorkspace().getRoot();

    // Create a selection dialog for them.
    ElementTreeSelectionDialog dialog = new ElementTreeSelectionDialog(getShell(),
            new JavaElementLabelProvider(JavaElementLabelProvider.SHOW_DEFAULT),
            new StandardJavaElementContentProvider());

    dialog.setTitle("Folder Selection");
    dialog.setMessage("Choose a folder:");
    dialog.setEmptyListMessage("You must create a Source Folder first.");

    Class[] acceptedClasses = new Class[] { IJavaModel.class, IPackageFragmentRoot.class, IJavaProject.class };
    ViewerFilter filter = new TypedViewerFilter(acceptedClasses) {
        public boolean select(Viewer viewer, Object parent, Object element) {
            if (element instanceof IPackageFragmentRoot) {
                try {
                    return (((IPackageFragmentRoot) element).getKind() == IPackageFragmentRoot.K_SOURCE);
                } catch (JavaModelException e) {
                    return false;
                }// w ww. j a v  a2  s  .  c om
            }
            return super.select(viewer, parent, element);
        }
    };

    dialog.addFilter(filter); // Filter out the cruft
    dialog.setInput(JavaCore.create(workspace));
    if (getSourceContainer() != null)
        dialog.setInitialSelection(getSourceContainer());

    // Open the dialog and set the project from the selected item.
    if (dialog.open() == Window.OK) {

        Object result = dialog.getFirstResult();
        try {
            if (result instanceof IJavaProject) {
                setSourceContainer((IFolder) ((IJavaProject) result).getCorrespondingResource());
                return;
            }

            if (result instanceof IPackageFragmentRoot) {
                setSourceContainer((IFolder) ((IPackageFragmentRoot) result).getCorrespondingResource());
                return;
            }
        } catch (JavaModelException e) {
            ServiceCreationPlugin.log("JavaModelException setting source container.");
        }
    }
}

From source file:org.mule.ide.ui.wizards.MuleProjectWizard.java

License:Open Source License

/**
 * Get the first source folder from the project.
 * /* w  w w . jav a 2 s .  co  m*/
 * @param project the Java project
 * @return the folder
 * @throws JavaModelException
 */
protected IContainer getSourceContainer(IJavaProject project) throws JavaModelException {
    IPackageFragmentRoot[] roots = project.getPackageFragmentRoots();
    for (int i = 0; i < roots.length; i++) {
        if (roots[i].getKind() == IPackageFragmentRoot.K_SOURCE) {
            return (IContainer) roots[i].getResource();
        }
    }
    return null;
}

From source file:org.neuro4j.studio.core.views.dialogs.FilteredItemsSelectionDialog.java

License:Apache License

protected static List<String> getSourceDirectories(IProject project) {
    if (project == null)
        return null;

    List<String> ret = projectSources.get(project);

    if (ret != null) {
        return ret;
    } else {/*from   w  ww.j av a2  s.  c  o  m*/
        ret = new ArrayList<String>();
    }

    IJavaProject javaProject = JavaCore.create(project);
    try {
        IPackageFragmentRoot[] packageFragmentRoot = javaProject.getAllPackageFragmentRoots();
        for (int i = 0; i < packageFragmentRoot.length; i++) {
            if (packageFragmentRoot[i].getKind() == IPackageFragmentRoot.K_SOURCE
                    && !packageFragmentRoot[i].isArchive())
                ret.add(packageFragmentRoot[i].getPath().toPortableString() + "/");
        }
    } catch (JavaModelException e) {
        e.printStackTrace();
        return Collections.EMPTY_LIST;
    }
    projectSources.put(project, ret);
    return ret;
}

From source file:org.neuro4j.studio.core.views.flows.WorkflowSearchEngine.java

License:Apache License

private void analyzeProject(IProject project, List<ListEntry> flows) throws JavaModelException {
    if (cache.containsKey(project.getName())) {
        flows.addAll(cache.get(project.getName()));
        return;/*from www.  ja v a  2s . co  m*/
    }
    List<ListEntry> newlist = new LinkedList<ListEntry>();
    IJavaProject javaProject = JavaCore.create(project);
    javaProject.getNonJavaResources();
    IPackageFragment[] packages = javaProject.getPackageFragments();
    for (IPackageFragment mypackage : packages) {
        if (mypackage.getKind() == IPackageFragmentRoot.K_SOURCE) {
            if (mypackage.isDefaultPackage()) {
                Folder f = (Folder) mypackage.getResource();
                try {
                    IResource[] res = f.members();
                    for (IResource r : res) {
                        if (r instanceof IFile) {
                            IFile file = (IFile) r;
                            processFile(file, null, newlist);
                        }
                    }
                } catch (CoreException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            } else {
                for (Object unit : mypackage.getNonJavaResources()) {

                    if (unit instanceof IFile) {
                        IFile file = (IFile) unit;
                        processFile(file, mypackage, newlist);
                    }

                }
            }

        }

    }
    cache.put(project.getName(), newlist);
    flows.addAll(newlist);
}

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);
            }//ww  w.  j av a  2 s  .c  om
        }
    }
    return result;
}