/**
  * Opens the new project dialog if the workspace is empty. This method is called on {@link
  * #run()}.
  *
  * @param shell the shell to use
  * @return returns <code>true</code> when a project has been created, or <code>false</code> when
  *     the new project has been canceled.
  */
 protected boolean doCreateProjectFirstOnEmptyWorkspace(Shell shell) {
   IWorkspaceRoot workspaceRoot = ResourcesPlugin.getWorkspace().getRoot();
   if (workspaceRoot.getProjects().length == 0) {
     String title = NewWizardMessages.AbstractOpenWizardAction_noproject_title;
     String message = NewWizardMessages.AbstractOpenWizardAction_noproject_message;
     if (MessageDialog.openQuestion(shell, title, message)) {
       new NewProjectAction().run();
       return workspaceRoot.getProjects().length != 0;
     }
     return false;
   }
   return true;
 }
Exemplo n.º 2
0
 /**
  * Opens the new project dialog if the workspace is empty.
  *
  * @param parent the parent shell
  * @return returns <code>true</code> when a project has been created, or <code>false</code> when
  *     the new project has been canceled.
  */
 protected boolean doCreateProjectFirstOnEmptyWorkspace(Shell parent) {
   IWorkspaceRoot workspaceRoot = ResourcesPlugin.getWorkspace().getRoot();
   if (workspaceRoot.getProjects().length == 0) {
     String title = DartUIMessages.OpenTypeAction_dialogTitle;
     String message = DartUIMessages.OpenTypeAction_createProjectFirst;
     if (MessageDialog.openQuestion(parent, title, message)) {
       new NewProjectAction().run();
       return workspaceRoot.getProjects().length != 0;
     }
     return false;
   }
   return true;
 }
  private void refresh(IAction action) {

    action.setEnabled(false);

    IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();

    /*
     *  check whether there is at least one disconnected ispyb project
     *  in order to enable the sweep icat button
     */
    IProject[] projectsList = root.getProjects();
    for (int count = 0; count < projectsList.length; count++) {

      IProject currentProject = ((IProject) projectsList[count]);

      boolean isDiscICATProject = false;
      try {
        isDiscICATProject = currentProject.hasNature(DISC_ICAT_NATURE);
      } catch (CoreException e) {
        logger.error("problem retrieving project nature");
      }

      if (isDiscICATProject) {
        action.setEnabled(true);
        break;
      }
    }
  }
Exemplo n.º 4
0
  private void cleanupWorkspace() throws CoreException {

    // TODO: close all open projects
    IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
    for (IProject p : root.getProjects()) {
      p.delete(true, new NullProgressMonitor());
    }
  }
  public Map<String, IProject> getProjectMap() {
    IWorkspaceRoot wsRoot = ResourcesPlugin.getWorkspace().getRoot();
    IProject[] projects = wsRoot.getProjects();
    HashMap<String, IProject> projectMap = new HashMap<String, IProject>();
    for (IProject project : projects) {
      projectMap.put(project.getName(), project);
    }

    return projectMap;
  }
Exemplo n.º 6
0
 private static void cleanWorkspace() throws Exception {
   final List<ISonarServer> hosts = new ArrayList<ISonarServer>();
   hosts.addAll(SonarCorePlugin.getServersManager().getServers());
   for (final ISonarServer host : hosts) {
     SonarCorePlugin.getServersManager().removeServer(host.getUrl());
   }
   final IWorkspaceRoot root = workspace.getRoot();
   for (final IProject project : root.getProjects()) {
     project.delete(true, true, MONITOR);
   }
 }
Exemplo n.º 7
0
 /**
  * @return all the python natures available in the workspace (for opened and existing projects)
  */
 public static List<IPythonNature> getAllPythonNatures() {
   List<IPythonNature> natures = new ArrayList<IPythonNature>();
   IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
   IProject[] projects = root.getProjects();
   for (IProject project : projects) {
     PythonNature nature = getPythonNature(project);
     if (nature != null) {
       natures.add(nature);
     }
   }
   return natures;
 }
  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;
  }
Exemplo n.º 9
0
  private void cleanupWorkspace() throws CoreException {
    IWorkbenchWindow w = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
    for (IWorkbenchPage p : w.getPages()) {
      p.closeAllEditors(true);
    }

    // TODO: close all open projects
    IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
    for (IProject p : root.getProjects()) {
      p.delete(true, new NullProgressMonitor());
    }
  }
 /*
  * @see org.eclipse.cdt.internal.ui.BaseCElementContentProvider#getChildren(java.lang.Object)
  */
 @Override
 public Object[] getChildren(Object element) {
   if (element instanceof IWorkspaceRoot) {
     IWorkspaceRoot root = (IWorkspaceRoot) element;
     IProject[] projects = root.getProjects();
     List<ICProject> list = new ArrayList<ICProject>(projects.length);
     for (int i = 0; i < projects.length; i++) {
       if (CoreModel.hasCNature(projects[i])) {
         list.add(CoreModel.getDefault().create(projects[i]));
       }
     }
     return list.toArray();
   }
   return super.getChildren(element);
 }
Exemplo n.º 11
0
 private static ISourceProject findProject(String projectName) {
   IWorkspace workspace = ResourcesPlugin.getWorkspace();
   IWorkspaceRoot root = workspace.getRoot();
   IProject[] projects = root.getProjects();
   for (IProject project : projects) {
     if (project.getLocation().toPortableString().equals(projectName)) {
       try {
         return ModelFactory.open(project);
       } catch (ModelFactory.ModelException e) {
         return null;
       }
     }
   }
   return null;
 }
Exemplo n.º 12
0
  public static List<IPythonNature> getPythonNaturesRelatedTo(int relatedTo) {
    ArrayList<IPythonNature> ret = new ArrayList<IPythonNature>();
    IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
    IProject[] projects = root.getProjects();
    for (IProject project : projects) {
      PythonNature nature = getPythonNature(project);
      try {
        if (nature != null) {
          if (nature.getInterpreterType() == relatedTo) {
            ret.add(nature);
          }
        }
      } catch (CoreException e) {
        throw new RuntimeException(e);
      }
    }

    return ret;
  }
 /**
  * Method returns array of project names which are open and has windows azure nature.
  *
  * @return String[]
  */
 private String[] getProjects() {
   IWorkspace workspace = ResourcesPlugin.getWorkspace();
   IWorkspaceRoot root = workspace.getRoot();
   String[] projects = null;
   ArrayList<String> projList = new ArrayList<String>();
   try {
     for (IProject wRoot : root.getProjects()) {
       if (wRoot.isOpen() && !wRoot.hasNature(Messages.waProjNature)) {
         projList.add(wRoot.getProject().getName());
       }
     }
     projects = new String[projList.size()];
     projects = projList.toArray(projects);
   } catch (Exception e) {
     PluginUtil.displayErrorDialogAndLog(
         this.getShell(), Messages.projSelTtl, Messages.projSelMsg, e);
   }
   return projects;
 }
  private static IFile[] getAllProjectsFileResources() {
    // Collect all IResources within all IProjects

    final FileResourceCollectorVisitor visitor = new FileResourceCollectorVisitor();
    final IWorkspace workSpace = getWorkspace();
    if (workSpace != null && workSpace.getRoot() != null) {
      final IWorkspaceRoot wsRoot = workSpace.getRoot();
      final IProject[] projects = wsRoot.getProjects();
      for (final IProject project : projects)
        if (project.isOpen())
          try {
            project.accept(visitor);
          } catch (final CoreException e) {
            // do nothing
            ModelerCore.Util.log(e);
          }
    }

    return visitor.getFileResources();
  }
  @Override
  public void run(IAction action) {

    logger.debug("delete all disconnected ICATs ...");

    /*
     * delete closed icat connections projects
     */
    IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();

    // get list of existing icat projects
    IProject[] projectsList = root.getProjects();
    for (int count = 0; count < projectsList.length; count++) {

      IProject currentProject = ((IProject) projectsList[count]);

      boolean isDiscICATProject = false;
      try {
        isDiscICATProject = currentProject.hasNature(DISC_ICAT_NATURE);
      } catch (CoreException e) {
        logger.error("problem retrieving project nature");
      }

      if (isDiscICATProject) {

        /*
         * delete disconnected ICAT from project explorer view
         */
        try {
          currentProject.delete(true, true, null);
        } catch (CoreException e) {
          logger.error("problem deleting project: " + currentProject.getName());
        }
        logger.debug("project deleted: " + currentProject.getName());
      }
    }

    refresh(action);
  }
 /**
  * This method finds the project in workspace.
  *
  * @param path : import path
  * @return : matched project
  */
 public static IProject findProjectFromWorkSpace(String path) {
   IWorkspace workspace = ResourcesPlugin.getWorkspace();
   IWorkspaceRoot root = workspace.getRoot();
   IProject project = null;
   ArrayList<IProject> projList = new ArrayList<IProject>();
   try {
     for (IProject wRoot : root.getProjects()) {
       if (wRoot.isOpen() && !wRoot.hasNature(Messages.stUpProjNature)) {
         projList.add(wRoot);
       }
     }
     IProject[] arr = new IProject[projList.size()];
     arr = projList.toArray(arr);
     for (int i = 0; i < arr.length; i++) {
       if (arr[i].getLocation().toOSString().equalsIgnoreCase(path)) {
         project = arr[i];
       }
     }
   } catch (Exception e) {
     PluginUtil.displayErrorDialogAndLog(new Shell(), Messages.prjSelErr, Messages.prjSelMsg, e);
   }
   return project;
 }