/** Fixes the imported library's system package guids with those base's. */ public static void fixImportLibrarySystemPackageGUIDs( MethodLibrary baseLibrary, MethodLibrary importLibraty) { HashMap pluginsMap = new HashMap(); List plugins = baseLibrary.getMethodPlugins(); for (int i = 0; i < plugins.size(); i++) { MethodPlugin plugin = (MethodPlugin) plugins.get(i); pluginsMap.put(plugin.getGuid(), plugin); } if (pluginsMap.isEmpty()) { return; } List importPluginsToFix = new ArrayList(); List importPlugins = importLibraty.getMethodPlugins(); for (int i = 0; i < importPlugins.size(); i++) { MethodPlugin plugin = (MethodPlugin) importPlugins.get(i); if (pluginsMap.containsKey(plugin.getGuid())) { importPluginsToFix.add(plugin); } } for (int i = 0; i < importPluginsToFix.size(); i++) { MethodPlugin importPlugin = (MethodPlugin) importPluginsToFix.get(i); MethodPlugin basePlugin = (MethodPlugin) pluginsMap.get(importPlugin.getGuid()); if (basePlugin == null) { continue; } List importPackages = TngUtil.getAllSystemPackages(importPlugin); HashMap importPackageMap = new HashMap(); for (int j = 0; j < importPackages.size(); j++) { MethodElement importPackage = (MethodElement) importPackages.get(j); importPackageMap.put(importPackage.getName(), importPackage); } List basePackages = TngUtil.getAllSystemPackages(basePlugin); for (int j = 0; j < basePackages.size(); j++) { MethodElement basePackage = (MethodElement) basePackages.get(j); MethodElement importPackage = (MethodElement) importPackageMap.get(basePackage.getName()); if (importPackage == null) { continue; } String guid = basePackage.getGuid(); if (!importPackage.getGuid().equals(guid)) { importPackage.setGuid(guid); } } } }