List of usage examples for org.eclipse.jdt.core IJavaProject exists
boolean exists();
From source file:org.fastcode.util.SourceUtil.java
License:Open Source License
/** * * @param path//from w w w . j av a 2s . co m * @param name * (file name) * @param configPattern * @param locale * @param configStartPattern * @param configEndPattern */ private static void createConfiguration(final FastCodeContext fastCodeContext, final String fileName, final String project, final CreateSimilarDescriptorConfig descriptorConfig, final Map<String, List<FastCodeField>> fieldsMap) throws Exception { String[] locales = { EMPTY_STR }; final String locale = descriptorConfig.getConfigLocale(); if (!isEmpty(locale)) { locales = locale.split("\\s+"); } final Map<String, Object> placeHolders = new HashMap<String, Object>(fastCodeContext.getPlaceHolders()); /* * IType fromType = fastCodeContext.getFromType(); IType toType = null, * toImplType = null; for (FastCodeResource resource : * fastCodeContext.getResources()) { if (resource instanceof IType) { * IType type = (IType) resource; if (toType == null) { toType = type; * // first type is toType } for (String interfaceName : * type.getSuperInterfaceNames()) { if * (interfaceName.equals(type.getElementName())) { toImplType = type; * break; } } if (toType != null && toImplType != null) { break; } } } */ final IJavaProject targetProj = project != null ? getJavaProject(project) : fastCodeContext.getFromType().getJavaProject(); if (targetProj == null || !targetProj.exists()) { throw new Exception("Project cannot be found for configuration " + project); } // for (FastCodeResource fastCodeResource : // fastCodeContext.getResources()) { // project = // JavaCore.create(fastCodeResource.getResource().getProject()); // } final IFolder folder = getFolderFromPath(targetProj.getProject(), descriptorConfig.getConfigLocation()); if (folder == null || !folder.exists()) { throw new Exception("Location is wrong or cannot be found for configuration " + descriptorConfig.getConfigLocation()); } else if (!folder.isSynchronized(0)) { throw new Exception(folder.getName() + " is not Synchronized, please refresh and try again."); } for (final String locle : locales) { String file = isEmpty(locle) ? fileName : replaceLocale(fileName, locle); file = replacePlaceHolders(file, placeHolders); final String convPattern = descriptorConfig.getConversionPattern(); if (convPattern.equals(CONVERSION_LOWER_CASE)) { file = file.toLowerCase(); } else if (convPattern.equals(CONVERSION_CAMEL_CASE)) { file = changeToCamelCase(file, UNDER_SCORE); } else if (convPattern.equals(CONVERSION_CAMEL_CASE_HYPHEN)) { file = changeToCamelCase(file, '-'); } updateConfigFile(folder, file, placeHolders, fieldsMap, fastCodeContext, descriptorConfig); fastCodeContext.addResource(new FastCodeResource(folder.getFile(file))); } }
From source file:org.fastcode.util.SourceUtil.java
License:Open Source License
/** * * @param packageName// www . java 2 s . c o m * @return * @throws JavaModelException */ public static IPackageFragment getPackageFragmentFromWorkspace(final String packageName) throws JavaModelException { final IProject[] javaProjects = ResourcesPlugin.getWorkspace().getRoot().getProjects(); for (final IProject project : javaProjects) { final IJavaProject javaProj = JavaCore.create(project); if (javaProj == null || !javaProj.exists() || !javaProj.isOpen()) { continue; } for (final IPackageFragmentRoot packageFragmentRoot : javaProj.getAllPackageFragmentRoots()) { final IPackageFragment packageFragment = packageFragmentRoot.getPackageFragment(packageName); if (packageFragment != null && packageFragment.exists()) { return packageFragment; } } } return null; }
From source file:org.fastcode.util.SourceUtil.java
License:Open Source License
/** * @author Gautam/*from w w w . j a va2s.c o m*/ * @param srcPath * @return * @throws JavaModelException */ public static IPackageFragmentRoot getJavaElementFromSourcePathFromWorkspace(final String srcPath, final IJavaProject javaProject) throws JavaModelException { // Try to find it from the current project first IPackageFragmentRoot packageFragmentRoot = getJavaElementFromSourcePathFromProject(srcPath, javaProject, false); if (packageFragmentRoot != null) { return packageFragmentRoot; } // Try to find it from the workspace final IProject[] javaProjects = ResourcesPlugin.getWorkspace().getRoot().getProjects(); for (final IProject project : javaProjects) { if (project == null || !project.exists() || !project.isOpen()) { continue; } final IJavaProject javaProj = JavaCore.create(project); if (javaProj == null || javaProject.exists() || !srcPath.startsWith("/" + javaProj.getElementName())) { continue; } packageFragmentRoot = getJavaElementFromSourcePathFromProject(srcPath, javaProj, true); if (packageFragmentRoot != null) { return packageFragmentRoot; } } return null; }
From source file:org.fastcode.util.SourceUtil.java
License:Open Source License
/** * * @param projectName//from ww w . j ava 2s.com * @param sourcePath * @return * @throws JavaModelException */ public static IPackageFragmentRoot getJavaElementFromSourcePathFromWorkspace(final String projectName, final String sourcePath) throws JavaModelException { final IProject[] javaProjects = ResourcesPlugin.getWorkspace().getRoot().getProjects(); for (final IProject project : javaProjects) { if (project.getName().equals(projectName)) { final IJavaProject javaProj = JavaCore.create(project); if (!(javaProj == null || !javaProj.exists())) { return getJavaElementFromSourcePathFromProject(sourcePath, javaProj, true); } } } return null; }
From source file:org.fastcode.util.SourceUtil.java
License:Open Source License
/** * * @param project/*from ww w.j a va 2 s . c o m*/ * @return */ public static IJavaProject getJavaProject(final String project) { final IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects(); for (final IProject prjct : projects) { if (prjct.isOpen() && !prjct.isHidden() && prjct.isAccessible()) { final IJavaProject javaProj = JavaCore.create(prjct); if (javaProj != null && javaProj.exists() && javaProj.getElementName().equals(project)) { return javaProj; } } } return null; }
From source file:org.fastcode.util.SourceUtil.java
License:Open Source License
/** * * @return/*w w w . j ava 2 s . com*/ */ public static String[][] getAllProjects() { final IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects(); final List<String> projs = new ArrayList<String>(); for (final IProject project : projects) { if (project == null || !project.exists() || !project.isOpen()) { continue; } if (!project.isHidden() && project.isAccessible()) { final IJavaProject javaProj = JavaCore.create(project); if (javaProj != null && javaProj.exists() && !javaProj.getProject().isHidden()) { projs.add(project.getName()); } } } final String[][] projNames = getStringArrayFromList(projs, true); return projNames; }
From source file:org.fastcode.util.SourceUtil.java
License:Open Source License
/** * * @param project/*from w w w. ja v a2 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
/** * * @return//from w ww .j a va 2 s .co m */ public static String[][] getAllSourcePaths(final String filter) { final IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects(); final List<String> paths = new ArrayList<String>(); try { for (final IProject project : projects) { final IJavaProject javaProject = JavaCore.create(project); if (javaProject != null && javaProject.exists() && isJunitEnabled(javaProject) && javaProject.isOpen() && !javaProject.isReadOnly()) { for (final IPackageFragmentRoot packageFragmentRoot : javaProject .getAllPackageFragmentRoots()) { if (!(packageFragmentRoot.isArchive() || packageFragmentRoot.isReadOnly())) { String sourcePath = packageFragmentRoot.getPath().toString(); sourcePath = sourcePath.replace(FORWARD_SLASH + project.getName(), "${project}"); if (filter == null || sourcePath.toUpperCase().contains(filter.toUpperCase())) { boolean include = true; for (final String path : paths) { if (path.equals(sourcePath)) { include = false; break; } } if (include) { paths.add(sourcePath); } } } } } } } catch (final JavaModelException ex) { ex.printStackTrace(); return new String[0][0]; } return getStringArrayFromList(paths, false); }
From source file:org.fastcode.util.SourceUtil.java
License:Open Source License
/** * @param fastCodeContext/*from w w w. ja v a 2 s . 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.fastcode.util.SourceUtil.java
License:Open Source License
public static void checkForJavaProjectInWorkspace() { // Warning msg to check if the JavaProject is there in workspace. int i = 0;/*from ww w .j a va 2 s . co m*/ final IProject[] projectArr = ResourcesPlugin.getWorkspace().getRoot().getProjects(); if (projectArr == null || projectArr.length == 0) { Display.getDefault().syncExec(new Runnable() { @Override public void run() { MessageDialog.openWarning(new Shell(), "Warning", "To use fastcode plugin, there should be atleast one java project in workspace"); } }); return; } for (final IProject project : projectArr) { final IJavaProject javaProject = JavaCore.create(project); if (javaProject != null) { i = 1; break; } else if (javaProject == null || !javaProject.exists()) { i = 2; return; } } if (i == 2) { Display.getDefault().syncExec(new Runnable() { @Override public void run() { MessageDialog.openWarning(new Shell(), "Warning", "To use fastcode plugin, there should be atleast one java project in workspace"); } }); return; } }