private String formatFileName(String fileName) { String formatFile = null; IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot(); IResource resource = root.findMember(fileName); if (resource == null) { return fileName; } basePath = getBasePath(resource.getProject()); if (basePath == null && resource.getProject() != null) basePath = resource.getProject().getName(); else if (basePath == null && resource.getProject() == null) { basePath = ""; // $NON-NLS-1$ } int type = resource.getType(); if (type == IResource.FILE || type == IResource.FOLDER) { formatFile = basePath + "/" //$NON-NLS-1$ + resource.getFullPath().removeFirstSegments(1).toString(); } else { formatFile = basePath + "/"; // $NON-NLS-1$ } if (!formatFile.startsWith("/")) { // $NON-NLS-1$ formatFile = basePath + "/" + formatFile; // $NON-NLS-1$ } return formatFile; }
protected IProject getProject(String name) { IWorkspaceRoot workspaceRoot = ResourcesPlugin.getWorkspace().getRoot(); IProject[] projects = workspaceRoot.getProjects(); if (projects == null || projects.length == 0) return null; for (IProject project : projects) { if (project.getName().equals(name)) return project; } return null; }
private IResource createSourceResource(IResourceDelta delta) { IPath sourcePath = delta.getMovedFromPath(); IResource resource = delta.getResource(); IWorkspaceRoot wsRoot = ResourcesPlugin.getWorkspace().getRoot(); switch (resource.getType()) { case IResource.PROJECT: return wsRoot.getProject(sourcePath.segment(0)); case IResource.FOLDER: return wsRoot.getFolder(sourcePath); case IResource.FILE: return wsRoot.getFile(sourcePath); } return null; }
public void testLoadWindowsFile() throws Exception { setUpProject(); WARProductModel model = new WARProductModel(); String separator = File.separator; String fileName = separator + "testWin.warproduct"; ClassLoader classLoader = getClass().getClassLoader(); model.load(classLoader.getResourceAsStream(fileName), false); IWARProduct product = (IWARProduct) model.getProduct(); IPath webXml = product.getWebXml(); IWorkspaceRoot wsRoot = ResourcesPlugin.getWorkspace().getRoot(); IPath absolutWebXmlPath = wsRoot.getLocation().append(webXml); File file = new File(absolutWebXmlPath.toOSString()); assertTrue(file.exists()); }
/* * @see TestCase#setUp() */ protected void setUp() throws Exception { super.setUp(); setAutoBuilding(true); IWorkspaceRoot root = getWorkspace().getRoot(); project1 = root.getProject("Project1"); project2 = root.getProject("Project2"); project3 = root.getProject("Project3"); project4 = root.getProject("Project4"); file1 = project1.getFile("File1"); file2 = project2.getFile("File2"); file3 = project3.getFile("File3"); file4 = project4.getFile("File4"); IResource[] resources = {project1, project2, project3, project4, file1, file2, file3, file4}; ensureExistsInWorkspace(resources, true); }
private void createRenameLibraryFolderChange( IResource[] sourceResources, CompositeChange rootChange) { IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot(); LibraryFolderManager lfm = LibraryFolderManager.getInstance(); for (IResource resource : sourceResources) { if (resource.getType() == IResource.FOLDER && lfm.isInLibraryFolder(resource)) { IPath newPath = fMainDestinationPath.append(resource.getName()); IFolder newFolder = root.getFolder(newPath); RenameLibraryFolderChange change = new RenameLibraryFolderChange((IFolder) resource, newFolder); rootChange.add(change); } } }
public static IPath getAbsolutLibraryPath(final IPath libPath, final IWARProduct product) { IPath result = null; boolean fromTarget = product.isLibraryFromTarget(libPath); if (fromTarget) { String absoluteBridgePath = getServletBridgeAbsolutePath(); if (absoluteBridgePath != null) { if (absoluteBridgePath.indexOf(libPath.toPortableString()) != -1) { result = new Path(absoluteBridgePath); } } } else { IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot(); IFile lib = root.getFile(libPath); result = lib.getLocation(); } return result; }
/** * The worker method. It will find the container, create the file if missing or just replace its * contents, and open the editor on the newly created file. */ private void doFinish(String containerName, String fileName, IProgressMonitor monitor) throws CoreException { // create a sample file monitor.beginTask("Creating " + fileName, 2); IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot(); IResource resource = root.findMember(new Path(containerName)); // if (!(resource.exists()) || !(resource instanceof IContainer)) { if (resource == null || !(resource.exists()) || !(resource instanceof IContainer)) { // throwCoreException("Container \"" + containerName + // "\" does not exist."); IProject datamapperProject = root.getProject(containerName); datamapperProject.create(null); datamapperProject.open(null); // datamapperProject. } IContainer container = (IContainer) resource; // // // final IFile file = container.getFile(new Path(fileName)); // try { // InputStream stream = openContentStream(); // if (file.exists()) { // // file.setContents(null, true, true, monitor); // } else { // file.create(null, true, monitor); // // } // stream.close();` // } catch (IOException e) { // } // monitor.worked(1); // monitor.setTaskName("Opening file for editing..."); // getShell().getDisplay().asyncExec(new Runnable() { // public void run() { // IWorkbenchPage page = // PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(); // try { // IDE.openEditor(page, file); // } catch (PartInitException e) { // } // } // }); // monitor.worked(1); }
private static void setUpProject() throws Exception { IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot(); IProject project = root.getProject("test.rap"); if (!project.exists()) { project.create(null); project.open(null); } IFolder webInf = project.getFolder("WEB-INF"); if (!webInf.exists()) { webInf.create(true, true, null); } IFile file = webInf.getFile("web.xml"); if (!file.exists()) { File tempFile = File.createTempFile("test", ".xml"); FileInputStream stream = new FileInputStream(tempFile); file.create(stream, true, null); } }
public void setFiles(String[] fileNames) { int size = Arrays.asList(fileNames).size(); Vector iFileNames = new Vector(); for (int i = 0; i < size; i++) { IResource resource = workspaceRoot.findMember(fileNames[i]); if (resource instanceof IFile) iFileNames.addElement(resource); } IFile[] dummyArray = new IFile[iFileNames.size()]; this.fileNames = (IFile[]) (iFileNames.toArray(dummyArray)); }
public void testContainsServletBridgeLibrary() throws Exception { IWARProduct product = createBasicProduct(); IWorkspaceRoot wsRoot = ResourcesPlugin.getWorkspace().getRoot(); IProject project = wsRoot.getProject("warProduct"); if (!project.exists()) { project.create(null); project.open(null); } IFile jar = project.getFile(SERVLETBRIDGE + ".jar"); if (!jar.exists()) { File bridge = File.createTempFile(SERVLETBRIDGE, ".jar"); FileInputStream stream = new FileInputStream(bridge); jar.create(stream, true, null); } product.addLibrary(jar.getFullPath(), false); Validator validator = new Validator(product); Validation validation = validator.validate(); assertTrue(validation.isValid()); }
/** * The worker method. It will find the container, create the file if missing or just replace its * contents, and open the editor on the newly created file. */ private void doFinish(String containerName, String fileName, IProgressMonitor monitor) throws CoreException { // create a sample file monitor.beginTask("Creating " + fileName, 2); IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot(); IResource resource = root.findMember(new Path(containerName)); if (!resource.exists() || !(resource instanceof IContainer)) { throwCoreException("Container \"" + containerName + "\" does not exist."); } IContainer container = (IContainer) resource; final IFile file = container.getFile(new Path(fileName)); try { InputStream stream = openContentStream(); if (file.exists()) { file.setContents(stream, true, true, monitor); } else { file.create(stream, true, monitor); } stream.close(); } catch (IOException e) { } monitor.worked(1); monitor.setTaskName("Opening file for editing..."); getShell() .getDisplay() .asyncExec( new Runnable() { public void run() { IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(); try { IDE.openEditor(page, file, true); } catch (PartInitException e) { } } }); monitor.worked(1); }
private ISourceContainer getArchiveSourceContainer(String location) throws JavaModelException { IWorkspaceRoot root = PDELaunchingPlugin.getWorkspace().getRoot(); IFile[] containers = root.findFilesForLocationURI(URIUtil.toURI(location)); for (int i = 0; i < containers.length; i++) { IJavaElement element = JavaCore.create(containers[i]); if (element instanceof IPackageFragmentRoot) { IPackageFragmentRoot archive = (IPackageFragmentRoot) element; IPath path = archive.getSourceAttachmentPath(); if (path == null || path.segmentCount() == 0) continue; IPath rootPath = archive.getSourceAttachmentRootPath(); boolean detectRootPath = rootPath != null && rootPath.segmentCount() > 0; IFile archiveFile = root.getFile(path); if (archiveFile.exists()) return new ArchiveSourceContainer(archiveFile, detectRootPath); File file = path.toFile(); if (file.exists()) return new ExternalArchiveSourceContainer(file.getAbsolutePath(), detectRootPath); } } return null; }
private IWARProduct createBasicProductWithLibraries() throws Exception { IWARProduct product = createBasicProduct(); IWorkspaceRoot wsRoot = ResourcesPlugin.getWorkspace().getRoot(); IProject project = wsRoot.getProject("warProduct"); if (!project.exists()) { project.create(null); project.open(null); } IFile jar = project.getFile("test.jar"); if (!jar.exists()) { File testJar = File.createTempFile("test", ".jar"); FileInputStream stream = new FileInputStream(testJar); jar.create(stream, true, null); } product.addLibrary(jar.getFullPath(), false); IFile bridge = project.getFile(SERVLETBRIDGE + ".jar"); if (!bridge.exists()) { File bridgeJar = File.createTempFile(SERVLETBRIDGE, ".jar"); FileInputStream stream = new FileInputStream(bridgeJar); bridge.create(stream, true, null); } product.addLibrary(bridge.getFullPath(), false); return product; }
/** * The worker method. It will create a new project, then create the appropriate Soar heirarchy and * files. */ private void doFinish(String projectName, IProgressMonitor monitor) throws CoreException { monitor.beginTask("Creating " + projectName, 7); IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot(); IProject newProject = root.getProject(projectName); // creation of the project if (newProject.exists()) { throwCoreException("Project \"" + projectName + "\" already exists"); } else { newProject.create(monitor); newProject.open(monitor); try { IProjectDescription description = newProject.getDescription(); String[] natures = description.getNatureIds(); String[] newNatures = new String[natures.length + 1]; System.arraycopy(natures, 0, newNatures, 0, natures.length); newNatures[natures.length] = SoarProjectNature.NATURE_ID; description.setNatureIds(newNatures); newProject.setDescription(description, IResource.FORCE, monitor); newProject.setPersistentProperty(DataMap.VERTEX_ID, "0"); } catch (CoreException e) { e.printStackTrace(); } // catch } // else monitor.worked(2); // Create the contents of the project's root directory IFolder folderAll = newProject.getFolder("all"); if (!folderAll.exists()) { folderAll.create(true, true, monitor); } // if FileMarker.markResource(folderAll, "file"); IFolder folderElaborations = newProject.getFolder("elaborations"); if (!folderElaborations.exists()) { folderElaborations.create(true, true, monitor); } // if FileMarker.markResource(folderElaborations, "file"); IFile file_firstload = newProject.getFile("_firstload.soar"); if (!file_firstload.exists()) { file_firstload.create( Utility.getFileTemplate(file_firstload, "_firstload.soar"), true, monitor); } // if FileMarker.markResource(file_firstload, "file"); IFile filedatamap = newProject.getFile("datamap.xdm"); if (!filedatamap.exists()) { filedatamap.create(Utility.getFileTemplate(filedatamap, "datamap.xdm"), true, monitor); } // if monitor.worked(3); // Create the contents of the elaborations folder IFile file_all = folderElaborations.getFile("_all.soar"); if (!file_all.exists()) { file_all.create(Utility.getFileTemplate(file_all, "_all.soar"), true, monitor); } // if FileMarker.markResource(file_all, "file"); IFile filetopstate = folderElaborations.getFile("top-state.soar"); if (!filetopstate.exists()) { filetopstate.create(Utility.getFileTemplate(filetopstate, "top-state.soar"), true, monitor); } // if FileMarker.markResource(filetopstate, "file"); SourcingFile.createSourcingFile(newProject, monitor); newProject.close(monitor); newProject.open(monitor); monitor.worked(2); monitor.done(); } // void doFinish(...)
private void createProject(IFeatureModel model, IProgressMonitor monitor) throws CoreException { String name = model.getFeature().getId(); IFeaturePlugin[] plugins = model.getFeature().getPlugins(); for (int i = 0; i < plugins.length; i++) { if (name.equals(plugins[i].getId())) { name += "-feature"; // $NON-NLS-1$ break; } } String task = NLS.bind(MDEUIMessages.FeatureImportWizard_operation_creating2, name); monitor.beginTask(task, 9); try { IProject project = fRoot.getProject(name); if (project.exists() || new File(project.getParent().getLocation().toFile(), name).exists()) { if (queryReplace(project)) { if (!project.exists()) project.create(new SubProgressMonitor(monitor, 1)); project.delete(true, true, new SubProgressMonitor(monitor, 1)); try { RepositoryProvider.unmap(project); } catch (TeamException e) { } } else { return; } } else { monitor.worked(1); } IProjectDescription description = MDEPlugin.getWorkspace().newProjectDescription(name); if (fTargetPath != null) description.setLocation(fTargetPath.append(name)); project.create(description, new SubProgressMonitor(monitor, 1)); if (!project.isOpen()) { project.open(null); } File featureDir = new File(model.getInstallLocation()); importContent( featureDir, project.getFullPath(), FileSystemStructureProvider.INSTANCE, null, new SubProgressMonitor(monitor, 1)); IFolder folder = project.getFolder("META-INF"); // $NON-NLS-1$ if (folder.exists()) { folder.delete(true, null); } if (fBinary) { // Mark this project so that we can show image overlay // using the label decorator project.setPersistentProperty( MDECore.EXTERNAL_PROJECT_PROPERTY, MDECore.BINARY_PROJECT_VALUE); } createBuildProperties(project); setProjectNatures(project, model, monitor); if (project.hasNature(JavaCore.NATURE_ID)) setClasspath(project, model, monitor); } finally { monitor.done(); } }