List of usage examples for org.eclipse.jdt.core IPackageFragment hasSubpackages
boolean hasSubpackages() throws JavaModelException;
From source file:com.ebmwebsourcing.petals.common.internal.provisional.ui.JarExportWizardPage.java
License:Open Source License
@Override public void createControl(Composite parent) { Composite container = new Composite(parent, SWT.NONE); container.setLayout(new GridLayout()); container.setLayoutData(new GridData(GridData.FILL_BOTH)); new Label(container, SWT.NONE).setText( "Select the resources to export.\nThe following projects are the project you selected and the projects it depends on."); int labelFlags = JavaElementLabelProvider.SHOW_BASICS | JavaElementLabelProvider.SHOW_OVERLAY_ICONS | JavaElementLabelProvider.SHOW_SMALL_ICONS; ITreeContentProvider treeContentProvider = new StandardJavaElementContentProvider() { @Override//from w w w . j av a 2 s. c o m public boolean hasChildren(Object element) { return !(element instanceof IPackageFragment) && super.hasChildren(element); } @Override public Object[] getElements(Object parent) { if (parent instanceof IWorkspaceRoot) { List<IJavaProject> result = JavaUtils .getJavaProjectDependencies(JarExportWizardPage.this.selectedProject); return result.toArray(); } return super.getElements(parent); } }; final DecoratingLabelProvider provider = new DecoratingLabelProvider( new JavaElementLabelProvider(labelFlags), new ProblemsLabelDecorator(null)); this.javaSelectionViewer = new CheckboxTreeAndListGroup(container, ResourcesPlugin.getWorkspace().getRoot(), treeContentProvider, provider, new StandardJavaElementContentProvider(), provider, SWT.NONE, 420, 150) { /* * (non-Javadoc) * @see com.ebmwebsourcing.petals.common.internal.provisional.ui.jdt.CheckboxTreeAndListGroup * #setTreeChecked(java.lang.Object, boolean) */ @Override protected void setTreeChecked(final Object element, final boolean state) { if (element instanceof IResource) { final IResource resource = (IResource) element; if (resource.getName().charAt(0) == '.') return; } super.setTreeChecked(element, state); } }; this.javaSelectionViewer.addTreeFilter(new ViewerFilter() { @Override public boolean select(Viewer viewer, Object parent, Object element) { boolean result = true; if (element instanceof IPackageFragment) { IPackageFragment pkg = (IPackageFragment) element; try { if (pkg.isDefaultPackage()) result = pkg.hasChildren(); else result = !pkg.hasSubpackages() || pkg.hasChildren() || pkg.getNonJavaResources().length > 0; } catch (JavaModelException e) { result = false; } } return result; } }); this.javaSelectionViewer.setTreeComparator(new JavaElementComparator()); this.javaSelectionViewer.setListComparator(new JavaElementComparator()); this.javaSelectionViewer.addTreeFilter(new ContainerFilter(ContainerFilter.FILTER_NON_CONTAINERS)); this.javaSelectionViewer.addTreeFilter(new ViewerFilter() { @Override public boolean select(Viewer viewer, Object p, Object element) { if (element instanceof IPackageFragmentRoot) { IPackageFragmentRoot root = (IPackageFragmentRoot) element; return !root.isArchive() && !root.isExternal(); } return true; } }); this.javaSelectionViewer.addListFilter(new ContainerFilter(ContainerFilter.FILTER_CONTAINERS)); this.javaSelectionViewer.expandTreeToLevel(this.selectedProject, 1); this.javaSelectionViewer.addCheckStateListener(new ICheckStateListener() { @Override public void checkStateChanged(CheckStateChangedEvent event) { validate(); } }); // Options final Button exportSourcesButton = new Button(container, SWT.CHECK); exportSourcesButton.setText("Export sources"); exportSourcesButton.setSelection(this.exportSources); exportSourcesButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { JarExportWizardPage.this.exportSources = exportSourcesButton.getSelection(); validate(); } }); final Button compressJarButton = new Button(container, SWT.CHECK); compressJarButton.setText("Compress the content of the JAR file"); compressJarButton.setSelection(this.compressJar); compressJarButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { JarExportWizardPage.this.compressJar = compressJarButton.getSelection(); validate(); } }); final Button exportWarningsAndErrorsButton = new Button(container, SWT.CHECK); exportWarningsAndErrorsButton.setText("Export class files with compile warnings or errors"); exportWarningsAndErrorsButton.setSelection(this.exportWarningsAndErrors); exportWarningsAndErrorsButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { JarExportWizardPage.this.exportWarningsAndErrors = exportWarningsAndErrorsButton.getSelection(); validate(); } }); validate(); setErrorMessage(null); setControl(container); }
From source file:com.liferay.ide.adt.core.model.internal.JavaPackageNameDefaultValueService.java
License:Open Source License
@Override protected String compute() { final IJavaProject project = op().adapt(IJavaProject.class); try {/*from w w w. j a v a2 s . com*/ final IPackageFragmentRoot[] roots = project.getPackageFragmentRoots(); for (IPackageFragmentRoot root : roots) { if (root.getKind() != IPackageFragmentRoot.K_BINARY) { for (IJavaElement element : root.getChildren()) { if (element instanceof IPackageFragment) { final IPackageFragment fragment = (IPackageFragment) element; if (!fragment.isDefaultPackage() && !fragment.hasSubpackages()) { return fragment.getElementName(); } } } } } } catch (Exception e) { ADTCore.logError(e.getMessage(), e); } return null; }
From source file:com.redhat.ceylon.eclipse.code.navigator.NonEssentialElementsFilter.java
License:Open Source License
@Override public boolean select(Viewer viewer, Object parent, Object element) { if (!isStateModelInitialized) { initStateModel(viewer);//from www. j av a2s .co m } if (fContentService == null || fStateModel == null) { return true; } else if (element instanceof IPackageFragment) { if (isApplicable() && viewer instanceof StructuredViewer) { boolean isHierarchicalLayout = !fStateModel .getBooleanProperty(IExtensionStateConstants.Values.IS_LAYOUT_FLAT); try { IPackageFragment fragment = (IPackageFragment) element; if (isHierarchicalLayout && fragment.hasSubpackages()) { return hasFilteredChildren((StructuredViewer) viewer, fragment); } } catch (JavaModelException e) { return false; } } } return doSelect(viewer, parent, element); }
From source file:org.eclipse.ajdt.internal.ui.wizards.exports.StandardJavaElementContentProvider.java
License:Open Source License
/** * Note: This method is for internal use only. Clients should not call this method. *//* ww w . j av a2 s . c o m*/ protected boolean isPackageFragmentEmpty(IJavaElement element) throws JavaModelException { if (element instanceof IPackageFragment) { IPackageFragment fragment = (IPackageFragment) element; if (fragment.exists() && !(fragment.hasChildren() || fragment.getNonJavaResources().length > 0) && fragment.hasSubpackages()) return true; } return false; }
From source file:org.eclipse.che.jdt.refactoring.RenamePackageTest.java
License:Open Source License
private RenamePackageProcessor helper2(String[] packageNames, String[][] packageFileNames, String newPackageName) throws Exception { ParticipantTesting.reset();/*from w w w . ja v a 2s . c om*/ IPackageFragment[] packages = new IPackageFragment[packageNames.length]; ICompilationUnit[][] cus = new ICompilationUnit[packageFileNames.length][packageFileNames[0].length]; for (int i = 0; i < packageNames.length; i++) { packages[i] = getRoot().createPackageFragment(packageNames[i], true, null); for (int j = 0; j < packageFileNames[i].length; j++) { cus[i][j] = createCUfromTestFile(packages[i], packageFileNames[i][j], packageNames[i].replace('.', '/') + "/"); } } IPackageFragment thisPackage = packages[0]; boolean hasSubpackages = thisPackage.hasSubpackages(); IPath path = thisPackage.getParent().getPath(); path = path.append(newPackageName.replace('.', '/')); IFolder target = ResourcesPlugin.getWorkspace().getRoot().getFolder(path); boolean targetExists = target.exists(); boolean isRename = !targetExists && !thisPackage.hasSubpackages() && thisPackage.getResource().getParent().equals(target.getParent()); String[] createHandles = null; String[] moveHandles = null; String[] deleteHandles = null; boolean doDelete = true; String[] renameHandles = null; if (isRename) { renameHandles = ParticipantTesting.createHandles(thisPackage, thisPackage.getResource()); } else { renameHandles = ParticipantTesting.createHandles(thisPackage); IContainer loop = target; List handles = new ArrayList(); while (loop != null && !loop.exists()) { handles.add(ParticipantTesting.createHandles(loop)[0]); loop = loop.getParent(); } createHandles = (String[]) handles.toArray(new String[handles.size()]); IFolder source = (IFolder) thisPackage.getResource(); deleteHandles = ParticipantTesting.createHandles(source); IResource members[] = source.members(); List movedObjects = new ArrayList(); for (int i = 0; i < members.length; i++) { if (members[i] instanceof IFolder) { doDelete = false; } else { movedObjects.add(members[i]); } } moveHandles = ParticipantTesting.createHandles(movedObjects.toArray()); } RenameJavaElementDescriptor descriptor = createRefactoringDescriptor(thisPackage, newPackageName); descriptor.setUpdateReferences(fUpdateReferences); descriptor.setUpdateTextualOccurrences(fUpdateTextualMatches); setFilePatterns(descriptor); Refactoring refactoring = createRefactoring(descriptor); RefactoringStatus result = performRefactoring(refactoring); assertEquals("preconditions were supposed to pass", null, result); if (isRename) { ParticipantTesting.testRename(renameHandles, new RenameArguments[] { new RenameArguments(newPackageName, fUpdateReferences), new RenameArguments(target.getName(), fUpdateReferences) }); } else { ParticipantTesting.testRename(renameHandles, new RenameArguments[] { new RenameArguments(newPackageName, fUpdateReferences) }); ParticipantTesting.testCreate(createHandles); List args = new ArrayList(); for (int i = 0; i < packageFileNames[0].length; i++) { args.add(new MoveArguments(target, fUpdateReferences)); } ParticipantTesting.testMove(moveHandles, (MoveArguments[]) args.toArray(new MoveArguments[args.size()])); if (doDelete) { ParticipantTesting.testDelete(deleteHandles); } else { ParticipantTesting.testDelete(new String[0]); } } //--- if (hasSubpackages) { assertTrue("old package does not exist anymore", getRoot().getPackageFragment(packageNames[0]).exists()); } else { assertTrue("package not renamed", !getRoot().getPackageFragment(packageNames[0]).exists()); } IPackageFragment newPackage = getRoot().getPackageFragment(newPackageName); assertTrue("new package does not exist", newPackage.exists()); for (int i = 0; i < packageFileNames.length; i++) { String packageName = (i == 0) ? newPackageName.replace('.', '/') + "/" : packageNames[i].replace('.', '/') + "/"; for (int j = 0; j < packageFileNames[i].length; j++) { String s1 = getFileContents(getOutputTestFileName(packageFileNames[i][j], packageName)); ICompilationUnit cu = (i == 0) ? newPackage.getCompilationUnit(packageFileNames[i][j] + ".java") : cus[i][j]; //DebugUtils.dump("cu:" + cu.getElementName()); String s2 = cu.getSource(); //DebugUtils.dump("expected:" + s1); //DebugUtils.dump("was:" + s2); assertEqualLines("invalid update in file " + cu.getElementName(), s1, s2); } } RefactoringProcessor processor = ((ProcessorBasedRefactoring) refactoring).getProcessor(); return (RenamePackageProcessor) processor; }
From source file:org.eclipse.che.plugin.java.server.jdt.refactoring.RenamePackageTest.java
License:Open Source License
private RenamePackageProcessor helper2(String[] packageNames, String[][] packageFileNames, String newPackageName) throws Exception { ParticipantTesting.reset();/* w w w . ja v a2 s . c om*/ IPackageFragment[] packages = new IPackageFragment[packageNames.length]; ICompilationUnit[][] cus = new ICompilationUnit[packageFileNames.length][packageFileNames[0].length]; for (int i = 0; i < packageNames.length; i++) { packages[i] = getRoot().createPackageFragment(packageNames[i], true, null); for (int j = 0; j < packageFileNames[i].length; j++) { cus[i][j] = createCUfromTestFile(packages[i], packageFileNames[i][j], packageNames[i].replace('.', '/') + "/"); } } IPackageFragment thisPackage = packages[0]; boolean hasSubpackages = thisPackage.hasSubpackages(); IPath path = thisPackage.getParent().getPath(); path = path.append(newPackageName.replace('.', '/')); IFolder target = ResourcesPlugin.getWorkspace().getRoot().getFolder(path); boolean targetExists = target.exists(); boolean isRename = !targetExists && !thisPackage.hasSubpackages() && thisPackage.getResource().getParent().equals(target.getParent()); String[] createHandles = null; String[] moveHandles = null; String[] deleteHandles = null; boolean doDelete = true; String[] renameHandles = null; if (isRename) { renameHandles = ParticipantTesting.createHandles(thisPackage, thisPackage.getResource()); } else { renameHandles = ParticipantTesting.createHandles(thisPackage); IContainer loop = target; List handles = new ArrayList(); while (loop != null && !loop.exists()) { handles.add(ParticipantTesting.createHandles(loop)[0]); loop = loop.getParent(); } createHandles = (String[]) handles.toArray(new String[handles.size()]); IFolder source = (IFolder) thisPackage.getResource(); deleteHandles = ParticipantTesting.createHandles(source); IResource members[] = source.members(); List movedObjects = new ArrayList(); for (int i = 0; i < members.length; i++) { if (members[i] instanceof IFolder) { doDelete = false; } else { movedObjects.add(members[i]); } } moveHandles = ParticipantTesting.createHandles(movedObjects.toArray()); } RenameJavaElementDescriptor descriptor = createRefactoringDescriptor(thisPackage, newPackageName); descriptor.setUpdateReferences(fUpdateReferences); descriptor.setUpdateTextualOccurrences(fUpdateTextualMatches); setFilePatterns(descriptor); Refactoring refactoring = createRefactoring(descriptor); RefactoringStatus result = performRefactoring(refactoring); TestCase.assertEquals("preconditions were supposed to pass", null, result); if (isRename) { ParticipantTesting.testRename(renameHandles, new RenameArguments[] { new RenameArguments(newPackageName, fUpdateReferences), new RenameArguments(target.getName(), fUpdateReferences) }); } else { ParticipantTesting.testRename(renameHandles, new RenameArguments[] { new RenameArguments(newPackageName, fUpdateReferences) }); ParticipantTesting.testCreate(createHandles); List args = new ArrayList(); for (int i = 0; i < packageFileNames[0].length; i++) { args.add(new MoveArguments(target, fUpdateReferences)); } ParticipantTesting.testMove(moveHandles, (MoveArguments[]) args.toArray(new MoveArguments[args.size()])); if (doDelete) { ParticipantTesting.testDelete(deleteHandles); } else { ParticipantTesting.testDelete(new String[0]); } } //--- if (hasSubpackages) { assertTrue("old package does not exist anymore", getRoot().getPackageFragment(packageNames[0]).exists()); } else { assertTrue("package not renamed", !getRoot().getPackageFragment(packageNames[0]).exists()); } IPackageFragment newPackage = getRoot().getPackageFragment(newPackageName); assertTrue("new package does not exist", newPackage.exists()); for (int i = 0; i < packageFileNames.length; i++) { String packageName = (i == 0) ? newPackageName.replace('.', '/') + "/" : packageNames[i].replace('.', '/') + "/"; for (int j = 0; j < packageFileNames[i].length; j++) { String s1 = getFileContents(getOutputTestFileName(packageFileNames[i][j], packageName)); ICompilationUnit cu = (i == 0) ? newPackage.getCompilationUnit(packageFileNames[i][j] + ".java") : cus[i][j]; //DebugUtils.dump("cu:" + cu.getElementName()); String s2 = cu.getSource(); //DebugUtils.dump("expected:" + s1); //DebugUtils.dump("was:" + s2); assertEqualLines("invalid update in file " + cu.getElementName(), s1, s2); } } RefactoringProcessor processor = ((ProcessorBasedRefactoring) refactoring).getProcessor(); return (RenamePackageProcessor) processor; }
From source file:org.eclipse.jpt.jaxb.ui.internal.filters.EmptyInnerPackageFilter.java
License:Open Source License
public boolean select(Viewer viewer, Object parent, Object element) { if (element instanceof IPackageFragment) { IPackageFragment pkg = (IPackageFragment) element; try {/* w w w . j a v a 2 s . com*/ if (pkg.isDefaultPackage()) return pkg.hasChildren(); return !pkg.hasSubpackages() || pkg.hasChildren() || (pkg.getNonJavaResources().length > 0); } catch (JavaModelException e) { return false; } } return true; }
From source file:org.fastcode.util.SourceUtil.java
License:Open Source License
/** * @param fastCodeContext/*from www . j av a2s . c o m*/ * @param createSimilarDescriptor * @param length * @throws Exception */ public static void populatecreateDescClassWithUserInput(final FastCodeContext fastCodeContext, final CreateSimilarDescriptor createSimilarDescriptor, final String[] inputs, final boolean differentName, final IType typeToWorkOn) throws Exception { final Shell parentShell = MessageUtil.getParentShell(); final Shell shell = parentShell == null ? new Shell() : parentShell; IPackageFragmentRoot packageFragmentRoot = null; IPackageFragment tmpPackageFragment = null; final GlobalSettings globalSettings = getInstance(); String superClass = EMPTY_STR; IType supType = null; int k = 0; boolean isMultiple = false; if (inputs.length > 1) { isMultiple = true; } createSimilarDescriptor.setNoOfInputs(inputs.length); for (final String input : inputs) { if (differentName) { final Pattern p = Pattern.compile(createSimilarDescriptor.getFromPattern()); final Matcher m = p.matcher(typeToWorkOn.getFullyQualifiedName()); if (!m.matches()) { continue; } final String replatePart = m.group(m.groupCount()); createSimilarDescriptor.createReplacePartAndValue(replatePart, input); } } final CreateSimilarDescriptorClass[] createSimilarDescUserChoice = new CreateSimilarDescriptorClass[createSimilarDescriptor .getCreateSimilarDescriptorClasses().length]; for (final CreateSimilarDescriptorClass createSimilarDescriptorClass : createSimilarDescriptor .getCreateSimilarDescriptorClasses()) { IPackageFragment packageFragment = null; if (createSimilarDescriptorClass == null) { continue; } String toName = createSimilarDescriptorClass.getToPattern(); IType[] fldTypeArr = null; String targetProject = null; if (packageFragmentRoot == null) { targetProject = createSimilarDescriptorClass.getProject(); if (fastCodeContext.getFromType() == null) { final IJavaProject project = getJavaProject(targetProject); if (project != null && project.exists() && !isEmpty(createSimilarDescriptorClass.getPackge())) { for (final IPackageFragmentRoot pkgFragmntRoot : project.getPackageFragmentRoots()) { packageFragment = pkgFragmntRoot .getPackageFragment(createSimilarDescriptorClass.getPackge()); if (packageFragment != null && packageFragment.exists()) { packageFragmentRoot = pkgFragmntRoot; break; } } } if (packageFragment == null || !packageFragment.exists()) { final SelectionDialog packageDialog = JavaUI.createPackageDialog(shell, project, 0, null); if (packageDialog.open() == CANCEL) { return; } packageFragment = (IPackageFragment) packageDialog.getResult()[0]; packageFragmentRoot = (IPackageFragmentRoot) packageFragment.getParent(); } else if (isEmpty(createSimilarDescriptorClass.getSubPackage()) && packageFragment.hasSubpackages()) { final List<IPackageFragment> subPackages = new ArrayList<IPackageFragment>(); for (final IJavaElement chldPkgFragment : packageFragmentRoot.getChildren()) { if (chldPkgFragment instanceof IPackageFragment && chldPkgFragment.getElementName() .startsWith(packageFragment.getElementName())) { subPackages.add((IPackageFragment) chldPkgFragment); } } if (!subPackages.isEmpty()) { final PackageSelectionDialog selectionDialog = new PackageSelectionDialog(shell, "Sub Package", "Choose the sub pacage from below", subPackages.toArray(new IPackageFragment[0])); if (selectionDialog.open() != CANCEL) { packageFragment = (IPackageFragment) selectionDialog.getFirstResult(); } } } } else { if (fastCodeContext.isUnitTest()) { String sourcePath = globalSettings.isUseDefaultForPath() ? globalSettings.getSourcePathTest() : createSimilarDescriptorClass.getSourcePath(); sourcePath = getDefaultPathFromProject(fastCodeContext.getFromType().getJavaProject(), "test", sourcePath); packageFragmentRoot = getPackageRootFromProject( fastCodeContext.getFromType().getJavaProject(), sourcePath); } else if (!isEmpty(targetProject)) { final String sourcePath = globalSettings.isUseDefaultForPath() ? getPathFromGlobalSettings( fastCodeContext.getFromType().getJavaProject().getElementName()) : createSimilarDescriptorClass.getSourcePath(); ; packageFragmentRoot = getPackageRootFromProject(createSimilarDescriptorClass.getProject(), sourcePath); } else { packageFragmentRoot = (IPackageFragmentRoot) fastCodeContext.getFromType() .getPackageFragment().getParent(); targetProject = packageFragmentRoot.getParent().getElementName(); } final String fullname = fastCodeContext.getFromType().getFullyQualifiedName(); final String fromPattern = createSimilarDescriptor.getFromPattern(); if (fromPattern != null) { parseTokens(fromPattern, fullname, fastCodeContext.getPlaceHolders()); } if (packageFragmentRoot == null || !packageFragmentRoot.exists()) { throw new Exception("Unable to find source path for, please check configuration."); } toName = replacePlaceHolders(toName, fastCodeContext.getPlaceHolders()); if (createSimilarDescriptor.isDifferentName()) { toName = fullname.replaceAll(createSimilarDescriptor.getReplacePart(), createSimilarDescriptor.getReplaceValue()); } final int lastDotPos = toName.lastIndexOf(DOT_CHAR); final String newpkg = lastDotPos != -1 ? toName.substring(0, lastDotPos) : fastCodeContext.getFromType().getPackageFragment().getElementName(); packageFragment = packageFragmentRoot.getPackageFragment(newpkg); } tmpPackageFragment = packageFragment; } if (tmpPackageFragment != null) { final List<IType> importTypes = new ArrayList<IType>(); final IJavaProject javaProject = tmpPackageFragment.getJavaProject(); final String[] impTypes = replacePlaceHolders(createSimilarDescriptorClass.getImportTypes(), fastCodeContext.getPlaceHolders()); final String[] superTypes = replacePlaceHolders(createSimilarDescriptorClass.getSuperTypes(), fastCodeContext.getPlaceHolders()); final String[] implementTypes = replacePlaceHolders( createSimilarDescriptorClass.getImplementTypes(), fastCodeContext.getPlaceHolders()); gatherImports(javaProject, impTypes, IJavaElementSearchConstants.CONSIDER_ALL_TYPES, "import", importTypes); final List<IType> implTypes = gatherImports(javaProject, implementTypes, IJavaElementSearchConstants.CONSIDER_INTERFACES, "implement", importTypes); // createSimilarDescriptorClass.setUserInputInterface(implTypes); // createSimilarDescriptorClass.setUserInputImports(importTypes); if (superTypes != null && superTypes.length > 0) { final FastCodeType[] fastCodeTypes = new FastCodeType[superTypes.length]; int i = 0; for (final String superType : superTypes) { fastCodeTypes[i++] = parseType(superType, null); } final ClassSelectionDialog classSelectionDialog = new ClassSelectionDialog(shell, "Super Class", "Choose the classes to extend", fastCodeTypes, false); final int ret = classSelectionDialog.open(); if (ret != CANCEL) { // final FastCodeType fastCodeType = (FastCodeType) // classSelectionDialog.getResult()[0]; supType = tmpPackageFragment.getJavaProject() .findType(classSelectionDialog.getResult()[0].toString()); if (supType != null && supType.exists()) { // superClass = flattenType(fastCodeType, false); superClass = superClass.replace(supType.getFullyQualifiedName(), supType.getElementName()); // placeHolders.put("super_class", superClass); if (!supType.isBinary() && supType.getCompilationUnit() != null && supType.getCompilationUnit().exists()) { fastCodeContext.addResource(new FastCodeResource(supType.getResource())); } } } } if (createSimilarDescriptorClass.isCreateFields()) { final SelectionDialog selectionDialog = JavaUI.createTypeDialog(shell, null, SearchEngine.createWorkspaceScope(), IJavaElementSearchConstants.CONSIDER_CLASSES_AND_INTERFACES, true, createSimilarDescriptorClass.getCreateFieldsName()); selectionDialog.setMessage("Please select one or more classes to create field."); selectionDialog.setTitle("Select Class"); if (selectionDialog.open() != CANCEL) { int i = 0; final Object[] tmpArray = selectionDialog.getResult(); fldTypeArr = new IType[tmpArray.length]; for (final Object type : tmpArray) { final IType fldType = (IType) type; if (isAbstract(fldType.getFlags())) { openWarning(shell, "Warning", "Cannot make an instance of an abstract class " + fldType.getElementName()); continue; } fldTypeArr[i] = fldType; i++; } } } createSimilarDescUserChoice[k] = new CreateSimilarDescriptorClass.Builder() .withUserInputPackage(packageFragment).withUserInputImports(importTypes) .withUserInputInterface(implTypes).withSuperClass(superClass) .withUserInputFieldTypes(fldTypeArr) .withCreateFields(createSimilarDescriptorClass.isCreateFields()) .withClassAnnotations(createSimilarDescriptorClass.getClassAnnotations()) .withClassBody(createSimilarDescriptorClass.getClassBody()) .withClassHeader(createSimilarDescriptorClass.getClassHeader()) .withClassInsideBody(createSimilarDescriptorClass.getClassInsideBody()) .withClassType(createSimilarDescriptorClass.getClassType()) .withConvertMethodParam(createSimilarDescriptorClass.isConvertMethodParam()) .withConvertMethodParamFrom(createSimilarDescriptorClass.getConvertMethodParamFrom()) .withConvertMethodParamTo(createSimilarDescriptorClass.getConvertMethodParamTo()) .withCreateDefaultConstructor(createSimilarDescriptorClass.isCreateDefaultConstructor()) .withCreateEqualsHashcode( isMultiple ? false : createSimilarDescriptorClass.isCreateEqualsHashcode()) .withCreateFieldsName(createSimilarDescriptorClass.getCreateFieldsName()) .withCreateInstanceConstructor( isMultiple ? false : createSimilarDescriptorClass.isCreateInstanceConstructor()) .withCreateMethodBody(createSimilarDescriptorClass.isCreateMethodBody()) .withCreateToString(isMultiple ? false : createSimilarDescriptorClass.isCreateToString()) .withCreateUnitTest(createSimilarDescriptorClass.isCreateUnitTest()) .withFieldAnnotations(createSimilarDescriptorClass.getFieldAnnotations()) .withFinalClass(createSimilarDescriptorClass.isFinalClass()) .withImplementTypes(createSimilarDescriptorClass.getImplementTypes()) .withImportTypes(createSimilarDescriptorClass.getImportTypes()) .withInclGetterSetterForInstance( createSimilarDescriptorClass.isInclGetterSetterForInstance()) .withMethodAnnotations(createSimilarDescriptorClass.getMethodAnnotations()) .withPackge(createSimilarDescriptorClass.getPackge()) .withProject(createSimilarDescriptorClass.getProject()) .withRelationTypeToParent(createSimilarDescriptorClass.getRelationTypeToParent()) .withSourcePath(createSimilarDescriptorClass.getSourcePath()) .withSubPackage(createSimilarDescriptorClass.getSubPackage()) .withSuperTypes(createSimilarDescriptorClass.getSuperTypes()) .withUserInputSuperClass(supType).withToPattern(createSimilarDescriptorClass.getToPattern()) .withInclInstance(createSimilarDescriptorClass.isInclInstance()) .withRelatedDescriptors(new ArrayList<CreateSimilarDescriptorClass>()).build(); k++; } } if (tmpPackageFragment != null) { createSimilarDescriptor.setCreateSimilarDescUserChoice(createSimilarDescUserChoice); createSimilarDescriptor.numbersOfCreateSimilarDescUserChoiceClasses(createSimilarDescUserChoice); } }
From source file:org.fusesource.ide.camel.editor.propertysheet.PropertiesUtils.java
License:Open Source License
/** * Checks if the package field has to be pre-filled in this page and returns the package * fragment to be used for that. The package fragment has the name of the project if the source * folder does not contain any package and if the project name is a valid package name. If the * source folder contains exactly one package then the name of that package is used as the * package fragment's name. <code>null</code> is returned if none of the above is applicable. * /*from www . j a v a 2 s .c o m*/ * @param javaProject the containing Java project of the selection used to initialize this page * * @return the package fragment to be pre-filled in this page or <code>null</code> if no * suitable package can be suggested for the given project * * @since 3.9 */ public static IPackageFragment getPackage(IJavaProject javaProject, final IPackageFragmentRoot pkgFragmentRoot) { String packName = null; IJavaElement[] packages = null; try { if (pkgFragmentRoot != null && pkgFragmentRoot.exists()) { packages = pkgFragmentRoot.getChildren(); if (packages.length == 1) { // only default package -> use Project name packName = javaProject.getElementName(); // validate package name IStatus status = validatePackageName(packName, javaProject); if (status.getSeverity() == IStatus.OK) { return pkgFragmentRoot.getPackageFragment(packName); } } else { int noOfPackages = 0; IPackageFragment thePackage = null; for (final IJavaElement pack : packages) { IPackageFragment pkg = (IPackageFragment) pack; // ignoring empty parent packages and default package if ((!pkg.hasSubpackages() || pkg.hasChildren()) && !pkg.isDefaultPackage()) { noOfPackages++; thePackage = pkg; if (noOfPackages > 1) { return null; } } } if (noOfPackages == 1) { // use package name packName = thePackage.getElementName(); return pkgFragmentRoot.getPackageFragment(packName); } } } } catch (JavaModelException e) { // fall through } return null; }
From source file:org.fusesource.ide.camel.model.service.core.util.PropertiesUtils.java
License:Open Source License
/** * Checks if the package field has to be pre-filled in this page and returns * the package fragment to be used for that. The package fragment has the * name of the project if the source folder does not contain any package and * if the project name is a valid package name. If the source folder * contains exactly one package then the name of that package is used as the * package fragment's name. <code>null</code> is returned if none of the * above is applicable./* w ww. j a v a 2 s .c o m*/ * * @param javaProject * the containing Java project of the selection used to * initialize this page * * @return the package fragment to be pre-filled in this page or * <code>null</code> if no suitable package can be suggested for the * given project * * @since 3.9 */ public static IPackageFragment getPackage(IJavaProject javaProject, final IPackageFragmentRoot pkgFragmentRoot) { String packName = null; IJavaElement[] packages = null; try { if (pkgFragmentRoot != null && pkgFragmentRoot.exists()) { packages = pkgFragmentRoot.getChildren(); if (packages.length == 1) { // only default package -> use // Project name packName = javaProject.getElementName(); // validate package name IStatus status = validatePackageName(packName, javaProject); if (status.getSeverity() == IStatus.OK) { return pkgFragmentRoot.getPackageFragment(packName); } } else { int noOfPackages = 0; IPackageFragment thePackage = null; for (final IJavaElement pack : packages) { IPackageFragment pkg = (IPackageFragment) pack; // ignoring empty parent packages and default package if ((!pkg.hasSubpackages() || pkg.hasChildren()) && !pkg.isDefaultPackage()) { noOfPackages++; thePackage = pkg; if (noOfPackages > 1) { return null; } } } if (noOfPackages == 1) { // use package name packName = thePackage.getElementName(); return pkgFragmentRoot.getPackageFragment(packName); } } } } catch (JavaModelException e) { // fall through } return null; }