package com.vci.client.bof; import java.util.ArrayList; import java.util.List; import junit.framework.Assert; import org.junit.After; import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; import com.vci.client.LogonApplication; import com.vci.client.common.objects.UserEntityObject; import com.vci.corba.common.VCIError; import com.vci.corba.omd.data.AttributeValue; /** * 提供两套接口:单条和批量 * @author Administrator * */ public class LOFClientTest { @BeforeClass public static void setUpBeforeClass() throws Exception { } @AfterClass public static void tearDownAfterClass() throws Exception { } @Before public void setUp() throws Exception { UserEntityObject ueo = new UserEntityObject(); ueo.setIp("192.168.0.50"); ueo.setUserName("eddieliu"); LogonApplication.userEntityObject = ueo; } @After public void tearDown() throws Exception { } @Test public void testCreateLinkObject() throws VCIError { ClientBusinessObjectOperation operation = new ClientBusinessObjectOperation(); ClientBusinessObject from = operation.createBusinessObject("ChangeClsf"); from.setName("vcitest"); from.setDescription("ttt"); from.setAttributeValue("changeadvice", "advice1"); from.setAttributeValue("changeclsf", "Add SubTask"); from.setAttributeValue("planstartdate", String.valueOf(System.currentTimeMillis())); from.setAttributeValue("planenddate", String.valueOf(System.currentTimeMillis())); from.setAttributeValue("planreqstartdate", String.valueOf(System.currentTimeMillis())); from.setAttributeValue("planreqenddate", String.valueOf(System.currentTimeMillis())); ClientBusinessObject to = operation.createBusinessObject("test"); to.setName("vcitest"); to.setDescription("ttt"); from.setAttributeValue("changeadvice", "advice2"); from.setAttributeValue("changeclsf", "Add SubTask"); ClientLinkObjectOperation cloperation = new ClientLinkObjectOperation(); ClientLinkObject lo = cloperation.createLinkObject("linktypea"); lo.setFromBO(from); lo.setToBO(to); lo.setAttributeValue("changeadvice", "advice3"); lo.setAttributeValue("changeclsf", "Add SubTask"); ClientBusinessObject[] cbos = new ClientBusinessObject[2]; cbos[0] = from; cbos[1] = to; boolean rs = cloperation.saveLinkObject(cbos, lo); Assert.assertTrue(rs); } @Test public void testCreateSingleLink() throws VCIError { ClientLinkObjectOperation cloperation = new ClientLinkObjectOperation(); ClientLinkObject lo = cloperation.createLinkObject("EBOM"); lo.setFromOid("FB5D19BA-B521-6951-C6F8-B25A10730489"); lo.setFromRevisionOid("33D3B988-841A-C4D7-9AB1-4313044434F0"); lo.setFromNameOid("EB2A0790-491E-EB9C-48A8-A7080CE5FBA8"); lo.setFromBTMName("part"); lo.setToOid("5F667F84-B8B3-9B01-7775-3D4AF920CB9C"); lo.setToRevisionOid("19A76419-65B8-D762-CCBE-97F6B32851F3"); lo.setToNameOid("0617E9C3-4892-3B60-00AE-0962D2CC0370"); lo.setToBTMName("part"); lo.setAttributeValue("sequence", "356"); AttributeValue[] attrVals = lo.getLinkObject().newAttrValList; List attrList = new ArrayList(); for (int i = 0; i < attrVals.length; i++) { attrList.add(attrVals[i]); } AttributeValue av = new AttributeValue(); av.attrName = "twoclsf"; av.attrVal = "采用标准目录"; attrList.add(av); lo.getLinkObject().newAttrValList = attrList.toArray(new AttributeValue[0]); ClientBusinessObject[] cbos = new ClientBusinessObject[0]; boolean rs = cloperation.saveLinkObject(cbos, lo); Assert.assertTrue(rs); } @Test public void testUpdateLinkObject() throws VCIError { ClientLinkObjectOperation operation = new ClientLinkObjectOperation(); ClientBusinessObject cbo = new ClientBusinessObject(); cbo.setOid("6B7D84EC-244F-C769-CCCC-2C2C79B7D028"); ClientLinkObject[] los = operation.readLinkObjectByFromBO(cbo, "EBOM"); ClientLinkObject lo = los[0]; lo.setAttributeValue("sequence", "3567"); AttributeValue[] attrVals = lo.getLinkObject().newAttrValList; List attrList = new ArrayList(); for (int i = 0; i < attrVals.length; i++) { attrList.add(attrVals[i]); } AttributeValue av = new AttributeValue(); av.attrName = "twoclsf"; av.attrVal = "采用标准目录"; attrList.add(av); lo.getLinkObject().newAttrValList = attrList.toArray(new AttributeValue[0]); boolean rs = operation.updateLinkObject(lo); Assert.assertTrue(rs); } @Test public void testReadLinkObjectById() throws VCIError { ClientLinkObjectOperation operation = new ClientLinkObjectOperation(); //TODO 基于FROM端对象,和linktype ClientBusinessObject cbo = new ClientBusinessObject(); cbo.setOid("09C9A69C-B592-57C1-C83A-B784EAD6162F"); ClientLinkObject[] los = operation.readLinkObjectByFromBO(cbo, "input"); System.out.println(los.length); Assert.assertTrue(los.length >= 0); } @Test public void testDeleteLinkObject() throws VCIError { ClientLinkObjectOperation operation = new ClientLinkObjectOperation(); ClientLinkObject lo = operation.createLinkObject("linktypea"); lo.setOid("9C588AAE-B184-08BF-6107-7106FF561AD0"); boolean rs = operation.deleteLinkObject(lo); Assert.assertTrue(rs); } @Test public void testReadLinkObjectByLinkId() throws VCIError { ClientLinkObjectOperation operation = new ClientLinkObjectOperation(); ClientLinkObject lo = operation.readLinkObjectById("09C9A69C-B592-57C1-C83A-B784EAD6162F", "input"); Assert.assertTrue(!lo.getOid().equals("")); } }