| //------------------------------------------------------------------------------ |
| // Copyright (c) 2005, 2006 IBM Corporation and others. |
| // All rights reserved. This program and the accompanying materials |
| // are made available under the terms of the Eclipse Public License v1.0 |
| // which accompanies this distribution, and is available at |
| // http://www.eclipse.org/legal/epl-v10.html |
| // |
| // Contributors: |
| // IBM Corporation - initial implementation |
| //------------------------------------------------------------------------------ |
| package org.eclipse.epf.library.tester.impl.testcommands; |
| |
| import org.eclipse.epf.importing.services.ConfigurationImportService; |
| import org.eclipse.epf.library.tester.iface.TCExeReply; |
| import org.eclipse.epf.library.tester.impl.TestCommandImpl; |
| import org.eclipse.epf.library.tester.impl.TestCommandMgr; |
| import org.eclipse.epf.uma.MethodLibrary; |
| import org.w3c.dom.Element; |
| |
| /** |
| * A test command class |
| * |
| * @author Weiping Lu |
| * @since 1.0 |
| * |
| */ |
| public class TCCompareToLibrary extends TestCommandImpl { |
| |
| public void parse(Element element) { |
| super.parse(element); |
| setAttribute(AT_GoldenLibFolderName, element.getAttribute(AT_GoldenLibFolderName)); |
| setAttribute(AT_DiffCount, element.getAttribute(AT_DiffCount)); |
| setAttribute(AT_ElementCount, element.getAttribute(AT_ElementCount)); |
| setAttribute(AT_UseNameAsId, element.getAttribute(AT_UseNameAsId)); |
| } |
| |
| public TCExeReply execute() { |
| String goldenLibFolderName = getAttribute(AT_GoldenLibFolderName); |
| int diffCount = 0; |
| int elementCount = 0; |
| boolean useNameAsId = false; |
| |
| String str = getAttribute(AT_DiffCount); |
| if (str != null && str.length() > 0) { |
| diffCount = Integer.parseInt(str); |
| } |
| str = getAttribute(AT_ElementCount); |
| if (str != null && str.length() > 0) { |
| elementCount = Integer.parseInt(str); |
| } |
| str = getAttribute(AT_UseNameAsId); |
| if (str != null && str.length() > 0) { |
| useNameAsId = str.equalsIgnoreCase("true"); |
| } |
| |
| TestCommandMgr owner = getOwner(); |
| MethodLibrary goldenLib = owner.loadNonBaseLib(goldenLibFolderName); |
| MethodLibrary curLib = owner.getCurrentBaseLib(); |
| if (useNameAsId) { |
| ConfigurationImportService.fixImportLibrarySystemPackageGUIDs(goldenLib, curLib); |
| } |
| boolean result = owner.compareLibs(goldenLib, curLib, diffCount, elementCount, useNameAsId); |
| return new TCExeReplyImpl("", result); |
| } |
| } |