package com.vci.server.framework.delegate;
|
import java.util.List;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import com.vci.common.utility.ObjectUtility;
|
import com.vci.corba.common.VCIError;
|
import com.vci.corba.framework.data.AppConfigCategoryInfo;
|
import com.vci.corba.common.data.UserEntityInfo;
|
import com.vci.server.base.delegate.BaseDelegate;
|
import com.vci.server.framework.appConfig.AppConfigCategory;
|
import com.vci.server.framework.appConfig.AppConfigCategoryService;
|
import com.vci.server.framework.appConfig.AppConfigDetail;
|
import com.vci.server.framework.appConfig.AppConfigDetailService;
|
/**
|
* AppConfigCategory Delegate Server
|
*
|
*/
|
public class AppConfigCategoryDelegate extends BaseDelegate {
|
AppConfigCategoryService service = null;
|
public AppConfigCategoryDelegate(UserEntityInfo userEntityInfo) {
|
super(userEntityInfo);
|
service = new AppConfigCategoryService(this.getUserEntity());
|
}
|
|
|
|
/**
|
* 添加、保存 AppConfigCategory 对象
|
* @param info AppConfigCategoryInfo 对象
|
*/
|
public String saveAppConfigCategory(AppConfigCategoryInfo info) throws VCIError{
|
if (StringUtils.isBlank(info.id)) {
|
String id = ObjectUtility.getNewObjectID36();
|
info.id = id;
|
}
|
try{
|
AppConfigCategory cInfo = service.getAppConfigCategoryByName(info.name);
|
if (cInfo != null && !cInfo.getId().equals("")) {
|
throw new VCIError("107001", new String[]{});
|
}
|
service.saveAppConfigCategory(this.convertAppConfigCategoryInfoToAppConfigCategory(info));
|
|
|
} catch (VCIError ex) {
|
throw ex;
|
} catch(Exception ex){
|
//TODO 在此处设置正确的错误编码
|
throw new VCIError("107002", new String[]{});
|
}
|
return info.id;
|
}
|
|
/**
|
* 修改、更新 AppConfigCategory 对象
|
* @param info AppConfigCategoryInfo 对象
|
*/
|
public boolean updateAppConfigCategory(AppConfigCategoryInfo info) throws VCIError{
|
boolean res = false;
|
try{
|
AppConfigCategory cInfo = service.getAppConfigCategoryByName(info.name);
|
if (cInfo != null && !cInfo.getId().equals(info.id)) {
|
throw new VCIError("107001", new String[]{});
|
}
|
res = service.updateAppConfigCategory(this.convertAppConfigCategoryInfoToAppConfigCategory(info));
|
} catch (VCIError ex) {
|
throw ex;
|
} catch (Exception ex){
|
//TODO 在此处设置正确的错误编码
|
throw new VCIError("107003", new String[]{});
|
}
|
return res;
|
}
|
|
/**
|
* 根据 ID 删除 AppConfigCategory 对象(批量)
|
* @param ids AppConfigCategory 对象的 ID 列表
|
*/
|
public boolean deleteAppConfigCategory(String[] ids) throws VCIError{
|
boolean res = false;
|
try{
|
AppConfigDetailService aService = new AppConfigDetailService(this.getUserEntity());
|
boolean hasDetail = aService.hasAppConfigDetail(ids);
|
if (hasDetail) {
|
throw new VCIError("107007", new String[]{});
|
}
|
res = service.deleteAppConfigCategory(ids);
|
} catch (VCIError ex) {
|
throw ex;
|
} catch (Exception ex){
|
//TODO 在此处设置正确的错误编码
|
throw new VCIError("107004", new String[]{});
|
}
|
return res;
|
}
|
|
/**
|
* 返回全部的 AppConfigCategory 对象
|
*/
|
public AppConfigCategoryInfo[] getAppConfigCategorys() throws VCIError{
|
AppConfigCategoryInfo[] infos = new AppConfigCategoryInfo[0];
|
try{
|
List<AppConfigCategory> list = service.getAppConfigCategorys();
|
AppConfigCategory[] objects = list.toArray(new AppConfigCategory[]{});
|
infos = this.convertAppConfigCategorysToAppConfigCategoryInfos(objects);
|
}catch(Exception ex){
|
//TODO 在此处设置正确的错误编码
|
throw new VCIError("107005", new String[]{});
|
}
|
return infos;
|
}
|
|
/**
|
* 根据 ID 返回 AppConfigCategory 对象
|
* @param id AppConfigCategory
|
*/
|
public AppConfigCategoryInfo getAppConfigCategoryById(String id) throws VCIError{
|
AppConfigCategoryInfo info = new AppConfigCategoryInfo();
|
try{
|
AppConfigCategory object = service.getAppConfigCategoryById(id);
|
info = this.convertAppConfigCategoryToAppConfigCategoryInfo(object);
|
}catch(Exception ex){
|
//TODO 在此处设置正确的错误编码
|
throw new VCIError("107006", new String[]{});
|
}
|
return info;
|
}
|
|
/************************* CORBA & HIBERNATE CONVERT **************************/
|
/**
|
* 对象转换(批量),从 Hibernate 对象转换到 Corba 对象
|
* @param objects
|
*/
|
public AppConfigCategoryInfo[] convertAppConfigCategorysToAppConfigCategoryInfos(AppConfigCategory[] objects){
|
AppConfigCategoryInfo[] infos = new AppConfigCategoryInfo[objects.length];
|
int i = 0;
|
for(AppConfigCategory obj : objects){
|
infos[i++] = this.convertAppConfigCategoryToAppConfigCategoryInfo(obj);
|
}
|
return infos;
|
}
|
|
/**
|
* 对象转换,从 Hibernate 对象转换到 Corba 对象
|
* @param object
|
* @return
|
*/
|
public AppConfigCategoryInfo convertAppConfigCategoryToAppConfigCategoryInfo(AppConfigCategory object){
|
AppConfigCategoryInfo info = new AppConfigCategoryInfo();
|
info.id = object.getId() == null ? "" : object.getId();
|
info.name = object.getName() == null ? "" : object.getName();
|
info.desc = object.getDesc() == null ? "" : object.getDesc();
|
return info;
|
}
|
|
/**
|
* 对象转换(批量),从 Corba 对象转换到 Hibernate 对象
|
* @param infos
|
* @return
|
*/
|
public AppConfigCategory[] convertAppConfigCategoryInfosToAppConfigCategorys(AppConfigCategoryInfo[] infos){
|
AppConfigCategory[] objects = new AppConfigCategory[infos.length];
|
int i = 0;
|
for(AppConfigCategoryInfo info : infos){
|
objects[i++] = this.convertAppConfigCategoryInfoToAppConfigCategory(info);
|
}
|
return objects;
|
}
|
|
/**
|
* 对象转换,从 Corba 对象转换到 Hibernate 对象
|
* @param info
|
* @return
|
*/
|
public AppConfigCategory convertAppConfigCategoryInfoToAppConfigCategory(AppConfigCategoryInfo info){
|
AppConfigCategory object = new AppConfigCategory();
|
object.setId(info.id);
|
object.setName(info.name);
|
object.setDesc(info.desc);
|
return object;
|
}
|
}
|