List of usage examples for org.eclipse.jdt.core IPackageFragmentRoot createPackageFragment
IPackageFragment createPackageFragment(String name, boolean force, IProgressMonitor monitor) throws JavaModelException;
From source file:com.sabre.buildergenerator.TestHelper.java
License:Open Source License
public static IPackageFragment createPackage(IJavaProject javaProject, String packageName) throws JavaModelException { IPackageFragmentRoot sourceRoot = getSourceRoot(javaProject); IPackageFragment packageFragment = null; if (sourceRoot != null) { packageFragment = sourceRoot.getPackageFragment(packageName); if (!packageFragment.exists()) { packageFragment = sourceRoot.createPackageFragment(packageName, false, null); }//from w ww. ja va 2s. co m } return packageFragment; }
From source file:com.sabre.buildergenerator.ui.actions.GenerateBuilderAction.java
License:Open Source License
/** * Starts the generation procedure for the type * * @param type//from ww w. ja va 2s .c o m * a type that the generator is going to be invoked for * @param shell * the shell of the running component * @throws CoreException */ @SuppressWarnings("deprecation") public void execute(final IType type, final Shell shell, IRunnableContext runnableContext) throws Exception { if (!validateAndShowErrorMessageIfNeeded(type, shell)) { return; } GenerateBuilderWizard wizard = new GenerateBuilderWizard(new BuilderGenerationProperties(type)); WizardDialog wizardDialog = new WizardDialog(shell, wizard); wizardDialog.setMinimumPageSize(200, 500); if (wizardDialog.open() == Dialog.OK) { final BuilderGenerationProperties properties = wizard.getBuilderGenerationProperties(); IRunnableWithProgress runnableWithProgress = new IRunnableWithProgress() { public void run(IProgressMonitor aMonitor) throws InvocationTargetException, InterruptedException { try { aMonitor.beginTask("Generating class", 4); IPackageFragmentRoot selectedSourceFolder = properties.getSourceFolder(); String packageName = properties.getPackageName(); String builderClassName = properties.getBuilderClassName(); aMonitor.worked(1); // creating package if (!selectedSourceFolder.getPackageFragment(packageName).exists()) { selectedSourceFolder.createPackageFragment(packageName, false, aMonitor); } String source = generateSource(builderGenerator, properties); aMonitor.worked(2); // create source file IPath builderPath = selectedSourceFolder.getPath(); for (String s : packageName.split("\\.")) { builderPath = builderPath.append(s); } builderPath = builderPath.append(builderClassName).addFileExtension("java"); IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(builderPath); if (file.exists()) { file.delete(false, aMonitor); } file.create(new StringBufferInputStream(source), false, aMonitor); } catch (Throwable e) { throw new InvocationTargetException(e); } finally { aMonitor.done(); } } }; try { runnableContext.run(true, false, runnableWithProgress); } catch (InvocationTargetException e) { Throwable t = e.getTargetException(); StringWriter buf = new StringWriter(); t.printStackTrace(new PrintWriter(buf)); MessageDialog.openError(null, "Error", buf.toString()); t.printStackTrace(); } catch (InterruptedException e) { StringWriter buf = new StringWriter(); e.printStackTrace(new PrintWriter(buf)); MessageDialog.openError(null, "Error", buf.toString()); e.printStackTrace(); } catch (Throwable e) { StringWriter buf = new StringWriter(); e.printStackTrace(new PrintWriter(buf)); MessageDialog.openError(null, "Error", buf.toString()); e.printStackTrace(); } } }
From source file:com.testify.ecfeed.ui.common.EclipseModelImplementer.java
License:Open Source License
private IPackageFragment getPackageFragment(String name) throws CoreException { IPackageFragmentRoot packageFragmentRoot = getPackageFragmentRoot(); IPackageFragment packageFragment = packageFragmentRoot.getPackageFragment(name); if (packageFragment.exists() == false) { packageFragment = packageFragmentRoot.createPackageFragment(name, false, null); }/*from w w w .j a v a2 s.c o m*/ return packageFragment; }
From source file:com.tsc9526.monalisa.plugin.eclipse.generator.SelectGenerator.java
License:Open Source License
private void writeResultClass(DBExchange exchange) throws JavaModelException { SelectMethod method = methods.get(exchange.getIndex()); String className = method.getResultClassPackage() + "." + method.getResultClassName(); IPackageFragmentRoot pfr = unit.getPackageFragmentRoot(); IResource r = unit.getUnit().getJavaElement().getResource(); String linkMethodUrl = "file://" + unit.getProjectPath() + "/" + r.getProjectRelativePath() + "#" + method.getMd().getName();//from w w w . j a va2 s . c o m String linkMethodText = ""; String linkClassUrl = "file://" + unit.getProjectPath() + "/" + pfr.getResource().getProjectRelativePath(); linkClassUrl += "/" + className.replace(".", "/") + ".java"; String linkClassText = className; List<?> params = method.getMd().parameters(); for (Object p : params) { SingleVariableDeclaration svd = (SingleVariableDeclaration) p; String ptype = svd.getType().toString(); linkMethodUrl += "," + ptype; if (linkMethodText.length() > 0) { linkMethodText += ", "; } linkMethodText += ptype; } linkMethodText = method.getMd().getName() + "(" + linkMethodText + ")"; MMC mmc = MMC.getConsole(); mmc.print(MelpDate.now() + " [I] ", SWT.COLOR_BLACK); mmc.print("Create class: ", SWT.COLOR_BLACK); mmc.print(new HyperLink(linkClassUrl, linkClassText), SWT.COLOR_DARK_BLUE); mmc.print(", from: [", SWT.COLOR_BLACK); mmc.print(new HyperLink(linkMethodUrl, linkMethodText), SWT.COLOR_DARK_BLUE); mmc.print("]\r\n", SWT.COLOR_BLACK); String initParameters = (String) exchange.getTag("initParameters"); String failMessages = (String) exchange.getTag("failMessages"); if (failMessages != null) { mmc.warn("Can't init parameters as default:\r\n" + failMessages); } if (initParameters != null) { mmc.code("Init parameters as following:", initParameters); } if (exchange.getSql() != null) { mmc.code("Running SQL:", exchange.getSql()); } IPackageFragment pf = pfr.createPackageFragment(method.getResultClassPackage(), true, null); if (exchange.getErrorString() == null) { String java = method.createResultJavaCode(exchange); pf.createCompilationUnit(method.getResultClassName() + ".java", java, true, new NullProgressMonitor()); } else { mmc.error(exchange.getErrorString()); String java = method.createEmptyCode(exchange.getErrorString()); pf.createCompilationUnit(method.getResultClassName() + ".java", java, true, new NullProgressMonitor()); } }
From source file:com.worldline.awltech.i18ntools.wizard.core.modules.ResourceBundleWrapper.java
License:Open Source License
/** * Loads the currently selected compilation unit. */// w w w . j ava2 s .co m private void loadCompilationUnit() { final IProject project = this.javaProject.getProject(); final IResource sourceFolderResource = project .getFolder(new Path(this.configuration.getJavaSourceFolder())); final IPackageFragmentRoot ipfr = this.javaProject.getPackageFragmentRoot(sourceFolderResource); IPackageFragment ipf = ipfr.getPackageFragment(this.packageName); if (!ipf.exists()) { try { ipf = ipfr.createPackageFragment(this.packageName, false, new NullProgressMonitor()); } catch (final JavaModelException e) { Activator.getDefault().getLog().log(new Status(IStatus.ERROR, Activator.PLUGIN_ID, RefactoringWizardMessages.ERROR_CREATE_PACKAGE.value(), e)); } } final String javaUnitName = this.resourceBundleName.concat(".java"); this.enumJavaCompilationUnit = ipf.getCompilationUnit(javaUnitName); if (!this.enumJavaCompilationUnit.exists()) { final String contents = this.createJavaUnitContents(); // Format the source code before trying to set it to the compilation unit. CodeFormatter formatter = ToolFactory.createCodeFormatter(this.javaProject.getOptions(true), ToolFactory.M_FORMAT_EXISTING); IDocument document = new Document(contents); TextEdit textEdit = formatter.format( CodeFormatter.K_COMPILATION_UNIT | CodeFormatter.F_INCLUDE_COMMENTS, contents, 0, contents.length(), 0, null); try { textEdit.apply(document); } catch (MalformedTreeException e1) { Activator.getDefault().getLog().log(new Status(IStatus.ERROR, Activator.PLUGIN_ID, RefactoringWizardMessages.ERROR_REFACTOR_TEMPLATE.value(), e1)); } catch (BadLocationException e1) { Activator.getDefault().getLog().log(new Status(IStatus.ERROR, Activator.PLUGIN_ID, RefactoringWizardMessages.ERROR_REFACTOR_TEMPLATE.value(), e1)); } try { // Set the source into the compilation unit. this.enumJavaCompilationUnit = ipf.createCompilationUnit(javaUnitName, document.get(), false, new NullProgressMonitor()); } catch (final JavaModelException e) { Activator.getDefault().getLog().log(new Status(IStatus.ERROR, Activator.PLUGIN_ID, RefactoringWizardMessages.ERROR_CREATE_CU.value(), e)); } } final ASTParser enumSourceParser = ASTParser.newParser(AST.JLS4); enumSourceParser.setProject(this.javaProject); enumSourceParser.setBindingsRecovery(true); enumSourceParser.setResolveBindings(true); enumSourceParser.setKind(ASTParser.K_COMPILATION_UNIT); enumSourceParser.setSource(this.enumJavaCompilationUnit); this.enumDomCompilationUnit = (CompilationUnit) enumSourceParser.createAST(new NullProgressMonitor()); this.enumDomCompilationUnit.recordModifications(); }
From source file:edu.brown.cs.bubbles.bedrock.BedrockProject.java
License:Open Source License
/********************************************************************************/ void createPackage(String proj, String pkg, boolean force, IvyXmlWriter xw) throws BedrockException { IProject ip = findProject(proj);/* w w w . ja v a 2s.c o m*/ IJavaProject ijp = JavaCore.create(ip); 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 roots: " + e, e); } if (ipfr == null) throw new BedrockException("Can't find source fragment root"); IPackageFragment ifr = null; try { ifr = ipfr.createPackageFragment(pkg, force, null); ifr.save(null, force); ifr.open(null); } catch (JavaModelException e) { throw new BedrockException("Problem creating package: " + e, e); } xw.begin("PACKAGE"); xw.field("NAME", ifr.getElementName()); File f = BedrockUtil.getFileForPath(ifr.getPath(), ip); xw.field("PATH", f.getAbsolutePath()); xw.end("PACKAGE"); }
From source file:edu.illinois.keshmesh.detector.tests.TestSetupHelper.java
License:Open Source License
/** * Creates the specified package in the specified project if the package * does not already exist else it simply returns the preexisting package. * /*from w w w. j a v a 2 s. c om*/ * @param containerProject * @param packageName * @return * @throws CoreException */ static IPackageFragment createPackage(IJavaProject containerProject, String packageName) throws CoreException { boolean alreadyExists = false; IPackageFragmentRoot packageFragmentRoot = null; IPackageFragmentRoot[] allPackageFragmentRoots = containerProject.getAllPackageFragmentRoots(); for (IPackageFragmentRoot root : allPackageFragmentRoots) { if (root.getElementName().equals(AbstractTestCase.CONTAINER)) { alreadyExists = true; packageFragmentRoot = root; break; } } if (!alreadyExists) { packageFragmentRoot = JavaProjectHelper.addSourceContainer(containerProject, AbstractTestCase.CONTAINER); } return (packageFragmentRoot.createPackageFragment(packageName, true, null)); }
From source file:es.bsc.servicess.ide.wizards.coretypes.BinaryMethodSpecificTreatment.java
License:Apache License
/** Create the method core element declaring class * @param m Progress monitor//from w w w .ja va 2 s.c o m * @return Eclipse JDT IType object representing the core element declaring class * @throws JavaModelException */ private IType createDeclaringClassType(IProgressMonitor m) throws JavaModelException { IPackageFragmentRoot pfr = secondPage.getPackageFragmentRoot(); String lineDelimiter = StubUtility.getLineDelimiterUsed(secondPage.getJavaProject()); IPackageFragment pf; String st = Signature.getQualifier(declaringClass); if (st != null && st.trim().length() > 0) { pf = pfr.getPackageFragment(st); if (pf != null) { if (!pf.exists()) { pf = pfr.createPackageFragment(st, true, m); } } else { pf = pfr.createPackageFragment(st, true, m); } } else { IFile metadataFile = secondPage.getJavaProject().getProject().getFolder(ProjectMetadata.METADATA_FOLDER) .getFile(ProjectMetadata.METADATA_FILENAME); if (metadataFile != null) { try { ProjectMetadata pr_meta = new ProjectMetadata( new File(metadataFile.getRawLocation().toOSString())); pfr = secondPage.getJavaProject().findPackageFragmentRoot( secondPage.getJavaProject().getPath().append(pr_meta.getSourceDir())); if (pfr != null) { pf = pfr.getPackageFragment(pr_meta.getMainPackageName() + ".coreelements"); if (pf.exists()) { st = pf.getElementName(); } else throw new JavaModelException(new Exception("Unable to find core elemet package"), JavaModelStatus.ERROR); } else { throw new JavaModelException(new Exception("Unable to find core elemet package root"), JavaModelStatus.ERROR); } } catch (Exception e) { throw new JavaModelException(e, JavaModelStatus.ERROR); } } else throw new JavaModelException(new Exception("Unable to find project metadata file"), JavaModelStatus.ERROR); } String name = Signature.getSimpleName(declaringClass); log.debug("Package: " + st + " Class name: " + name); ICompilationUnit cu = pf.getCompilationUnit(name + ".java"); if (cu == null || !cu.exists()) { cu = pf.createCompilationUnit(name + ".java", "", false, m); cu.createPackageDeclaration(st, m); cu.createType(constructCEClassStub(name, lineDelimiter), null, false, m); } return cu.getType(name); }
From source file:es.bsc.servicess.ide.wizards.coretypes.SpecificNewMethodComposite.java
License:Apache License
private IType createDeclaringClassType(IProgressMonitor m) throws JavaModelException { IPackageFragmentRoot pfr = thirdPage.getPackageFragmentRoot(); String lineDelimiter = StubUtility.getLineDelimiterUsed(thirdPage.getJavaProject()); IPackageFragment pf;/*from w w w . ja v a 2 s .c om*/ String st = Signature.getQualifier(declaringClass); if (st != null && st.trim().length() > 0) { pf = pfr.getPackageFragment(st); if (pf != null) { if (!pf.exists()) { pf = pfr.createPackageFragment(st, true, m); } } else { pf = pfr.createPackageFragment(st, true, m); } } else { IFile metadataFile = thirdPage.getJavaProject().getProject().getFolder(ProjectMetadata.METADATA_FOLDER) .getFile(ProjectMetadata.METADATA_FILENAME); if (metadataFile != null) { try { ProjectMetadata pr_meta = new ProjectMetadata( new File(metadataFile.getRawLocation().toOSString())); pfr = thirdPage.getJavaProject().findPackageFragmentRoot( thirdPage.getJavaProject().getPath().append(pr_meta.getSourceDir())); if (pfr != null) { pf = pfr.getPackageFragment(pr_meta.getMainPackageName() + ".coreelements"); if (pf.exists()) { st = pf.getElementName(); } else throw new JavaModelException(new Exception("Unable to find core elemet package"), JavaModelStatus.ERROR); } else { throw new JavaModelException(new Exception("Unable to find core elemet package root"), JavaModelStatus.ERROR); } } catch (Exception e) { throw new JavaModelException(e, JavaModelStatus.ERROR); } } else throw new JavaModelException(new Exception("Unable to find project metadata file"), JavaModelStatus.ERROR); } String name = Signature.getSimpleName(declaringClass); System.out.println("Package: " + st + " Class name: " + name); ICompilationUnit cu = pf.getCompilationUnit(name + ".java"); if (cu == null || !cu.exists()) { cu = pf.createCompilationUnit(name + ".java", "", false, m); cu.createPackageDeclaration(st, m); cu.createType(constructCEClassStub(name, lineDelimiter), null, false, m); } return cu.getType(name); }
From source file:es.bsc.servicess.ide.wizards.ServiceSsImportOrchestrationClassWizard.java
License:Apache License
@Override protected void finishPage(IProgressMonitor arg0) throws InterruptedException, CoreException { String lineDelimiter = StubUtility.getLineDelimiterUsed(project); IFile file = project.getProject().getFolder(ProjectMetadata.METADATA_FOLDER) .getFile(ProjectMetadata.METADATA_FILENAME); try {//from w ww .j a v a2 s . c o m ProjectMetadata pr_meta = new ProjectMetadata(file.getRawLocation().toFile()); IPackageFragmentRoot root = pr_meta.getPackageFragmentRoot(project); if (root == null || !root.exists()) throw (new Exception("Main package fragment root not found")); IPackageFragment frag = root.getPackageFragment(fPage.getTypePackageName()); if (frag == null || !frag.exists()) root.createPackageFragment(fPage.getTypePackageName(), true, arg0); String className = fPage.getType().getElementName().replaceAll(" ", "") + "Itf"; interfaceCU = frag.getCompilationUnit(className + ".java"); if (interfaceCU == null || !interfaceCU.exists()) { interfaceCU = frag.createCompilationUnit(className + ".java", "", false, new SubProgressMonitor(arg0, 2)); interfaceCU.createPackageDeclaration(frag.getElementName(), arg0); String typeStub = constructInterfaceStub(className, lineDelimiter); interfaceCU.createType(typeStub, null, false, arg0); } pr_meta.addExternalOrchestrationClass(fPage.getTypeName(), fPage.getExternalLocation(), fPage.getIntraPackageLocation()); pr_meta.toFile(file.getRawLocation().toFile()); project.getProject().refreshLocal(Resource.DEPTH_INFINITE, arg0); } catch (Exception e) { throw new JavaModelException(e, JavaModelStatus.ERROR); } }