wlu: handle auto-syn convert file checking
diff --git a/1.5/plugins/org.eclipse.epf.common/src/org/eclipse/epf/common/utils/FileUtil.java b/1.5/plugins/org.eclipse.epf.common/src/org/eclipse/epf/common/utils/FileUtil.java
index 1a34bdb..913082c 100644
--- a/1.5/plugins/org.eclipse.epf.common/src/org/eclipse/epf/common/utils/FileUtil.java
+++ b/1.5/plugins/org.eclipse.epf.common/src/org/eclipse/epf/common/utils/FileUtil.java
@@ -39,7 +39,11 @@
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.core.runtime.Status;
import org.eclipse.epf.common.CommonPlugin;
+import org.osgi.framework.Bundle;
/**
* Utility class for managing directories and files.
@@ -1201,4 +1205,32 @@
out.close();
}
+ public static class FileChecker {
+ public IStatus syncExecCheckModify(List<String> modifiedFiles) {
+ return Status.OK_STATUS;
+ }
+ }
+
+ private static FileChecker fileChecker;
+ public static void loadDeafultFileChecker() {
+ if (fileChecker != null) {
+ return;
+ }
+ Bundle bundle = Platform.getBundle("org.eclipse.epf.import");
+ try {
+ bundle.start();
+ } catch (Exception e) {
+ }
+ }
+ public static void setFileChecker(FileChecker fileChecker) {
+ FileUtil.fileChecker = fileChecker;
+ }
+
+ public static IStatus syncExecCheckModify(List<String> modifiedFiles) {
+ if (fileChecker != null) {
+ return fileChecker.syncExecCheckModify(modifiedFiles);
+ }
+ return Status.OK_STATUS;
+ }
+
}
\ No newline at end of file
diff --git a/1.5/plugins/org.eclipse.epf.import/src/org/eclipse/epf/importing/ImportPlugin.java b/1.5/plugins/org.eclipse.epf.import/src/org/eclipse/epf/importing/ImportPlugin.java
index a93bb85..b02a208 100644
--- a/1.5/plugins/org.eclipse.epf.import/src/org/eclipse/epf/importing/ImportPlugin.java
+++ b/1.5/plugins/org.eclipse.epf.import/src/org/eclipse/epf/importing/ImportPlugin.java
@@ -10,7 +10,13 @@
//------------------------------------------------------------------------------
package org.eclipse.epf.importing;
+import java.util.List;
+
+import org.eclipse.core.runtime.IStatus;
import org.eclipse.epf.common.ui.AbstractPlugin;
+import org.eclipse.epf.common.utils.FileUtil;
+import org.eclipse.epf.common.utils.FileUtil.FileChecker;
+import org.eclipse.epf.importing.services.FileModifyChecker;
import org.osgi.framework.BundleContext;
@@ -38,6 +44,12 @@
*/
public void start(BundleContext context) throws Exception {
super.start(context);
+ FileChecker fileChecker = new FileChecker() {
+ public IStatus syncExecCheckModify(List modifiedFiles) {
+ return FileModifyChecker.syncExecCheckModify(modifiedFiles);
+ }
+ };
+ FileUtil.setFileChecker(fileChecker);
}
/**
diff --git a/1.5/plugins/org.eclipse.epf.library/src/org/eclipse/epf/library/util/SynFreeProcessConverter.java b/1.5/plugins/org.eclipse.epf.library/src/org/eclipse/epf/library/util/SynFreeProcessConverter.java
index dc489e5..c3e99de 100644
--- a/1.5/plugins/org.eclipse.epf.library/src/org/eclipse/epf/library/util/SynFreeProcessConverter.java
+++ b/1.5/plugins/org.eclipse.epf.library/src/org/eclipse/epf/library/util/SynFreeProcessConverter.java
@@ -7,9 +7,11 @@
import java.util.Map;
import java.util.Set;
+import org.eclipse.core.runtime.IStatus;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EReference;
import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.epf.common.utils.FileUtil;
import org.eclipse.epf.library.LibraryPlugin;
import org.eclipse.epf.library.LibraryServiceUtil;
import org.eclipse.epf.library.configuration.ConfigurationHelper;
@@ -499,6 +501,16 @@
.getCurrentPersister().getFailSafePersister();
try {
+ List<String> modifiedFiles = new ArrayList<String>();
+ for (Resource res : resouresToSave) {
+ String path = res.getURI().toFileString();
+ modifiedFiles.add(path);
+ }
+ FileUtil.loadDeafultFileChecker();
+ IStatus status = FileUtil.syncExecCheckModify(modifiedFiles);
+ // To do: check status and handle bad status here.
+ // For now, leave the following catch to handle bad status
+
for (Iterator<Resource> it = resouresToSave.iterator(); it
.hasNext();) {
MultiFileXMIResourceImpl res = (MultiFileXMIResourceImpl) it