package com.vci.server.omd.lifecycle.delegate; import com.vci.server.base.exception.ExceptionLocalHandler; import com.vci.server.cache.OMCacheProvider; import com.vci.server.omd.lifecycle.cache.LifeCycleCacheUtil; import com.vci.server.omd.lifecycle.service.LifeCycleService; import com.vci.common.exception.VciExceptionTool; import com.vci.corba.common.VCIError; import com.vci.corba.omd.lcm.LifeCycle; import com.vci.corba.omd.lcm.TransationHistoryRecord; public class LifeCycleServerDelegate implements ILifeCycleServerDelegate { private static LifeCycleServerDelegate instance; public static LifeCycleServerDelegate getInstance() { if (instance == null) { instance = new LifeCycleServerDelegate(); } 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, "PLMLIFECYCLE"); return rsError; } @Override public LifeCycle[] getLifeCyles() throws VCIError { // TODO Auto-generated method stub return OMCacheProvider.getLifeCycles(); } @Override public String[] getLCEventKeys() { return OMCacheProvider.getLCEventKeys(); } @Override public String getLCEventValueByKey(String key) throws Throwable { return OMCacheProvider.getLCEventValue(key); } @Override public LifeCycle getLifeCycle(String name) throws VCIError { return OMCacheProvider.getLifeCycle(name); } public boolean addLifeCyle(LifeCycle lc) throws VCIError { try{ boolean success = LifeCycleService.getInstance().addLifeCyle(lc); if (success) { LifeCycleCacheUtil.setLifeCycle(lc); } return success; }catch(Throwable e){ e.printStackTrace(); throw getLocalVciError("P0010LIFECYCLE-00001", e); } } public boolean modifyLifeCyle(LifeCycle lc) throws VCIError { try{ boolean success = LifeCycleService.getInstance().modifyLifeCyle(lc); if (success) { LifeCycleCacheUtil.setLifeCycle(lc); } return success; }catch(Throwable e){ e.printStackTrace(); throw getLocalVciError("P0010LIFECYCLE-00002", e); } } public boolean deleteLifeCyle(LifeCycle lc) throws VCIError { try{ boolean success = LifeCycleService.getInstance().deleteLifeCyle(lc); if (success) { LifeCycleCacheUtil.delLifeCycle(lc.name); } return success; }catch(Throwable e){ e.printStackTrace(); throw getLocalVciError("P0010LIFECYCLE-00003", e); } } public boolean deleteLifeCyles(LifeCycle[] lcs) throws VCIError { try{ boolean success = LifeCycleService.getInstance().deleteLifeCyles(lcs); if (success) { for (LifeCycle lc : lcs) { LifeCycleCacheUtil.delLifeCycle(lc.name); } } return success; }catch(Throwable e){ e.printStackTrace(); throw getLocalVciError("P0010LIFECYCLE-00003", e); } } public boolean recordTransitionHistory( TransationHistoryRecord transationHistoryRecord) throws VCIError { try{ return LifeCycleService.getInstance().recordTransitionHistory(transationHistoryRecord); }catch(Throwable e){ e.printStackTrace(); throw getLocalVciError("P0010LIFECYCLE-000011", e); } } public boolean xml2DB(String userName) throws VCIError { return LifeCycleService.getInstance().xml2DB(userName); } public String getLifeCycleEventPath() throws VCIError{ try{ return LifeCycleService.getInstance().getLifeCycleEventPath(); }catch(Throwable e){ e.printStackTrace(); throw getLocalVciError("P0010LIFECYCLE-00006", e); } } public String getLifeCycleEventViewPath() throws VCIError{ try{ return LifeCycleService.getInstance().getLifeCycleEventViewPath(); }catch(Throwable e){ e.printStackTrace(); throw getLocalVciError("P0010LIFECYCLE-00007", e); } } public String getLifeCycleEventViewSavePath() throws VCIError{ try{ return LifeCycleService.getInstance().getLifeCycleEventViewSavePath(); }catch(Throwable e){ e.printStackTrace(); throw getLocalVciError("P0010LIFECYCLE-00008", e); } } // public String get_lifecycle_event_path() throws VCIError{ // try{ // return LifeCycleService.getInstance().get_lifecycle_event_path(); // }catch(Throwable e){ // e.printStackTrace(); // throw getLocalVciError("P0010LIFECYCLE-00009", e); // } // } }