/* * Aipo is a groupware program developed by TOWN, Inc. * Copyright (C) 2004-2015 TOWN, Inc. * http://www.aipo.com * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package com.aimluck.eip.accessctl.util; import java.util.ArrayList; import java.util.List; import org.apache.turbine.util.RunData; import com.aimluck.eip.accessctl.bean.AccessControlAclBean; import com.aimluck.eip.cayenne.om.account.EipTAclPortletFeature; import com.aimluck.eip.orm.Database; import com.aimluck.eip.services.accessctl.ALAccessControlConstants; public class ALAccessControlUtil { /** * * @param rundata * @return */ public static List<AccessControlAclBean> getAclLiteBeansFromFeatureId( RunData rundata, String featureid) { List<AccessControlAclBean> list = new ArrayList<AccessControlAclBean>(); EipTAclPortletFeature feature = Database.get(EipTAclPortletFeature.class, Integer.parseInt(featureid)); if (feature == null) { return null; } int defineAclType = feature.getAclType().intValue(); addAcls( list, defineAclType, ALAccessControlConstants.VALUE_ACL_LIST, "acllist", "一覧表示"); addAcls( list, defineAclType, ALAccessControlConstants.VALUE_ACL_DETAIL, "acldetail", "詳細表示"); addAcls( list, defineAclType, ALAccessControlConstants.VALUE_ACL_INSERT, "aclinsert", "追加"); addAcls( list, defineAclType, ALAccessControlConstants.VALUE_ACL_UPDATE, "aclupdate", "編集"); addAcls( list, defineAclType, ALAccessControlConstants.VALUE_ACL_DELETE, "acldelete", "削除"); addAcls( list, defineAclType, ALAccessControlConstants.VALUE_ACL_EXPORT, "aclexport", "外部出力"); return list; } private static void addAcls(List<AccessControlAclBean> acls, int defineAclType, int aclType, String aclTypeId, String aclTypeName) { boolean hasAcl = ((defineAclType & aclType) == aclType); if (!hasAcl) { return; } AccessControlAclBean acl = new AccessControlAclBean(); acl.initField(); acl.setAclId(aclTypeId); acl.setAclName(aclTypeName); acls.add(acl); } }