List of usage examples for org.eclipse.jdt.core IPackageFragment getKind
int getKind() throws JavaModelException;
From source file:ar.com.fluxit.jqa.utils.JdtUtils.java
License:Open Source License
public static boolean isSourcePackage(IPackageFragment packageFragment) { try {// w ww.ja v a2 s . c o m return packageFragment.containsJavaResources() && packageFragment.getKind() == IPackageFragmentRoot.K_SOURCE; } catch (JavaModelException e) { throw new IllegalStateException("An error has occurred while collection Java packages", e); } }
From source file:ar.com.fluxit.jqa.wizard.page.LayersDefinitionWizardPage.java
License:Open Source License
private List<IJavaElement> collectNonEmptyPackages() { try {/* www . jav a 2s . c o m*/ List<IJavaElement> result = new ArrayList<IJavaElement>(); for (IProject project : getWizard().getTargetProjects()) { final IJavaProject javaProject = JavaCore.create(project); for (IPackageFragment packageFragment : javaProject.getPackageFragments()) { if (packageFragment.containsJavaResources() && packageFragment.getKind() == IPackageFragmentRoot.K_SOURCE) { result.add(packageFragment); } } } return result; } catch (JavaModelException e) { throw new IllegalStateException("An error has occurred while collection Java packages", e); } }
From source file:at.bestsolution.efxclipse.tooling.pde.e4.project.E4NewProjectWizard.java
License:Open Source License
/** * create products extension detail//from ww w.j ava 2 s .co m * * @param project */ public void createApplicationResources(IProject project, IProgressMonitor monitor) { Map<String, String> map = fApplicationPage.getData(); if (map == null || map.get(NewApplicationWizardPage.PRODUCT_NAME) == null) return; // If the project has invalid characters, the plug-in name would replace // them with underscores, product name does the same String pluginName = map.get(NewApplicationWizardPage.PRODUCT_NAME); String xmiPath = map.get(NewApplicationWizardPage.APPLICATION_XMI_PROPERTY); // If there's no Activator created we create default package if (!fPluginData.doGenerateClass()) { String packageName = fPluginData.getId(); IPath path = new Path(packageName.replace('.', '/')); if (fPluginData.getSourceFolderName().trim().length() > 0) path = new Path(fPluginData.getSourceFolderName()).append(path); try { CoreUtility.createFolder(project.getFolder(path)); } catch (CoreException e) { // TODO Auto-generated catch block e.printStackTrace(); } } IJavaProject javaProject = JavaCore.create(project); IPackageFragment fragment = null; try { for (IPackageFragment element : javaProject.getPackageFragments()) { if (element.getKind() == IPackageFragmentRoot.K_SOURCE) { fragment = element; } } } catch (JavaModelException e1) { e1.printStackTrace(); } if (xmiPath != null && xmiPath.trim().length() > 0) { // Create a resource set // ResourceSet resourceSet = new ResourceSetImpl(); // Get the URI of the model file. // URI fileURI = URI.createPlatformResourceURI(project.getName() + "/" + xmiPath, true); // Create a resource for this file. // Resource resource = resourceSet.createResource(fileURI); MApplication application = MApplicationFactory.INSTANCE.createApplication(); application.setElementId("org.eclipse.e4.ide.application"); MAddon addon = MApplicationFactory.INSTANCE.createAddon(); addon.setElementId("org.eclipse.e4.core.commands.service"); addon.setContributionURI( "bundleclass://org.eclipse.e4.core.commands/org.eclipse.e4.core.commands.CommandServiceAddon"); application.getAddons().add(addon); addon = MApplicationFactory.INSTANCE.createAddon(); addon.setElementId("org.eclipse.e4.ui.contexts.service"); addon.setContributionURI( "bundleclass://org.eclipse.e4.ui.services/org.eclipse.e4.ui.services.ContextServiceAddon"); application.getAddons().add(addon); addon = MApplicationFactory.INSTANCE.createAddon(); addon.setElementId("at.bestsolution.efxclipse.runtime.bindings.e4.service"); addon.setContributionURI( "bundleclass://at.bestsolution.efxclipse.runtime.bindings.e4/at.bestsolution.efxclipse.runtime.bindings.e4.BindingServiceAddon"); application.getAddons().add(addon); addon = MApplicationFactory.INSTANCE.createAddon(); addon.setElementId("org.eclipse.e4.ui.workbench.commands.model"); addon.setContributionURI( "bundleclass://org.eclipse.e4.ui.workbench/org.eclipse.e4.ui.internal.workbench.addons.CommandProcessingAddon"); application.getAddons().add(addon); addon = MApplicationFactory.INSTANCE.createAddon(); addon.setElementId("org.eclipse.e4.ui.workbench.contexts.model"); addon.setContributionURI( "bundleclass://org.eclipse.e4.ui.workbench/org.eclipse.e4.ui.internal.workbench.addons.ContextProcessingAddon"); application.getAddons().add(addon); addon = MApplicationFactory.INSTANCE.createAddon(); addon.setElementId("at.bestsolution.efxclipse.runtime.bindings.e4.model"); addon.setContributionURI( "bundleclass://at.bestsolution.efxclipse.runtime.bindings.e4/at.bestsolution.efxclipse.runtime.bindings.e4.BindingProcessingAddon"); application.getAddons().add(addon); MBindingContext rootContext = MCommandsFactory.INSTANCE.createBindingContext(); rootContext.setElementId("org.eclipse.ui.contexts.dialogAndWindow"); rootContext.setName("In Dialog and Windows"); MBindingContext childContext = MCommandsFactory.INSTANCE.createBindingContext(); childContext.setElementId("org.eclipse.ui.contexts.window"); childContext.setName("In Windows"); rootContext.getChildren().add(childContext); childContext = MCommandsFactory.INSTANCE.createBindingContext(); childContext.setElementId("org.eclipse.ui.contexts.dialog"); childContext.setName("In Dialogs"); rootContext.getChildren().add(childContext); application.getRootContext().add(rootContext); application.getBindingContexts().add(rootContext); resource.getContents().add((EObject) application); MCommand openCommand = createCommand("media.open", "openMedia", "OpenHandler", "M1+O", pluginName, fragment, application); MCommand refreshCommand = createCommand("media.refresh", "refreshMedia", "RefreshHandler", "M1+R", pluginName, fragment, application); MTrimmedWindow mainWindow = MBasicFactory.INSTANCE.createTrimmedWindow(); mainWindow.setElementId("org.efxclipse.e4.mainWindow"); mainWindow.getPersistedState().put("fx.stage.decoration", "platform:/plugin/" + pluginName + "/" + fragment.getElementName().replace('.', '/') + "/decoration/TopArea.fxml"); application.getChildren().add(mainWindow); { mainWindow.setLabel(pluginName); mainWindow.setX(30); mainWindow.setY(30); mainWindow.setWidth(1024); mainWindow.setHeight(768); // Top-Sash { MPartSashContainer sash = MBasicFactory.INSTANCE.createPartSashContainer(); sash.setHorizontal(true); // Create a left part { MPart part = MBasicFactory.INSTANCE.createPart(); part.setContributionURI("bundleclass://" + pluginName + "/" + fragment.getElementName() + ".parts.MediaListPart"); part.setContainerData("0.3"); sash.getChildren().add(part); } // Create a right a stack { MPartStack stack = MBasicFactory.INSTANCE.createPartStack(); stack.setContainerData("0.7"); stack.setElementId("content.stack"); sash.getChildren().add(stack); } mainWindow.getChildren().add(sash); } // WindowTrim { MTrimBar trimBar = MBasicFactory.INSTANCE.createTrimBar(); mainWindow.getTrimBars().add(trimBar); MToolBar toolBar = MMenuFactory.INSTANCE.createToolBar(); toolBar.setElementId("org.efxclipse.e4.maintoolbar"); trimBar.getChildren().add(toolBar); MHandledToolItem toolItemOpen = MMenuFactory.INSTANCE.createHandledToolItem(); toolBar.getChildren().add(toolItemOpen); toolItemOpen.setElementId("org.efxclipse.e4.toolitem.open"); toolItemOpen.setIconURI("platform:/plugin/" + pluginName + "/icons/edit-image-face-show.png"); toolItemOpen.setCommand(openCommand); MHandledToolItem toolItemSave = MMenuFactory.INSTANCE.createHandledToolItem(); toolBar.getChildren().add(toolItemSave); toolItemSave.setElementId("org.efxclipse.e4.toolitem.save"); toolItemSave.setIconURI("platform:/plugin/" + pluginName + "/icons/system-reboot.png"); toolItemSave.setCommand(refreshCommand); } } Map<Object, Object> options = new HashMap<Object, Object>(); options.put(XMLResource.OPTION_ENCODING, "UTF-8"); try { resource.save(options); } catch (IOException e) { PDEPlugin.logException(e); } } IFile f = project.getFile(new Path(project.getName() + ".product.launch")); E4LaunchDef def = new E4LaunchDef(); def.setProjectName(project.getName()); def.getTargetPlugins().addAll(E4LaunchDef.getE4TargetPlugins()); def.getWorkbenchPlugins().add(new PluginLaunchDef(project.getName())); try { ByteArrayInputStream in = new ByteArrayInputStream( new LaunchGenerator().generate(def).toString().getBytes()); f.create(in, true, monitor); in.close(); } catch (CoreException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } String cssPath = map.get(NewApplicationWizardPage.APPLICATION_CSS_PROPERTY); if (cssPath != null && cssPath.trim().length() > 0) { IFile file = project.getFile(cssPath); try { prepareFolder(file.getParent(), monitor); URL corePath = ResourceLocator.getProjectTemplateFiles("css/default.css"); file.create(corePath.openStream(), true, monitor); } catch (Exception e) { PDEPlugin.logException(e); } } String template_id = "common"; Set<String> binaryExtentions = new HashSet<String>(); binaryExtentions.add(".gif"); binaryExtentions.add(".png"); binaryExtentions.add(".jpg"); binaryExtentions.add(".flv"); Map<String, String> keys = new HashMap<String, String>(); keys.put("projectName", pluginName); keys.put("packageName", fragment.getElementName() + ".handlers"); keys.put("packageName_parts", fragment.getElementName() + ".parts"); keys.put("packageName_model", fragment.getElementName() + ".model"); keys.put("packageName_decoration", fragment.getElementName() + ".decoration"); try { URL corePath = ResourceLocator.getProjectTemplateFiles(template_id); IRunnableWithProgress op = new TemplateOperation(corePath, project, keys, binaryExtentions); getContainer().run(false, true, op); } catch (Exception e) { PDEPlugin.logException(e); } try { URL corePath = ResourceLocator.getProjectTemplateFiles("src"); IRunnableWithProgress op = new TemplateOperation(corePath, (IContainer) fragment.getResource(), keys, binaryExtentions); getContainer().run(false, true, op); } catch (Exception e) { PDEPlugin.logException(e); } }
From source file:byke.DependencyAnalysis.java
License:Open Source License
private void assertValid(IPackageFragment fragment) throws InvalidElement { if (fragment == null) throw new InvalidElement("Null Package Fragment"); try {//from ww w.ja v a 2s . c o m if (fragment.getKind() == IPackageFragmentRoot.K_BINARY) throw new InvalidElement("Binary Package"); } catch (JavaModelException e) { throw new InvalidElement(e); } }
From source file:cn.ieclipse.adt.ext.jdt.JavaSelection.java
License:Apache License
private void iterate(IJavaElement element) throws JavaModelException { if (project == null) { project = element.getJavaProject(); }/*from w w w.j a v a 2 s . c o m*/ if (element instanceof IJavaProject) { IJavaProject prj = (IJavaProject) element; IPackageFragmentRoot[] roots = prj.getAllPackageFragmentRoots(); for (IPackageFragmentRoot root : roots) { iterate(root); } return; } else if (element instanceof IPackageFragmentRoot) { IPackageFragmentRoot root = (IPackageFragmentRoot) element; if (root.getKind() == IPackageFragmentRoot.K_SOURCE) { IJavaElement[] children = root.getChildren(); for (IJavaElement child : children) { iterate(child); } } } else if (element instanceof IPackageFragment) { IPackageFragment pkg = (IPackageFragment) element; if (pkg.getKind() == IPackageFragmentRoot.K_SOURCE) { ICompilationUnit[] units = pkg.getCompilationUnits(); for (ICompilationUnit unit : units) { this.units.add(unit); } IJavaElement[] children = pkg.getChildren(); for (IJavaElement child : children) { iterate(child); } } } else if (element instanceof ICompilationUnit) { ICompilationUnit unit = (ICompilationUnit) element; this.units.add(unit); } }
From source file:com.alex.example.fixlicense.actions.SampleAction.java
License:Open Source License
private void processProject(IProject project) throws Exception { if (project.isNatureEnabled("org.eclipse.jdt.core.javanature")) { IJavaProject javaProject = JavaCore.create(project); IPackageFragment[] packages = javaProject.getPackageFragments(); for (IPackageFragment mypackage : packages) { if (mypackage.getKind() == IPackageFragmentRoot.K_SOURCE) { for (ICompilationUnit unit : mypackage.getCompilationUnits()) { sum = sum + 1;/*from www.ja v a 2 s. c o m*/ processJavaSource(unit); } } } } }
From source file:com.android.ide.eclipse.adt.internal.lint.UnusedResourceDetector.java
License:Open Source License
@Override public void checkJavaSources(Context context, List<File> sourceFolders) { IProject project = getProject(context); if (project == null) { return;/* w w w . jav a 2 s. co m*/ } IJavaProject javaProject; try { javaProject = BaseProjectHelper.getJavaProject(project); } catch (CoreException e) { context.log(e, null); return; } if (javaProject == null) { return; } // Scan Java code in project for R.field references try { IPackageFragment[] packages = javaProject.getPackageFragments(); for (IPackageFragment pkg : packages) { if (pkg.getKind() == IPackageFragmentRoot.K_SOURCE) { for (ICompilationUnit unit : pkg.getCompilationUnits()) { ASTParser parser = ASTParser.newParser(AST.JLS3); parser.setKind(ASTParser.K_COMPILATION_UNIT); parser.setSource(unit); parser.setResolveBindings(true); CompilationUnit parse = (CompilationUnit) parser.createAST(null); // parse // In the R file, look for known declarations if ("R.java".equals(unit.getResource().getName())) { //$NON-NLS-1$ ResourceDeclarationVisitor visitor = new ResourceDeclarationVisitor(); parse.accept(visitor); mDeclarations.addAll(visitor.getDeclarations()); } else { ResourceRefCollector visitor = new ResourceRefCollector(); parse.accept(visitor); List<String> refs = visitor.getRefs(); mReferences.addAll(refs); } } } } } catch (CoreException e) { context.log(e, null); } }
From source file:com.android.ide.eclipse.adt.internal.refactorings.extractstring.ExtractStringRefactoring.java
License:Open Source License
/** * Returns a foreach compatible iterator over all ICompilationUnit in the project. */// ww w . j av a2 s. co m private Iterable<ICompilationUnit> findAllJavaUnits() { final IJavaProject javaProject = JavaCore.create(mProject); return new Iterable<ICompilationUnit>() { @Override public Iterator<ICompilationUnit> iterator() { return new Iterator<ICompilationUnit>() { final Queue<ICompilationUnit> mUnits = new LinkedList<ICompilationUnit>(); final Queue<IPackageFragment> mFragments = new LinkedList<IPackageFragment>(); { try { IPackageFragment[] tmpFrags = javaProject.getPackageFragments(); if (tmpFrags != null && tmpFrags.length > 0) { mFragments.addAll(Arrays.asList(tmpFrags)); } } catch (JavaModelException e) { // pass } } @Override public boolean hasNext() { if (!mUnits.isEmpty()) { return true; } while (!mFragments.isEmpty()) { try { IPackageFragment fragment = mFragments.poll(); if (fragment.getKind() == IPackageFragmentRoot.K_SOURCE) { ICompilationUnit[] tmpUnits = fragment.getCompilationUnits(); if (tmpUnits != null && tmpUnits.length > 0) { mUnits.addAll(Arrays.asList(tmpUnits)); return true; } } } catch (JavaModelException e) { // pass } } return false; } @Override public ICompilationUnit next() { ICompilationUnit unit = mUnits.poll(); hasNext(); return unit; } @Override public void remove() { throw new UnsupportedOperationException("This iterator does not support removal"); //$NON-NLS-1$ } }; } }; }
From source file:com.codenvy.ide.ext.java.server.internal.core.search.matching.PackageReferenceLocator.java
License:Open Source License
public static boolean isDeclaringPackageFragment(IPackageFragment packageFragment, ReferenceBinding typeBinding) {/*from w w w .j av a2 s . c om*/ char[] fileName = typeBinding.getFileName(); if (fileName != null) { // retrieve the actual file name from the full path (sources are generally only containing it already) fileName = CharOperation.replaceOnCopy(fileName, '/', '\\'); // ensure to not do any side effect on file name (see https://bugs.eclipse // .org/bugs/show_bug.cgi?id=136016) fileName = CharOperation.lastSegment(fileName, '\\'); try { switch (packageFragment.getKind()) { case IPackageFragmentRoot.K_SOURCE: if (!org.eclipse.jdt.internal.core.util.Util.isJavaLikeFileName(fileName) || !packageFragment.getCompilationUnit(new String(fileName)).exists()) { return false; // unit doesn't live in selected package } break; case IPackageFragmentRoot.K_BINARY: // if (Util.isJavaFileName(fileName)) { // binary with attached source // int length = fileName.length; // System.arraycopy(fileName, 0, fileName = new char[length], 0, length - 4); // copy all but extension // System.arraycopy(SuffixConstants.SUFFIX_class, 0, fileName, length - 4, 4); // } if (!Util.isClassFileName(fileName) || !packageFragment.getClassFile(new String(fileName)).exists()) { return false; // classfile doesn't live in selected package } break; } } catch (JavaModelException e) { // unable to determine kind; tolerate this match } } return true; // by default, do not eliminate }
From source file:com.dforensic.plugin.manal.parser.SuspectSearch.java
License:Open Source License
private boolean extractPackageInfos(IJavaProject javaProject) throws JavaModelException { IPackageFragment[] packages = javaProject.getPackageFragments(); for (IPackageFragment packageSearched : packages) { if (mFilterMethods != null) { for (ApiDescriptor api : mFilterMethods) { // Package fragments include all packages in the classpath. // We will only look at the package from the source folder. // K_BINARY would include also included JARS, e.g. rt.jar String packageName = api.getPackageNameFromSoot(); if (packageName != null) { if ((packageSearched.getKind() == IPackageFragmentRoot.K_SOURCE) && packageName.equals(packageSearched.getElementName())) { System.out.println("Package " + packageSearched.getElementName()); if (createAST(packageSearched, api)) { return true; }/* w w w . j av a 2 s . c o m*/ // extractClassInfo(mypackage); } } else { System.err.println("Package name is NULL for " + api.toString()); } } } else { System.err.println("Methods for search are not initialized. " + "mFilterMethods is NULL."); } } return false; }