List of usage examples for org.eclipse.jdt.core IPackageFragmentRoot getPackageFragment
IPackageFragment getPackageFragment(String packageName);
From source file:org.eclipse.che.jdt.refactoring.ccp.MoveTest.java
License:Open Source License
@Test public void testDestination_no_fileToParentSourceFolder2() throws Exception { IPackageFragmentRoot root = getRoot(); assertTrue(root.exists());//from w w w . j a v a 2 s . co m IFolder superFolder = (IFolder) root.getPackageFragment("").getResource(); IFile file = superFolder.getFile("a.txt"); file.create(getStream("123"), true, null); IJavaElement[] javaElements = {}; IResource[] resources = { file }; JavaMoveProcessor ref = verifyEnabled(resources, javaElements, createReorgQueries()); Object destination = root; verifyInvalidDestination(ref, destination); }
From source file:org.eclipse.che.jdt.refactoring.ccp.MoveTest.java
License:Open Source License
@Test public void testDestination_yes_cuToRoot() throws Exception { ParticipantTesting.reset();// w w w. j av a 2 s .c o m String newSource = "package p;class A{void foo(){}class Inner{}}"; String oldSource = "package p;class A{void foo(){}class Inner{}}"; ICompilationUnit cu1 = getPackageP().createCompilationUnit("A.java", oldSource, false, new NullProgressMonitor()); IPackageFragmentRoot destination = JavaProjectHelper.addSourceContainer(getRoot().getJavaProject(), "src2"); IJavaElement[] javaElements = { cu1 }; IResource[] resources = {}; String[] handles = ParticipantTesting .createHandles(new Object[] { cu1, cu1.getTypes()[0], cu1.getResource() }); JavaMoveProcessor ref = verifyEnabled(resources, javaElements, createReorgQueries()); verifyValidDestination(ref, destination); assertTrue("source file does not exist before moving", cu1.exists()); RefactoringStatus status = performRefactoring(ref, true); assertEquals(null, status); assertTrue("source file exists after moving", !cu1.exists()); ICompilationUnit newCu = destination.getPackageFragment("p").getCompilationUnit(cu1.getElementName()); assertTrue("new file does not exist after moving", newCu.exists()); assertEqualLines("source differs", newSource, newCu.getSource()); ParticipantTesting.testMove(handles, new MoveArguments[] { new MoveArguments(destination.getPackageFragment("p"), ref.getUpdateReferences()), new MoveArguments(destination.getPackageFragment("p"), ref.getUpdateReferences()), new MoveArguments(destination.getPackageFragment("p").getResource(), ref.getUpdateReferences()) }); }
From source file:org.eclipse.che.plugin.java.server.JavaNavigation.java
License:Open Source License
public List<JarEntry> getChildren(IJavaProject project, int rootId, String path) throws JavaModelException { IPackageFragmentRoot root = getPackageFragmentRoot(project, rootId); if (root == null) { return NO_ENTRIES; }//from w ww . jav a2s . c o m if (path.startsWith("/")) { // jar file and folders Object[] resources = root.getNonJavaResources(); for (Object resource : resources) { if (resource instanceof JarEntryDirectory) { JarEntryDirectory directory = (JarEntryDirectory) resource; Object[] children = findJarDirectoryChildren(directory, path); if (children != null) { return convertToJarEntry(children, root); } } } } else { // packages and class files IPackageFragment fragment = root.getPackageFragment(path); if (fragment == null) { return NO_ENTRIES; } return convertToJarEntry(getPackageContent(fragment), root); } return NO_ENTRIES; }
From source file:org.eclipse.e4.xwt.ui.wizards.NewPresentationWizardPage.java
License:Open Source License
@Override public void setPackageFragment(IPackageFragment pack, boolean canBeModified) { String name = pack.getElementName() + ".ui"; IPackageFragmentRoot root = (IPackageFragmentRoot) pack.getParent(); IPackageFragment packageFragment = root.getPackageFragment(name); super.setPackageFragment(packageFragment, canBeModified); }
From source file:org.eclipse.gmf.internal.common.codegen.ImportUtil.java
License:Open Source License
public ImportUtil(String compilationUnitPackage, String compilationUnitName, IPackageFragmentRoot sourceRoot) { this(compilationUnitPackage, compilationUnitName); if (sourceRoot != null) { ICompilationUnit existingCU = sourceRoot.getPackageFragment(compilationUnitPackage) .getCompilationUnit(compilationUnitName + ".java"); //$NON-NLS-1$ if (existingCU.exists()) { try { myImportManager.addCompilationUnitImports(existingCU.getSource()); } catch (JavaModelException e) { //Ignore. The compilation unit imports will not be added, but we may proceed. }//from ww w . jav a 2 s. co m } } }
From source file:org.eclipse.imp.wizards.IMPWizardPage.java
License:Open Source License
protected WizardDialog getDialogWithClassName(String componentID, String interfaceQualName, String superClassName, Text text, WizardDialog dialog, NewClassWizardPage page) { try {/*from w ww .j a v a 2 s. c o m*/ String intfName = interfaceQualName.substring(interfaceQualName.lastIndexOf('.') + 1); IJavaProject javaProject = JavaCore.create(getProjectOfRecord()); if (javaProject == null) { ErrorHandler.reportError("Java project is null", true); return null; } // RMF 7/5/2005 - If the project doesn't yet have the necessary // plug-in // dependency for this reference to be satisfiable, an error ensues. if (interfaceQualName != null && interfaceQualName.length() > 0) { if (javaProject.findType(interfaceQualName) == null) { ErrorHandler.reportError("Base interface '" + interfaceQualName + "' does not exist in project's build path; be sure to add the appropriate plugin to the dependencies.", true); return null; // TODO: Do we want to continue from this point, or should // we just throw an exception? } } if (superClassName != null && superClassName.length() > 0) { if (javaProject.findType(superClassName) == null) { ErrorHandler.reportError("Base class '" + superClassName + "' does not exist in project's build path; be sure to add the appropriate plugin to the dependencies.", true); return null; // TODO: Do we want to continue from this point, or should // we just throw an exception? } } String givenPackageName = ""; String givenClassName = ""; if (text != null && text.getText().length() > 0) { givenPackageName = text.getText().substring(0, text.getText().lastIndexOf('.')); givenClassName = text.getText().substring(text.getText().lastIndexOf('.') + 1); } page.setSuperClass(superClassName, true); ArrayList<String> interfaces = new ArrayList<String>(); if (interfaceQualName != null && interfaceQualName.length() > 0) { interfaces.add(interfaceQualName); page.setSuperInterfaces(interfaces, true); } String langName = fLanguageText.getText(); String langClassName = upperCaseFirst(langName); String langPackageName = lowerCaseFirst(langName); // Compute name of package for new service class String servicePackageName = givenPackageName; if (servicePackageName == null || servicePackageName.length() == 0) { servicePackageName = "org.eclipse.imp." + ((langPackageName == null || langPackageName.length() == 0) ? "" : langPackageName) + componentID.substring(componentID.lastIndexOf('.') + 1); } // Compute unqualified name of new service class String serviceClassName = givenClassName; if (serviceClassName == null || serviceClassName.length() == 0) { serviceClassName = ((langClassName == null || langClassName.length() == 0) ? "" : langClassName); if (intfName.charAt(0) == 'I' && Character.isUpperCase(intfName.charAt(1))) serviceClassName = serviceClassName + intfName.substring(1); else serviceClassName = serviceClassName + intfName; } WizardUtilities.createSubFolders(servicePackageName.replace('.', '\\'), getProjectOfRecord(), new NullProgressMonitor()); // SMS 2 Mar 2008: Setting of srcFolder could be more sophisticated // TODO: set srcFolder with a properly computed value IFolder srcFolder = getProjectOfRecord().getFolder("src/"); IPackageFragmentRoot pkgFragRoot = javaProject.getPackageFragmentRoot(srcFolder); IPackageFragment pkgFrag = pkgFragRoot.getPackageFragment(servicePackageName); page.setPackageFragmentRoot(pkgFragRoot, true); page.setPackageFragment(pkgFrag, true); page.setTypeName(serviceClassName, true); // SWTUtil.setDialogSize(dialog, 400, 500); // if (dialog.open() == WizardDialog.OK) { // String name= page.getTypeName(); // String pkg= page.getPackageText(); // if (pkg.length() > 0) // name= pkg + '.' + name; // text.setText(name); // fPackageName= pkg; // } return dialog; } catch (Exception e) { ErrorHandler.reportError("Could not create class implementing " + interfaceQualName, true, e); } // return null; return dialog; }
From source file:org.eclipse.incquery.tooling.ui.wizards.NewEiqFileWizardContainerConfigurationPage.java
License:Open Source License
/** * Returns the name of the package set in the wizard. * /*w ww.ja v a2 s .com*/ * @return the name of the package */ public String getPackageName() { IPackageFragmentRoot root = getPackageFragmentRoot(); IPackageFragment fragment = root.getPackageFragment(getPackageText()); if (!fragment.exists()) { try { root.createPackageFragment(getPackageText(), true, new NullProgressMonitor()); } catch (JavaModelException e) { IncQueryGUIPlugin.getDefault().logException("Cannot load packages " + e.getMessage(), e); } } return getPackageText(); }
From source file:org.eclipse.jet.taglib.java.JavaActionsUtil.java
License:Open Source License
/** * Return the {@link IFolder} corresponding to the given Java package name. * @param sourceFolder the source folder containing the package * @param packageName the package name//ww w. j av a2 s .co m * @return the folder corresponding to the package * @throws JET2TagException if the source folder is not valid. */ public static IContainer getContainerForPackage(IPath sourceFolder, String packageName) throws JET2TagException { IContainer result = null; if (sourceFolder == null || packageName == null) { throw new NullPointerException(); } if (sourceFolder.segmentCount() == 0) { throw new IllegalArgumentException(); } // if the JDT is not sync'd with the workspace changes, this may return null. IJavaElement jElementForFolder = JavaCore .create(ResourcesPlugin.getWorkspace().getRoot().findMember(sourceFolder)); if (jElementForFolder == null) { // checkpoint the workspace (inform the builders) of our changes to date... ActionsUtil.checkpointWorkspace(false, new NullProgressMonitor()); buildProject(sourceFolder.segment(0)); // and try again... jElementForFolder = JavaCore.create(ResourcesPlugin.getWorkspace().getRoot().findMember(sourceFolder)); } if (jElementForFolder != null) { // find the package fragment root corresponding to sourceFolder if (jElementForFolder instanceof IPackageFragmentRoot) { IPackageFragmentRoot root = (IPackageFragmentRoot) jElementForFolder; final IPackageFragment packageFragment = root.getPackageFragment(packageName); result = (IContainer) packageFragment.getResource(); } else if (jElementForFolder instanceof IJavaProject) { try { result = (IContainer) findOrCreateJavaPackage((IJavaProject) jElementForFolder, packageName); } catch (JavaModelException e) { final String msg = JET2Messages.JavaActionsUtil_CannotFindSourceFolder; // it's serious this time, throw an exception; throw new JET2TagException( MessageFormat.format(msg, new Object[] { sourceFolder.segment(0), packageName, })); } } else { throw new JET2TagException(MessageFormat.format(JET2Messages.JavaActionsUtil_InvalidSourceFolder, new Object[] { sourceFolder.toString() })); } } else { throw new JET2TagException(MessageFormat.format(JET2Messages.JavaActionsUtil_InvalidSourceFolder, new Object[] { sourceFolder.toString() })); } return result; }
From source file:org.eclipse.jpt.common.ui.internal.widgets.ClassChooserPane.java
License:Open Source License
protected void classChooserSubjectChanged(T newSubject) { IPackageFragment packageFragment = null; if (newSubject != null) { IPackageFragmentRoot root = getPackageFragmentRoot(); if (root != null) { packageFragment = root.getPackageFragment(""); }/*from w w w. jav a2 s . co m*/ } this.javaTypeCompletionProcessor.setPackageFragment(packageFragment); }
From source file:org.eclipse.jpt.jaxb.core.internal.gen.SchemaGenerator.java
License:Open Source License
private IPackageFragment findPackageFragementForSourceClassName(String sourceClassName) { if (this.classIsInDefaultPackage(sourceClassName)) { return this.emptyPackageFragment(); }//w w w . jav a 2 s .c o m String packageName = sourceClassName.substring(0, sourceClassName.lastIndexOf('.')); //Find the existing package fragment where we want to generate for (IPackageFragmentRoot pfr : JavaProjectTools.getSourceFolders(this.getJavaProject())) { //use the package of the first source class as the package for generation IPackageFragment packageFragment = pfr.getPackageFragment(packageName); if (packageFragment.exists()) { return packageFragment; } } //the existing package fragment was not found throw new IllegalStateException("Java package must exist for source class"); //$NON-NLS-1$ }