wlu: refactoring
diff --git a/1.5/plugins/org.eclipse.epf.library.edit/src/org/eclipse/epf/library/edit/util/DescriptorPropUtil.java b/1.5/plugins/org.eclipse.epf.library.edit/src/org/eclipse/epf/library/edit/util/DescriptorPropUtil.java
index c27c01d..245787b 100644
--- a/1.5/plugins/org.eclipse.epf.library.edit/src/org/eclipse/epf/library/edit/util/DescriptorPropUtil.java
+++ b/1.5/plugins/org.eclipse.epf.library.edit/src/org/eclipse/epf/library/edit/util/DescriptorPropUtil.java
@@ -9,6 +9,7 @@
 import org.eclipse.epf.library.edit.command.IActionManager;
 import org.eclipse.epf.uma.Descriptor;
 import org.eclipse.epf.uma.DescriptorDescription;
+import org.eclipse.epf.uma.MethodConfiguration;
 import org.eclipse.epf.uma.MethodElement;
 import org.eclipse.epf.uma.UmaPackage;
 
@@ -532,5 +533,16 @@
 
 	}
 	
+	public boolean isDynamicAndExclude(Object obj, Descriptor desc,
+			EReference ref, MethodConfiguration config) {
+		return LibraryEditUtil.getInstance().isDynamicAndExclude(obj, desc,
+				ref, config);
+	}
+
+	public boolean isDynamic(Object obj, Descriptor desc, EReference ref,
+			MethodConfiguration config) {
+		return LibraryEditUtil.getInstance().isDynamic(obj, desc, ref, config);
+	}
+	
 	
 }
\ No newline at end of file
diff --git a/1.5/plugins/org.eclipse.epf.library.edit/src/org/eclipse/epf/library/edit/util/ILibraryEditUtilProvider.java b/1.5/plugins/org.eclipse.epf.library.edit/src/org/eclipse/epf/library/edit/util/ILibraryEditUtilProvider.java
index 9de03dc..7a67249 100644
--- a/1.5/plugins/org.eclipse.epf.library.edit/src/org/eclipse/epf/library/edit/util/ILibraryEditUtilProvider.java
+++ b/1.5/plugins/org.eclipse.epf.library.edit/src/org/eclipse/epf/library/edit/util/ILibraryEditUtilProvider.java
@@ -1,10 +1,20 @@
 package org.eclipse.epf.library.edit.util;
 
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.epf.uma.Descriptor;
+import org.eclipse.epf.uma.MethodConfiguration;
 import org.eclipse.epf.uma.MethodElement;
 
 public interface ILibraryEditUtilProvider {
 
 	boolean isSynFree();
+
 	MethodElement getMethodElement(String guid);
-	
+
+	boolean isDynamicAndExclude(Object obj, Descriptor desc, EReference ref,
+			MethodConfiguration config);
+
+	boolean isDynamic(Object obj, Descriptor desc, EReference ref,
+			MethodConfiguration config);
+
 }
diff --git a/1.5/plugins/org.eclipse.epf.library.edit/src/org/eclipse/epf/library/edit/util/LibraryEditUtil.java b/1.5/plugins/org.eclipse.epf.library.edit/src/org/eclipse/epf/library/edit/util/LibraryEditUtil.java
index d814322..1019b13 100644
--- a/1.5/plugins/org.eclipse.epf.library.edit/src/org/eclipse/epf/library/edit/util/LibraryEditUtil.java
+++ b/1.5/plugins/org.eclipse.epf.library.edit/src/org/eclipse/epf/library/edit/util/LibraryEditUtil.java
@@ -126,6 +126,16 @@
 		ILibraryEditUtilProvider p = getProvider();				
 		return p == null ? null : p.getMethodElement(guid);
 	}
+	
+	public boolean isDynamicAndExclude(Object obj, Descriptor desc,
+			EReference ref, MethodConfiguration config) {
+		return getProvider().isDynamicAndExclude(obj, desc, ref, config);
+	}
+
+	public boolean isDynamic(Object obj, Descriptor desc, EReference ref,
+			MethodConfiguration config) {
+		return getProvider().isDynamic(obj, desc, ref, config);
+	}
 		
 	public EReference getExcludeFeature(EReference ref) {
 		if (ref == up.getTaskDescriptor_PerformedPrimarilyBy()) {
diff --git a/1.5/plugins/org.eclipse.epf.library/src/org/eclipse/epf/library/util/LibraryEditUtilProvider.java b/1.5/plugins/org.eclipse.epf.library/src/org/eclipse/epf/library/util/LibraryEditUtilProvider.java
index 230bb42..f1ebeae 100644
--- a/1.5/plugins/org.eclipse.epf.library/src/org/eclipse/epf/library/util/LibraryEditUtilProvider.java
+++ b/1.5/plugins/org.eclipse.epf.library/src/org/eclipse/epf/library/util/LibraryEditUtilProvider.java
@@ -1,9 +1,13 @@
 package org.eclipse.epf.library.util;
 
+import org.eclipse.emf.ecore.EReference;
 import org.eclipse.epf.library.ILibraryManager;
 import org.eclipse.epf.library.LibraryService;
+import org.eclipse.epf.library.edit.util.DescriptorPropUtil;
 import org.eclipse.epf.library.edit.util.ILibraryEditUtilProvider;
 import org.eclipse.epf.library.edit.util.MethodLibraryPropUtil;
+import org.eclipse.epf.uma.Descriptor;
+import org.eclipse.epf.uma.MethodConfiguration;
 import org.eclipse.epf.uma.MethodElement;
 import org.eclipse.epf.uma.MethodLibrary;
 
@@ -11,19 +15,40 @@
 
 	public LibraryEditUtilProvider() {		
 	}
-	
+
 	public boolean isSynFree() {
-		MethodLibrary lib = LibraryService.getInstance().getCurrentMethodLibrary();
+		MethodLibrary lib = LibraryService.getInstance()
+				.getCurrentMethodLibrary();
 		if (lib != null) {
-			return MethodLibraryPropUtil.getMethodLibraryPropUtil().isSynFree(lib);
+			return MethodLibraryPropUtil.getMethodLibraryPropUtil().isSynFree(
+					lib);
 		}
-		
+
 		return true;
 	}
 
 	public MethodElement getMethodElement(String guid) {
-		ILibraryManager mgr = LibraryService.getInstance().getCurrentLibraryManager();
+		ILibraryManager mgr = LibraryService.getInstance()
+				.getCurrentLibraryManager();
 		return mgr == null ? null : mgr.getMethodElement(guid);
 	}
+
+	public boolean isDynamicAndExclude(Object obj, Descriptor desc,
+			EReference ref, MethodConfiguration config) {
+		DescriptorPropUtil propUtil = DescriptorPropUtil.getDesciptorPropUtil();
+
+		boolean b = propUtil.isDynamicAndExclude(obj, desc, ref);
+
+		return b;
+	}
+
+	public boolean isDynamic(Object obj, Descriptor desc, EReference ref,
+			MethodConfiguration config) {
+		DescriptorPropUtil propUtil = DescriptorPropUtil.getDesciptorPropUtil();
+
+		boolean b = propUtil.isDynamic(obj, desc, ref);
+
+		return b;
+	}
 	
 }