List of usage examples for org.eclipse.jdt.core IPackageFragmentRoot getPackageFragment
IPackageFragment getPackageFragment(String packageName);
From source file:org.eclipse.wb.tests.designer.core.model.util.FactoryCreateActionTest.java
License:Open Source License
/** * No parameters, use same class./*from w ww . ja v a 2 s.c o m*/ */ public void test_generate_sameFactoryClass() throws Exception { // parse ContainerInfo panel = parseContainer("public class Test extends JPanel {", " public Test() {", " JButton button = new JButton('text');", " button.setSelected(true);", " button.setAutoscrolls(true);", " add(button);", " }", "}"); ComponentInfo button = panel.getChildrenComponents().get(0); // do generate { action = new FactoryCreateAction(button); IJavaProject javaProject = m_testProject.getJavaProject(); IProject project = m_testProject.getProject(); IPackageFragmentRoot srcFolder = javaProject.getPackageFragmentRoot(project.getFolder("src")); IPackageFragment testPackage = srcFolder.getPackageFragment("test"); ReflectionUtils.setField(action, "m_sourceFolder", srcFolder); ReflectionUtils.setField(action, "m_package", testPackage); ReflectionUtils.setField(action, "m_className", "Test"); ReflectionUtils.setField(action, "m_methodName", "createButton"); // configure creation/invocations { String errorMessage; errorMessage = generate_configureInvocations(button, new int[] {}, new String[] {}, new int[][] {}); assertNull(errorMessage); } // generate factory ReflectionUtils.invokeMethod2(action, "generate", boolean.class, true); } m_getSource_ignoreSpacesCheck = true; assertEditor("public class Test extends JPanel {", " public Test() {", " JButton button = createButton();", " button.setSelected(true);", " button.setAutoscrolls(true);", " add(button);", " }", " /**", " * @wbp.factory", " */", " public static JButton createButton() {", " JButton button = new JButton('text');", " return button;", " }", "}"); }
From source file:org.eclipse.wb.tests.designer.core.model.util.FactoryCreateActionTest.java
License:Open Source License
/** * Configures {@link #action} with default package/class/method. *//*from w ww. jav a 2 s . c o m*/ private void generate_configureDefaultTarget() throws Exception { IJavaProject javaProject = m_testProject.getJavaProject(); IProject project = m_testProject.getProject(); IPackageFragmentRoot srcFolder = javaProject.getPackageFragmentRoot(project.getFolder("src")); IPackageFragment testPackage = srcFolder.getPackageFragment("test"); ReflectionUtils.setField(action, "m_sourceFolder", srcFolder); ReflectionUtils.setField(action, "m_package", testPackage); ReflectionUtils.setField(action, "m_className", "StaticFactory"); ReflectionUtils.setField(action, "m_methodName", "createComponent"); }
From source file:org.eclipse.wb.tests.designer.core.TestProject.java
License:Open Source License
/** * @return the {@link IPackageFragment} with given name, in default source folder. Creates it if * does not exist.// w w w . java 2 s.co m */ public IPackageFragment getPackage(String name) throws CoreException { IPackageFragmentRoot sourceFolder = getSourceFolder(); IPackageFragment packageFragment = sourceFolder.getPackageFragment(name); if (packageFragment == null || !packageFragment.exists()) { packageFragment = sourceFolder.createPackageFragment(name, false, null); } return packageFragment; }
From source file:org.eclipse.wst.xml.core.internal.contentmodel.tapestry.travelpackage.TapestryClassLoader.java
License:Open Source License
public List<String> loadParametersFromParentClass(IPackageFragmentRoot root, String classFileName) { List<String> list = new ArrayList<String>(); if (classFileName.indexOf('/') < 0) return list; String packageName = classFileName.substring(0, classFileName.lastIndexOf('/')).replace('/', '.'); String className = classFileName.substring(classFileName.lastIndexOf('/') + 1) + ".class"; try {// w ww .j av a2 s. c o m PackageFragment packInstance = (PackageFragment) root.getPackageFragment(packageName); for (Object packo : packInstance.getChildrenOfType(IJavaElement.CLASS_FILE)) { ClassFile packi = (ClassFile) packo; if (packi.getElementName().equals(className)) { ClassFileReader reader = null; try { reader = new ClassFileReader(packi.getBytes(), null); } catch (ClassFormatException e) { e.printStackTrace(); } if (reader.getFields() != null) for (IBinaryField field : reader.getFields()) { boolean parameter = false; if (field.getAnnotations() == null) continue; for (IBinaryAnnotation anno : field.getAnnotations()) { if (String.valueOf(anno.getTypeName()).endsWith("/Parameter;")) { parameter = true; break; } } if (parameter) { list.add(String.valueOf(field.getName())); } } String parentClassName = String.valueOf(reader.getSuperclassName()); if (parentClassName != null && !parentClassName.isEmpty() && !parentClassName.equals("java/lang/Object")) { list.addAll(loadParametersFromParentClass(root, parentClassName)); } return list; } } } catch (JavaModelException e) { e.printStackTrace(); } return list; }
From source file:org.eclipse.wst.xml.search.editor.internal.contentassist.JavaCompletionUtils.java
License:Open Source License
private static IPackageFragment getPackageFragment(IJavaProject project, String prefix) throws JavaModelException { int dot = prefix.lastIndexOf('.'); if (dot > -1) { String packageName = prefix.substring(0, dot); IPackageFragmentRoot aipackagefragmentroot1[]; int l = (aipackagefragmentroot1 = project.getPackageFragmentRoots()).length; for (int j = 0; j < l; j++) { IPackageFragmentRoot root = aipackagefragmentroot1[j]; IPackageFragment p = root.getPackageFragment(packageName); if (p != null && p.exists()) return p; }/*from ww w. jav a 2s . c om*/ IPackageFragment packages[] = project.getPackageFragments(); IPackageFragment aipackagefragment[]; int j1 = (aipackagefragment = packages).length; for (int i1 = 0; i1 < j1; i1++) { IPackageFragment p = aipackagefragment[i1]; if (p.getElementName().equals(packageName)) return p; } } else { IPackageFragmentRoot aipackagefragmentroot[]; int k = (aipackagefragmentroot = project.getAllPackageFragmentRoots()).length; for (int i = 0; i < k; i++) { IPackageFragmentRoot p = aipackagefragmentroot[i]; if (p.getKind() == 1) return p.getPackageFragment(""); } } return project.getPackageFragments()[0]; }
From source file:org.eclipse.wst.xml.search.editor.util.JdtUtils.java
License:Open Source License
public static IJarEntryResource getJavaResourceFileFromBinary(IProject project, String jarNamePattern, String packageName, String fileName) { IJavaProject javaProject = getJavaProject(project); if (javaProject != null) { try {/* ww w.ja v a 2 s .co m*/ IPackageFragmentRoot[] roots = javaProject.getPackageFragmentRoots(); IPackageFragmentRoot root = null; for (int i = 0; i < roots.length; i++) { root = roots[i]; if (root.getKind() == IPackageFragmentRoot.K_BINARY) { if (StringUtils.isEmpty(jarNamePattern) || root.getElementName().startsWith(jarNamePattern)) { Object[] nonJavaResources = null; if (packageName != null) { IPackageFragment fragment = root.getPackageFragment(packageName); if (fragment != null) { nonJavaResources = fragment.getNonJavaResources(); } } else { nonJavaResources = root.getNonJavaResources(); } if (nonJavaResources != null) { Object nonJavaResource = null; for (int j = 0; j < nonJavaResources.length; j++) { nonJavaResource = nonJavaResources[j]; if (nonJavaResource instanceof IJarEntryResource) { IJarEntryResource r = (IJarEntryResource) nonJavaResource; if (r.isFile() && fileName.equals(r.getName())) { return r; } } } } } } } } catch (JavaModelException e) { Trace.trace(Trace.SEVERE, (new StringBuilder("Error getting Java project src for project '")) .append(project.getName()).append("'").toString(), e); } } return null; }
From source file:org.eclipse.wst.xml.search.editor.util.JdtUtils.java
License:Open Source License
public static IJarEntryResource[] getJavaResourcesFileFromBinary(IProject project, String jarNamePattern, String packageName, String fileName) { Collection<IJarEntryResource> files = new ArrayList<IJarEntryResource>(); IJavaProject javaProject = getJavaProject(project); if (javaProject != null) { try {/* ww w . j a v a 2 s.c o m*/ IPackageFragmentRoot[] roots = javaProject.getPackageFragmentRoots(); IPackageFragmentRoot root = null; for (int i = 0; i < roots.length; i++) { root = roots[i]; if (root.getKind() == IPackageFragmentRoot.K_BINARY) { if (StringUtils.isEmpty(jarNamePattern) || root.getElementName().contains(jarNamePattern)) { Object[] nonJavaResources = null; if (packageName != null) { IPackageFragment fragment = root.getPackageFragment(packageName); if (fragment != null) { nonJavaResources = fragment.getNonJavaResources(); } } else { nonJavaResources = root.getNonJavaResources(); } if (nonJavaResources != null) { Object nonJavaResource = null; for (int j = 0; j < nonJavaResources.length; j++) { nonJavaResource = nonJavaResources[j]; if (nonJavaResource instanceof IJarEntryResource) { IJarEntryResource r = (IJarEntryResource) nonJavaResource; if (r.isFile() && r.getName().contains(fileName)) { files.add(r); } } } } } } } } catch (JavaModelException e) { Trace.trace(Trace.SEVERE, (new StringBuilder("Error getting Java project src for project '")) .append(project.getName()).append("'").toString(), e); } } return files.toArray(new IJarEntryResource[files.size()]); }
From source file:org.eclipse.wst.xml.ui.internal.contentassist.tapestry.TapestryRootComponentsProposalComputer.java
License:Open Source License
public IPackageFragment getTapestryRootComponentsPackage(IProject project, String packageName) { IPackageFragmentRoot[] roots2;//from ww w . jav a 2s . com try { roots2 = JavaCore.create(project).getAllPackageFragmentRoots(); for (IPackageFragmentRoot root : roots2) { if (!root.isArchive()) { IPackageFragment packInstance = root.getPackageFragment(packageName); if (packInstance != null) return packInstance; } } } catch (JavaModelException e) { e.printStackTrace(); } return null; }
From source file:org.eclipse.wst.xml.ui.internal.contentassist.tapestry.TapestryRootComponentsProposalComputer.java
License:Open Source License
/** * Get custom component attribute templates * /*ww w.j a v a 2 s .com*/ * @param project * @param contextTypeId * @param nodeName * @param tapestryClassLoader * @return */ public List<Template> getCustomComponentsAttributes(IProject project, String contextTypeId, String nodeName, TapestryClassLoader tapestryClassLoader) { components.clear(); String prefix = nodeName.substring(0, nodeName.indexOf(':')); try { final IFile res = project.getFile(TapestryContants.CUSTOM_COMPONENTS_FILE); if (res == null || prefix == null) return components; List<ComponentPackage> packageList = loadCustomComponentsPackageListWithPrefix(res, prefix); IPackageFragmentRoot[] roots = JavaCore.create(project).getAllPackageFragmentRoots(); for (ComponentPackage cp : packageList) { for (IPackageFragmentRoot root : roots) { if (cp.isArchive() == root.isArchive() && cp.getFragmentRoot().equals(root.getElementName())) { IPackageFragment packInstance = root.getPackageFragment(cp.getPath()); if (!root.isArchive()) { //If current custom component is in source directory if (packInstance != null) { IJavaElement[] elements = packInstance.getChildren(); for (IJavaElement ele : elements) { if (ele.getElementType() == IJavaElement.COMPILATION_UNIT && ele.getElementName().endsWith(".java")) { String name = ele.getElementName().substring(0, ele.getElementName().indexOf('.')); if ((prefix + ":" + name).toLowerCase().equals(nodeName)) { goThroughClass((ICompilationUnit) ele, contextTypeId); return components; } } } } } else if (packInstance instanceof PackageFragment) { //Current custom component is in jar files for (Object packo : ((PackageFragment) packInstance) .getChildrenOfType(IJavaElement.CLASS_FILE)) { ClassFile packi = (ClassFile) packo; String className = packi.getElementName().substring(0, packi.getElementName().indexOf('.')); if (className.indexOf('$') < 0 && (prefix + ":" + className.toLowerCase()).equals(nodeName)) { TapestryCoreComponents component = null; try { component = tapestryClassLoader.loadComponentAttributesFromClassFile(root, prefix, packi); } catch (ClassFormatException e) { e.printStackTrace(); } if (component != null) { for (String paramName : component.getPamameters()) { Template template = new Template(paramName, "add attribute " + paramName, contextTypeId, buildAttributeInsertCode(paramName), true); components.add(template); } return components; } } } } } } } } catch (JavaModelException e) { e.printStackTrace(); } return null; }
From source file:org.eclipse.wst.xml.ui.internal.contentassist.tapestry.TapestryRootComponentsProposalComputer.java
License:Open Source License
private List<String> getCustomComponentsNameList(IPackageFragmentRoot[] roots, ComponentPackage cp) { List<String> componentNameList = new ArrayList<String>(); try {//from w ww. ja v a 2 s . c o m for (IPackageFragmentRoot root : roots) { if (root instanceof JarPackageFragmentRoot == cp.isArchive() && root.getElementName().equals(cp.getFragmentRoot())) { if (!root.isArchive()) { // Load custom components from source directory IPackageFragment packInstance = root.getPackageFragment(cp.getPath()); if (packInstance != null) { IJavaElement[] elements = packInstance.getChildren(); for (IJavaElement ele : elements) { if (ele.getElementType() == IJavaElement.COMPILATION_UNIT && ele.getElementName().endsWith(".java")) { String name = ele.getElementName().substring(0, ele.getElementName().indexOf('.')); componentNameList.add(name); } } } } else { // Load custom components from jar files for (IJavaElement pack : root.getChildren()) { if (pack != null && pack instanceof PackageFragment && pack.getElementName().equals(cp.getPath())) { for (Object packo : ((PackageFragment) pack) .getChildrenOfType(IJavaElement.CLASS_FILE)) { ClassFile packi = (ClassFile) packo; String itemName = packi.getElementName(); if (itemName.indexOf('$') < 0 && itemName.endsWith(".class")) componentNameList.add(itemName.substring(0, itemName.length() - 6)); } break; } } } return componentNameList; } } } catch (JavaModelException e) { e.printStackTrace(); } return componentNameList; }