package com.vci.server.omd.versionrule.delegate; import com.vci.common.exception.VciExceptionTool; import com.vci.corba.common.VCIError; import com.vci.corba.omd.vrm.VersionRule; import com.vci.server.base.exception.ExceptionLocalHandler; import com.vci.server.cache.OMCacheProvider; import com.vci.server.omd.versionrule.cache.VRServerCacheUtil; import com.vci.server.omd.versionrule.service.VRService; public class VRServerDelegate implements IVRServerDelegate { private static VRServerDelegate instance = null; private VRServerDelegate() { } public static VRServerDelegate getInstance() { if (instance == null) { instance = new VRServerDelegate(); } 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, "PLMVERSION"); return rsError; } @Override public VersionRule[] getVersionRules() throws VCIError { return OMCacheProvider.getVersionRules(); } @Override public VersionRule getVersionRule(String name) throws VCIError { return OMCacheProvider.getVersionRule(name); } @Override public boolean addVersionRule(VersionRule vr) throws VCIError { try{ boolean success = VRService.getInstance().addVersionRule(vr); if (success) { VRServerCacheUtil.setVersionRule(vr); } return success; }catch(Throwable e){ e.printStackTrace(); throw getLocalVciError("P0010VERSION-00001", e); } } @Override public boolean modifyVersionRule(VersionRule vr) throws VCIError { try{ boolean success = VRService.getInstance().modifyVersionRule(vr); if (success) { VRServerCacheUtil.setVersionRule(vr); } return success; }catch(Throwable e){ e.printStackTrace(); throw getLocalVciError("P0010VERSION-00002", e); } } @Override public boolean deleteVersionRule(VersionRule vr) throws VCIError { try{ boolean success = VRService.getInstance().deleteVersionRule(vr); if (success) { VRServerCacheUtil.delVersionRule(vr.name); } return success; }catch(Throwable e){ e.printStackTrace(); throw getLocalVciError("P0010VERSION-00003", e); } } @Override public boolean deleteVersionRules(VersionRule[] vrs) throws VCIError { try{ boolean success = VRService.getInstance().deleteVersionRules(vrs); if (success) { for (VersionRule vr : vrs) { VRServerCacheUtil.delVersionRule(vr.name); } } return success; }catch(Throwable e){ e.printStackTrace(); throw getLocalVciError("P0010VERSION-00003", e); } } @Override public boolean xml2DB(String userName) throws VCIError { return VRService.getInstance().xml2DB(userName); } }