/** * Creates a new file resource as requested by the user. If everything is OK then answer true. If * not, false will cause the dialog to stay open and the appropriate error message is shown * * @return whether creation was successful * @see WOComponentCreationWizard#performFinish() */ public boolean createComponent() { WOComponentCreator componentCreator; String componentName = getFileName(); String packageName = _packageDialogField.getText(); String superclassName = _superclassDialogField.getText(); IProject actualProject = ResourcesPlugin.getWorkspace().getRoot().getProject(getContainerFullPath().segment(0)); switch (getContainerFullPath().segmentCount()) { case 0: // not possible ( see validatePage() ) setErrorMessage("unknown error"); return false; default: // determine parent resource for component creator by removing // first element (workspace) from full path IFolder subprojectFolder = actualProject.getFolder(getContainerFullPath().removeFirstSegments(1)); componentCreator = new WOComponentCreator( subprojectFolder, componentName, packageName, superclassName, _bodyCheckbox.getSelection(), _apiCheckbox.getSelection(), this); break; } this.getDialogSettings() .put(WOComponentCreationPage.SUPERCLASS_KEY, _superclassDialogField.getText()); this.getDialogSettings() .put(WOComponentCreationPage.BODY_CHECKBOX_KEY, _bodyCheckbox.getSelection()); this.getDialogSettings().put(WOComponentCreationPage.HTML_DOCTYPE_KEY, _htmlCombo.getText()); this.getDialogSettings() .put(WOComponentCreationPage.NSSTRING_ENCODING_KEY, _encodingCombo.getText()); this.getDialogSettings() .put(WOComponentCreationPage.API_CHECKBOX_KEY, _apiCheckbox.getSelection()); // logPreferences(); IRunnableWithProgress op = new WorkspaceModifyDelegatingOperation(componentCreator); return createResourceOperation(op); }
protected String chooseSuperclass() { Set<String> superclasses = new HashSet<String>(); try { IProject actualProject = ResourcesPlugin.getWorkspace().getRoot().getProject(getContainerFullPath().segment(0)); IJavaProject javaProject = JavaModelManager.getJavaModelManager().getJavaModel().getJavaProject(actualProject); TypeNameCollector typeNameCollector = new TypeNameCollector(javaProject, false); BindingReflectionUtils.findMatchingElementClassNames( "", SearchPattern.R_PREFIX_MATCH, typeNameCollector, new NullProgressMonitor()); for (String typeName : typeNameCollector.getTypeNames()) { // int dotIndex = typeName.lastIndexOf('.'); // if (dotIndex != -1) { // typeName = typeName.substring(dotIndex + 1); // } // validValues.add("\"" + typeName + "\""); superclasses.add(typeName); } } catch (JavaModelException e) { // JTourBusPlugin.log(e); e.printStackTrace(); } ElementListSelectionDialog dialog = new ElementListSelectionDialog(getShell(), new StringLabelProvider()); dialog.setIgnoreCase(true); dialog.setTitle(NewWizardMessages.NewTypeWizardPage_SuperClassDialog_title); dialog.setMessage(NewWizardMessages.NewTypeWizardPage_SuperClassDialog_message); // dialog.setEmptyListMessage(NewWizardMessages.NewTypeWiz); dialog.setFilter(_superclassDialogField.getText()); dialog.setElements(superclasses.toArray()); if (dialog.open() == Window.OK) { return (String) dialog.getFirstResult(); } return null; }
protected IPackageFragment choosePackage() { List<IJavaElement> packagesList = new LinkedList<IJavaElement>(); try { IProject actualProject = ResourcesPlugin.getWorkspace().getRoot().getProject(getContainerFullPath().segment(0)); IJavaProject javaProject = JavaModelManager.getJavaModelManager().getJavaModel().getJavaProject(actualProject); IPackageFragmentRoot[] roots = javaProject.getPackageFragmentRoots(); for (int k = 0; k < roots.length; k++) { if (roots[k].getKind() == IPackageFragmentRoot.K_SOURCE) { IJavaElement[] children = roots[k].getChildren(); for (int i = 0; i < children.length; i++) { packagesList.add(children[i]); } } } } catch (JavaModelException e) { // JTourBusPlugin.log(e); e.printStackTrace(); } IJavaElement[] packages = packagesList.toArray(new IJavaElement[packagesList.size()]); ElementListSelectionDialog dialog = new ElementListSelectionDialog( getShell(), new JavaElementLabelProvider(JavaElementLabelProvider.SHOW_DEFAULT)); dialog.setIgnoreCase(false); dialog.setTitle(NewWizardMessages.NewTypeWizardPage_ChoosePackageDialog_title); dialog.setMessage(NewWizardMessages.NewTypeWizardPage_ChoosePackageDialog_description); dialog.setEmptyListMessage(NewWizardMessages.NewTypeWizardPage_ChoosePackageDialog_empty); dialog.setFilter(_packageDialogField.getText()); dialog.setElements(packages); if (dialog.open() == Window.OK) { return (IPackageFragment) dialog.getFirstResult(); } return null; }