List of usage examples for org.eclipse.jdt.core IPackageFragmentRoot getKind
int getKind() throws JavaModelException;
From source file:com.windowtester.eclipse.ui_tool.WTConvertAPIContextBuilderTool.java
License:Open Source License
/** * Recursively iterate over the elements in the specified java element looking for * WindowTester classes and members./*from w ww. j a v a 2s . c om*/ * * @param root the package fragment root (not <code>null</code>) */ private void scanPackageRoot(IPackageFragmentRoot root) throws JavaModelException { if (root.getKind() != IPackageFragmentRoot.K_SOURCE) return; IJavaElement[] children = root.getChildren(); for (int i = 0; i < children.length; i++) scanElement(children[i]); }
From source file:com.worldline.awltech.i18ntools.wizard.core.ui.RefactoringWizardConfiguration.java
License:Open Source License
/** * Returns the first source folder available in the list. The last one * should be a default value that can be returned if none is found. If last * one is null, the first source folder found in the project will be * returned./*from ww w .j a v a 2 s . com*/ * * @param sourceFolders * @return */ private String getSourceFolder(final String... sourceFolders) { // We look for all the source folders specified, except the last one. for (int i = 0; i < sourceFolders.length - 1; i++) { final IFolder folder = this.project.getFolder(new Path(sourceFolders[i])); if (folder.exists()) { final IJavaElement javaElement = JavaCore.create(folder); try { if (javaElement != null && javaElement.getElementType() == IJavaElement.PACKAGE_FRAGMENT_ROOT && ((IPackageFragmentRoot) javaElement).getKind() == IPackageFragmentRoot.K_SOURCE) { return sourceFolders[i]; } } catch (final JavaModelException e) { Activator.getDefault().getLog().log(new Status(IStatus.ERROR, Activator.PLUGIN_ID, RefactoringWizardMessages.ERROR_SEEK_SOURCEFOLDER.value(), e)); } } } if (sourceFolders.length > 0 && sourceFolders[sourceFolders.length - 1] == null) { final IJavaProject javaProject = JavaCore.create(this.project); try { final IPackageFragmentRoot[] allPackageFragmentRoots = javaProject.getAllPackageFragmentRoots(); for (final IPackageFragmentRoot packageFragmentRoot : allPackageFragmentRoots) { if (packageFragmentRoot.getKind() == IPackageFragmentRoot.K_SOURCE) { return packageFragmentRoot.getPath().makeRelativeTo(this.project.getFullPath()).toString(); } } } catch (final JavaModelException e) { Activator.getDefault().getLog().log(new Status(IStatus.ERROR, Activator.PLUGIN_ID, RefactoringWizardMessages.ERROR_SEEK_SOURCEFOLDER.value(), e)); } } return null; }
From source file:de.fxworld.generationgap.GapConfiguration.java
License:Open Source License
public void resetDefault() { final IProject project = getJavaProject().getProject(); final List<String> genModels = new ArrayList<String>(); final List<String> clearSrcPaths = new ArrayList<String>(); setGenerateEdit(false);/*from ww w . j av a2 s . c o m*/ setGenerateEditor(false); setGenerateCustomClasses(false); // add all generator models try { project.accept(new IResourceVisitor() { @Override public boolean visit(IResource resource) throws CoreException { if ((resource != null) && (resource instanceof IFile)) { IFile file = (IFile) resource; if ((file.exists()) && ("genmodel".equals(file.getFileExtension()))) { genModels.add(file.getProjectRelativePath().toString()); } } return true; // visit children too } }); } catch (CoreException e) { e.printStackTrace(); } // get all source paths try { boolean found = false; for (IPackageFragmentRoot root : javaProject.getAllPackageFragmentRoots()) { if ((root.getKind() == IPackageFragmentRoot.K_SOURCE) && (root.getJavaProject() == javaProject)) { if (root.getElementName().contains("src-gen")) { clearSrcPaths.add(root.getResource().getProjectRelativePath().toString()); } else if (!found) { setCustomSrcPath(root.getResource().getProjectRelativePath().toString()); found = true; } } } } catch (JavaModelException e) { // TODO Auto-generated catch block e.printStackTrace(); } setGenModels(genModels); setSrcPaths(clearSrcPaths); }
From source file:de.fxworld.generationgap.GapEclipseWorkflow.java
License:Open Source License
protected List<String> getSourceFolders(IProject project) { List<String> result = new ArrayList<String>(); IJavaProject javaProject = JavaCore.create(project); IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot(); try {/* w ww .j av a2 s . c o m*/ for (IPackageFragmentRoot packageFragmentRoot : javaProject.getPackageFragmentRoots()) { if (packageFragmentRoot.getKind() == IPackageFragmentRoot.K_SOURCE) { IPath path = packageFragmentRoot.getPath(); IFolder folder = root.getFolder(path); String location = folder.getLocation().toString(); if (!location.contains("src-gen")) { result.add(location); } } } for (IProject referencedProject : javaProject.getProject().getReferencedProjects()) { if (referencedProject.isAccessible() && referencedProject.hasNature(JavaCore.NATURE_ID)) { result.addAll(getSourceFolders(referencedProject)); } } } catch (JavaModelException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (CoreException e) { // TODO Auto-generated catch block e.printStackTrace(); } return result; }
From source file:de.fxworld.generationgap.ui.properties.GapPropertyPage.java
License:Open Source License
protected String[] getSourceFolders(GapConfiguration configuration) { List<String> result = new ArrayList<String>(); IJavaProject project = configuration.getJavaProject(); try {//from ww w .j a va 2s.com for (IPackageFragmentRoot root : project.getAllPackageFragmentRoots()) { if ((root.getKind() == IPackageFragmentRoot.K_SOURCE) && (root.getJavaProject() == project)) { result.add(root.getElementName()); } } } catch (JavaModelException e) { // TODO Auto-generated catch block e.printStackTrace(); } // TODO Auto-generated method stub return result.toArray(new String[result.size()]); }
From source file:de.fxworld.generationgap.ui.properties.SourceFolderContentProvider.java
License:Open Source License
@Override public Object[] getElements(Object inputElement) { List<Object> result = new ArrayList<Object>(); IJavaProject javaProject = (IJavaProject) inputElement; try {// w w w .j av a2s. c o m for (IPackageFragmentRoot root : javaProject.getAllPackageFragmentRoots()) { if ((root.getKind() == IPackageFragmentRoot.K_SOURCE) && (root.getJavaProject() == javaProject)) { result.add(root); } } } catch (JavaModelException e) { // TODO Auto-generated catch block e.printStackTrace(); } return result.toArray(); }
From source file:edu.brown.cs.bubbles.bedrock.BedrockEditor.java
License:Open Source License
/********************************************************************************/ void handleDelete(String proj, String what, String path) throws BedrockException { IResource rs = null;/*w w w. j av a 2 s. c o m*/ FileData fd = null; IProject ip = our_plugin.getProjectManager().findProject(proj); IJavaProject ijp = JavaCore.create(ip); if (what.equals("PROJECT")) { if (ip == null) throw new BedrockException("Can't find project to delete"); rs = ip; } else if (what.equals("FILE")) { fd = file_map.get(path); if (fd != null) { rs = fd.getSearchUnit().getResource(); } if (rs == null) throw new BedrockException("Can't find file to delete"); } else if (what.equals("CLASS")) { IType ityp = null; String bcls = baseClassName(path); String file = getFileFromClass(proj, bcls); fd = file_map.get(file); try { if (ijp != null) ityp = ijp.findType(bcls); } catch (JavaModelException e) { } if (ityp == null) throw new BedrockException("Can't find class to delete"); rs = ityp.getResource(); } else if (what.equals("PACKAGE")) { IPackageFragmentRoot ipfr = null; try { for (IPackageFragmentRoot pfr : ijp.getAllPackageFragmentRoots()) { try { if (!pfr.isExternal() && !pfr.isArchive() && pfr.getKind() == IPackageFragmentRoot.K_SOURCE) { ipfr = pfr; break; } } catch (JavaModelException e) { } } } catch (JavaModelException e) { throw new BedrockException("Problem finding package root", e); } if (ipfr == null) throw new BedrockException("Can't find source fragment root"); IPackageFragment ifr = ipfr.getPackageFragment(path); if (ifr == null) throw new BedrockException("Can't find package to delete"); rs = ifr.getResource(); } if (rs != null) { BedrockPlugin.logD("Delete resource " + rs); try { rs.delete(IResource.FORCE | IResource.KEEP_HISTORY | IResource.ALWAYS_DELETE_PROJECT_CONTENT, new BedrockProgressMonitor(our_plugin, "Deleting " + path)); } catch (CoreException e) { throw new BedrockException("Problem with delete", e); } } if (fd != null) { String file = fd.getFileName(); file_map.remove(file); IvyXmlWriter xw = our_plugin.beginMessage("RESOURCE"); xw.begin("DELTA"); xw.field("KIND", "REMOVED"); xw.field("PATH", file); xw.begin("RESOURCE"); xw.field("LOCATION", file); xw.field("TYPE", "FILE"); xw.field("PROJECT", proj); xw.end("RESOURCE"); xw.end("DELTA"); our_plugin.finishMessage(xw); } }
From source file:edu.brown.cs.bubbles.bedrock.BedrockEditor.java
License:Open Source License
/********************************************************************************/ // This shouldn't be needed since edits in a window should also be made in the default // buffer and hence in the actual compilation unit that would be reported void getActiveElements(IJavaElement root, List<IJavaElement> rslt) { switch (root.getElementType()) { case IJavaElement.ANNOTATION: case IJavaElement.CLASS_FILE: case IJavaElement.FIELD: case IJavaElement.IMPORT_CONTAINER: case IJavaElement.IMPORT_DECLARATION: case IJavaElement.INITIALIZER: case IJavaElement.JAVA_MODEL: case IJavaElement.LOCAL_VARIABLE: case IJavaElement.METHOD: case IJavaElement.PACKAGE_DECLARATION: case IJavaElement.TYPE: case IJavaElement.TYPE_PARAMETER: default://from w ww .jav a2 s .co m break; case IJavaElement.PACKAGE_FRAGMENT_ROOT: IPackageFragmentRoot pfr = (IPackageFragmentRoot) root; try { if (pfr.getKind() == IPackageFragmentRoot.K_SOURCE && pfr.hasChildren()) { IJavaElement[] chld = pfr.getChildren(); for (IJavaElement c : chld) getActiveElements(c, rslt); } } catch (JavaModelException e) { } break; case IJavaElement.JAVA_PROJECT: case IJavaElement.PACKAGE_FRAGMENT: IParent par = (IParent) root; try { if (par.hasChildren()) { IJavaElement[] chld = par.getChildren(); for (IJavaElement c : chld) getActiveElements(c, rslt); } } catch (JavaModelException e) { } break; case IJavaElement.COMPILATION_UNIT: ICompilationUnit cu = (ICompilationUnit) root; IProject ip = cu.getJavaProject().getProject(); File f = BedrockUtil.getFileForPath(cu.getPath(), ip); String fnm = f.getPath(); FileData fd = file_map.get(fnm); if (fd == null) rslt.add(cu); else { rslt.add(fd.getSearchUnit()); } break; } }
From source file:edu.brown.cs.bubbles.bedrock.BedrockEditor.java
License:Open Source License
void getWorkingElements(IJavaElement root, List<ICompilationUnit> rslt) { switch (root.getElementType()) { case IJavaElement.ANNOTATION: case IJavaElement.CLASS_FILE: case IJavaElement.FIELD: case IJavaElement.IMPORT_CONTAINER: case IJavaElement.IMPORT_DECLARATION: case IJavaElement.INITIALIZER: case IJavaElement.JAVA_MODEL: case IJavaElement.LOCAL_VARIABLE: case IJavaElement.METHOD: case IJavaElement.PACKAGE_DECLARATION: case IJavaElement.TYPE: case IJavaElement.TYPE_PARAMETER: default:/*from w w w .j a v a 2 s . c om*/ break; case IJavaElement.PACKAGE_FRAGMENT_ROOT: IPackageFragmentRoot pfr = (IPackageFragmentRoot) root; try { if (pfr.getKind() == IPackageFragmentRoot.K_SOURCE && pfr.hasChildren()) { IJavaElement[] chld = pfr.getChildren(); for (IJavaElement c : chld) getWorkingElements(c, rslt); } } catch (JavaModelException e) { } break; case IJavaElement.JAVA_PROJECT: case IJavaElement.PACKAGE_FRAGMENT: IParent par = (IParent) root; try { if (par.hasChildren()) { IJavaElement[] chld = par.getChildren(); for (IJavaElement c : chld) getWorkingElements(c, rslt); } } catch (JavaModelException e) { } break; case IJavaElement.COMPILATION_UNIT: ICompilationUnit cu = (ICompilationUnit) root; IProject ip = cu.getJavaProject().getProject(); File f = BedrockUtil.getFileForPath(cu.getPath(), ip); String fnm = f.getPath(); FileData fd = file_map.get(fnm); if (fd != null) { rslt.add(fd.getEditableUnit(null)); } break; } }
From source file:edu.brown.cs.bubbles.bedrock.BedrockEditor.java
License:Open Source License
void getCompilationElements(IJavaElement root, List<ICompilationUnit> rslt) { switch (root.getElementType()) { case IJavaElement.ANNOTATION: case IJavaElement.CLASS_FILE: case IJavaElement.FIELD: case IJavaElement.IMPORT_CONTAINER: case IJavaElement.IMPORT_DECLARATION: case IJavaElement.INITIALIZER: case IJavaElement.JAVA_MODEL: case IJavaElement.LOCAL_VARIABLE: case IJavaElement.METHOD: case IJavaElement.PACKAGE_DECLARATION: case IJavaElement.TYPE: case IJavaElement.TYPE_PARAMETER: default://from ww w . j a v a 2s. com break; case IJavaElement.PACKAGE_FRAGMENT_ROOT: IPackageFragmentRoot pfr = (IPackageFragmentRoot) root; try { if (pfr.getKind() == IPackageFragmentRoot.K_SOURCE && pfr.hasChildren()) { IJavaElement[] chld = pfr.getChildren(); for (IJavaElement c : chld) getCompilationElements(c, rslt); } } catch (JavaModelException e) { } break; case IJavaElement.JAVA_PROJECT: case IJavaElement.PACKAGE_FRAGMENT: IParent par = (IParent) root; try { if (par.hasChildren()) { IJavaElement[] chld = par.getChildren(); for (IJavaElement c : chld) getCompilationElements(c, rslt); } } catch (JavaModelException e) { } break; case IJavaElement.COMPILATION_UNIT: ICompilationUnit cu = (ICompilationUnit) root; IProject ip = cu.getJavaProject().getProject(); File f = BedrockUtil.getFileForPath(cu.getPath(), ip); String fnm = f.getPath(); FileData fd = file_map.get(fnm); if (fd != null) { rslt.add(fd.getEditableUnit(null)); } else rslt.add(cu); break; } }