private static boolean isJ2SEProject(File dir) { FileObject projdir = FileUtil.toFileObject(FileUtil.normalizeFile(dir)); try { Project proj = ProjectManager.getDefault().findProject(projdir); if (proj != null) { // Check if it is a J2SEProject. return proj.getLookup().lookup(J2SEProject.class) != null; } } catch (IOException e) { ErrorManager.getDefault().notify(ErrorManager.INFORMATIONAL, e); } return false; }
public void run() throws IOException { h[0] = createProject(dirFO, name, "src", "test", mainClass, manifestFile, manifestFile == null, librariesDefinition); //NOI18N final J2SEProject p = (J2SEProject) ProjectManager.getDefault().findProject(dirFO); ProjectManager.getDefault().saveProject(p); final ReferenceHelper refHelper = p.getReferenceHelper(); try { ProjectManager.mutex().writeAccess(new Mutex.ExceptionAction<Void>() { public Void run() throws Exception { copyRequiredLibraries(h[0], refHelper); return null; } }); } catch (MutexException ex) { Exceptions.printStackTrace(ex.getException()); } FileObject srcFolder = dirFO.createFolder("src"); // NOI18N dirFO.createFolder("test"); // NOI18N if ( mainClass != null ) { createMainClass( mainClass, srcFolder ); } } });
public static String getProjectName( final File root ) { if(root == null || !root.isDirectory()) return null; final ProjectManager projectManager = ProjectManager.getDefault(); FileObject rootFileObj = FileUtil.toFileObject(FileUtil.normalizeFile(root)); // This can happen if the root is "ssh://<something>" if (rootFileObj == null || projectManager == null) { return null; } String res = null; if (projectManager.isProject(rootFileObj)){ try { Project prj = projectManager.findProject(rootFileObj); res = getProjectName(prj); } catch (Exception ex) { Mercurial.LOG.log(Level.FINE, "getProjectName() file: {0} {1}", new Object[] {rootFileObj.getPath(), ex.toString()}); // NOI18N }finally{ return res; } }else{ return res; } }
private Project getProject(FileObject fo) { FileObject f = fo; while (f != null) { f = f.getParent(); if (f != null && ProjectManager.getDefault().isProject(f)) { break; } } if (f != null) { try { return ProjectManager.getDefault().findProject(f); } catch (IOException | IllegalArgumentException ex) { } } return null; }
@Override public void run() { try { ProjectManager.getDefault().saveProject(p); } catch (IOException ex) { Exceptions.printStackTrace(ex); } catch (IllegalArgumentException ex) { Exceptions.printStackTrace(ex); } } });
public void save() { try { // store properties ProjectManager.mutex().writeAccess(new Mutex.ExceptionAction<Void>() { public Void run() throws IOException { saveProperties(); return null; } }); ProjectManager.getDefault().saveProject(project); } catch (MutexException e) { Exceptions.printStackTrace((IOException) e.getException()); } catch (IOException ex) { Exceptions.printStackTrace(ex); } }
handle.start(4); Set<FileObject> resultSet = new LinkedHashSet<>(); File fDir = FileUtil.normalizeFile((File) wiz.getProperty("projdir")); fDir.mkdirs(); handle.progress(1); FileObject foDir = FileUtil.toFileObject(fDir); FileObject template = URLMapper.findFileObject(getClass().getResource("BasicSpringbootProject.zip")); unZipFile(template.getInputStream(), foDir); handle.progress(2); ProjectManager.getDefault().clearNonProjectCache(); final FileObject foPom = foDir.getFileObject("pom.xml"); if (foPom != null) { resultSet.add(foPom); Project prj = ProjectManager.getDefault().findProject(foDir); if (prj != null) { final NbMavenProject mvn = prj.getLookup().lookup(NbMavenProject.class); if (mvn != null) { mvn.downloadDependencyAndJavadocSource(false);
handle.start(4); handle.progress(1); final File dirF = FileUtil.normalizeFile((File) wiz.getProperty("projdir")); //NOI18N final File parent = dirF.getParentFile(); if (parent != null && parent.exists()) { ArchetypeNGProjectCreator customCreator = Lookup.getDefault().lookup(ArchetypeNGProjectCreator.class); if (customCreator != null && archetype.archetypeNg) { customCreator.runArchetype(dirF.getParentFile(), wiz); FileObject fDir = FileUtil.toFileObject(dirF); if (fDir != null) { addJavaRootFolders(fDir); Enumeration e = fDir.getFolders(true); while (e.hasMoreElements()) { FileObject subfolder = (FileObject) e.nextElement(); if (ProjectManager.getDefault().isProject(subfolder)) { resultSet.add(subfolder); addJavaRootFolders(subfolder); Project prj = ProjectManager.getDefault().findProject(fDir); if (prj != null) { prj.getLookup().lookup(ProjectURLWatcher.class).triggerDependencyDownload();
static void extendBuildXml(Project proj, String target) throws IOException { FileObject projDir = proj.getProjectDirectory(); final FileObject buildXmlFO = projDir.getFileObject("build.xml"); // NOI18N if (null == buildXmlFO) { File buildXmlFile = FileUtil.toFile(buildXmlFO); try { XMLUtil.parse(new InputSource(buildXmlFile.toURI().toString()), false, true, null, null); FileObject jnlpBuildFile = projDir.getFileObject("nbproject/extendArchiveGF.xml"); // NOI18N AntBuildExtender extender = proj.getLookup().lookup(AntBuildExtender.class); if (extender != null) { if (extender.getExtension("gfarchiveextend") == null) { // NOI18N ext.addDependency(target, "-extend-archive"); // NOI18N ProjectManager.getDefault().saveProject(proj); } else { Logger.getLogger(BuildExtension.class.getName()).log(Level.FINER,
public void rerun() { if (scriptFile.getName().equals(JUNIT_CUSTOM_FILENAME + ".xml")){ //NOI18N try { runAnt(FileUtil.toFileObject(scriptFile), targets, properties); } catch (IOException ex) { Exceptions.printStackTrace(ex); properties.setProperty("nb.wait.for.caches", "true"); //NOI18N properties.setProperty("nb.internal.action.name", ActionProvider.COMMAND_TEST); //NOI18N runAnt(FileUtil.toFileObject(scriptFile), targets, properties); } catch (IOException ex) { Exceptions.printStackTrace(ex); if(ProjectManager.getDefault().isValid(project)) { ActionProvider actionProvider = project.getLookup().lookup(ActionProvider.class); if (actionProvider != null) { if (Arrays.asList(actionProvider.getSupportedActions()).contains(targets[0])
public Set/*<FileObject>*/ instantiate(/*ProgressHandle handle*/) throws IOException { Set<FileObject> resultSet = new LinkedHashSet<FileObject>(); File dirF = FileUtil.normalizeFile((File) wiz.getProperty("projdir")); dirF.mkdirs(); FileObject template = Templates.getTemplate(wiz); FileObject dir = FileUtil.toFileObject(dirF); unZipFile(template.getInputStream(), dir); // Always open top dir as a project: resultSet.add(dir); // Look for nested projects to open as well: Enumeration<? extends FileObject> e = dir.getFolders(true); while (e.hasMoreElements()) { FileObject subfolder = e.nextElement(); if (ProjectManager.getDefault().isProject(subfolder)) { resultSet.add(subfolder); } } File parent = dirF.getParentFile(); if (parent != null && parent.exists()) { ProjectChooser.setProjectsFolder(parent); } return resultSet; }
private void checkParentProject(FileObject projectDir, boolean delete, String newName, String oldName) throws IOException { String prjLoc = projectDir.getNameExt(); FileObject fo = projectDir.getParent(); Project possibleParent = ProjectManager.getDefault().findProject(fo); if (possibleParent != null) { NbMavenProject par = possibleParent.getLookup().lookup(NbMavenProject.class); if (par != null) { FileObject pomFO = par.getProjectDirectory().getFileObject("pom.xml"); //NOI18N Model mdl = WriterUtils.loadModel(pomFO); MavenProject prj = par.getOriginalMavenProject(); if ((prj.getModules() != null && prj.getModules().contains(prjLoc)) == delete) { //delete/add module from/to parent.. if (delete) { mdl.removeModule(prjLoc); } else { mdl.addModule(prjLoc); } } if (newName != null && oldName != null) { if (oldName.equals(mdl.getArtifactId())) { // is this condition necessary.. why not just overwrite the artifactID always.. mdl.setArtifactId(newName); } } WriterUtils.writePomModel(pomFO, mdl); } } }
FileObject dirFO = FileUtil.createFolder(dir); RakeProjectHelper helper = createBasicProjectMetadata(dirFO, prjName, "lib", "test", "spec", mainClass, platform); // NOI18N Project project = ProjectManager.getDefault().findProject(dirFO); ProjectManager.getDefault().saveProject(project); FileObject srcFolder = dirFO.createFolder("lib"); // NOI18N dirFO.createFolder("test"); // NOI18N dirFO.createFolder("spec"); // NOI18N if (mainClass != null) { createFromTemplate(mainClass, srcFolder, "Templates/Ruby/main.rb"); // NOI18N RubyBaseProject baseProject = project.getLookup().lookup(RubyBaseProject.class); FileObject[] roots = baseProject.getSourceRootFiles(); for (int i = 0; i < roots.length; i++) {
public static void unregisterConvertorProject(@NonNull final Project project) { Parameters.notNull("project", project); if (!ProjectManager.mutex().isWriteAccess()) { throw new IllegalStateException("Requires a write access on the ProjectManager's mutex"); //NOI18N } final ConvertorProject cp = project.getLookup().lookup(ConvertorProject.class); if (cp == null) { throw new IllegalArgumentException(String.format( "The project: %s located in: %s of type: %s is not a convertor project.", //NOI18N ProjectUtils.getInformation(project).getDisplayName(), FileUtil.getFileDisplayName(project.getProjectDirectory()), project.getClass().getName() )); } cp.projectState.notifyDeleted(); }
boolean originalOK = true; Project main = OpenProjects.getDefault().getMainProject(); boolean wasMain = main != null && project.getProjectDirectory().equals(main.getProjectDirectory()); Project nue = null; try { ProjectManager.getDefault().clearNonProjectCache(); nue = ProjectManager.getDefault().findProject(projectDirectory); assert nue != null; originalOK = false; handle.progress(++currentWorkDone); operations = nue.getLookup().lookupAll(MoveOperationImplementation.class); for (MoveOperationImplementation o : operations) { o.notifyMoved(project, projectDirectoryFile, nueName); ProjectManager.getDefault().saveProject(project); ProjectManager.getDefault().saveProject(nue); open(nue, wasMain); handle.progress(++currentWorkDone); open(nue, wasMain); Exceptions.attachLocalizedMessage(e, NbBundle.getMessage(DefaultProjectOperationsImplementation.class, "ERR_Cannot_Rename", e.getLocalizedMessage())); throw e;
private void fixupMasterLinks(MakeConfiguration makeConf) { FileObject projectDirFO = getBaseFSPath().getFileObject(); Project project = null; try { if (projectDirFO != null && projectDirFO.isValid()) { project = ProjectManager.getDefault().findProject(projectDirFO); } } catch (IOException ioe) { // Error return; } if (project == null) { return; // IZ 172628 (basedir is a valid directory but doesn't contain a project!) } ConfigurationDescriptorProvider pdp = project.getLookup().lookup(ConfigurationDescriptorProvider.class); if (!pdp.gotDescriptor()) { return; } MakeConfigurationDescriptor makeConfigurationDescriptor = pdp.getConfigurationDescriptor(); Folder root = makeConfigurationDescriptor.getLogicalFolders(); fixupFolderItemLinks(makeConf, root, makeConf.getCCompilerConfiguration(), makeConf.getCCCompilerConfiguration()); }
FileObject target = newTarget.createFolder(nueName); FileObject projectDirectory = project.getProjectDirectory(); List<FileObject> toCopyList = new ArrayList<FileObject>(); for (FileObject child : projectDirectory.getChildren()) { if (child.isValid()) { toCopyList.add(child); ProjectManager.getDefault().clearNonProjectCache(); Project nue = ProjectManager.getDefault().findProject(target); ProjectOperations.notifyCopied(project, nue, FileUtil.toFile(project.getProjectDirectory()), nueName); ProjectManager.getDefault().saveProject(nue); handle.finish(); } catch (Exception e) { Exceptions.attachLocalizedMessage(e, NbBundle.getMessage(DefaultProjectOperationsImplementation.class, "ERR_Cannot_Move", e.getLocalizedMessage())); throw e;
/** * Check whether the given folder is already a project. * @param folder folder to be checked * @return {@code true} if the given folder is already a project, {@code false} otherwise */ public static boolean isProject(File folder) { Project prj = null; boolean foundButBroken = false; try { prj = ProjectManager.getDefault().findProject(FileUtil.toFileObject(FileUtil.normalizeFile(folder))); } catch (IOException ex) { foundButBroken = true; } catch (IllegalArgumentException ex) { // noop } return prj != null || foundButBroken; }
public void taskFinished(Task task) { FileObject fo = FileUtil.toFileObject(rc.getExecutionDirectory()); if (fo != null) { try { Project prj = ProjectManager.getDefault().findProject(fo); if (prj != null) { OpenProjects.getDefault().open(new Project[] {prj}, false); } } catch (IOException ex) { Exceptions.printStackTrace(ex); } catch (IllegalArgumentException ex) { Exceptions.printStackTrace(ex); } } } });
/** * Getter fot NB Project * @return */ public Project getProject() { try { final FileObject fo = URLMapper.findFileObject(url); if (fo==null) { return null; } Project project = ProjectManager.getDefault().findProject(fo); if (project==null) Logger.getLogger(NbProjectHandleImpl.class.getName()).severe("Cannot find project for " + fo.getPath()); // NOI18N return project; } catch (IOException ex) { Logger.getLogger(NbProjectHandleImpl.class.getName()).log(Level.INFO, ex.getMessage(), ex); remove(); } catch (IllegalArgumentException ex) { Exceptions.printStackTrace(ex); } return null; }