public boolean performFinish() {
try {
// create projects
final List<IProject> createdProjects = new ArrayList<IProject>();
getContainer().run(false, true, new WorkspaceModifyOperation() {
@Override
protected void execute(IProgressMonitor monitor) throws CoreException, InvocationTargetException,
InterruptedException {
createdProjects.addAll(createProjects(monitor));
}
});
// configure projects
final Projects[] projects = new Projects[1];
getContainer().run(false, true, new WorkspaceModifyOperation() {
@Override
protected void execute(IProgressMonitor monitor) throws CoreException, InvocationTargetException,
InterruptedException {
projects[0] = configureCreatedProjects(createdProjects, monitor);
}
});
// deploy the projects on server
getContainer().run(false, true, new WorkspaceModifyOperation() {
@Override
protected void execute(IProgressMonitor monitor) throws CoreException, InvocationTargetException,
InterruptedException {
deployProjectsOnServer(projects[0], monitor);
}