List of usage examples for org.eclipse.jdt.core IJavaProject getPackageFragmentRoots
IPackageFragmentRoot[] getPackageFragmentRoots() throws JavaModelException;
From source file:org.entirej.ide.core.project.EJFormConsistencyChecker.java
License:Apache License
protected IProject[] build(int kind, Map<String, String> args, IProgressMonitor monitor) throws CoreException { IResourceDelta delta = null;/*w w w . j a v a 2 s.co m*/ if (kind != FULL_BUILD) delta = getDelta(getProject()); if (delta == null || kind == FULL_BUILD) { if (isInterestingProject(getProject())) { clean(monitor); IJavaProject project = JavaCore.create(getProject()); // make sure it is refresh before build again EJPluginEntireJClassLoader.reload(project); IPackageFragmentRoot[] packageFragmentRoots = project.getPackageFragmentRoots(); for (IPackageFragmentRoot iPackageFragmentRoot : packageFragmentRoots) { if (iPackageFragmentRoot.getResource() instanceof IContainer) validateFormsIn((IContainer) iPackageFragmentRoot.getResource(), getValidateProviders(), monitor); } } } else { delta.accept(new DeltaVisitor(monitor)); } return new IProject[0]; }
From source file:org.entirej.ide.ui.editors.descriptors.AbstractProjectSrcFileDescriptor.java
License:Apache License
@Override public String browseType() { List<IPackageFragmentRoot> elements = new ArrayList<IPackageFragmentRoot>(); IJavaProject javaProject = projectProvider.getJavaProject(); try {/* ww w . ja va 2 s. c o m*/ IPackageFragmentRoot[] roots = javaProject.getPackageFragmentRoots(); for (int i = 0; i < roots.length; i++) { if (roots[i].getKind() == IPackageFragmentRoot.K_SOURCE) { elements.add(roots[i]); } } } catch (JavaModelException e) { EJCoreLog.logException(e); } final List<IResource> resources = new ArrayList<IResource>(); for (IPackageFragmentRoot root : elements) { try { IResource resource = root.getResource(); if (resource instanceof IContainer) ((IContainer) resource).accept(new IResourceProxyVisitor() { public boolean visit(IResourceProxy proxy) { if (proxy.isDerived()) { return false; } int type = proxy.getType(); if ((IResource.FILE & type) != 0) { IResource res = proxy.requestResource(); resources.add(res); return true; } if (type == IResource.FILE) { return false; } return true; } }, IResource.NONE); } catch (CoreException e) { // ignore } } ResourceListSelectionDialog dialog = new ResourceListSelectionDialog(EJUIPlugin.getActiveWorkbenchShell(), resources.toArray(new IResource[0])); dialog.setTitle("Select File"); dialog.setMessage("Select a project file:"); if (dialog.open() == Window.OK) { Object[] result = dialog.getResult(); if (result != null && result.length > 0) { IResource resource = (IResource) result[0]; String chosenPath = resource.getFullPath().toPortableString(); // Return the chosen package without the source directory path for (IPackageFragmentRoot root : elements) { String sourcePath = root.getPath().toPortableString(); if (chosenPath.startsWith(sourcePath)) { chosenPath = chosenPath.replace(sourcePath, ""); break; } } return chosenPath; } } return getValue(); }
From source file:org.entirej.ide.ui.editors.form.builder.EJFormConstBuilder.java
License:Apache License
protected IProject[] build(int kind, Map<String, String> args, IProgressMonitor monitor) throws CoreException { IResourceDelta delta = null;//from w w w.j ava 2 s . co m if (kind != FULL_BUILD) delta = getDelta(getProject()); if (delta == null || kind == FULL_BUILD) { if (isInterestingProject(getProject())) { clean(monitor); IProject p = getProject(); IJavaProject project = JavaCore.create(p); // make sure it is refresh before build again EJPluginEntireJClassLoader.reload(project); genPropertiesConstantFile(EJProject.getPropertiesFile(p), monitor); IPackageFragmentRoot[] packageFragmentRoots = project.getPackageFragmentRoots(); for (IPackageFragmentRoot iPackageFragmentRoot : packageFragmentRoots) { if (iPackageFragmentRoot.getResource() instanceof IContainer) genFormConstantsIn((IContainer) iPackageFragmentRoot.getResource(), monitor); } p.refreshLocal(IResource.DEPTH_INFINITE, monitor); } } else { delta.accept(new DeltaVisitor(monitor)); } return new IProject[0]; }
From source file:org.entirej.ide.ui.utils.FormsUtil.java
License:Apache License
public static boolean isFormExist(IJavaProject project, String id) { IPackageFragmentRoot[] packageFragmentRoots; try {/*from ww w. j av a 2 s .c o m*/ packageFragmentRoots = project.getPackageFragmentRoots(); for (IPackageFragmentRoot iPackageFragmentRoot : packageFragmentRoots) { if (iPackageFragmentRoot.getResource() instanceof IContainer) if (handelIsFormIn((IContainer) iPackageFragmentRoot.getResource(), id, true)) return true; } } catch (CoreException e) { EJCoreLog.log(e); } return false; }
From source file:org.entirej.ide.ui.utils.FormsUtil.java
License:Apache License
public static String getFormTitle(IJavaProject project, String id) { // EntireJFormReader.readFormName(file); IPackageFragmentRoot[] packageFragmentRoots; try {//from w w w .ja v a 2 s . c o m packageFragmentRoots = project.getPackageFragmentRoots(); for (IPackageFragmentRoot iPackageFragmentRoot : packageFragmentRoots) { if (iPackageFragmentRoot.getResource() instanceof IContainer) { String title = handelFormTitle((IContainer) iPackageFragmentRoot.getResource(), id, true); if (title != null) return title; } } } catch (CoreException e) { EJCoreLog.log(e); } return null; }
From source file:org.entirej.ide.ui.utils.FormsUtil.java
License:Apache License
public static List<String> getFormNames(IJavaProject project, boolean formsonly) { List<String> result = new ArrayList<String>(); IPackageFragmentRoot[] packageFragmentRoots; try {/*from www . j a v a 2s .c o m*/ packageFragmentRoots = project.getPackageFragmentRoots(); for (IPackageFragmentRoot iPackageFragmentRoot : packageFragmentRoots) { if (iPackageFragmentRoot.getResource() instanceof IContainer) handelFormsIn((IContainer) iPackageFragmentRoot.getResource(), result, formsonly); } } catch (CoreException e) { EJCoreLog.log(e); } return result; }
From source file:org.entirej.ide.ui.utils.JavaAccessUtils.java
License:Apache License
public static IPackageFragment[] choosePackage(Shell shell, IJavaProject javaProject, String filter, Boolean multipleSelection, IPackageFragmentFilter packageFragmentFilter) { List<IPackageFragment> elements = new ArrayList<IPackageFragment>(); if (javaProject.exists()) { try {/*from w w w. j ava 2 s . c om*/ IPackageFragmentRoot[] roots = javaProject.getPackageFragmentRoots(); for (int i = 0; i < roots.length; i++) { if (roots[i].getKind() == IPackageFragmentRoot.K_SOURCE) { IPackageFragmentRoot sourceRoot = roots[i]; if (sourceRoot != null && sourceRoot.exists()) { IJavaElement[] children = sourceRoot.getChildren(); for (IJavaElement element : children) { if (element instanceof IPackageFragment && (packageFragmentFilter == null || packageFragmentFilter.acccept((IPackageFragment) element))) elements.add((IPackageFragment) element); } } } } } catch (JavaModelException e) { EJCoreLog.logException(e); } } ElementListSelectionDialog dialog = new ElementListSelectionDialog(shell, new JavaElementLabelProvider(JavaElementLabelProvider.SHOW_DEFAULT)); dialog.setIgnoreCase(false); dialog.setTitle("Package Selection"); dialog.setMessage("Choose a folder"); dialog.setFilter(filter); dialog.setMultipleSelection(multipleSelection); dialog.setEmptyListMessage(""); dialog.setElements(elements.toArray(new IPackageFragment[0])); dialog.setHelpAvailable(false); if (dialog.open() == Window.OK) { Object[] result = dialog.getResult(); IPackageFragment[] fragments = new IPackageFragment[result.length]; for (int i = 0; i < result.length; i++) { fragments[i] = (IPackageFragment) result[i]; } return fragments; } return new IPackageFragment[0]; }
From source file:org.entirej.ide.ui.utils.PackageAssistProvider.java
License:Apache License
public IContentProposal[] getProposals(String currentContent, int position) { final List<TypeProposal> proposals = new ArrayList<TypeProposal>(); if (currentContent.length() > position) { currentContent = currentContent.substring(0, position); }//from w w w .j av a 2 s . c om IJavaProject javaProject = projectProvider.getJavaProject(); if (javaProject == null) return new IContentProposal[0]; if (javaProject.exists()) { try { IPackageFragmentRoot[] roots = javaProject.getPackageFragmentRoots(); for (int i = 0; i < roots.length; i++) { if (roots[i].getKind() == IPackageFragmentRoot.K_SOURCE) { IPackageFragmentRoot sourceRoot = roots[i]; if (sourceRoot != null && sourceRoot.exists()) { IJavaElement[] children = sourceRoot.getChildren(); for (IJavaElement element : children) { if (element instanceof IPackageFragment) { if (filterPkg(currentContent, position, element.getElementName())) { IPackageFragment fragment = (IPackageFragment) element; proposals.add(new TypeProposal(new Type(element.getElementName(), fragment.hasChildren() ? PKG_IMG : PKG_IMG_EMPTY), null)); } } } } } } } catch (JavaModelException e) { EJCoreLog.logException(e); } } Collections.sort(proposals, new Comparator<TypeProposal>() { public int compare(TypeProposal o1, TypeProposal o2) { return o1.type.pkg.compareTo(o2.type.pkg); } }); return proposals.toArray(new IContentProposal[0]); }
From source file:org.evolizer.core.util.selectionhandling.JavaSelectionHelper.java
License:Apache License
/** * Returns the list of root package fragments of a given Java project. * //from w w w . j a va2 s . com * @param project The Java project. * @return The list of root package fragments. * @throws EvolizerException */ public static List<IJavaElement> getPackageFragmentRoots(IJavaProject project) throws EvolizerException { List<IJavaElement> sourceRootPagckages = new ArrayList<IJavaElement>(); try { for (IPackageFragmentRoot root : project.getPackageFragmentRoots()) { if (root.getKind() == IPackageFragmentRoot.K_SOURCE) { sourceRootPagckages.add(root); } } } catch (JavaModelException jme) { throw new EvolizerException(jme); } return sourceRootPagckages; }
From source file:org.fastcode.util.SourceUtil.java
License:Open Source License
/** * @param fastCodeContext/* w ww . j av a2 s . 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); } }