use of net.heartsome.cat.ts.core.file.ProjectConfigerUtil in project translationstudio8 by heartsome.
the class ImportProjectWizardPage2 method createProjects.
/**
* 创建项目
* @return
*/
public boolean createProjects(IProgressMonitor monitor) {
if (monitor == null) {
monitor = new NullProgressMonitor();
}
Display.getDefault().syncExec(new Runnable() {
public void run() {
for (ProjectResource projRoot : rootProjectArray) {
if (selectElementTree.getChecked(projRoot)) {
totalWorkSum++;
}
}
}
});
monitor.beginTask(Messages.getString("importProjectWizardPage.beginImportProj"), totalWorkSum);
Display.getDefault().syncExec(new Runnable() {
public void run() {
openedIfileMap = getAllOpenedIFile();
}
});
try {
// 一个项目一个项目的进行相关处理
for (final ProjectResource projRoot : rootProjectArray) {
// 如果当前项目未被选择。跳过继续执行
runContinue = false;
Display.getDefault().syncExec(new Runnable() {
public void run() {
if (!selectElementTree.getChecked(projRoot)) {
runContinue = true;
}
}
});
if (runContinue) {
continue;
}
monitor.setTaskName(MessageFormat.format(Messages.getString("importProjectWizardPage.beginImportProjName"), new Object[] { projRoot.getProjectName() }));
final IProject newProject = root.getProject(projRoot.getProjectName());
if (!projRoot.isProjectRepeat()) {
// 创建项目
newProject.create(null);
if (!newProject.isOpen()) {
newProject.open(null);
}
}
IFile configIFile = newProject.getFile(Constant.FILE_CONFIG);
ProjectConfigerUtil configUtil = null;
if (configIFile.exists()) {
configUtil = new ProjectConfigerUtil(newProject);
configUtil.setDbMementos();
configUtil.clearConfig();
}
final StringBuilder sb = new StringBuilder();
try {
Display.getDefault().syncExec(new Runnable() {
public void run() {
try {
createProjectImpl(projRoot, newProject);
} catch (Exception e) {
sb.append(Messages.getString("importProjectWizardPage.importFail"));
LOGGER.error("", e);
}
}
});
} finally {
if (null != configUtil) {
configUtil.restoreMementos();
}
if (!sb.toString().isEmpty()) {
monitor.done();
Display.getDefault().syncExec(new Runnable() {
public void run() {
MessageDialog.openWarning(getShell(), Messages.getString("importProject.all.dialog.warning"), Messages.getString("importProjectWizardPage.importFail"));
}
});
return false;
}
}
createConfigFile(projRoot, newProject);
createRequireFolder(newProject);
resetConfigContent(newProject);
monitor.worked(1);
}
} catch (Exception e) {
e.printStackTrace();
monitor.done();
Display.getDefault().syncExec(new Runnable() {
public void run() {
MessageDialog.openWarning(getShell(), Messages.getString("importProject.all.dialog.warning"), Messages.getString("importProjectWizardPage.importFail"));
}
});
LOGGER.error(Messages.getString("importProjectWizardPage.LOGG.importEroor"), e);
// disposeImg();
return false;
}
disposeImg();
monitor.done();
Display.getDefault().syncExec(new Runnable() {
public void run() {
MessageDialog.openInformation(getShell(), Messages.getString("importProject.all.dialog.info"), Messages.getString("importProjectWizardPage.importSuccess"));
}
});
return true;
}
Aggregations