package com.vci.server.omd.statepool.delegate;
|
|
import com.vci.common.exception.VciExceptionTool;
|
import com.vci.corba.common.VCIError;
|
import com.vci.corba.omd.stm.StatePool;
|
import com.vci.server.base.exception.ExceptionLocalHandler;
|
import com.vci.server.cache.OMCacheProvider;
|
import com.vci.server.omd.statepool.cache.StatePoolServerCacheUtil;
|
import com.vci.server.omd.statepool.service.StatePoolService;
|
|
public class LCStateServerDelegate implements IStatePoolServerDelegate {
|
|
private static IStatePoolServerDelegate instance;
|
|
public static IStatePoolServerDelegate getInstance() {
|
if (instance == null) {
|
instance = new LCStateServerDelegate();
|
}
|
|
return instance;
|
}
|
|
protected VCIError getLocalVciError(String key, Throwable e) {
|
VCIError error = new VCIError(key, new String[]{VciExceptionTool.getExceptionStr(e), VciExceptionTool.getExceptionDetail(e)});
|
VCIError rsError = ExceptionLocalHandler.getInstance().getLocalString(error, "PLMSTATE");
|
return rsError;
|
}
|
|
|
@Override
|
public StatePool[] getStatePools() throws VCIError {
|
// TODO Auto-generated method stub
|
return OMCacheProvider.getLifeStates();
|
}
|
|
@Override
|
public String[] getImagePaths() throws Throwable {
|
// TODO Auto-generated method stub
|
return StatePoolServerCacheUtil.getImagePaths();
|
}
|
|
@Override
|
public StatePool getStatePool(String name) throws VCIError {
|
// TODO Auto-generated method stub
|
return OMCacheProvider.getLifeState(name);
|
}
|
|
|
public boolean addStatePool(StatePool state) throws VCIError {
|
try{
|
boolean success = StatePoolService.getInstance().addStatePool(state);
|
if (success) {
|
StatePoolServerCacheUtil.setLifeState(state);
|
}
|
return success;
|
}catch(Throwable e){
|
e.printStackTrace();
|
throw getLocalVciError("P0010STATE-00001", e);
|
}
|
}
|
|
|
public boolean modifyStatePool(StatePool state) throws VCIError {
|
try{
|
boolean success = StatePoolService.getInstance().modifyStatePool(state);
|
if (success) {
|
StatePoolServerCacheUtil.setLifeState(state);
|
}
|
return success;
|
}catch(Throwable e){
|
e.printStackTrace();
|
throw getLocalVciError("P0010STATE-00002", e);
|
}
|
}
|
|
|
public boolean deleteStatePool(StatePool state) throws VCIError {
|
try{
|
boolean success = StatePoolService.getInstance().deleteStatePool(state);
|
if (success) {
|
StatePoolServerCacheUtil.delLifeState(state.name);
|
}
|
return success;
|
}catch(Throwable e){
|
e.printStackTrace();
|
throw getLocalVciError("P0010STATE-00003", e);
|
}
|
}
|
|
|
public boolean deleteStatePools(StatePool[] sps) throws VCIError {
|
try{
|
boolean success = StatePoolService.getInstance().deleteStatePools(sps);
|
if (success) {
|
for (StatePool state : sps) {
|
StatePoolServerCacheUtil.delLifeState(state.name);
|
}
|
}
|
|
return success;
|
}catch(Throwable e){
|
e.printStackTrace();
|
throw getLocalVciError("P0010STATE-00003", e);
|
}
|
}
|
|
|
public boolean xml2DB(String userName) throws VCIError {
|
|
return StatePoolService.getInstance().xml2DB(userName);
|
}
|
|
}
|