protected static void tempSaveServer(TaskModel taskModel, IProgressMonitor monitor) throws CoreException {
IServer server = (IServer) taskModel.getObject(TaskModel.TASK_SERVER);
if (server != null && server instanceof IServerWorkingCopy) {
IServerWorkingCopy workingCopy = (IServerWorkingCopy) server;
if (!workingCopy.isDirty())
return;
IFile file = ((Server)workingCopy).getFile();
if (file != null) {
IProject project = file.getProject();
if (!file.getProject().exists())
EclipseUtil.createNewServerProject(null, project.getName(), null, monitor);
ProjectProperties pp = ServerPlugin.getProjectProperties(project);
if (!pp.isServerProject())
pp.setServerProject(true, monitor);
}
IRuntime runtime = workingCopy.getRuntime();
server = workingCopy.save(false, monitor);
workingCopy = server.createWorkingCopy();
workingCopy.setRuntime(runtime);
if (workingCopy.getServerType().hasServerConfiguration())
((ServerWorkingCopy)workingCopy).importRuntimeConfiguration(runtime, null);
taskModel.putObject(TaskModel.TASK_SERVER, workingCopy);
}
}