List of usage examples for org.eclipse.jdt.core IJavaProject findPackageFragmentRoot
IPackageFragmentRoot findPackageFragmentRoot(IPath path) throws JavaModelException;
null
if one does not exist. From source file:com.iw.plugins.spindle.core.util.CoreUtils.java
License:Mozilla Public License
/** * Returns true if the element is on the build path of the given project */// www. java2 s . c o m public static boolean isOnBuildPath(IJavaProject jproject, IJavaElement element) throws JavaModelException { IPath rootPath; if (element.getElementType() == IJavaElement.JAVA_PROJECT) { rootPath = ((IJavaProject) element).getProject().getFullPath(); } else { IPackageFragmentRoot root = getPackageFragmentRoot(element); if (root == null) { return false; } rootPath = root.getPath(); } return jproject.findPackageFragmentRoot(rootPath) != null; }
From source file:com.iw.plugins.spindle.ui.wizards.fields.ContainerDialogField.java
License:Mozilla Public License
private IPackageFragmentRoot chooseSourceContainer(IJavaElement initElement) { final IJavaProject thisProject = initElement.getJavaProject(); Class[] acceptedClasses = new Class[] { IPackageFragmentRoot.class, IJavaProject.class }; ISelectionStatusValidator validator = new TypeSelectionValidator(acceptedClasses, false) { public boolean isSelectedValid(Object element) { try { boolean accepted = false; if (fThisProjectOnly) { accepted = element instanceof IJavaProject && thisProject.equals((IJavaProject) element); } else { accepted = element instanceof IJavaProject; }/* ww w. j a va 2 s.c o m*/ if (accepted) { IJavaProject jproject = (IJavaProject) element; IPath path = jproject.getProject().getFullPath(); return (jproject.findPackageFragmentRoot(path) != null); } else if (element instanceof IPackageFragmentRoot) { return (((IPackageFragmentRoot) element).getKind() == IPackageFragmentRoot.K_SOURCE); } return true; } catch (JavaModelException e) { UIPlugin.log(e); // just log, no ui in validation } return false; } }; acceptedClasses = new Class[] { IJavaModel.class, IPackageFragmentRoot.class, IJavaProject.class }; ViewerFilter filter = new TypeFilter(acceptedClasses) { public boolean select(Viewer viewer, Object parent, Object element) { if (fThisProjectOnly && thisProject == null) return false; if (element instanceof IJavaProject) { return thisProject.equals((IJavaProject) element); } if (element instanceof IPackageFragmentRoot) { try { return (((IPackageFragmentRoot) element).getKind() == IPackageFragmentRoot.K_SOURCE); } catch (JavaModelException e) { UIPlugin.log(e); return false; } } return super.select(viewer, parent, element); } }; StandardJavaElementContentProvider provider = new StandardJavaElementContentProvider(); ILabelProvider labelProvider = new JavaElementLabelProvider(JavaElementLabelProvider.SHOW_DEFAULT); ElementTreeSelectionDialog dialog = new ElementTreeSelectionDialog(getShell(), labelProvider, provider); dialog.setValidator(validator); dialog.setSorter(new JavaElementSorter()); dialog.setTitle(UIPlugin.getString(fName + ".ChooseSourceContainerDialog.title")); dialog.setMessage(UIPlugin.getString(fName + ".ChooseSourceContainerDialog.description")); dialog.addFilter(filter); dialog.setInput(JavaCore.create(fWorkspaceRoot)); dialog.setInitialSelection(initElement); if (dialog.open() == Window.OK) { Object element = dialog.getFirstResult(); if (element instanceof IJavaProject) { IJavaProject jproject = (IJavaProject) element; return jproject.getPackageFragmentRoot(jproject.getProject()); } else if (element instanceof IPackageFragmentRoot) { return (IPackageFragmentRoot) element; } return null; } return null; }
From source file:com.iw.plugins.spindle.wizards.fields.ContainerDialogField.java
License:Mozilla Public License
private IPackageFragmentRoot chooseSourceContainer(IJavaElement initElement) { final IJavaProject thisProject = initElement.getJavaProject(); Class[] acceptedClasses = new Class[] { IPackageFragmentRoot.class, IJavaProject.class }; ISelectionStatusValidator validator = new TypedElementSelectionValidator(acceptedClasses, false) { public boolean isSelectedValid(Object element) { try { boolean accepted = false; if (thisProjectOnly) { accepted = element instanceof IJavaProject && thisProject.equals((IJavaProject) element); } else { accepted = element instanceof IJavaProject; }//w w w . j a va 2s.c om if (accepted) { IJavaProject jproject = (IJavaProject) element; IPath path = jproject.getProject().getFullPath(); return (jproject.findPackageFragmentRoot(path) != null); } else if (element instanceof IPackageFragmentRoot) { return (((IPackageFragmentRoot) element).getKind() == IPackageFragmentRoot.K_SOURCE); } return true; } catch (JavaModelException e) { TapestryPlugin.getDefault().logException(e); // just log, no ui in validation } return false; } }; 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 IJavaProject) { return thisProject.equals((IJavaProject) element); } if (element instanceof IPackageFragmentRoot) { try { return (((IPackageFragmentRoot) element).getKind() == IPackageFragmentRoot.K_SOURCE); } catch (JavaModelException e) { TapestryPlugin.getDefault().logException(e); return false; } } return super.select(viewer, parent, element); } }; StandardJavaElementContentProvider provider = new StandardJavaElementContentProvider(); ILabelProvider labelProvider = new JavaElementLabelProvider(JavaElementLabelProvider.SHOW_DEFAULT); ElementTreeSelectionDialog dialog = new ElementTreeSelectionDialog(getShell(), labelProvider, provider); dialog.setValidator(validator); dialog.setSorter(new JavaElementSorter()); dialog.setTitle(MessageUtil.getString(name + ".ChooseSourceContainerDialog.title")); dialog.setMessage(MessageUtil.getString(name + ".ChooseSourceContainerDialog.description")); dialog.addFilter(filter); dialog.setInput(JavaCore.create(workspaceRoot)); dialog.setInitialSelection(initElement); if (dialog.open() == dialog.OK) { Object element = dialog.getFirstResult(); if (element instanceof IJavaProject) { IJavaProject jproject = (IJavaProject) element; return jproject.getPackageFragmentRoot(jproject.getProject()); } else if (element instanceof IPackageFragmentRoot) { return (IPackageFragmentRoot) element; } return null; } return null; }
From source file:com.motorola.studio.android.wizards.buildingblocks.ElementTreeValidator.java
License:Apache License
@Override public boolean isSelectedValid(Object element) { boolean isValid = false; try {/* w ww .j a va2 s. co m*/ if (element instanceof IJavaProject) { IJavaProject jproject = (IJavaProject) element; IPath path = jproject.getProject().getFullPath(); isValid = (jproject.findPackageFragmentRoot(path) != null); } else if (element instanceof IPackageFragmentRoot) { IPackageFragmentRoot packageFragmentRoot = (IPackageFragmentRoot) element; boolean isSrc = (packageFragmentRoot.getKind() == IPackageFragmentRoot.K_SOURCE); boolean isGen = packageFragmentRoot.getElementName().equals(IAndroidConstants.GEN_SRC_FOLDER) && (packageFragmentRoot.getParent() instanceof IJavaProject); isValid = isSrc && !isGen; } else { isValid = true; } } catch (JavaModelException e) { StudioLogger.error(ElementTreeValidator.class, e.getLocalizedMessage(), e); } return isValid; }
From source file:com.mountainminds.eclemma.internal.core.analysis.TypeTraverser.java
License:Open Source License
/** * This methods checks whether the given package fragment root is still on the * classpath. This check is required as the user might change the classpath * and old coverage sessions afterwards (SF #1836551). * /*from w w w . j a va 2 s . c o m*/ * @param root * package fragment root * @return true, if the classpath entry still exists * @throws JavaModelException */ private boolean isOnClasspath(IPackageFragmentRoot root) throws JavaModelException { IPath path = root.getPath(); IJavaProject project = root.getJavaProject(); return project.findPackageFragmentRoot(path) != null; }
From source file:com.siteview.mde.internal.core.util.PDEJavaHelper.java
License:Open Source License
private static IPackageFragment getExternalPackageFragment(String packageName, String pluginID) { if (pluginID == null) return null; IMonitorModelBase base = null;/*from w w w . jav a 2 s . c om*/ try { IMonitorModelBase plugin = MonitorRegistry.findModel(pluginID); if (plugin == null) return null; ImportPackageSpecification[] packages = plugin.getBundleDescription().getImportPackages(); for (int i = 0; i < packages.length; i++) if (packages[i].getName().equals(packageName)) { ExportPackageDescription desc = (ExportPackageDescription) packages[i].getSupplier(); if (desc != null) base = MonitorRegistry.findModel(desc.getExporter().getSymbolicName()); break; } if (base == null) return null; IResource res = base.getUnderlyingResource(); if (res != null) { IJavaProject jp = JavaCore.create(res.getProject()); if (jp != null) try { IPackageFragmentRoot[] roots = jp.getAllPackageFragmentRoots(); for (int i = 0; i < roots.length; i++) { IPackageFragment frag = roots[i].getPackageFragment(packageName); if (frag.exists()) return frag; } } catch (JavaModelException e) { } } IProject proj = MDECore.getWorkspace().getRoot() .getProject(SearchablePluginsManager.PROXY_PROJECT_NAME); if (proj == null) return searchWorkspaceForPackage(packageName, base); IJavaProject jp = JavaCore.create(proj); IPath path = new Path(base.getInstallLocation()); // if model is in jar form if (!path.toFile().isDirectory()) { IPackageFragmentRoot root = jp.findPackageFragmentRoot(path); if (root != null) { IPackageFragment frag = root.getPackageFragment(packageName); if (frag.exists()) return frag; } // else model is in folder form, try to find model's libraries on filesystem } else { IMonitorLibrary[] libs = base.getMonitorBase().getLibraries(); for (int i = 0; i < libs.length; i++) { if (IMonitorLibrary.RESOURCE.equals(libs[i].getType())) continue; String libName = ClasspathUtilCore.expandLibraryName(libs[i].getName()); IPackageFragmentRoot root = jp.findPackageFragmentRoot(path.append(libName)); if (root != null) { IPackageFragment frag = root.getPackageFragment(packageName); if (frag.exists()) return frag; } } } } catch (JavaModelException e) { } return searchWorkspaceForPackage(packageName, base); }
From source file:com.siteview.mde.internal.core.util.PDEJavaHelper.java
License:Open Source License
private static IPackageFragment searchWorkspaceForPackage(String packageName, IMonitorModelBase base) { IMonitorLibrary[] libs = base.getMonitorBase().getLibraries(); ArrayList libPaths = new ArrayList(); IPath path = new Path(base.getInstallLocation()); if (libs.length == 0) { libPaths.add(path);//from ww w. j a va 2 s.co m } for (int i = 0; i < libs.length; i++) { if (IMonitorLibrary.RESOURCE.equals(libs[i].getType())) continue; String libName = ClasspathUtilCore.expandLibraryName(libs[i].getName()); libPaths.add(path.append(libName)); } IProject[] projects = MDECore.getWorkspace().getRoot().getProjects(); for (int i = 0; i < projects.length; i++) { try { if (!projects[i].hasNature(JavaCore.NATURE_ID) || !projects[i].isOpen()) continue; IJavaProject jp = JavaCore.create(projects[i]); ListIterator li = libPaths.listIterator(); while (li.hasNext()) { IPackageFragmentRoot root = jp.findPackageFragmentRoot((IPath) li.next()); if (root != null) { IPackageFragment frag = root.getPackageFragment(packageName); if (frag.exists()) return frag; } } } catch (CoreException e) { } } return null; }
From source file:de.se_rwth.langeditor.util.ResourceLocator.java
License:Open Source License
private static Map<IPackageFragmentRoot, IProject> getPackageFragmentRootsOnModelPath() { Map<IPackageFragmentRoot, IProject> packageFragmentRoots = new HashMap<>(); for (IProject project : ResourcesPlugin.getWorkspace().getRoot().getProjects()) { IJavaProject javaProject = JavaCore.create(project); try {// w w w .j av a 2 s .co m for (IClasspathEntry entry : getModelPathEntries(javaProject)) { Optional.ofNullable(javaProject.findPackageFragmentRoot(entry.getPath())).ifPresent( packageFragmentRoot -> packageFragmentRoots.put(packageFragmentRoot, project)); } } catch (JavaModelException e) { continue; } } return packageFragmentRoots; }
From source file:eldaEditor.dialogs.TransitionPropertiesInputDialog.java
License:Open Source License
private List fillExceptionCombo(Combo exceptionComnbo) { List exceptionList = new ArrayList<String>(); // creo il javaProject IJavaProject jProject = JavaCore.create(project); try {//from ww w . j a v a 2s . c om // recupero il jar di actiware IPackageFragmentRoot jar = jProject.findPackageFragmentRoot(JavaCore.getResolvedVariablePath( JavaCore.newVariableEntry(CodeGenerator.frameworkPath, null, null).getPath())); for (int i = 1; i < jar.getChildren().length; i++) { IPackageFragment jarFragment = (IPackageFragment) JavaCore .create(jar.getChildren()[i].getHandleIdentifier()); if (jarFragment.getElementName().startsWith("eldaframework.eldaevent.exception")) { IClassFile[] classArray = jarFragment.getClassFiles(); for (int j = 0; j < classArray.length; j++) { String name = classArray[j].getElementName().replaceAll(".class", ""); exceptionComnbo.add(name); exceptionList.add(name); } } } } catch (JavaModelException e) { // TODO Auto-generated catch block e.printStackTrace(); } return exceptionList; }
From source file:es.bsc.servicess.ide.PackagingUtils.java
License:Apache License
/** Build Service Packages. * /*ww w. j av a 2 s .c o m*/ * @param project Java Project where the service is built * @param pr_meta Project Metadata where the project is described * @param monitor Eclipse progress monitor * @throws Exception */ public static void buildPackages(IJavaProject project, ProjectMetadata pr_meta, IProgressMonitor monitor) throws Exception { monitor.beginTask("Building project classes...", 100); IFolder output = project.getProject().getFolder(ProjectMetadata.OUTPUT_FOLDER); if (output == null || !output.exists()) { output.create(true, true, monitor); } project.getProject().build(IncrementalProjectBuilder.INCREMENTAL_BUILD, monitor); monitor.done(); monitor.beginTask("Creating packages...", 2); // Create folders to store packages IFolder packagesFolder = output.getFolder(ProjectMetadata.PACKAGES_FOLDER); if (packagesFolder != null && packagesFolder.exists()) { log.debug("Deleting current packages folder"); packagesFolder.delete(true, monitor); } log.debug("Creating packages folder"); packagesFolder.create(true, true, monitor); IFolder srcFolder = project.getProject().getFolder(pr_meta.getSourceDir()); //Get parameters to perform the package creation //String[] packs = pr_meta.getPackages(); String runtime = pr_meta.getRuntimeLocation(); //TODO Chak if should be all orchestration or only internal String[] orchClasses = pr_meta.getAllOrchestrationClasses(); String[] extOrchClasses = pr_meta.getExternalOrchestrationClasses(); IPackageFragmentRoot source = project.findPackageFragmentRoot(srcFolder.getFullPath()); IPackageFragmentRoot generated = project.findPackageFragmentRoot( project.getProject().getFolder(ProjectMetadata.GENERATED_FOLDER).getFullPath()); if (source != null && source.exists()) { HashMap<String, ServiceElement> constraintsElements = CommonFormPage.getElements(orchClasses, ProjectMetadata.CORE_TYPE, project, pr_meta); //Create Core Element packages String[] corePacks = pr_meta.getPackagesWithCores(); if (corePacks != null && corePacks.length > 0) { log.debug("Creating core elements packages"); monitor.subTask("Create Core Element packages"); monitor.beginTask("Creating packages...", corePacks.length); for (String p : corePacks) { String[] elements = pr_meta.getElementsInPackage(p); if (elements != null && elements.length > 0) { PackagingUtils.createCorePackage(runtime, p, elements, pr_meta.getDependencies(elements), constraintsElements, source, output, packagesFolder, monitor); } monitor.worked(1); } monitor.done(); } else { log.warn("Warning: No core packages built"); monitor.setCanceled(true); throw (new InvocationTargetException(new Exception("No packages built"))); } if (orchClasses != null && orchClasses.length > 0) { String[] orchPacks = pr_meta.getPackagesWithOrchestration(); if (orchPacks != null && orchPacks.length > 0) { log.debug("Creating orchestration elements packages"); for (String p : orchPacks) { String[] allElements = pr_meta.getElementsInPackage(p); Map<String, List<String>> extElements = pr_meta .getOrchestrationClassesAndElements(allElements, true); Map<String, List<String>> intElements = pr_meta .getOrchestrationClassesAndElements(allElements, false); if (intElements != null && intElements.size() > 0) { PackagingUtils.createInternalOrchestrationPackage(runtime, PackagingUtils.getClasspath(project), p, intElements, pr_meta.getDependencies(intElements), source, generated, output, packagesFolder, monitor, pr_meta.shouldBeWarFile(p)); monitor.done(); } if (extElements != null && extElements.size() > 0) { PackagingUtils.createExternalOrchestrationPackage(runtime, PackagingUtils.getClasspath(project), p, extElements, source, generated, output, packagesFolder, monitor, pr_meta); monitor.done(); } } } else { log.debug("Creating all orchestration element package"); // Create All Orchestration packages (front-end) String[] allElements = CommonFormPage.getOrchestrationElementsLabels(orchClasses, project, pr_meta); Map<String, List<String>> extElements = pr_meta.getOrchestrationClassesAndElements(allElements, true); Map<String, List<String>> intElements = pr_meta.getOrchestrationClassesAndElements(allElements, false); if (intElements != null && intElements.size() > 0) { PackagingUtils.createInternalOrchestrationPackage(runtime, PackagingUtils.getClasspath(project), project.getProject().getName(), intElements, pr_meta.getDependencies(intElements), source, generated, output, packagesFolder, monitor, ProjectMetadata.shouldBeWarFile(pr_meta.getOrchestrationClassesTypes())); monitor.done(); } if (extElements != null && extElements.size() > 0) { PackagingUtils.createExternalOrchestrationPackage(runtime, PackagingUtils.getClasspath(project), project.getProject().getName(), extElements, source, generated, output, packagesFolder, monitor, pr_meta); monitor.done(); } } } else { log.warn("Warning: No orchestration element packages built"); monitor.setCanceled(true); throw (new InvocationTargetException(new Exception("No orchestration packages built"))); } } else { log.error("Source dir not found"); monitor.setCanceled(true); throw (new InvocationTargetException( new Exception("Source dir " + srcFolder.getFullPath() + " not found"))); } }