wlu: lib migration code
diff --git a/plugins/org.eclipse.epf.library.persistence/src/org/eclipse/epf/persistence/migration/MappingUtil.java b/plugins/org.eclipse.epf.library.persistence/src/org/eclipse/epf/persistence/migration/MappingUtil.java
index 30ba260..0f8e41f 100755
--- a/plugins/org.eclipse.epf.library.persistence/src/org/eclipse/epf/persistence/migration/MappingUtil.java
+++ b/plugins/org.eclipse.epf.library.persistence/src/org/eclipse/epf/persistence/migration/MappingUtil.java
@@ -58,8 +58,10 @@
 		}
 	}
 
+	private final static boolean localDebug = false;
 	private static Map migrators;
 	private static Set oldNsUris = new HashSet();
+	private static Map<String, String> adjustedLibNsURIMap = new HashMap<String,String>();
 
 	public static final IMigrator getMigrator(String libNsURI) {
 		if (migrators == null) {
@@ -120,6 +122,7 @@
 			VersionUtil.VersionCheckInfo info) {
 		String currentNsURI = PersistenceUtil.getUMANsURI();
 		String libNsURI = PersistenceUtil.getUMANsURI(libPath);
+		libNsURI = getAdjustedLibNsURI(libNsURI, info);
 
 		if (oldNsUris.contains(libNsURI)) {
 			return true;
@@ -134,21 +137,38 @@
 		return ret;
 	}
 	
-	private static String getAdjustedLibNsURI(String libNsURI) {
+	//This is an ugly piece, but we need it for migrating EPF 1.1.0
+	private static String getAdjustedLibNsURI(String libNsURI, VersionUtil.VersionCheckInfo info) {
+		String ret = getAdjustedLibNsURI_(libNsURI, info);
+		if (ret != libNsURI) {
+			if (localDebug) {
+				System.out.println("LD> libNsURI: " + libNsURI);	//$NON-NLS-1$ 
+				System.out.println("LD> adjustedLibNsURI: " + ret);	//$NON-NLS-1$
+			}
+			adjustedLibNsURIMap.put(libNsURI, ret);
+		}
+		return ret;
+	}
+	private static String getAdjustedLibNsURI_(String libNsURI, VersionUtil.VersionCheckInfo info) {
 		String currentNsURI = PersistenceUtil.getUMANsURI();
 		if (! currentNsURI.equals(libNsURI)) {
 			return libNsURI;
 		} else if (! libNsURI.equals("http://www.eclipse.org/epf/uma/1.0.4/uma.ecore")) { //$NON-NLS-1$ 
 			return libNsURI;
 		}
-		EPFVersions epfVersions = VersionUtil.getVersions(EPFVersions.TOOL_ID);
-		
+		if (info.toolVersion.equals(info.currentMinToolVersion)) {
+			return libNsURI;
+		}
 		return "http://www.eclipse.org/epf/uma/1.0.3/uma.ecore";	//$NON-NLS-1$ 
 	}
 
 	public static void migrate(String libPath, IProgressMonitor monitor, UpgradeCallerInfo info)
 			throws Exception {
 		String nsURI = PersistenceUtil.getUMANsURI(libPath);
+		String adjustedLibNsURI = adjustedLibNsURIMap.get(nsURI);
+		if (adjustedLibNsURI != null) {
+			nsURI = adjustedLibNsURI;
+		}
 		IMigrator migrator = getMigrator(nsURI);
 		if (migrator != null) {
 			migrator.migrate(libPath, monitor, info);