RoleUpdateResponse.java 2.14 KB
package com.xiniunet.erp.system.response;

import com.xiniunet.framework.base.BaseResponse;
import com.xiniunet.master.domain.system.Application;
import com.xiniunet.master.domain.system.Function;
import com.xiniunet.master.domain.system.Role;
import com.xiniunet.master.response.system.FunctionGetAllListByTenantIdResponse;
import com.xiniunet.master.response.system.RoleGetResponse;

import java.util.ArrayList;
import java.util.List;

/**
 * 角色编辑页面的VO对象.
 * Created on 2014/8/22.
 * @author 吕浩
 * @version v1.0.0.0
 */
public class RoleUpdateResponse extends BaseResponse {
	/**
	 * 角色信息.
	 */
	private Role role;

	/**
	 * 承租人拥有的所有应用VO对象列表.
	 */
	private List<ApplicationResponse> applicationVOList;

	public RoleUpdateResponse() {
	}

	/**
	 * 根据角色查询响应对象和功能列表响应对象生成该VO对象.
	 * @param response1 通过承租人ID获取全部应用功能(包含应用列表&功能列表)的响应对象.
	 * @param response2 通过ID获取角色的响应对象.
	 */
	public RoleUpdateResponse(FunctionGetAllListByTenantIdResponse response1, RoleGetResponse response2) {
		/* 合并错误 */
		this.addErrors(response1.getErrors());
		this.addErrors(response2.getErrors());

		applicationVOList = new ArrayList<>();
		this.setRole(response2.getRole());

		List<Application> applicationList = response1.getApplicationList();
		List<List<Function>> functionList = response1.getFunctionList();
		List<String> isvNameList = response1.getIsvName();

		int i = 0;
		for(Application application : applicationList) {
			ApplicationResponse vo = new ApplicationResponse();
			vo.setApplication(application);
			vo.setList(functionList.get(i));
			vo.setIsvName(isvNameList.get(i));
			applicationVOList.add(vo);
			i ++;
		}
		this.setApplicationVOList(applicationVOList);
	}

	public List<ApplicationResponse> getApplicationVOList() {
		return applicationVOList;
	}

	public void setApplicationVOList(List<ApplicationResponse> applicationVOList) {
		this.applicationVOList = applicationVOList;
	}

	public Role getRole() {
		return role;
	}

	public void setRole(Role role) {
		this.role = role;
	}

}