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

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

Introduction

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

Prototype

String getElementName();

Source Link

Document

Returns the name of this element.

Usage

From source file:hydrograph.ui.expression.editor.composites.CategoriesDialogSourceComposite.java

License:Apache License

@SuppressWarnings("restriction")
private void loadComboJarListFromBuildPath(Combo comboJarList, String newJarName) {
    comboJarList.removeAll();/* ww  w. j a v a 2s . co  m*/
    IProject iProject = BuildExpressionEditorDataSturcture.INSTANCE.getCurrentProject();
    IJavaProject iJavaProject = null;
    try {
        iJavaProject = JavaCore.create(iProject);
        PackageFragmentRoot srcfragmentRoot = BuildExpressionEditorDataSturcture.INSTANCE
                .getSrcPackageFragment(iJavaProject);
        comboJarList.add(hydrograph.ui.common.util.Constants.ProjectSupport_SRC);
        comboJarList.setData(String.valueOf(comboJarList.getItemCount() - 1), srcfragmentRoot);

        for (IPackageFragmentRoot iPackageFragmentRoot : iJavaProject.getAllPackageFragmentRoots()) {
            if (isJarPresentInLibFolder(iPackageFragmentRoot.getPath())
                    && iPackageFragmentRoot.getKind() != IPackageFragmentRoot.K_SOURCE) {
                comboJarList.add(iPackageFragmentRoot.getElementName());
                comboJarList.setData(String.valueOf(comboJarList.getItemCount() - 1), iPackageFragmentRoot);
            }
        }
        selectAndLoadJarData(newJarName);
    } catch (JavaModelException javaModelException) {
        LOGGER.error("Error occurred while loading engines-transform jar", javaModelException);
    } finally {
        if (iJavaProject != null) {
            try {
                iJavaProject.close();
            } catch (JavaModelException e) {
                LOGGER.warn("JavaModelException occurred while closing java-project" + e);
            }
        }
    }

}

From source file:hydrograph.ui.expression.editor.jar.util.BuildExpressionEditorDataSturcture.java

License:Apache License

public void createClassRepo(String jarFileName, String Package) {
    ClassRepo.INSTANCE.flusRepo();/*ww  w  .  j a v a2 s  . co  m*/
    try {
        IPackageFragmentRoot iPackageFragmentRoot = getIPackageFragment(jarFileName);
        if (iPackageFragmentRoot != null) {
            IPackageFragment fragment = iPackageFragmentRoot.getPackageFragment(Package);
            if (fragment != null) {
                for (IClassFile element : fragment.getClassFiles()) {
                    ClassRepo.INSTANCE.addClass(element, "", "", false);
                }
            } else {
                new CustomMessageBox(SWT.ERROR,
                        Package + " Package not found in jar " + iPackageFragmentRoot.getElementName(), "ERROR")
                                .open();
            }
        }
    } catch (JavaModelException e) {
        LOGGER.error("Error occurred while loading class from jar {}", jarFileName, e);
    }
    loadClassesFromSettingsFolder();
}

From source file:hydrograph.ui.expression.editor.jar.util.BuildExpressionEditorDataSturcture.java

License:Apache License

@SuppressWarnings("restriction")
public boolean loadUserDefinedClassesInClassRepo(String jarFileName, String packageName) {
    IPackageFragmentRoot iPackageFragmentRoot = getIPackageFragment(jarFileName);
    try {//ww  w .j  a  v a  2s  . c  o  m
        if (iPackageFragmentRoot != null) {
            IPackageFragment fragment = iPackageFragmentRoot.getPackageFragment(packageName);
            if (fragment != null
                    && StringUtils.equals(fragment.getClass().getSimpleName(), JAR_PACKAGE_FRAGMENT)) {
                for (IClassFile element : fragment.getClassFiles()) {
                    if (isValidCLassName(element.getElementName()))
                        ClassRepo.INSTANCE.addClass(element, jarFileName, packageName, true);
                }
                return true;
            } else {
                for (IJavaElement element : fragment.getChildren()) {
                    if (element instanceof ICompilationUnit) {
                        for (IJavaElement javaElement : ((ICompilationUnit) element).getChildren()) {
                            if (javaElement instanceof SourceType
                                    && isValidCLassName(javaElement.getElementName())) {
                                ClassRepo.INSTANCE.addClass((SourceType) javaElement, jarFileName, packageName,
                                        true);
                            }
                        }
                    }
                }
                return true;
            }
        } else {
            LOGGER.warn("Package not found in jar " + iPackageFragmentRoot.getElementName(), "ERROR");
        }
    } catch (JavaModelException e) {
        LOGGER.error("Error occurred while loading class from jar", e);
    }
    return false;
}

From source file:hydrograph.ui.expression.editor.jar.util.BuildExpressionEditorDataSturcture.java

License:Apache License

/**
 * Returns packages of given jar file//from  w ww .j av  a  2  s  .  com
 * 
 * @param jarFileName
 * @return IPackageFragmentRoot
 *          packages of given jar file
 */
public IPackageFragmentRoot getIPackageFragment(String jarFileName) {
    IProject iProject = getCurrentProject();
    IJavaProject javaProject = JavaCore.create(iProject);
    try {
        if (StringUtils.equals(jarFileName, hydrograph.ui.common.util.Constants.ProjectSupport_SRC)) {
            return getSrcPackageFragment(javaProject);
        }

        IPackageFragmentRoot[] fragmentRoot = javaProject.getAllPackageFragmentRoots();
        for (IPackageFragmentRoot iPackageFragmentRoot : fragmentRoot) {
            if (StringUtils.contains(iPackageFragmentRoot.getElementName(), jarFileName))
                return iPackageFragmentRoot;
        }
    } catch (JavaModelException javaModelException) {
        LOGGER.error("Error occurred while loading engines-transform jar", javaModelException);
    } finally {
        if (javaProject != null) {
            try {
                javaProject.close();
            } catch (JavaModelException modelException) {
                LOGGER.warn("JavaModelException occurred while closing java-project" + modelException);
            }
        }
    }
    if (StringUtils.equals(jarFileName,
            ConfigFileReader.INSTANCE.getConfigurationValueFromCommon(Constants.KEY_TRANSFORMATION_JAR)))
        new CustomMessageBox(SWT.ERROR, "Error occurred while loading " + jarFileName + " file", "ERROR")
                .open();
    return null;
}

From source file:hydrograph.ui.validators.utils.ValidatorUtility.java

License:Apache License

/**
 * This method checks if java file is present under source folder or not.
 * @param filePath java file path. //from   www  .  j  a  va  2 s  .  c  o  m
 * @return true if file is present otherwise false.
 */
public boolean isClassFilePresentOnBuildPath(String filePath) {
    if (filePath.contains(".")) {
        String packageName = filePath.substring(0, filePath.lastIndexOf('.'));
        String JavaFileName = filePath.substring(filePath.lastIndexOf('.') + 1);

        IJavaProject javaProject = null;

        ISelectionService selectionService = Workbench.getInstance().getActiveWorkbenchWindow()
                .getSelectionService();
        ISelection selection = selectionService.getSelection();

        if (selection instanceof IStructuredSelection) {
            Object element = ((IStructuredSelection) selection).getFirstElement();
            if (element instanceof IResource) {
                IProject project = ((IResource) element).getProject();
                javaProject = JavaCore.create(project);
            } else {
                javaProject = createJavaProjectThroughActiveEditor();
            }
        } else if (selection instanceof TextSelection) {
            javaProject = createJavaProjectThroughActiveEditor();
        }

        IPackageFragmentRoot[] ipackageFragmentRootList = null;
        try {
            ipackageFragmentRootList = javaProject.getPackageFragmentRoots();
        } catch (JavaModelException e) {
            logger.error("Unable to get jars which are on build path of project ", e);
        }
        for (IPackageFragmentRoot tempIpackageFragmentRoot : ipackageFragmentRootList) {
            if (!tempIpackageFragmentRoot.getElementName().contains("-sources")) {
                IPackageFragment packageFragment = tempIpackageFragmentRoot.getPackageFragment(packageName);
                if (!packageFragment.exists())
                    continue;
                else {
                    if (packageFragment.getCompilationUnit(JavaFileName + ".java").exists()
                            || packageFragment.getClassFile(JavaFileName + ".class").exists())
                        return true;
                }
            }
        }
    }
    return false;
}

From source file:it.unibz.instasearch.indexing.WorkspaceIndexerJDT.java

License:Open Source License

/**
 * @param jar
 * @return
 */
private String getJarName(IPackageFragmentRoot jar) {
    return jar.getElementName();
}

From source file:it.unibz.instasearch.indexing.WorkspaceIndexerJDT.java

License:Open Source License

private void indexClassFiles(IndexWriter indexWriter, IPackageFragmentRoot jar, IProgressMonitor monitor)
        throws Exception {

    String jarName = getJarName(jar);
    String projectPath = getProjectPath(jar);

    for (IJavaElement pkgRootChild : jar.getChildren()) {

        IPackageFragment pkg = (IPackageFragment) pkgRootChild;
        monitor.setTaskName(//from  ww  w. j av a 2  s. co m
                "Indexing JAR Source Attachements: " + jar.getElementName() + " - " + pkg.getElementName());

        for (IClassFile classFile : pkg.getClassFiles()) {
            if (classFile.getElementName().contains("$"))
                continue; // not type root

            ClassFileSourceStorage classFileSourceStorage = new ClassFileSourceStorage(classFile);

            if (classFileSourceStorage.hasSource())
                indexStorageWithRetry(indexWriter, classFileSourceStorage, projectPath, IResource.NULL_STAMP,
                        jarName);

            if (monitor.isCanceled())
                return;
        }

    }

}

From source file:it.unibz.instasearch.indexing.WorkspaceIndexerJDT.java

License:Open Source License

private List<IPackageFragmentRoot> getJars(IJavaModel javaModel) throws JavaModelException {

    IJavaProject[] projects = javaModel.getJavaProjects();
    TreeSet<String> jarNames = new TreeSet<String>();
    LinkedList<IPackageFragmentRoot> jars = new LinkedList<IPackageFragmentRoot>();

    for (IJavaProject javaProj : projects) {

        IPackageFragmentRoot[] roots = javaProj.getPackageFragmentRoots();

        for (IPackageFragmentRoot root : roots) {
            if (root.isArchive() && root.getSourceAttachmentPath() != null) {

                String name = root.getElementName();

                if (!jarNames.contains(name)) {
                    jarNames.add(name);//from   ww  w .  j  a  va 2s . c  o m
                    jars.add(root);
                }
            }
        }
    }

    return jars;
}

From source file:it.unibz.instasearch.indexing.WorkspaceIndexerJDT.java

License:Open Source License

/**
 * @param doc/*w ww.  ja v a 2 s. c om*/
 * @return
 * @throws JavaModelException 
 */
private IStorage getNonJavaResource(SearchResultDoc doc) throws JavaModelException {

    IWorkspaceRoot workspaceRoot = InstaSearchPlugin.getWorkspaceRoot();
    IJavaModel javaModel = JavaCore.create(workspaceRoot);

    String javaProjectName = doc.getProject().segment(0);
    IJavaProject javaProj = javaModel.getJavaProject(javaProjectName);

    if (!javaProj.isOpen())
        javaProj.open(new NullProgressMonitor());

    javaModel.refreshExternalArchives(new IJavaElement[] { javaProj }, new NullProgressMonitor());

    String jarName = doc.getJarName();

    IPackageFragmentRoot[] roots = javaProj.getPackageFragmentRoots();
    IPackageFragmentRoot jar = null;

    for (IPackageFragmentRoot root : roots) {
        if (root.isArchive() && root.getSourceAttachmentPath() != null) {

            String name = root.getElementName();
            if (name.equals(jarName)) {
                jar = root;
                break;
            }
        }
    }

    if (jar == null)
        return null;

    String filePath = doc.getFilePath();
    IPath path = new Path(filePath);

    IJarEntryResource res = null;
    for (String segment : path.segments()) {
        if (res == null)
            res = findJarEntry(jar, segment);
        else
            res = findJarEntry(res.getChildren(), segment);
    }

    return res;
}

From source file:net.rim.ejde.internal.util.FileUtils.java

License:Open Source License

public static IFolder get1stNonDerivedSourceFolder(IProject iProject) {
    IFolder sfolder = null;/*from w w w . j a v  a 2  s . c o m*/
    IPackageFragmentRoot roots[] = ProjectUtils.getProjectSourceFolders(iProject);
    if (roots != null && roots.length > 0) {
        Collections.sort(Arrays.asList(roots), new Comparator<IPackageFragmentRoot>() {
            @Override
            public int compare(IPackageFragmentRoot root1, IPackageFragmentRoot root2) {
                return root1.getElementName().compareTo(root2.getElementName());
            }
        });
        for (int i = 0; i < roots.length; i++) {
            sfolder = iProject.getFolder(roots[i].getResource().getProjectRelativePath());
            if (!sfolder.isDerived()) {
                break;
            }
        }
    }
    return sfolder;
}