List of usage examples for org.eclipse.jdt.core IPackageFragment getUnderlyingResource
IResource getUnderlyingResource() throws JavaModelException;
null
if this element is not contained in a resource. From source file:com.google.gdt.eclipse.designer.util.DefaultModuleProvider.java
License:Open Source License
/** * @return the module files to which belongs given {@link IResource}, may be <code>null</code> if * no module found. Climbs up by {@link IPackageFragment}'s hierarchy, good for (Case * 33265), i.e. Maven-like source folder structure. *///from w w w . j ava 2 s . co m private static List<IFile> getModuleFiles_java(IResource resource) throws Exception { IProject project = resource.getProject(); IJavaProject javaProject = JavaCore.create(project); // prepare package name String packageName; { // prepare folder IFolder folder; if (resource instanceof IFolder) { folder = (IFolder) resource; } else if (resource.getParent() instanceof IFolder) { folder = (IFolder) resource.getParent(); } else { return ImmutableList.of(); } // prepare package fragment IJavaElement javaElement = JavaCore.create(folder); if (javaElement instanceof IPackageFragment) { IPackageFragment pkgFragment = (IPackageFragment) javaElement; packageName = pkgFragment.getElementName(); } else { return ImmutableList.of(); } } // prepare source folders List<IPackageFragmentRoot> sourceFolders = Lists.newArrayList(); for (IPackageFragmentRoot packageFragmentRoot : javaProject.getPackageFragmentRoots()) { if (packageFragmentRoot.getKind() == IPackageFragmentRoot.K_SOURCE) { sourceFolders.add(packageFragmentRoot); } } // search in this package and packages above for (; packageName.length() != 0; packageName = CodeUtils.getPackage(packageName)) { for (IPackageFragmentRoot packageFragmentRoot : sourceFolders) { IPackageFragment packageFragment = packageFragmentRoot.getPackageFragment(packageName); if (packageFragment.exists()) { IResource underlyingResource = packageFragment.getUnderlyingResource(); if (underlyingResource instanceof IFolder) { IFolder folder = (IFolder) underlyingResource; List<IFile> moduleFiles = getModuleFiles(folder, false); if (!moduleFiles.isEmpty()) { return moduleFiles; } } } } } // no modules return ImmutableList.of(); }
From source file:com.google.gdt.eclipse.designer.util.Utils.java
License:Open Source License
/** * @return the {@link ModuleDescription} to which belongs given {@link IPackageFragment}. */// w w w. j a v a 2 s . c om public static ModuleDescription getSingleModule(IPackageFragment pkg) throws Exception { IResource packageResource = pkg.getUnderlyingResource(); return getSingleModule(packageResource); }
From source file:com.google.gdt.eclipse.designer.wizards.model.library.CreateLibraryOperation.java
License:Open Source License
public void create(String basePackageName, String moduleName, boolean createHTML, boolean createServerPackage) throws Exception { // create packages IPackageFragment basePackage = getPackage(m_root, basePackageName); getPackage(m_root, basePackageName + ".client"); if (createServerPackage) { getPackage(m_root, basePackageName + ".server"); }/*w w w.j ava 2 s .c om*/ // create folders IFolder baseFolder = (IFolder) basePackage.getUnderlyingResource(); IFolder publicFolder = baseFolder.getFolder("public"); publicFolder.create(false, true, new NullProgressMonitor()); // create module IFile moduleFile; { // prepare variables Map<String, String> variables = new HashMap<String, String>(); variables.put("basePackage", basePackageName); variables.put("className", moduleName); // create files from templates moduleFile = createFileFromTemplate(basePackage, moduleName + ".gwt.xml", "Library.gwt.xml", variables); if (createHTML) { createFileFromTemplate(publicFolder, moduleName + ".html", "Library.html", variables); } createFileFromTemplate(publicFolder, moduleName + ".css", "Library.css", variables); copyTemplateFiles(publicFolder, "images"); } // open *.gwt.xml file in editor IDE.openEditor(DesignerPlugin.getActivePage(), moduleFile); }
From source file:com.iw.plugins.spindle.ui.wizards.factories.LibraryFactory.java
License:Mozilla Public License
/** * Method createLibrary.// w ww. ja v a2 s . c om * * @param root * @param pack * @param appname * @param monitor * @return IFile */ public static IFile createLibrary(IPackageFragmentRoot root, IPackageFragment pack, String libraryName, IProgressMonitor monitor) throws CoreException, InterruptedException { monitor.beginTask(UIPlugin.getString("ApplicationFactory.operationdesc", libraryName), 10); if (pack == null) { pack = root.getPackageFragment(""); } if (!pack.exists()) { String packName = pack.getElementName(); pack = root.createPackageFragment(packName, true, null); pack.save(new SubProgressMonitor(monitor, 1), true); } monitor.worked(1); IContainer folder = (IContainer) pack.getUnderlyingResource(); IFile file = folder.getFile(new Path(libraryName + ".library")); InputStream contents = new ByteArrayInputStream(getLibraryContent().getBytes()); file.create(contents, false, new SubProgressMonitor(monitor, 1)); monitor.worked(1); monitor.done(); return file; }
From source file:com.iw.plugins.spindle.ui.wizards.fields.PackageDialogField.java
License:Mozilla Public License
public IStatus packageChanged() { SpindleStatus status = new SpindleStatus(); checkButtonEnabled();//from w w w .j a va 2s .c o m String packName = getTextValue(); if (!"".equals(packName)) { IStatus val = JavaConventions.validatePackageName(packName); if (val.getSeverity() == IStatus.ERROR) { status.setError(UIPlugin.getString(name + ".error.InvalidPackageName", val.getMessage())); return status; } else if (val.getSeverity() == IStatus.WARNING) { status.setWarning(UIPlugin.getString(name + ".warning.DiscouragedPackageName", val.getMessage())); // continue } } else { status.setError(UIPlugin.getString(name + ".error.defaultPackage")); return status; } IPackageFragmentRoot root; if (container == null) { root = null; } else { root = container.getPackageFragmentRoot(); } if (root != null) { IPackageFragment pack = root.getPackageFragment(packName); try { if (fSourcePackagesOnly && root.getKind() == IPackageFragmentRoot.K_BINARY) { status.setError(UIPlugin.getString(name + ".error.PackageMustBeSource")); return status; } IPath rootPath = root.getPath(); IPath outputPath = root.getJavaProject().getOutputLocation(); if (rootPath.isPrefixOf(outputPath) && !rootPath.equals(outputPath)) { // if the bin folder is inside of our root, dont allow to name a // package // like the bin folder IPath packagePath = pack.getUnderlyingResource().getFullPath(); if (outputPath.isPrefixOf(packagePath)) { status.setError(UIPlugin.getString(name + ".error.ClashOutputLocation")); return status; } } } catch (JavaModelException e) { UIPlugin.log(e); // let pass } currentPackage = pack; if (currentPackage != null && nameField != null) { try { IContainer folder = (IContainer) getPackageFragment().getUnderlyingResource(); boolean isComponent = nameField.getKind() == AbstractNameField.COMPONENT_NAME; IFile file = folder .getFile(new Path(nameField.getTextValue() + (isComponent ? ".jwc" : ".page"))); if (file.exists()) { status.setError(UIPlugin.getString(name + ".error.ComponentAlreadyExists", file.getFullPath().toString())); return status; } } catch (JavaModelException e) { UIPlugin.log(e); } } } else { status.setError(""); } return status; }
From source file:com.iw.plugins.spindle.ui.wizards.NewTapComponentWizardPage.java
License:Mozilla Public License
private IFile findResource(String fileName, INamespace namespace, boolean forTemplate) { IFile result = null;/* w w w .j a v a 2 s.c o m*/ if (!fShowingAdvanced) return fDefaultLocation.getResultFolder().getFile(fileName); if (namespace.isApplicationNamespace() && !((CoreNamespace) namespace).isOnClassPath()) { if (forTemplate) { result = result = fApplicationLocationField.getTemplateLocation().getFile(fileName); } else { result = fApplicationLocationField.getSpecLocation().getFile(fileName); } } else { try { IPackageFragment fragment = fLibraryPackageField.getPackageFragment(); IFolder folder = (IFolder) fragment.getUnderlyingResource(); result = folder.getFile(fileName); } catch (JavaModelException e) { UIPlugin.log(e); } } return result; }
From source file:com.iw.plugins.spindle.util.lookup.TapestryLookup.java
License:Mozilla Public License
/** * Method getPackageResources.// ww w .j a v a2 s. com * @param pkg * @return Object[] */ private Object[] getSourcePackageResources(IPackageFragment pkg) throws CoreException { Object[] result = new Object[0]; if (!pkg.isDefaultPackage()) { result = pkg.getNonJavaResources(); } else { IContainer container = (IContainer) pkg.getUnderlyingResource(); if (container != null) { IResource[] members = container.members(false); ArrayList resultList = new ArrayList(); for (int i = 0; i < members.length; i++) { if (members[i] instanceof IFile) { resultList.add(members[i]); } result = resultList.toArray(); } } } return result; }
From source file:com.iw.plugins.spindle.wizards.factories.ApplicationFactory.java
License:Mozilla Public License
static public IFile createApplication(IPackageFragmentRoot root, IPackageFragment pack, String appname, String qualifiedEngineClassname, IProgressMonitor monitor) throws CoreException, InterruptedException { monitor.beginTask(MessageUtil.getFormattedString("ApplicationFactory.operationdesc", appname), 10); if (pack == null) { pack = root.getPackageFragment(""); }// www . j av a 2 s . c om if (!pack.exists()) { String packName = pack.getElementName(); pack = root.createPackageFragment(packName, true, null); pack.save(new SubProgressMonitor(monitor, 1), true); } monitor.worked(1); IContainer folder = (IContainer) pack.getUnderlyingResource(); IFile file = folder.getFile(new Path(appname + ".application")); InputStream contents = new ByteArrayInputStream( getApplicationContent(appname, qualifiedEngineClassname, pack.getElementName()).getBytes()); file.create(contents, false, new SubProgressMonitor(monitor, 1)); monitor.worked(1); monitor.done(); return file; }
From source file:com.iw.plugins.spindle.wizards.factories.ComponentFactory.java
License:Mozilla Public License
public static IFile createComponent(IPackageFragmentRoot root, IPackageFragment pack, String componentName, IType specClass, IProgressMonitor monitor) throws CoreException, InterruptedException { monitor.beginTask(MessageUtil.getFormattedString("ApplicationFactory.operationdesc", componentName), 10); if (pack == null) { pack = root.getPackageFragment(""); }// w w w . j a v a2s . c o m if (!pack.exists()) { String packName = pack.getElementName(); pack = root.createPackageFragment(packName, true, null); pack.save(new SubProgressMonitor(monitor, 1), true); } monitor.worked(1); IContainer folder = (IContainer) pack.getUnderlyingResource(); IFile file = folder.getFile(new Path(componentName + ".jwc")); String qualifiedSpecClassname = specClass.getFullyQualifiedName(); InputStream contents = new ByteArrayInputStream(getComponentContent(qualifiedSpecClassname).getBytes()); file.create(contents, false, new SubProgressMonitor(monitor, 1)); monitor.worked(1); monitor.done(); return file; }
From source file:com.iw.plugins.spindle.wizards.factories.LibraryFactory.java
License:Mozilla Public License
/** * Method createLibrary./*from w w w. jav a 2 s . co m*/ * @param root * @param pack * @param appname * @param monitor * @return IFile */ public static IFile createLibrary(IPackageFragmentRoot root, IPackageFragment pack, String libraryName, IProgressMonitor monitor) throws CoreException, InterruptedException { monitor.beginTask(MessageUtil.getFormattedString("ApplicationFactory.operationdesc", libraryName), 10); if (pack == null) { pack = root.getPackageFragment(""); } if (!pack.exists()) { String packName = pack.getElementName(); pack = root.createPackageFragment(packName, true, null); pack.save(new SubProgressMonitor(monitor, 1), true); } monitor.worked(1); IContainer folder = (IContainer) pack.getUnderlyingResource(); IFile file = folder.getFile(new Path(libraryName + ".library")); InputStream contents = new ByteArrayInputStream(getLibraryContent().getBytes()); file.create(contents, false, new SubProgressMonitor(monitor, 1)); monitor.worked(1); monitor.done(); return file; }