List of usage examples for org.eclipse.jdt.core IPackageFragmentRoot getElementName
String getElementName();
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; }