List of usage examples for org.eclipse.jdt.core IPackageFragmentRoot getParent
IJavaElement getParent();
null
if this element has no parent. From source file:org.eclipse.recommenders.models.dependencies.rcp.EclipseDependencyListener.java
License:Open Source License
private Optional<IJavaProject> getIJavaProjectForPackageFragmentRoot(final IPackageFragmentRoot root) { IJavaElement parent = root.getParent(); if (parent instanceof IJavaProject) { return fromNullable((IJavaProject) parent); }//w w w . j av a2s . c o m return absent(); }
From source file:org.fastcode.util.SourceUtil.java
License:Open Source License
/** * @param fastCodeContext/* www .j a v a 2s. c o m*/ * @param member * @param createSimilarDescriptor * @param monitor * @return * @throws Exception */ public static void createSimilar(final FastCodeContext fastCodeContext, final IMember[] members, final CreateSimilarDescriptor createSimilarDescriptor, final IProgressMonitor monitor) throws Exception { final GlobalSettings globalSettings = getInstance(); final Shell parentShell = MessageUtil.getParentShell(); final Shell shell = parentShell == null ? new Shell() : parentShell; IPackageFragmentRoot packageFragmentRoot = null; String newpkg = EMPTY_STR, newcls = EMPTY_STR; String targetProject = null; final CreateSimilarDescriptorClass[] descriptorClasses = createSimilarDescriptor .getCreateSimilarDescUserChoice() == null ? createSimilarDescriptor.getCreateSimilarDescriptorClasses() : createSimilarDescriptor.getCreateSimilarDescUserChoice(); for (final CreateSimilarDescriptorClass createSimilarDescriptorClass : descriptorClasses) { if (createSimilarDescriptorClass == null) { continue; } final boolean replaceName = createSimilarDescriptor.isReplaceName(); String toName = createSimilarDescriptorClass.getToPattern(); // final String classBody = // createSimilarDescriptorClass.getClassBody(); IPackageFragment packageFragment = 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(); } } }*/ packageFragment = createSimilarDescriptorClass.getUserInputPackage(); packageFragmentRoot = (IPackageFragmentRoot) packageFragment.getParent(); newpkg = packageFragment.getElementName(); newcls = replacePlaceHolders(toName, fastCodeContext.getPlaceHolders()); } 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); newpkg = lastDotPos != -1 ? toName.substring(0, lastDotPos) : fastCodeContext.getFromType().getPackageFragment().getElementName(); newcls = lastDotPos != -1 ? toName.substring(lastDotPos + 1) : toName; packageFragment = packageFragmentRoot.getPackageFragment(newpkg); } } if (packageFragmentRoot == null || !packageFragmentRoot.exists()) { throw new Exception("Unable to find package fragment root for " + toName); } // fastCodeContext.addToPlaceHolders(toName, newcls); final boolean isImplClass = createSimilarDescriptorClass.getParentDescriptor() != null && createSimilarDescriptorClass .getRelationTypeToParent() == RELATION_TYPE.RELATION_TYPE_IMPLEMENTS; if (isImplClass) { newcls += globalSettings.getImplExtension(); if (!isEmpty(createSimilarDescriptorClass.getSubPackage())) { newpkg += "." + createSimilarDescriptorClass.getSubPackage(); packageFragment = packageFragmentRoot.getPackageFragment(newpkg); if (packageFragment == null || !packageFragment.exists()) { packageFragment = packageFragmentRoot.createPackageFragment(newpkg, false, monitor); } } } fastCodeContext.addToPlaceHolders(PACKAGE_NAME_STR, newpkg); fastCodeContext.addToPlaceHolders(CLASS_NAME_STR, newcls); if (createSimilarDescriptorClass.isFinalClass()) { fastCodeContext.addToPlaceHolders(CLASS_MODIFIER_STR, "final"); } fastCodeContext.addToPlaceHolders(CLASS_INSTANCE_STR, createDefaultInstance(newcls)); fastCodeContext.addToPlaceHolders(CLASS_TYPE_STR, createSimilarDescriptorClass.getClassType().value().toLowerCase()); if (!fastCodeContext.getPlaceHolders().containsKey(KEYWORD_FROM_CLASS) && fastCodeContext.getFromType() != null) { fastCodeContext.addToPlaceHolders(KEYWORD_FROM_CLASS, fastCodeContext.getFromType().getElementName()); fastCodeContext.addToPlaceHolders(KEYWORD_FROM_INSTANCE, createDefaultInstance(fastCodeContext.getFromType().getElementName())); } if (!fastCodeContext.getPlaceHolders().containsKey(KEYWORD_TO_CLASS)) { fastCodeContext.addToPlaceHolders(KEYWORD_TO_CLASS, newcls); fastCodeContext.addToPlaceHolders(KEYWORD_TO_PACKAGE, newpkg); fastCodeContext.addToPlaceHolders(KEYWORD_TO_FULL_CLASS, newpkg + DOT + newcls); fastCodeContext.addToPlaceHolders(KEYWORD_TO_INSTANCE, createDefaultInstance(newcls)); } else if (isImplClass) { fastCodeContext.addToPlaceHolders(KEYWORD_TO_IMPL_PACKAGE, newpkg); fastCodeContext.addToPlaceHolders(KEYWORD_TO_IMPL_CLASS, newcls); fastCodeContext.addToPlaceHolders(KEYWORD_TO_FULL_IMPL_CLASS, newpkg + DOT + newcls); } if (replaceName && (packageFragment == null || !packageFragment.exists())) { throw new Exception("Fatal error : package must exist."); } else if (packageFragment == null || !packageFragment.exists()) { final File pkgObj = new File(packageFragmentRoot.getResource().getLocationURI()); /*final FastCodeCheckinCache checkinCache = FastCodeCheckinCache.getInstance(); checkinCache.getFilesToCheckIn().add(new FastCodeFileForCheckin(INITIATED, pkgObj.getAbsolutePath()));*/ addOrUpdateFileStatusInCache(pkgObj); packageFragment = packageFragmentRoot.createPackageFragment(newpkg, false, monitor); } ICompilationUnit compilationUnit = packageFragment.getCompilationUnit(newcls + DOT + JAVA_EXTENSION); boolean isNew = false; final CompUnitBuilder compUnitBuilder = new SimilarCompUnitBuilder(); if (compilationUnit == null || !compilationUnit.exists()) { fastCodeConsole.writeToConsole("Creating class " + newcls); // compilationUnit = createCompUnit(packageFragment, // fastCodeContext, createSimilarDescriptorClass, newcls); final String prjURI = packageFragment.getResource().getLocationURI().toString(); final String path = prjURI.substring(prjURI.indexOf(COLON) + 1); final File newFileObj = new File(path + FORWARD_SLASH + newcls + DOT + JAVA_EXTENSION); final FastCodeCheckinCache checkinCache = FastCodeCheckinCache.getInstance(); checkinCache.getFilesToCheckIn() .add(new FastCodeFileForCheckin(INITIATED, newFileObj.getAbsolutePath())); compilationUnit = compUnitBuilder.buildCompUnit(packageFragment, fastCodeContext, createSimilarDescriptorClass, newcls, fastCodeConsole); isNew = true; } else { if (!compilationUnit.getResource().isSynchronized(0)) { throw new Exception(compilationUnit.getElementName() + " is not Synchronized, please refresh and try again."); } fastCodeConsole.writeToConsole("Class " + newcls + " exists already."); } fastCodeContext.addCompilationUnitToRegsistry(createSimilarDescriptorClass, compilationUnit); compilationUnit.becomeWorkingCopy(monitor); fastCodeContext.addResource(new FastCodeResource(compilationUnit.getResource(), isNew)); monitor.subTask("Creating details for " + compilationUnit.findPrimaryType().getFullyQualifiedName()); try { IType pType = compilationUnit.findPrimaryType(); int tries = 0; // hack because findPrimaryType is not available immediately // sometimes. while (isNew && (tries++ < MAX_TRY || pType == null || !pType.exists())) { pType = compilationUnit.findPrimaryType(); Thread.sleep(100); } if (pType == null || !pType.exists()) { throw new Exception("Unknown exception occured, please try it again."); } createNewTypeDetails(fastCodeContext, pType, members, createSimilarDescriptor, createSimilarDescriptorClass, monitor); if (globalSettings.isAutoSave()) { compilationUnit.commitWorkingCopy(false, monitor); } } finally { compilationUnit.discardWorkingCopy(); } } // monitor.subTask("Creating configuration for " + // cu.findPrimaryType().getFullyQualifiedName()); boolean createConfig = false; if (createSimilarDescriptor.getNoOfInputs() > 1) { return; } for (final CreateSimilarDescriptorConfig descriptorConfig : createSimilarDescriptor .getDescriptorConfigParts()) { if (descriptorConfig != null) { createConfig = true; } } if (!createConfig) { return; } boolean showFieldsDialog = true; final List<FastCodeField> fastCodeFields = new ArrayList<FastCodeField>(); final Map<String, List<FastCodeField>> fieldsMap = new HashMap<String, List<FastCodeField>>(); fieldsMap.put("fields", fastCodeFields); IType typeForConfiguration = null; for (final CreateSimilarDescriptorClass createSimilarDescriptorClass : descriptorClasses) { final ICompilationUnit compilationUnit = fastCodeContext .getCompilationUnitRegsistry(createSimilarDescriptorClass); if (compilationUnit.findPrimaryType().isClass()) { typeForConfiguration = compilationUnit.findPrimaryType(); break; } } for (final CreateSimilarDescriptorConfig descriptorConfig : createSimilarDescriptor .getDescriptorConfigParts()) { if (descriptorConfig == null) { continue; } final IField[] fields = getFieldsOfType(typeForConfiguration); if (showFieldsDialog && fields != null && fields.length > 0) { final FieldSelectionDialog fieldSelectionDialog = new FieldSelectionDialog(shell, "Fields for configuration", "Choose the fields for configuration " + descriptorConfig.getConfigType(), fields, true); if (fieldSelectionDialog.open() != CANCEL) { final Object[] results = fieldSelectionDialog.getResult(); for (final Object result : results) { final IField field = (IField) result; fastCodeFields.add(new FastCodeField(field, field.getElementName())); } showFieldsDialog = false; // get the fields first time. } } // String fileName = descriptorConfig.getConfigFileName(); // final String fileName = // replacePlaceHolders(descriptorConfig.getConfigFileName(), // fastCodeContext.getPlaceHolders()); createConfigurations(fastCodeContext, descriptorConfig, targetProject, fieldsMap); } }
From source file:org.fastcode.util.SourceUtil.java
License:Open Source License
/** * * @param project// www . j a va2 s . c o m * @return */ public static String[][] getSourcePathsForProject(final String project) { final IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects(); final List<String> paths = new ArrayList<String>(); try { for (final IProject prjct : projects) { if (project == null || prjct.getName().equals(project)) { final IJavaProject javaProject = JavaCore.create(prjct); if (javaProject == null || !javaProject.exists()) { continue; } if (isProjectBinary(javaProject)) { continue; } for (final IPackageFragmentRoot packageFragmentRoot : javaProject .getAllPackageFragmentRoots()) { if (packageFragmentRoot == null || !packageFragmentRoot.exists() || packageFragmentRoot.isArchive() || packageFragmentRoot.isExternal()) { continue; } if (!packageFragmentRoot.getParent().equals(javaProject)) { // discard // roots // which // come // from // another // project. continue; } final String fullSrcPath = packageFragmentRoot.getPath().toString(); final String srcPath = fullSrcPath .replaceFirst(FORWARD_SLASH + javaProject.getElementName(), EMPTY_STR); if (!paths.contains(srcPath)) { paths.add(srcPath); } } } } } catch (final Exception ex) { ex.printStackTrace(); } return getStringArrayFromList(paths, true); }
From source file:org.fastcode.util.SourceUtil.java
License:Open Source License
/** * @param fastCodeContext/*from w w w.jav a 2s. co 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.maven.ide.eclipse.actions.DownloadSourcesAction.java
License:Apache License
public void run(IAction action) { IPackageFragmentRoot root = (IPackageFragmentRoot) this.selection.getFirstElement(); IJavaElement parent = root.getParent(); if (parent instanceof IJavaProject) { IJavaProject project = (IJavaProject) parent; try {//from ww w . j av a 2 s . co m IClasspathEntry classpathEntry = root.getRawClasspathEntry(); IClasspathContainer classpathContainer = JavaCore.getClasspathContainer(classpathEntry.getPath(), project); IClasspathEntry[] classpathEntries = classpathContainer.getClasspathEntries(); for (int i = 0; i < classpathEntries.length; i++) { IClasspathEntry entry = classpathEntries[i]; if (entry.getPath().equals(root.getPath())) { String actionDefinitionId = action.getActionDefinitionId(); String id = action.getId(); System.err.println("### DownloadSourcesAction.run()"); } } } catch (JavaModelException ex) { // } } }
From source file:org.nuxeo.ide.sdk.deploy.Deployment.java
License:Open Source License
protected void copyCompilationUnit(Set<String> commands, IPackageFragmentRoot root, ICompilationUnit unit) throws JavaModelException, CoreException { IJavaProject java = (IJavaProject) root.getParent(); String type = unitOutput(unit); IFolder nxdataFolder = nxdataFolder(java).getFolder(type); IProject project = java.getProject(); IPath outputLocation = java.getOutputLocation(); IPath path = unit.getPath().removeFirstSegments(root.getPath().segmentCount()).removeLastSegments(1); path = path.append(//w w w. j ava 2 s . c o m org.eclipse.jdt.internal.core.util.Util.getNameWithoutJavaLikeExtension(unit.getElementName()) + ".class"); //$NON-NLS-1$ IContainer container = (IContainer) project.getWorkspace().getRoot().findMember(outputLocation); IResource dotClassMember = container.findMember(path); if (dotClassMember == null) { SDKPlugin.log(IStatus.ERROR, "Cannot find binary class " + path + " in project " + java.getElementName()); return; } IFile outputFile = nxdataFolder.getFile(path); mkdirs((IFolder) outputFile.getParent(), new NullProgressMonitor()); dotClassMember.copy(outputFile.getFullPath(), IResource.HIDDEN | IResource.DERIVED, new NullProgressMonitor()); commands.add(type + ":" + nxdataFolder.getLocation().toOSString()); }
From source file:org.springframework.ide.eclipse.beans.ui.properties.NonJavaResourceContentProvider.java
License:Open Source License
protected Object skipProjectPackageFragmentRoot(IPackageFragmentRoot root) { if (isProjectPackageFragmentRoot(root)) { return root.getParent(); }//from w w w. j a v a 2s .c o m return root; }
From source file:org.switchyard.tools.ui.wizards.NewWSDLFileWizard.java
License:Open Source License
@Override public boolean performFinish() { if (_filePage != null) { _fNewFile = _filePage.createNewFile(); if (_fNewFile == null) { return false; }/* www . ja va 2 s .c om*/ String charSet = "UTF-8"; //$NON-NLS-1$ String wsdlPrefix = "wsdl"; //$NON-NLS-1$ Vector<?> namespaces = _optionsPage.getNamespaceInfo(); String prefix = _optionsPage.getPrefix(); String definitionName = _optionsPage.getDefinitionName(); URI uri2 = URI.createPlatformResourceURI(_fNewFile.getFullPath().toOSString(), false); ResourceSet resourceSet = new ResourceSetImpl(); WSDLResourceImpl resource = (WSDLResourceImpl) resourceSet.createResource(URI.createURI("*.wsdl")); //$NON-NLS-1$ resource.setURI(uri2); WSDLFactoryImpl factory = new WSDLFactoryImpl(); DefinitionImpl definition = (DefinitionImpl) factory.createDefinition(); resource.getContents().add(definition); definition.setTargetNamespace(_optionsPage.getTargetNamespace()); definition.setLocation(_fNewFile.getLocation().toString()); definition.setEncoding(charSet); definition.setQName(new QName(wsdlPrefix, definitionName)); definition.addNamespace(prefix, _optionsPage.getTargetNamespace()); for (int i = 0; i < namespaces.size(); i++) { NamespaceInfo info = (NamespaceInfo) namespaces.get(i); if (info.prefix.length() > 0) { definition.addNamespace(info.prefix, info.uri); } else { definition.addNamespace(null, info.uri); } } definition.updateElement(true); try { if (_optionsPage.getCreateSkeletonBoolean()) { if (_optionsPage.isSoapDocLiteralProtocol()) { CreateWSDLElementHelper.PART_TYPE_OR_DEFINITION = CreateWSDLElementHelper.PART_INFO_ELEMENT_DECLARATION; } else { CreateWSDLElementHelper.PART_TYPE_OR_DEFINITION = CreateWSDLElementHelper.PART_INFO_TYPE_DEFINITION; } CreateWSDLElementHelper.serviceName = definitionName; // use protocol name (as opposed to protocol label) in port // name String protocolName = new String(); String protocol = _optionsPage.getProtocol(); ContentGeneratorUIExtensionRegistry registry = WSDLEditorPlugin.getInstance() .getContentGeneratorUIExtensionRegistry(); ContentGeneratorUIExtension extension = registry.getExtensionForLabel(protocol); if (extension != null) { protocolName = extension.getName(); } CreateWSDLElementHelper.portName = definitionName + protocolName; createPortType(definitionName, wsdlPrefix, prefix, charSet, factory); Service service = CreateWSDLElementHelper.createService(definition); // Generate Binding Iterator<?> bindingIt = definition.getEBindings().iterator(); Binding binding = null; if (bindingIt.hasNext()) { binding = (Binding) bindingIt.next(); } _generator.setDefinition(definition); _generator.setBinding(binding); Port port = (Port) service.getEPorts().iterator().next(); _generator.setName(ComponentReferenceUtil.getName(port.getEBinding())); _generator.setRefName(ComponentReferenceUtil.getPortTypeReference(port.getEBinding())); _generator.setOverwrite(true); _generator.generateBinding(); _generator.generatePortContent(); } resource.save(null); } catch (Exception e) { System.out.println("\nCould not write new WSDL file in WSDL Wizard: " + e); //$NON-NLS-1$ } if (getSelection().getFirstElement() instanceof IPackageFragmentRoot) { IPackageFragmentRoot root = (IPackageFragmentRoot) getSelection().getFirstElement(); IResource pkgresource = root.getResource(); if (pkgresource == null) { IJavaElement element = root.getParent(); pkgresource = element.getResource(); } if (_fNewFile instanceof IFile) { pkgresource = ((IFile) _fNewFile).getParent(); } if (pkgresource instanceof IFolder) { IFolder folder = (IFolder) pkgresource; IFolder parent = (IFolder) folder.getParent(); _createdFilePath = _fNewFile.getProjectRelativePath() .makeRelativeTo(parent.getProjectRelativePath()).toPortableString(); } } else { _createdFilePath = _fNewFile.getProjectRelativePath().toPortableString(); } if (_fOpenEditorWhenFinished) { openEditor(_fNewFile); } return true; } return false; }
From source file:qwickie.hyperlink.WicketHyperlink.java
License:Apache License
private void createJavaFile(final IResource resource) { Assert.isNotNull(resource);// w w w.j a va 2s . c om final OpenNewClassWizardAction action = new OpenNewClassWizardAction(); final NewClassWizardPage ncwp = new NewClassWizardPage(); ncwp.setTypeName(resource.getName().replaceAll("\\.html", ""), true); final IJavaProject javaProject = JavaCore.create(resource.getProject()); IPackageFragmentRoot root = null; try { final IPackageFragmentRoot[] roots = javaProject.getPackageFragmentRoots(); for (int i = 0; i < roots.length; i++) { if (roots[i].getKind() == IPackageFragmentRoot.K_SOURCE) { root = roots[i]; break; } } ncwp.setPackageFragmentRoot(root, true); } catch (final JavaModelException e) { } final String os = root.getParent().getPath().toPortableString(); final String fp = root.getResource().getFullPath().toPortableString().replaceFirst(os, "").substring(1); final String ps = resource.getProjectRelativePath().toPortableString().replaceFirst(fp, ""); String pn = ps.replaceFirst(resource.getName(), "").substring(1).replaceAll("/", "."); pn = pn.substring(0, pn.length() - 1); ncwp.setPackageFragment(root.getPackageFragment(pn), true); ncwp.setSuperClass("org.apache.wicket.markup.html.WebPage", openJavaFile()); action.setConfiguredWizardPage(ncwp); action.setOpenEditorOnFinish(true); action.run(); }