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.google.gdt.eclipse.designer.wizards.model.common.AbstractCreateOperation.java
License:Open Source License
/** * Creates sub package with given name in target {@link IPackageFragment}. *///from w w w .j a v a 2s .c o m protected IPackageFragment getPackage(IPackageFragmentRoot root, String packageName) throws JavaModelException { IPackageFragment packageFragment = root.getPackageFragment(packageName); if (!packageFragment.exists()) { packageFragment = root.createPackageFragment(packageName, false, new NullProgressMonitor()); } return packageFragment; }
From source file:com.google.gdt.eclipse.designer.wizards.model.service.CreateServiceOperation.java
License:Open Source License
public void create(IPackageFragment packageFragment, String serviceName) throws Exception { // prepare packages names String servicePackageName = packageFragment.getElementName(); String serverPackageName = getServerPackageName(packageFragment); // prepare variables Map<String, String> variables = new HashMap<String, String>(); variables.put("servicePackage", servicePackageName); variables.put("serviceName", serviceName); // client/*www .ja v a 2 s.c o m*/ { // create RemoteService interface, "async" interface will be done by builder createFileFromTemplate(packageFragment, serviceName + ".java", "RemoteService.Service.java", variables); // open RemoteService in editor { String qualifiedServiceName = packageFragment.getElementName() + "." + serviceName; IType type = WorkspaceUtils.waitForType(packageFragment.getJavaProject(), qualifiedServiceName); JavaUI.openInEditor(type); } } // server: create implementation stub { // prepare server package IPackageFragment serverPackage; { IPackageFragmentRoot packageFragmentRoot = CodeUtils.getPackageFragmentRoot(packageFragment); serverPackage = packageFragmentRoot.createPackageFragment(serverPackageName, false, null); } // create implementation stub variables.put("serverPackage", serverPackageName); createFileFromTemplate(serverPackage, serviceName + "Impl.java", "RemoteService.ServiceImpl.java", variables); } // declare servlet addServlet_intoWebXML(packageFragment, serviceName, serverPackageName); }
From source file:com.google.gdt.eclipse.designer.wizards.ui.JUnitWizardPage.java
License:Open Source License
private IPackageFragment handleTestPackage(IJavaElement element, IPackageFragmentRoot testSourceFragmentRoot) throws Exception { IPackageFragment testPackage = null; IPackageFragment elementPackage = (IPackageFragment) element.getAncestor(IJavaElement.PACKAGE_FRAGMENT); if (elementPackage != null) { testPackage = testSourceFragmentRoot.getPackageFragment(elementPackage.getElementName()); if (testPackage == null || !testPackage.exists()) { testPackage = testSourceFragmentRoot.createPackageFragment(elementPackage.getElementName(), true, null);//w w w . j a v a2s .c o m } } // setPackageFragment(testPackage, true); return elementPackage; }
From source file:com.google.gwt.eclipse.core.wizards.NewModuleWizard.java
License:Open Source License
@Override public boolean performFinish() { IPackageFragmentRoot root = newModuleWizardPage.getPackageFragmentRoot(); String packName = newModuleWizardPage.getModulePackageName(); try {/*from w ww .java 2 s.c o m*/ IPackageFragment createdPackageFragment = root.createPackageFragment(packName, false, new NullProgressMonitor()); if (newModuleWizardPage.shouldCreateClientPackage()) { String clientPackName = null; if (packName == null || packName.length() == 0) { clientPackName = "client"; } else { clientPackName = packName + ".client"; } root.createPackageFragment(clientPackName, false, new NullProgressMonitor()); } if (newModuleWizardPage.shouldCreatePublicPath()) { IFolder folder = (IFolder) createdPackageFragment.getCorrespondingResource(); IFolder publicFolder = folder.getFolder("public"); if (!publicFolder.exists()) { publicFolder.create(false, true, new NullProgressMonitor()); } } } catch (Exception e) { MessageDialog.openError(getContainer().getShell(), "An error occurred while attempting to create a new GWT Module", NLS.bind(IDEWorkbenchMessages.WizardNewFileCreationPage_internalErrorMessage, e)); GWTPluginLog.logError(e, "Unable to create new GWT Module with source folder: {0}, name: {1}, package: {2}, createClientPackage: {4}, createPublicPath: {5}", newModuleWizardPage.getPackageFragmentRootText(), newModuleWizardPage.getModuleName(), newModuleWizardPage.shouldCreateClientPackage(), newModuleWizardPage.shouldCreatePublicPath()); return false; } // TODO: The actions of creating the client package and the public folder // are not undoable, even though the file creation is (since it delegates // to super.performFinish(), which uses an undoable file operation to create // the file). We should make the creation of the client package and public // path part of the same undoable operation. return super.performFinish(); }
From source file:com.gwtplatform.plugin.projectfile.Settings.java
License:Apache License
public Settings(IPackageFragmentRoot root, String packageName, String elementName) throws CoreException { IContainer container = (IContainer) root .createPackageFragment(packageName, false, new NullProgressMonitor()).getResource(); file = container.getFile(new Path(elementName + ".prefs")); }
From source file:com.gwtplatform.plugin.projectfile.src.client.core.Ui.java
License:Apache License
public Ui(IPackageFragmentRoot root, String packageName, String elementName) throws CoreException { IContainer container = (IContainer) root .createPackageFragment(packageName, false, new NullProgressMonitor()).getResource(); file = container.getFile(new Path(elementName + ".ui.xml")); }
From source file:com.gwtplatform.plugin.projectfile.src.GwtXmlModule.java
License:Apache License
public GwtXmlModule(IPackageFragmentRoot root, String packageName, String elementName) throws CoreException { this.root = root; IContainer container = (IContainer) root.createPackageFragment(packageName, false, null).getResource(); file = container.getFile(new Path(elementName + ".gwt.xml")); }
From source file:com.gwtplatform.plugin.wizard.NewProjectWizard.java
License:Apache License
@SuppressWarnings({ "rawtypes", "unchecked" }) protected boolean finish(IProgressMonitor desiredMonitor) { IProgressMonitor monitor = desiredMonitor; if (monitor == null) { monitor = new NullProgressMonitor(); }// ww w.jav a 2 s . c om try { if (GWTPreferences.getDefaultRuntime().getVersion().isEmpty()) { IStatus status = new Status(IStatus.ERROR, Activator.PLUGIN_ID, "No default GWT SDK."); ErrorDialog.openError(getShell(), null, null, status); return false; } monitor.beginTask("GWT-Platform project creation", 4); // Project base creation monitor.subTask("Base project creation"); formattedName = projectNameToClassName(page.getProjectName(), page.isRemoveEnabled()); IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(page.getProjectName()); // Project location URI location = null; String workspace = ResourcesPlugin.getWorkspace().getRoot().getLocationURI().toString() + "/"; if (page.getProjectLocation() != null && !workspace.equals(page.getProjectLocation().toString())) { location = page.getProjectLocation(); } IProjectDescription description = project.getWorkspace().newProjectDescription(project.getName()); description.setLocationURI(location); // Project natures and builders ICommand javaBuilder = description.newCommand(); javaBuilder.setBuilderName(JavaCore.BUILDER_ID); ICommand webAppBuilder = description.newCommand(); webAppBuilder.setBuilderName(WebAppProjectValidator.BUILDER_ID); ICommand gwtBuilder = description.newCommand(); // TODO use the BUILDER_UI field gwtBuilder.setBuilderName("com.google.gwt.eclipse.core.gwtProjectValidator"); if (page.useGAE()) { ICommand gaeBuilder = description.newCommand(); gaeBuilder.setBuilderName(GaeProjectValidator.BUILDER_ID); // TODO use the BUILDER_UI field ICommand enhancer = description.newCommand(); // TODO use the BUILDER_UI field enhancer.setBuilderName("com.google.appengine.eclipse.core.enhancerbuilder"); description.setBuildSpec( new ICommand[] { javaBuilder, webAppBuilder, gwtBuilder, gaeBuilder, enhancer }); description.setNatureIds( new String[] { JavaCore.NATURE_ID, GWTNature.NATURE_ID, GaeNature.NATURE_ID }); } else { description.setBuildSpec(new ICommand[] { javaBuilder, webAppBuilder, gwtBuilder }); description.setNatureIds(new String[] { JavaCore.NATURE_ID, GWTNature.NATURE_ID }); } project.create(description, monitor); if (!project.isOpen()) { project.open(monitor); } monitor.worked(1); // Java Project creation monitor.subTask("Classpath entries creation"); IJavaProject javaProject = JavaCore.create(project); // war/WEB-INF/lib folder creation IPath warPath = new Path("war"); project.getFolder(warPath).create(false, true, monitor); IPath webInfPath = warPath.append("WEB-INF"); project.getFolder(webInfPath).create(false, true, monitor); IPath libPath = webInfPath.append("lib"); project.getFolder(libPath).create(false, true, monitor); Thread.sleep(1000); Jar[] libs = VersionTool.getLibs(project, libPath); // Classpath Entries creation List<IClasspathEntry> entries = new ArrayList<IClasspathEntry>(); // Default output location IPath outputPath = new Path("/" + page.getProjectName()).append(webInfPath).append("classes"); javaProject.setOutputLocation(outputPath, monitor); // Source folder IPath srcPath = new Path("src"); project.getFolder(srcPath).create(false, true, monitor); entries.add(JavaCore.newSourceEntry(javaProject.getPath().append("src"))); // GWT SDK container IPath gwtContainer = GWTRuntimeContainer.CONTAINER_PATH; ClasspathContainerInitializer gwtInitializer = JavaCore .getClasspathContainerInitializer(gwtContainer.segment(0)); gwtInitializer.initialize(gwtContainer, javaProject); entries.add(JavaCore.newContainerEntry(gwtContainer)); // GAE SDK container if (page.useGAE()) { IPath gaeContainer = GaeSdkContainer.CONTAINER_PATH; ClasspathContainerInitializer gaeInitializer = JavaCore .getClasspathContainerInitializer(gaeContainer.segment(0)); gaeInitializer.initialize(gaeContainer, javaProject); entries.add(JavaCore.newContainerEntry(gaeContainer)); } // JRE container entries.addAll(Arrays.asList(PreferenceConstants.getDefaultJRELibrary())); // GWTP libs for (Jar lib : libs) { entries.add(JavaCore.newLibraryEntry(lib.getFile().getFullPath(), null, null)); } javaProject.setRawClasspath(entries.toArray(new IClasspathEntry[entries.size()]), monitor); monitor.worked(1); monitor.subTask("Default classes creation"); IPackageFragmentRoot root = javaProject.findPackageFragmentRoot(javaProject.getPath().append("src")); // Create sources if (page.useGAE()) { Log4j log4j = new Log4j(project, srcPath); log4j.createFile(); IPath metaInfPath = srcPath.append("META-INF"); project.getFolder(metaInfPath).create(false, true, monitor); Jdoconfig jdoconfig = new Jdoconfig(project, metaInfPath); jdoconfig.createFile(); } IPackageFragment projectPackage = root.createPackageFragment(page.getProjectPackage(), false, monitor); // Client package IPackageFragment clientPackage = root.createPackageFragment(projectPackage.getElementName() + ".client", false, monitor); // Place package IPackageFragment placePackage = root.createPackageFragment(clientPackage.getElementName() + ".place", false, monitor); PlaceAnnotation defaultPlace = new PlaceAnnotation(root, placePackage.getElementName(), "DefaultPlace", sourceWriterFactory); PlaceManager placeManager = new PlaceManager(root, placePackage.getElementName(), "ClientPlaceManager", sourceWriterFactory); IField defaultPlaceField = placeManager.createPlaceRequestField(defaultPlace.getType()); placeManager.createConstructor(new IType[] { defaultPlace.getType() }, new IField[] { defaultPlaceField }); placeManager.createRevealDefaultPlaceMethod(defaultPlaceField); Tokens tokens = new Tokens(root, placePackage.getElementName(), "NameTokens", sourceWriterFactory); // Gin package IPackageFragment ginPackage = root.createPackageFragment(clientPackage.getElementName() + ".gin", false, monitor); PresenterModule presenterModule = new PresenterModule(root, ginPackage.getElementName(), "ClientModule", sourceWriterFactory); presenterModule.createConfigureMethod(placeManager.getType()); Ginjector ginjector = new Ginjector(root, ginPackage.getElementName(), "ClientGinjector", presenterModule.getType(), sourceWriterFactory); ginjector.createDefaultGetterMethods(); // Client package contents EntryPoint entryPoint = new EntryPoint(root, clientPackage.getElementName(), formattedName, sourceWriterFactory); entryPoint.createGinjectorField(ginjector.getType()); entryPoint.createOnModuleLoadMethod(); // Project package contents GwtXmlModule gwtXmlModule = new GwtXmlModule(root, projectPackage.getElementName(), formattedName); gwtXmlModule.createFile(entryPoint.getType(), ginjector.getType()); // Server package IPackageFragment serverPackage = root.createPackageFragment(projectPackage.getElementName() + ".server", false, monitor); // Guice package IPackageFragment guicePackage = root.createPackageFragment(serverPackage.getElementName() + ".guice", false, monitor); String gwtVersion = GWTPreferences.getDefaultRuntime().getVersion(); ServletModule servletModule = new ServletModule(root, guicePackage.getElementName(), "DispatchServletModule", sourceWriterFactory); servletModule.createConfigureServletsMethod(gwtVersion); GuiceHandlerModule handlerModule = new GuiceHandlerModule(root, guicePackage.getElementName(), "ServerModule", sourceWriterFactory); handlerModule.createConfigureHandlersMethod(); GuiceServletContextListener guiceServletContextListener = new GuiceServletContextListener(root, guicePackage.getElementName(), "GuiceServletConfig", sourceWriterFactory); guiceServletContextListener.createInjectorGetterMethod(handlerModule.getType(), servletModule.getType()); // Shared package root.createPackageFragment(projectPackage.getElementName() + ".shared", false, monitor); // Basic sample creation if (page.isSample()) { BasicSampleBuilder sampleBuilder = new BasicSampleBuilder(root, projectPackage, sourceWriterFactory); sampleBuilder.createSample(ginjector, presenterModule, tokens, defaultPlace, handlerModule); } // Commit presenterModule.commit(); ginjector.commit(); defaultPlace.commit(); placeManager.commit(); tokens.commit(); entryPoint.commit(); servletModule.commit(); handlerModule.commit(); guiceServletContextListener.commit(); // war contents ProjectHTML projectHTML = new ProjectHTML(project, warPath, project.getName()); projectHTML.createFile(); ProjectCSS projectCSS = new ProjectCSS(project, warPath, project.getName()); projectCSS.createFile(); // war/WEB-INF contents WebXml webXml = new WebXml(project, webInfPath); webXml.createFile(projectHTML.getFile(), guiceServletContextListener.getType()); if (page.useGAE()) { AppengineWebXml appengineWebXml = new AppengineWebXml(project, webInfPath); appengineWebXml.createFile(); Logging logging = new Logging(project, webInfPath); logging.createFile(); } monitor.worked(1); // Launch Config monitor.subTask("Launch config creation"); ILaunchConfigurationWorkingCopy launchConfig = WebAppLaunchUtil.createLaunchConfigWorkingCopy( project.getName(), project, WebAppLaunchUtil.determineStartupURL(project, false), false); ILaunchGroup[] groups = DebugUITools.getLaunchGroups(); ArrayList groupsNames = new ArrayList(); for (ILaunchGroup group : groups) { if ((!("org.eclipse.debug.ui.launchGroup.debug".equals(group.getIdentifier()))) && (!("org.eclipse.debug.ui.launchGroup.run".equals(group.getIdentifier())))) { continue; } groupsNames.add(group.getIdentifier()); } launchConfig.setAttribute("org.eclipse.debug.ui.favoriteGroups", groupsNames); launchConfig.doSave(); project.getProject().setPersistentProperty(new QualifiedName(Activator.PLUGIN_ID, "nametokens"), tokens.getType().getFullyQualifiedName()); project.getProject().setPersistentProperty(new QualifiedName(Activator.PLUGIN_ID, "ginjector"), ginjector.getType().getFullyQualifiedName()); project.getProject().setPersistentProperty(new QualifiedName(Activator.PLUGIN_ID, "presentermodule"), presenterModule.getType().getFullyQualifiedName()); project.getProject().setPersistentProperty(new QualifiedName(Activator.PLUGIN_ID, "handlermodule"), handlerModule.getType().getFullyQualifiedName()); project.getProject().setPersistentProperty(new QualifiedName(Activator.PLUGIN_ID, "action"), "com.gwtplatform.dispatch.shared.ActionImpl"); // Remove bin folder IFolder binFolder = project.getFolder(new Path("/bin")); if (binFolder.exists()) { binFolder.delete(true, monitor); } monitor.worked(1); } catch (Exception e) { IStatus status = new Status(IStatus.ERROR, Activator.PLUGIN_ID, "An unexpected error has happened. Close the wizard and retry.", e); ErrorDialog.openError(getShell(), null, null, status); return false; } monitor.done(); return true; }
From source file:com.hudson.hibernatesynchronizer.popup.actions.TemplateGeneration.java
License:GNU General Public License
/** * @see IActionDelegate#run(IAction)// w ww. ja v a2s . com */ public void run(IAction action) { try { List templates = TemplateManager.getInstance().getTemplates(); Shell shell = new Shell(); if (templates.size() == 0) { MessageDialog.openError(shell, "Template Generation Error", "You must define templates before you can use this function.\n(Window >> Preferences >> Hibernate Templates)"); return; } ISelectionProvider provider = part.getSite().getSelectionProvider(); if (null != provider) { if (provider.getSelection() instanceof StructuredSelection) { StructuredSelection selection = (StructuredSelection) provider.getSelection(); Object[] obj = selection.toArray(); IFile[] files = new IFile[obj.length]; IProject singleProject = null; boolean isSingleProject = true; for (int i = 0; i < obj.length; i++) { if (obj[i] instanceof IFile) { IFile file = (IFile) obj[i]; files[i] = file; if (null == singleProject) singleProject = file.getProject(); if (!singleProject.getName().equals(file.getProject().getName())) { isSingleProject = false; } } } TemplateGenerationParameter param = new TemplateGenerationParameter(); TemplateGenerationDialog dialog = new TemplateGenerationDialog(shell, JavaCore.create(singleProject), templates, param); int rtn = dialog.open(); if (rtn == Dialog.OK) { IJavaProject javaProject = JavaCore.create(singleProject); Template template = param.template; if (template.isJavaClass()) { String packageName = param.container; String className = param.fileName; IPackageFragmentRoot root = HSUtil.getProjectRoot(javaProject); if (null != root) { IPackageFragment fragment = root.getPackageFragment(packageName); className = className + Constants.EXT_JAVA; if (null != fragment) { if (!fragment.exists()) { fragment = root.createPackageFragment(packageName, false, null); } ICompilationUnit unit = fragment.getCompilationUnit(className); Context context = getDefaultContext(selection, javaProject); if (null != context) { StringWriter sw = new StringWriter(); Constants.customGenerator.evaluate(context, sw, Velocity.class.getName(), template.getContent()); unit = fragment.createCompilationUnit(className, sw.toString(), true, null); if (unit.getResource() instanceof IFile) EditorUtil.openPage((IFile) unit.getResource()); } } } } else { String path = param.container + "/" + param.fileName; IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(path)); Context context = getDefaultContext(selection, javaProject); if (null != context) { StringWriter sw = new StringWriter(); Constants.customGenerator.evaluate(context, sw, Velocity.class.getName(), template.getContent()); if (!file.exists()) { file.create(new ByteArrayInputStream(sw.toString().getBytes()), true, null); } else { file.delete(true, null); file.create(new ByteArrayInputStream(sw.toString().getBytes()), true, null); } EditorUtil.openPage(file); } } } } } } catch (Exception e) { HSUtil.showError(e.getMessage(), new Shell()); } }
From source file:com.hudson.hibernatesynchronizer.util.SynchronizerThread.java
License:GNU General Public License
private static void writeExtensionClass(String templateName, String constructorTemplateName, Context context, IPackageFragmentRoot fragmentRoot, String packageName, String className) throws JavaModelException { IPackageFragment fragment = fragmentRoot.getPackageFragment(packageName); className = className + ".java"; try {//from w w w .j av a 2 s. c o m if (null != fragment) { if (!fragment.exists()) { fragment = fragmentRoot.createPackageFragment(packageName, false, null); } ICompilationUnit unit = fragment.getCompilationUnit(className); if (unit.exists()) { String content = unit.getSource(); MarkerContents mc = HSUtil.getMarkerContents(content, "CONSTRUCTOR MARKER"); if (null != mc) { try { Template template = Constants.templateGenerator.getTemplate(constructorTemplateName); StringWriter sw = new StringWriter(); template.merge(context, sw); if (null != mc.getContents() && mc.getContents().trim().equals(sw.toString().trim())) return; content = mc.getPreviousContents() + sw.toString() + mc.getPostContents(); unit = fragment.createCompilationUnit(className, content, true, null); } catch (JavaModelException e) { } } } else { try { Template template = Constants.templateGenerator.getTemplate(constructorTemplateName); StringWriter sw = new StringWriter(); template.merge(context, sw); VelocityContext subContext = new VelocityContext(context); subContext.put("constructors", sw.toString()); template = Constants.templateGenerator.getTemplate(templateName); sw = new StringWriter(); template.merge(subContext, sw); unit = fragment.createCompilationUnit(className, sw.toString(), true, null); } catch (JavaModelException e) { } } } } catch (Exception e) { if (e instanceof JavaModelException) throw (JavaModelException) e; else MessageDialog.openWarning(null, "An error has occured: " + e.getClass(), e.getMessage()); } }