package com.vci.server.bof.delegate;
|
|
import com.vci.corba.common.VCIError;
|
import com.vci.corba.omd.data.AttributeValue;
|
import com.vci.corba.omd.data.BusinessObject;
|
import com.vci.corba.omd.data.LinkObject;
|
import com.vci.server.bof.server.create.BatchCreateLO;
|
import com.vci.server.bof.server.create.CreateLO;
|
import com.vci.server.bof.server.delete.BatchDeleteLO;
|
import com.vci.server.bof.server.delete.DeleteLO;
|
import com.vci.server.bof.server.update.BatchUpdateLO;
|
import com.vci.server.bof.server.update.UpdateLO;
|
import com.vci.server.bof.service.LOFactoryService;
|
|
public class LOFactoryServerDelegate extends LOFacotryBaseDelegate {
|
|
private static LOFactoryServerDelegate instance = null;
|
|
private LOFactoryServerDelegate() {
|
|
}
|
|
public static synchronized LOFactoryServerDelegate getInstance() {
|
if (instance == null) {
|
instance = new LOFactoryServerDelegate();
|
}
|
|
return instance;
|
}
|
|
/**
|
* 创建单个link对象
|
* @param lo
|
* @return
|
* @throws VCIError
|
*/
|
public LinkObject createLinkObject(LinkObject lo) throws VCIError {
|
return (LinkObject) CreateLO.getInstance().doExecute(lo);
|
}
|
|
/**
|
* 批量保持LO对象
|
* @param los
|
* @return
|
* @throws VCIError
|
*/
|
public LinkObject[] batchCreateLinkObject(LinkObject[] los) throws VCIError {
|
return (LinkObject[]) BatchCreateLO.getInstance().doExecute(los);
|
}
|
|
/**
|
* 更改单个LO对象
|
* @param lo
|
* @return
|
* @throws VCIError
|
*/
|
public boolean updateBuinessObject(LinkObject lo) throws VCIError {
|
return (Boolean) UpdateLO.getInstance().doExecute(lo);
|
}
|
|
/**
|
* 批量更改LO对象
|
* @param los
|
* @return
|
* @throws VCIError
|
*/
|
public boolean batchUpdateLinkObject(LinkObject[] los) throws VCIError {
|
return (Boolean) BatchUpdateLO.getInstance().doExecute(los);
|
}
|
|
/**
|
* 删除LO对象
|
* @param lo
|
* @return
|
* @throws VCIError
|
*/
|
public boolean deleteLinkObject(LinkObject lo) throws VCIError {
|
return (Boolean) DeleteLO.getInstance().doExecute(lo);
|
}
|
|
/**
|
* 批量删除LO对象
|
* @param los
|
* @return
|
* @throws VCIError
|
*/
|
public boolean batchDeleteLinkObject(LinkObject[] los) throws VCIError {
|
return (Boolean) BatchDeleteLO.getInstance().doExecute(los);
|
}
|
|
public LinkObject[] getLinkObjectByBO(BusinessObject bo, String linkTypeName, boolean isFrom) throws VCIError {
|
try {
|
LOFactoryService services = LOFactoryService.getInstance();
|
LinkObject[] los = services.getLinkObjectByBO(bo, linkTypeName, isFrom);
|
for (LinkObject lo : los) {
|
dealBusinessObjectNullValue(lo);
|
}
|
return los;
|
} catch (Exception e) {
|
e.printStackTrace();
|
|
throw this.getLocalString("P0010LOL-00004", e);
|
} catch (Throwable t) {
|
|
t.printStackTrace();
|
throw this.getLocalString("P0010LOL-00004", t);
|
}
|
}
|
|
|
public LinkObject readLinkObjectById(String oid, String linkTypeName) throws VCIError {
|
try {
|
LOFactoryService services = LOFactoryService.getInstance();
|
LinkObject lo = services.readLinkObjectById(oid, linkTypeName);
|
if (lo == null) {
|
lo = new LinkObject();
|
}
|
dealBusinessObjectNullValue(lo);
|
return lo;
|
} catch (Exception e) {
|
e.printStackTrace();
|
|
throw this.getLocalString("P0010LOL-00004", e);
|
} catch (Throwable t) {
|
|
t.printStackTrace();
|
throw this.getLocalString("P0010LOL-00004", t);
|
}
|
}
|
|
|
private void dealBusinessObjectNullValue(LinkObject lo) {
|
lo.oid = lo.oid == null ? "" : lo.oid;
|
lo.creator = lo.creator == null ? "" : lo.creator;
|
//lo.createTime = lo.createTime;
|
lo.modifier = lo.modifier == null ? "" : lo.modifier;
|
//lo.modifyTime = lo.modifyTime;
|
lo.ltName = lo.ltName == null ? "" : lo.ltName;
|
|
lo.fromOid = lo.fromOid == null ? "" : lo.fromOid;
|
lo.fromRevOid = lo.fromRevOid == null ? "" : lo.fromRevOid;
|
lo.fromNameOid = lo.fromNameOid == null ? "" : lo.fromNameOid;
|
lo.fromBTName = lo.fromBTName == null ? "" : lo.fromBTName;
|
|
lo.toOid = lo.toOid == null ? "" : lo.toOid;
|
lo.toRevOid = lo.toRevOid == null ? "" : lo.toRevOid;
|
lo.toNameOid = lo.toNameOid == null ? "" : lo.toNameOid;
|
lo.toBTName = lo.toBTName == null ? "" : lo.toBTName;
|
|
//lo.ts = lo.ts;
|
lo.newAttrValList = new AttributeValue[0];
|
if (lo.hisAttrValList == null) {
|
lo.hisAttrValList = new AttributeValue[0];
|
}
|
for (int i = 0; i < lo.hisAttrValList.length; i++) {
|
if (lo.hisAttrValList[i].attrVal == null) {
|
lo.hisAttrValList[i].attrVal = "";
|
}
|
}
|
}
|
}
|