All Downloads are FREE. Search and download functionalities are using the official Maven repository.

edu.internet2.middleware.grouper.grouperUi.beans.permissionUpdate.PermissionUpdateRequestContainer Maven / Gradle / Ivy

There is a newer version: 5.15.3
Show newest version
/*******************************************************************************
 * Copyright 2012 Internet2
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 ******************************************************************************/
/*
 * @author mchyzer
 * $Id: SimpleMembershipUpdateContainer.java,v 1.4 2009-11-02 08:50:40 mchyzer Exp $
 */
package edu.internet2.middleware.grouper.grouperUi.beans.permissionUpdate;

import java.io.Serializable;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;

import javax.servlet.http.HttpServletRequest;

import org.apache.commons.lang.StringUtils;

import edu.internet2.middleware.grouper.attr.AttributeDefName;
import edu.internet2.middleware.grouper.attr.assign.AttributeAssignType;
import edu.internet2.middleware.grouper.attr.value.AttributeAssignValue;
import edu.internet2.middleware.grouper.grouperUi.beans.api.GuiAttributeAssign;
import edu.internet2.middleware.grouper.grouperUi.beans.api.GuiPermissionEntry;
import edu.internet2.middleware.grouper.grouperUi.beans.api.GuiPermissionEntryActionsContainer;
import edu.internet2.middleware.grouper.permissions.PermissionEntry.PermissionType;
import edu.internet2.middleware.grouper.permissions.limits.PermissionLimitDocumentation;
import edu.internet2.middleware.grouper.permissions.limits.PermissionLimitInterface;
import edu.internet2.middleware.grouper.permissions.limits.PermissionLimitUtils;
import edu.internet2.middleware.grouper.ui.GrouperUiFilter;
import edu.internet2.middleware.grouper.ui.tags.TagUtils;
import edu.internet2.middleware.grouper.ui.util.GrouperUiConfig;
import edu.internet2.middleware.grouper.ui.util.MapWrapper;
import edu.internet2.middleware.grouper.util.GrouperUtil;



/**
 * bean for simple attribute update.  holds all state for this module
 */
@SuppressWarnings("serial")
public class PermissionUpdateRequestContainer implements Serializable {

  /** all limits on screen for documentation */
  private Set allLimitsOnScreen = new LinkedHashSet();
  
  /**
   * all limits on screen for documentation, these should be ordered by displayExtension
   * @return all limits on screen for documentation
   */
  public Set getAllLimitsOnScreen() {
    return this.allLimitsOnScreen;
  }

  /**
   * limit documentation map, name of attributedef name, to string or documentation, could have HTML
   * @return limit map
   */
  public Map getLimitDocumentation() {
    return new MapWrapper() {

      @Override
      public String get(Object key) {
        String attributeDefName = (String)key;
        
        //this wont return null
        PermissionLimitInterface permissionLimitInterface = PermissionLimitUtils.logicInstance(attributeDefName);
        
        PermissionLimitDocumentation permissionLimitDocumentation = permissionLimitInterface.documentation();
        
        String documentationKey = permissionLimitDocumentation == null ? null : permissionLimitDocumentation.getDocumentationKey();
        
        if (StringUtils.isBlank(documentationKey)) {
          documentationKey = "simplePermissionUpdate.noLimitDocumentationConfigured";
        }
        
        String documentation = TagUtils.navResourceString(documentationKey);
        
        for (int i=0; i allActions = null;
  
  /**
   * aggregate of all actions of all attribute defs
   * @return actions
   */
  public List getAllActions() {
    return this.allActions;
  }

  /**
   * aggregate of all actions of all attribute defs, number of them
   * @return actions size
   */
  public int getAllActionsSize() {
    return GrouperUtil.length(this.allActions);
  }

  /**
   * aggregate of all actions of all attribute defs
   * @param allActions1
   */
  public void setAllActions(List allActions1) {
    this.allActions = allActions1;
  }

  /** type of permission, role or role_subject */
  private PermissionType permissionType;

  /**
   * type of permission, role or role_subject
   * @return type of permission
   */
  public PermissionType getPermissionType() {
    return this.permissionType;
  }

  /**
   * type of permission, role or role_subject
   * @param permissionType1
   */
  public void setPermissionType(PermissionType permissionType1) {
    this.permissionType = permissionType1;
  }

  /**
   * attribute assign value we are editing 
   */
  private AttributeAssignValue attributeAssignValue = null;
  
  /**
   * 
   * @return value
   */
  public AttributeAssignValue getAttributeAssignValue() {
    return this.attributeAssignValue;
  }

  /**
   * 
   * @param attributeAssignValue1
   */
  public void setAttributeAssignValue(AttributeAssignValue attributeAssignValue1) {
    this.attributeAssignValue = attributeAssignValue1;
  }

  /** gui attribute assign */
  private GuiAttributeAssign guiAttributeAssign = null;
  
  /** gui attribute assign on assignment */
  private GuiAttributeAssign guiAttributeAssignAssign = null;
  
  
  
  /**
   * gui attribute assign on assignment
   * @return gui attribute assign on assignment
   */
  public GuiAttributeAssign getGuiAttributeAssignAssign() {
    return this.guiAttributeAssignAssign;
  }

  /**
   * gui attribute assign on assignment
   * @param guiAttributeAssignAssign1
   */
  public void setGuiAttributeAssignAssign(GuiAttributeAssign guiAttributeAssignAssign1) {
    this.guiAttributeAssignAssign = guiAttributeAssignAssign1;
  }

  /**
   * enabledOnly, disabledOnly, or all (null)
   */
  private Boolean enabledDisabled = Boolean.TRUE;

  /** 
   * return enabledOnly, disabledOnly, or all (null)
   * @return enabledOnly, disabledOnly, or all (null)
   */
  public Boolean getEnabledDisabled() {
    return this.enabledDisabled;
  }

  /**
   * enabledOnly, disabledOnly, or all (null)
   * @param theEnabledDisabled
   */
  public void setEnabledDisabled(Boolean theEnabledDisabled) {
    this.enabledDisabled = theEnabledDisabled;
  }

  
  /**
   * list of sets of rows which have common actions
   */
  private List guiPermissionEntryActionsContainers;
  
  
  
  /**
   * list of sets of rows which have common actions
   * @return list of sets of rows which have common actions
   */
  public List getGuiPermissionEntryActionsContainers() {
    return guiPermissionEntryActionsContainers;
  }

  /**
   * list of sets of rows which have common actions
   * @param guiPermissionEntryActionsContainers1
   */
  public void setGuiPermissionEntryActionsContainers(
      List guiPermissionEntryActionsContainers1) {
    
    this.guiPermissionEntryActionsContainers = guiPermissionEntryActionsContainers1;
    
  }

  /** if this is a create as opposed to update */
  private boolean create;
  
  /**
   * if this is a create as opposed to update
   * @return if create
   */
  public boolean isCreate() {
    return this.create;
  }

  /**
   * if this is a create as opposed to update
   * @param create1
   */
  public void setCreate(boolean create1) {
    this.create = create1;
  }

  /**
   * store to request scope
   */
  public void storeToRequest() {
    HttpServletRequest httpServletRequest = GrouperUiFilter.retrieveHttpServletRequest();
    httpServletRequest.setAttribute("permissionUpdateRequestContainer", this);
  }

  /**
   * retrieveFromSession, cannot be null
   * @return the app state in request scope
   */
  public static PermissionUpdateRequestContainer retrieveFromRequestOrCreate() {
    HttpServletRequest httpServletRequest = GrouperUiFilter.retrieveHttpServletRequest();
    PermissionUpdateRequestContainer permissionUpdateRequestContainer = 
      (PermissionUpdateRequestContainer)httpServletRequest.getAttribute("permissionUpdateRequestContainer");
    if (permissionUpdateRequestContainer == null) {
      permissionUpdateRequestContainer = new PermissionUpdateRequestContainer();
      permissionUpdateRequestContainer.storeToRequest();
    }
    return permissionUpdateRequestContainer;
  }

  /**
   * gui attribute assign e.g. for edit screen
   * @return gui attribute assign
   */
  public GuiAttributeAssign getGuiAttributeAssign() {
    return this.guiAttributeAssign;
  }

  /**
   * gui attribute assignment e.g. for edit screen
   * @param guiAttributeAssign1
   */
  public void setGuiAttributeAssign(GuiAttributeAssign guiAttributeAssign1) {
    this.guiAttributeAssign = guiAttributeAssign1;
  }
  
  /**
   * map wrapper
   */
  private Map showHeader = new MapWrapper() {

    @Override
    public Boolean get(Object key) {
      Integer theInt = GrouperUtil.intObjectValue(key, false);
      int repeatAfterRows = GrouperUiConfig.retrieveConfig().propertyValueInt("simplePermissionUpdate.repeatPermissionHeaderAfterRows", 20);

      boolean result = theInt % repeatAfterRows == 0;
      //System.out.println("Row: " + theInt + ": " + result);
      return result;
    }
    
  };

  /** default attribute name id */
  private String defaultAttributeNameId = null;

  /** default role display name */
  private String defaultRoleDisplayName = null;

  /** default role id */
  private String defaultRoleId = null;

  /** default member display name */
  private String defaultMemberDisplayName = null;

  /**
   * default member id
   * @return default member id
   */
  public String getDefaultMemberDisplayName() {
    return this.defaultMemberDisplayName;
  }

  /**
   * default member id
   * @param defaultMemberDisplayName1
   */
  public void setDefaultMemberDisplayName(String defaultMemberDisplayName1) {
    this.defaultMemberDisplayName = defaultMemberDisplayName1;
  }

  /**
   * default member id
   * @return default member id
   */
  public String getDefaultMemberId() {
    return this.defaultMemberId;
  }

  /**
   * default member id
   * @param defaultMemberId1
   */
  public void setDefaultMemberId(String defaultMemberId1) {
    this.defaultMemberId = defaultMemberId1;
  }

  /** default member id */
  private String defaultMemberId = null;

  /** default action */
  private String defaultAction = null;

  /** if we are assigning to a group, folder, etc, this is the non underlying assign type */
  private AttributeAssignType attributeAssignAssignType;

  /** if we are assigning to a group, folder, etc */
  private AttributeAssignType attributeAssignType;
  
  /**
   * default action 
   * @return default action
   */
  public String getDefaultAction() {
    return this.defaultAction;
  }

  /**
   * default action
   * @param defaultAction1
   */
  public void setDefaultAction(String defaultAction1) {
    this.defaultAction = defaultAction1;
  }

  /**
   * default role display name
   * @return default role display name
   */
  public String getDefaultRoleDisplayName() {
    return this.defaultRoleDisplayName;
  }

  /**
   * default role dislpay name
   * @param defaultRoleDisplayName1
   */
  public void setDefaultRoleDisplayName(String defaultRoleDisplayName1) {
    this.defaultRoleDisplayName = defaultRoleDisplayName1;
  }

  /**
   * default role id
   * @return default role id
   */
  public String getDefaultRoleId() {
    return this.defaultRoleId;
  }

  /**
   * default role id
   * @param defaultRoleId1
   */
  public void setDefaultRoleId(String defaultRoleId1) {
    this.defaultRoleId = defaultRoleId1;
  }

  /**
   * default attribute name id
   * @return default attribute name id
   */
  public String getDefaultAttributeNameId() {
    return this.defaultAttributeNameId;
  }

  /**
   * default attribute name id
   * @param defaultAttributeNameId1
   */
  public void setDefaultAttributeNameId(String defaultAttributeNameId1) {
    this.defaultAttributeNameId = defaultAttributeNameId1;
  }

  /**
   * if we should show the privilege header
   * @return if we should show the privilege header
   */
  public Map getShowHeader() {
    
    return this.showHeader;
    
  }

  /**
   * if we are assigning to a group, folder, etc, this is the non underlying assign type
   * @return assign type
   */
  public AttributeAssignType getAttributeAssignAssignType() {
    return this.attributeAssignAssignType;
  }

  /**
   * if we are assigning to a group, folder, etc
   * @return type
   */
  public AttributeAssignType getAttributeAssignType() {
    return this.attributeAssignType;
  }

  /**
   * if we are assigning to a group, folder, etc, this is the non underlying assign type
   * @param attributeAssignAssignType1
   */
  public void setAttributeAssignAssignType(AttributeAssignType attributeAssignAssignType1) {
    this.attributeAssignAssignType = attributeAssignAssignType1;
  }

  /**
   * if we are assigning to a group, folder, etc
   * @param attributeAssignType1
   */
  public void setAttributeAssignType(AttributeAssignType attributeAssignType1) {
    this.attributeAssignType = attributeAssignType1;
  }


}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy