// Path: src/main/java/com/micmiu/framework/web/v1/base/entity/IdEntity.java
// @MappedSuperclass
// public abstract class IdEntity {
// 
// 	protected Long id;
// 
// 	@Id
// 	@Column(name = "ID")
// 	@GeneratedValue
// 	// @GeneratedValue(strategy = GenerationType.SEQUENCE)
// 	// @GeneratedValue(generator = "system-uuid")
// 	// @GenericGenerator(name = "system-uuid", strategy = "uuid")
// 	public Long getId() {
// 		return id;
// 	}
// 
// 	public void setId(Long id) {
// 		this.id = id;
// 	}
// }
// 
// Path: src/main/java/com/micmiu/framework/web/v1/base/vo/OperationType.java
// public enum OperationType {
// 
// 	CREATE("create", "global.opera.create"),
// 
// 	READ("read", "global.opera.read"),
// 
// 	UPDATE("update", "global.opera.update"),
// 
// 	DELETE("delete", "global.opera.delete"),
// 
// 	EXPORT("export", "global.opera.export"),
// 
// 	PRINT("print", "global.opera.print");
// 
// 	private static Map<String, OperationType> valueMap = Maps.newHashMap();
// 
// 	public String value;
// 	public String display;
// 
// 	static {
// 		for (OperationType oper : OperationType.values()) {
// 			valueMap.put(oper.value, oper);
// 		}
// 	}
// 
// 	OperationType(String value, String display) {
// 		this.value = value;
// 		this.display = display;
// 	}
// 
// 	public static OperationType parse(String value) {
// 		return valueMap.get(value);
// 	}
// 
// 	public String getValue() {
// 		return value;
// 	}
// 
// 	public String getDisplay() {
// 		return display;
// 	}
// 
// }
// 
// Path: src/main/java/com/micmiu/modules/support/spring/I18nMessageParser.java
// public class I18nMessageParser {
// 
// 	private static final Logger logger = LoggerFactory
// 			.getLogger(I18nMessageParser.class);
// 
// 	private MessageSource messageSource;
// 
// 	private Locale locale;
// 
// 	private static final class I18nMessageParserHolder {
// 		private static final I18nMessageParser instance = new I18nMessageParser();
// 	}
// 
// 	private I18nMessageParser() {
// 		messageSource = (MessageSource) SpringContextUtil
// 				.getApplicationContext().getBean("messageSource");
// 	}
// 
// 	public static I18nMessageParser getInstance() {
// 		return I18nMessageParserHolder.instance;
// 	}
// 
// 	public Locale getLocale() {
// 		return locale;
// 	}
// 
// 	public void setLocale(Locale locale) {
// 		this.locale = locale;
// 		logger.debug("set locale to=" + locale);
// 	}
// 
// 	public String getMessage(String key) {
// 		try {
// 			return messageSource.getMessage(key, null, locale);
// 		} catch (Exception e) {
// 			logger.error(e.getMessage(), e);
// 			return key;
// 		}
// 	}
// 
// }


import java.util.ArrayList;
import java.util.List;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.Table;
import javax.persistence.Transient;
import org.apache.commons.lang3.StringUtils;
import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;
import org.hibernate.annotations.Fetch;
import org.hibernate.annotations.FetchMode;
import com.google.common.collect.Lists;
import com.micmiu.framework.anno.ShowParam;
import com.micmiu.framework.web.v1.base.entity.IdEntity;
import com.micmiu.framework.web.v1.base.vo.OperationType;
import com.micmiu.modules.support.spring.I18nMessageParser;

		return roleName;
	}

	/**
	 * 操作权限集合.
	 */
	@ManyToMany
	@JoinTable(name = "T_SYS_R2P", joinColumns = { @JoinColumn(name = "ROLE_ID") }, inverseJoinColumns = { @JoinColumn(name = "PERM_ID") })
	@Fetch(FetchMode.SUBSELECT)
	@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
	public List<Permission> getPermssions() {
		return permssions;
	}

	public void setRoleName(String roleName) {
		this.roleName = roleName;
	}

	public void setPermssions(List<Permission> permssions) {
		this.permssions = permssions;
	}

	@ShowParam(value = "system.role.nodes", width = 500)
	@Transient
	public String getPermissionNames() {
		List<String> list = Lists.newArrayList();
		for (Permission permssion : getPermssions()) {
			try {
				String resName = I18nMessageParser.getInstance().getMessage(
						permssion.getResCnName());

// Path: src/main/java/com/micmiu/framework/web/v1/base/entity/IdEntity.java
// @MappedSuperclass
// public abstract class IdEntity {
// 
// 	protected Long id;
// 
// 	@Id
// 	@Column(name = "ID")
// 	@GeneratedValue
// 	// @GeneratedValue(strategy = GenerationType.SEQUENCE)
// 	// @GeneratedValue(generator = "system-uuid")
// 	// @GenericGenerator(name = "system-uuid", strategy = "uuid")
// 	public Long getId() {
// 		return id;
// 	}
// 
// 	public void setId(Long id) {
// 		this.id = id;
// 	}
// }
// 
// Path: src/main/java/com/micmiu/framework/web/v1/base/vo/OperationType.java
// public enum OperationType {
// 
// 	CREATE("create", "global.opera.create"),
// 
// 	READ("read", "global.opera.read"),
// 
// 	UPDATE("update", "global.opera.update"),
// 
// 	DELETE("delete", "global.opera.delete"),
// 
// 	EXPORT("export", "global.opera.export"),
// 
// 	PRINT("print", "global.opera.print");
// 
// 	private static Map<String, OperationType> valueMap = Maps.newHashMap();
// 
// 	public String value;
// 	public String display;
// 
// 	static {
// 		for (OperationType oper : OperationType.values()) {
// 			valueMap.put(oper.value, oper);
// 		}
// 	}
// 
// 	OperationType(String value, String display) {
// 		this.value = value;
// 		this.display = display;
// 	}
// 
// 	public static OperationType parse(String value) {
// 		return valueMap.get(value);
// 	}
// 
// 	public String getValue() {
// 		return value;
// 	}
// 
// 	public String getDisplay() {
// 		return display;
// 	}
// 
// }
// 
// Path: src/main/java/com/micmiu/modules/support/spring/I18nMessageParser.java
// public class I18nMessageParser {
// 
// 	private static final Logger logger = LoggerFactory
// 			.getLogger(I18nMessageParser.class);
// 
// 	private MessageSource messageSource;
// 
// 	private Locale locale;
// 
// 	private static final class I18nMessageParserHolder {
// 		private static final I18nMessageParser instance = new I18nMessageParser();
// 	}
// 
// 	private I18nMessageParser() {
// 		messageSource = (MessageSource) SpringContextUtil
// 				.getApplicationContext().getBean("messageSource");
// 	}
// 
// 	public static I18nMessageParser getInstance() {
// 		return I18nMessageParserHolder.instance;
// 	}
// 
// 	public Locale getLocale() {
// 		return locale;
// 	}
// 
// 	public void setLocale(Locale locale) {
// 		this.locale = locale;
// 		logger.debug("set locale to=" + locale);
// 	}
// 
// 	public String getMessage(String key) {
// 		try {
// 			return messageSource.getMessage(key, null, locale);
// 		} catch (Exception e) {
// 			logger.error(e.getMessage(), e);
// 			return key;
// 		}
// 	}
// 
// }


// Path: src/main/java/com/micmiu/framework/web/v1/system/entity/Role.java
import java.util.ArrayList;
import java.util.List;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.Table;
import javax.persistence.Transient;
import org.apache.commons.lang3.StringUtils;
import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;
import org.hibernate.annotations.Fetch;
import org.hibernate.annotations.FetchMode;
import com.google.common.collect.Lists;
import com.micmiu.framework.anno.ShowParam;
import com.micmiu.framework.web.v1.base.entity.IdEntity;
import com.micmiu.framework.web.v1.base.vo.OperationType;
import com.micmiu.modules.support.spring.I18nMessageParser;

		return roleName;
	}

	/**
	 * 操作权限集合.
	 */
	@ManyToMany
	@JoinTable(name = "T_SYS_R2P", joinColumns = { @JoinColumn(name = "ROLE_ID") }, inverseJoinColumns = { @JoinColumn(name = "PERM_ID") })
	@Fetch(FetchMode.SUBSELECT)
	@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
	public List<Permission> getPermssions() {
		return permssions;
	}

	public void setRoleName(String roleName) {
		this.roleName = roleName;
	}

	public void setPermssions(List<Permission> permssions) {
		this.permssions = permssions;
	}

	@ShowParam(value = "system.role.nodes", width = 500)
	@Transient
	public String getPermissionNames() {
		List<String> list = Lists.newArrayList();
		for (Permission permssion : getPermssions()) {
			try {
				String resName = I18nMessageParser.getInstance().getMessage(
						permssion.getResCnName());

				String oper = I18nMessageParser.getInstance().getMessage(
