Exemplo n.º 1
0
  @Override
  public void closeCurrentProject() {
    if (projects.hasCurrentProject()) {
      ProjectImpl currentProject = projects.getCurrentProject();

      // Event
      if (currentProject.getLookup().lookup(WorkspaceProvider.class).hasCurrentWorkspace()) {
        fireWorkspaceEvent(
            EventType.UNSELECT,
            currentProject.getLookup().lookup(WorkspaceProvider.class).getCurrentWorkspace());
      }
      for (Workspace ws :
          currentProject.getLookup().lookup(WorkspaceProviderImpl.class).getWorkspaces()) {
        fireWorkspaceEvent(EventType.CLOSE, ws);
      }

      // Close
      currentProject.getLookup().lookup(ProjectInformationImpl.class).close();
      projects.closeCurrentProject();

      fireWorkspaceEvent(EventType.DISABLE, null);

      // Remove
      projects.removeProject(currentProject);
    }
  }