本文整理汇总了Java中nl.strohalm.cyclos.entities.groups.Group.Nature方法的典型用法代码示例。如果您正苦于以下问题:Java Group.Nature方法的具体用法?Java Group.Nature怎么用?Java Group.Nature使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类nl.strohalm.cyclos.entities.groups.Group
的用法示例。
在下文中一共展示了Group.Nature方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: readGroup
import nl.strohalm.cyclos.entities.groups.Group; //导入方法依赖的package包/类
private Group readGroup(final ActionContext context) {
final EditGroupForm form = context.getForm();
final long id = form.getGroupId();
Group.Nature nature;
final boolean isInsert = (id <= 0L);
if (isInsert) {
nature = getGroupNature(context, false);
// On insert, empty status means normal
final String status = (String) form.getGroup("status");
if (StringUtils.isEmpty(status)) {
form.setGroup("status", Group.Status.NORMAL.name());
}
} else {
nature = groupService.load(id).getNature();
}
final Group group = getDataBinder(nature).readFromString(form.getGroup());
if (nature == Nature.OPERATOR) {
// Ensure to set the logged member on operator groups, as this is not read from request
final Member member = (Member) context.getElement();
final OperatorGroup operatorGroup = (OperatorGroup) group;
operatorGroup.setMember(member);
}
return group;
}
示例2: getMultivaluedPermissions
import nl.strohalm.cyclos.entities.groups.Group; //导入方法依赖的package包/类
/**
* @param groupNature the group's nature
* @return a collection of permissions having a relationship to its possible values according to the specified group's nature
*/
public static Collection<Permission> getMultivaluedPermissions(final Group.Nature groupNature) {
final Collection<Permission> list = new ArrayList<Permission>();
for (final ModuleType moduleType : ModuleType.getModuleTypes(groupNature)) {
for (final Module module : moduleType.getModules()) {
for (final Permission permission : module.getPermissions()) {
addListPermission(list, permission);
}
}
}
return Collections.unmodifiableCollection(list);
}
示例3: onlyForAdsSearch
import nl.strohalm.cyclos.entities.groups.Group; //导入方法依赖的package包/类
/**
* Filters the ad custom field list, returning only those for ad search
*/
public List<AdCustomField> onlyForAdsSearch(final List<AdCustomField> fields) {
final Group.Nature nature = LoggedUser.hasUser() ? LoggedUser.group().getNature() : Group.Nature.MEMBER;
final List<AdCustomField> adFields = new ArrayList<AdCustomField>();
for (final AdCustomField field : fields) {
final AdCustomField.Visibility visibility = field.getVisibility();
if (visibility.granted(nature) || LoggedUser.isWebService() && visibility == AdCustomField.Visibility.WEB_SERVICE) {
adFields.add(field);
}
}
return adFields;
}
示例4: isVisibleTo
import nl.strohalm.cyclos.entities.groups.Group; //导入方法依赖的package包/类
public boolean isVisibleTo(final Group.Nature groupNature) {
switch (groupNature) {
case ADMIN:
return true;
case BROKER:
return this != TransactionHierarchyVisibility.ADMIN;
case MEMBER:
case OPERATOR:
return this == TransactionHierarchyVisibility.MEMBER;
}
return false;
}
示例5: granted
import nl.strohalm.cyclos.entities.groups.Group; //导入方法依赖的package包/类
public boolean granted(final Group.Nature nature) {
switch (nature) {
case ADMIN:
return true;
case BROKER:
return this == BROKER || this == WEB_SERVICE || this == MEMBER;
default:
return this == MEMBER;
}
}
示例6: validate
import nl.strohalm.cyclos.entities.groups.Group; //导入方法依赖的package包/类
@Override
public ValidationError validate(final Object object, final Object property, final Object value) {
Group group = (Group) object;
if (group.isPersistent()) {
Group current = load(group.getId());
Group.Nature nature = (Group.Nature) value;
if (nature != current.getNature()) {
return new ValidationError("group.invalidNature");
}
}
return null;
}
示例7: prepareForm
import nl.strohalm.cyclos.entities.groups.Group; //导入方法依赖的package包/类
@Override
protected void prepareForm(final ActionContext context) throws Exception {
final HttpServletRequest request = context.getRequest();
final EditGroupPermissionsForm form = context.getForm();
boolean editable = false;
final long groupId = form.getGroupId();
if (groupId <= 0) {
throw new ValidationException();
}
final Group group = groupService.load(groupId);
final PermissionCatalogHandler permissionCatalogHandler = permissionService.getPermissionCatalogHandler(group);
request.setAttribute("group", group);
request.setAttribute("modulesByType", resolveModules(context, group));
// Put in the request the name of permission used to manage a type of group
final Map<Group.Nature, Permission> permissionByNature = ListGroupsAction.getManageGroupPermissionByNatureMap();
AdminGroup adminGroup = context.getGroup();
adminGroup = groupService.load(adminGroup.getId(), AdminGroup.Relationships.MANAGES_GROUPS);
request.setAttribute("managesGroups", adminGroup.getManagesGroups());
if (permissionService.hasPermission(permissionByNature.get(group.getNature())) && (Group.Nature.ADMIN.equals(group.getNature()) || adminGroup.getManagesGroups().contains(group))) {
editable = true;
}
request.setAttribute("editable", editable);
request.setAttribute("multiValuesPermissions", createMultiValuesPermissionsMap(permissionCatalogHandler, group));
}
示例8: getGroupNature
import nl.strohalm.cyclos.entities.groups.Group; //导入方法依赖的package包/类
private static Group.Nature getGroupNature(final ActionContext context, final boolean acceptEmpty) {
try {
final EditGroupForm form = context.getForm();
final String nature = (String) form.getGroup("nature");
if (acceptEmpty && StringUtils.isBlank(nature)) {
return null;
} else {
return Group.Nature.valueOf(nature);
}
} catch (final Exception e) {
throw new ValidationException();
}
}
示例9: getDataBinder
import nl.strohalm.cyclos.entities.groups.Group; //导入方法依赖的package包/类
public DataBinder<? extends Group> getDataBinder(final Group.Nature nature) {
if (dataBinders == null) {
dataBinders = new EnumMap<Group.Nature, DataBinder<? extends Group>>(Group.Nature.class);
final BeanBinder<BasicGroupSettings> basicSettingsBinder = BeanBinder.instance(BasicGroupSettings.class, "basicSettings");
final BeanBinder<MemberGroupSettings> memberSettingsBinder = BeanBinder.instance(MemberGroupSettings.class, "memberSettings");
final BeanBinder<AdminGroup> adminGroupBinder = BeanBinder.instance(AdminGroup.class);
initBasic(adminGroupBinder, basicSettingsBinder);
initSystem(adminGroupBinder);
dataBinders.put(Group.Nature.ADMIN, adminGroupBinder);
final BeanBinder<MemberGroup> memberGroupBinder = BeanBinder.instance(MemberGroup.class);
initBasic(memberGroupBinder, basicSettingsBinder);
initSystem(memberGroupBinder);
initMember(memberGroupBinder, memberSettingsBinder);
dataBinders.put(Group.Nature.MEMBER, memberGroupBinder);
final BeanBinder<OperatorGroup> operatorGroupBinder = BeanBinder.instance(OperatorGroup.class);
initBasic(operatorGroupBinder, basicSettingsBinder);
initOperator(operatorGroupBinder);
dataBinders.put(Group.Nature.OPERATOR, operatorGroupBinder);
final BeanBinder<BrokerGroup> brokerGroupBinder = BeanBinder.instance(BrokerGroup.class);
initBasic(brokerGroupBinder, basicSettingsBinder);
initSystem(brokerGroupBinder);
initMember(brokerGroupBinder, memberSettingsBinder);
initBroker(brokerGroupBinder);
dataBinders.put(Group.Nature.BROKER, brokerGroupBinder);
}
return dataBinders.get(nature);
}
示例10: getManageGroupPermissionByNatureMap
import nl.strohalm.cyclos.entities.groups.Group; //导入方法依赖的package包/类
/**
* @return a map with from group's nature to the corresponding manage group permission
*/
public static Map<Group.Nature, Permission> getManageGroupPermissionByNatureMap() {
final Map<Group.Nature, Permission> permissionByNature = new EnumMap<Group.Nature, Permission>(Group.Nature.class);
permissionByNature.put(Group.Nature.ADMIN, AdminSystemPermission.GROUPS_MANAGE_ADMIN);
permissionByNature.put(Group.Nature.BROKER, AdminSystemPermission.GROUPS_MANAGE_BROKER);
permissionByNature.put(Group.Nature.MEMBER, AdminSystemPermission.GROUPS_MANAGE_MEMBER);
return permissionByNature;
}
示例11: getNatures
import nl.strohalm.cyclos.entities.groups.Group; //导入方法依赖的package包/类
public Collection<Group.Nature> getNatures() {
return natures;
}
示例12: setNatures
import nl.strohalm.cyclos.entities.groups.Group; //导入方法依赖的package包/类
public void setNatures(final Collection<Group.Nature> natures) {
this.natures = natures;
}
示例13: PermissionCatalogInitializationException
import nl.strohalm.cyclos.entities.groups.Group; //导入方法依赖的package包/类
public PermissionCatalogInitializationException(final Group.Nature groupNature, final String message) {
this(groupNature, message, null);
}
示例14: getPermissions
import nl.strohalm.cyclos.entities.groups.Group; //导入方法依赖的package包/类
protected List<Permission> getPermissions(final Group.Nature groupNature, final ModuleType onlyOfType) {
// Get the raw list of permissions
List<Permission> permissions = null;
if (groupNature != null) {
switch (groupNature) {
case ADMIN:
permissions = join(basicPermissions, adminPermissions);
break;
case BROKER:
if (onlyOfType == ModuleType.MEMBER) {
permissions = join(basicPermissions, memberPermissions);
} else {
permissions = join(basicPermissions, memberPermissions, brokerPermissions);
}
break;
case MEMBER:
permissions = join(basicPermissions, memberPermissions);
break;
case OPERATOR:
permissions = join(basicPermissions, operatorPermissions, operatorMemberPermissions);
break;
}
}
boolean initiallyEmpty = permissions != null && permissions.isEmpty();
// Apply the filter
if (permissions != null && onlyOfType != null) {
for (Iterator<Permission> iterator = permissions.iterator(); iterator.hasNext();) {
Permission permission = iterator.next();
if (permission.getModule().getType() != onlyOfType) {
iterator.remove();
}
}
// None of the permissions matched the expected type. Return null, which will make the permission check fail, as initially,
// permissions were not empty (which happens when we just want someone to have a role, not an specific permission)
if (permissions.isEmpty() && !initiallyEmpty) {
permissions = null;
}
}
return permissions;
}
示例15: prepareForm
import nl.strohalm.cyclos.entities.groups.Group; //导入方法依赖的package包/类
@Override
protected GroupQuery prepareForm(final ActionContext context) {
final HttpServletRequest request = context.getRequest();
final ListGroupsForm form = context.getForm();
boolean manageAnyGroup = false;
final GroupQuery groupQuery = getDataBinder().readFromString(form.getQuery());
if (context.isAdmin()) {
groupQuery.setSortByNature(true);
// Put in the request the name of permission used to manage a type of group
final Map<Group.Nature, Permission> permissionByNature = getManageGroupPermissionByNatureMap();
request.setAttribute("permissionByNature", permissionByNature);
// Check if the user has permission to manage any group
for (final Permission permission : permissionByNature.values()) {
if (permissionService.hasPermission(permission)) {
manageAnyGroup = true;
break;
}
}
// List of groups that the administrator can manage
AdminGroup adminGroup = context.getGroup();
adminGroup = groupService.load(adminGroup.getId(), AdminGroup.Relationships.MANAGES_GROUPS);
request.setAttribute("managesGroups", adminGroup.getManagesGroups());
// List of group natures
request.setAttribute("natures", Arrays.asList(Group.Nature.ADMIN, Group.Nature.BROKER, Group.Nature.MEMBER));
// Search group filters and send to the JSP page
final GroupFilterQuery groupFilterQuery = new GroupFilterQuery();
groupFilterQuery.setAdminGroup(adminGroup);
final Collection<GroupFilter> groupFilters = groupFilterService.search(groupFilterQuery);
if (CollectionUtils.isNotEmpty(groupFilters)) {
request.setAttribute("groupFilters", groupFilters);
}
} else {
// It's a member listing operators groups
final Member member = (Member) context.getElement();
groupQuery.setNatures(Group.Nature.OPERATOR);
groupQuery.setMember(member);
groupQuery.setSortByNature(false);
manageAnyGroup = true;
}
request.setAttribute("manageAnyGroup", manageAnyGroup);
return groupQuery;
}