List of usage examples for org.eclipse.jdt.core IPackageFragmentRoot getResource
IResource getResource();
From source file:org.entirej.ide.ui.refactoring.EJRefBlockDefRenameParticipant.java
License:Apache License
@Override public Change createChange(IProgressMonitor pm) throws CoreException, OperationCanceledException { if (!getArguments().getUpdateReferences() || fProject == null) return null; final IFile[] elements = fElements.keySet().toArray(new IFile[0]); final String[] newNames = getNewNames(); IPackageFragmentRoot[] packageFragmentRoots = fProject.getPackageFragmentRoots(); CompositeChange result = new CompositeChange(getName()); for (int i = 0; i < elements.length; i++) { final IFile element = elements[i]; String fileExtension = element.getFileExtension(); final String newName = newNames[i]; final IFile newelement = element.getParent().getFile(new Path(newName)); final EJPluginFormProperties formProperties = getFormProperties(element, fProject); if (formProperties == null) continue; if (EJDevConstants.REFERENCED_BLOCK_PROPERTIES_FILE_SUFFIX.equalsIgnoreCase(fileExtension)) { // rename Constants String formId = EJFormConstBuilder.getFormId(formProperties.getFormName()); IFile formConstantsSource = EJFormConstBuilder.getFormJavaSource(element, pm, formId); if (formConstantsSource.exists()) { String newNameref = EJFormConstBuilder .getFormId(newName.substring(0, newName.lastIndexOf("."))); String id = IJavaRefactorings.RENAME_COMPILATION_UNIT; RefactoringContribution contrib = RefactoringCore.getRefactoringContribution(id); RenameJavaElementDescriptor desc = (RenameJavaElementDescriptor) contrib.createDescriptor(); desc.setUpdateReferences(true); desc.setProject(formConstantsSource.getProject().getName()); desc.setJavaElement(JavaCore.create(formConstantsSource)); desc.setNewName(newNameref); Refactoring refactoring = desc.createRefactoring(new RefactoringStatus()); refactoring.checkInitialConditions(pm); refactoring.checkFinalConditions(pm); result.add(refactoring.createChange(pm)); }//from w ww .j a v a2 s . c om Change propChange = new Change() { @Override public Change perform(IProgressMonitor pm) throws CoreException { String oldName = element.getName(); oldName = oldName.substring(0, oldName.lastIndexOf(".")); List<EJPluginBlockProperties> definitionProperties = formProperties.getBlockContainer() .getAllBlockProperties(); for (EJPluginBlockProperties blockProp : definitionProperties) { String newDef = newName.substring(0, newName.lastIndexOf(".")); blockProp.internalSetName(newDef); } FormPropertiesWriter write = new FormPropertiesWriter(); write.saveForm(formProperties, newelement, pm); // do we need to support undo change as well ? return null; } @Override public RefactoringStatus isValid(IProgressMonitor pm) throws CoreException, OperationCanceledException { return new RefactoringStatus(); } @Override public void initializeValidationData(IProgressMonitor pm) { // ignore } @Override public String getName() { return String.format("Rename referenced block definition name : %s.", element.getName()); } @Override public Object getModifiedElement() { return newelement; } }; result.add(propChange); } } for (IPackageFragmentRoot iPackageFragmentRoot : packageFragmentRoots) { if (iPackageFragmentRoot.getResource() instanceof IContainer) handelFormsIn((IContainer) iPackageFragmentRoot.getResource(), elements, newNames, result); } return result; }
From source file:org.entirej.ide.ui.utils.FormsUtil.java
License:Apache License
public static boolean isFormExist(IJavaProject project, String id) { IPackageFragmentRoot[] packageFragmentRoots; try {// w ww . j a v a2 s . com 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 {//www . j a 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 w w w . j av 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.fastcode.util.SourceUtil.java
License:Open Source License
/** * @param fastCodeContext/*from w ww .j a v a 2 s. co 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.grails.ide.eclipse.ui.internal.launch.GrailsTestLaunchShortcut.java
License:Open Source License
@Override protected String getScriptFor(IResource resource) { if (GrailsResourceUtil.isTestFolder(resource)) { String script = TEST_APP + " -" + resource.getName(); System.out.println("grails command = " + script); return script; } else {/*from w w w . ja v a2 s . c o m*/ String script = TEST_APP; String testType = GrailsResourceUtil.typeOfTest(resource); if (testType != null) { script += " -" + testType; } if (GrailsResourceUtil.isSourceFile(resource)) { IJavaElement javaElement = JavaCore.create(resource); if (javaElement != null) { int elementType = javaElement.getElementType(); switch (elementType) { case IJavaElement.PACKAGE_FRAGMENT: IPackageFragment pkg = (IPackageFragment) javaElement; script += " " + pkg.getElementName() + ".*"; break; case IJavaElement.COMPILATION_UNIT: String pathIncludingSourceFolder = resource.getProjectRelativePath().toString(); IPackageFragmentRoot sourceRoot = (IPackageFragmentRoot) javaElement .getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT); String sourceFolderPath = sourceRoot.getResource().getProjectRelativePath().toString(); Assert.isTrue(pathIncludingSourceFolder.startsWith(sourceFolderPath + "/")); String pathWithoutSourceFolder = pathIncludingSourceFolder .substring(sourceFolderPath.length() + 1); if (isRecentGrails(resource.getProject())) { pathWithoutSourceFolder = removeSuffix(pathWithoutSourceFolder, ".groovy"); } else { pathWithoutSourceFolder = removeSuffix(pathWithoutSourceFolder, "Test.groovy", "Tests.groovy", ".groovy"); } if (pathWithoutSourceFolder != null) { String testTarget = pathWithoutSourceFolder.replace('/', '.'); script += " " + testTarget; } default: break; } } } debug("grails command = " + script); return script; } }
From source file:org.gw4e.eclipse.facade.TestConvertor.java
License:Open Source License
private void findOldGraphFile(IProgressMonitor monitor) throws JavaModelException, FileNotFoundException { AnnotationParsing ap = JDTManager.findAnnotationParsingInModelAnnotation(testInterface, "file"); this.model = ap.getValue("file"); IPackageFragmentRoot[] roots = testInterface.getJavaProject().getPackageFragmentRoots(); for (int j = 0; j < roots.length; j++) { IPackageFragmentRoot root = roots[j]; IFolder resource = (IFolder) root.getResource(); if (resource == null) throw new FileNotFoundException(model); IFile graphFile = resource.getFile(model); if (graphFile.exists()) { oldGraphFile = graphFile;//from w w w . j av a 2 s .c o m break; } } }
From source file:org.hibernate.eclipse.console.test.project.ConfigurableTestProject.java
License:Open Source License
public boolean setupNextTestFolder() throws IOException, CoreException { activePackage++;/*from w w w . ja v a 2 s.c o m*/ if (activePackage >= foldersList.size()) { return false; } FilesTransfer.delete(new File(project.getLocation().append(SRC_FOLDER).toOSString())); final String pack = foldersList.get(activePackage); final File srcFolder = getFolder(RESOURCE_SRC_PATH + pack); IPackageFragmentRoot sourcePackageFragment = createFolder(SRC_FOLDER + File.separator + pack); FilesTransfer.copyFolder(srcFolder, (IFolder) sourcePackageFragment.getResource()); return true; }
From source file:org.hibernate.eclipse.console.test.project.ConfigurableTestProject.java
License:Open Source License
public boolean useAllSources() { activePackage = -1;/*from w w w . j a v a 2s. c o m*/ foldersList = new ArrayList<String>(); File srcFolder = null; try { srcFolder = getFolder(RESOURCE_SRC_PATH); } catch (IOException e) { // ignore } IPackageFragmentRoot sourcePackageFragment = null; try { sourcePackageFragment = createSourceFolder(); } catch (CoreException e) { // ignore } if (srcFolder != null && sourcePackageFragment != null) { FilesTransfer.copyFolder(srcFolder, (IFolder) sourcePackageFragment.getResource()); foldersList.add(""); //$NON-NLS-1$ return true; } return false; }
From source file:org.hibernate.eclipse.console.test.project.ConfigurableTestProject.java
License:Open Source License
public boolean useSelectedFolders() throws IOException, CoreException { activePackage = -1;//w w w . jav a 2s .c om if (foldersList == null) { return false; } FilesTransfer.delete(new File(project.getLocation().append(SRC_FOLDER).toOSString())); for (int i = 0; i < foldersList.size(); i++) { final String pack = foldersList.get(i); final File srcFolder = getFolder(RESOURCE_SRC_PATH + pack); IPackageFragmentRoot sourcePackageFragment = createFolder(SRC_FOLDER + File.separator + pack); FilesTransfer.copyFolder(srcFolder, (IFolder) sourcePackageFragment.getResource()); } foldersList = new ArrayList<String>(); foldersList.add(""); //$NON-NLS-1$ return true; }