wlu: con dev
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 7b6b785..e669b20 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
@@ -14,6 +14,8 @@
import org.eclipse.epf.library.configuration.ElementRealizer;
import org.eclipse.epf.library.edit.util.DescriptorPropUtil;
import org.eclipse.epf.library.edit.util.LibraryEditUtil;
+import org.eclipse.epf.library.edit.util.MethodLibraryPropUtil;
+import org.eclipse.epf.library.edit.util.MethodPluginPropUtil;
import org.eclipse.epf.library.edit.util.ProcessPropUtil;
import org.eclipse.epf.persistence.MultiFileXMIResourceImpl;
import org.eclipse.epf.services.ILibraryPersister;
@@ -68,6 +70,18 @@
}
public void convertLibrary(MethodLibrary lib, boolean toSave) {
+ if (debug) {
+ System.out.println("LD> Begin convertLibrary: " + lib);
+ System.out.println("");
+ }
+ convertLibrary_(lib, toSave);
+ if (debug) {
+ System.out.println("LD> End convertLibrary: " + lib);
+ System.out.println("");
+ }
+ }
+
+ private void convertLibrary_(MethodLibrary lib, boolean toSave) {
if (lib == null) {
return;
}
@@ -79,7 +93,11 @@
for (int i = 0; i < plugins.size(); i++) {
convertPlugin(plugins.get(i), false);
}
+
+ MethodLibraryPropUtil propUtil = MethodLibraryPropUtil.getMethodLibraryPropUtil();
+ propUtil.setSynFree(lib, true);
if (toSave) {
+ resouresToSave.add(lib.eResource());
save();
}
}
@@ -99,6 +117,9 @@
for (Process proc : processes) {
convertProcess(proc, false);
}
+
+ MethodPluginPropUtil propUtil = MethodPluginPropUtil.getMethodPluginPropUtil();
+ propUtil.setSynFree(plugin, true);
if (toSave) {
save();
}
@@ -241,6 +262,8 @@
private void convertManyEReference(Descriptor ownerDescriptor, MethodElement ownerLinkedElement,
EReference dFeature, EReference dFeatureExclude, EReference efeature) {
+ DescriptorPropUtil propUtil = DescriptorPropUtil.getDesciptorPropUtil();
+
List<MethodElement> elements = ConfigurationHelper.calc0nFeatureValue(
ownerLinkedElement, efeature, getRealizer());
@@ -263,7 +286,9 @@
localList.add(des);
} else {
linkedElementSet.add(linkedElement);
- if (! elements.contains(linkedElement)) {
+ if (elements.contains(linkedElement)) {
+ propUtil.setCreatedByReference(des, true);
+ } else {
localList.add(des);
}
}
@@ -278,9 +303,8 @@
}
//Handle localList
- DescriptorPropUtil descriptorPropUtil = DescriptorPropUtil.getDesciptorPropUtil();
for (Descriptor des : localList) {
- descriptorPropUtil.addLocalUse(des, ownerDescriptor, dFeature);
+ propUtil.addLocalUse(des, ownerDescriptor, dFeature);
}
}