blob: 63f0f2598860d044cb36466ae3ac5067eba63b2e [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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.
*/
package org.apache.ranger.plugin.util;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
import org.codehaus.jackson.annotate.JsonAutoDetect;
import org.codehaus.jackson.annotate.JsonIgnoreProperties;
import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
import org.codehaus.jackson.map.annotate.JsonSerialize;
@JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
@JsonIgnoreProperties(ignoreUnknown=true)
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class GrantRevokeRequest implements Serializable {
private static final long serialVersionUID = 1L;
private String grantor;
private Set<String> grantorGroups;
private Map<String, String> resource;
private Set<String> users;
private Set<String> groups;
private Set<String> roles;
private Set<String> accessTypes;
private List<String> forwardedAddresses;
private String remoteIPAddress;
private Boolean delegateAdmin = Boolean.FALSE;
private Boolean enableAudit = Boolean.TRUE;
private Boolean replaceExistingPermissions = Boolean.FALSE;
private Boolean isRecursive = Boolean.FALSE;
private String clientIPAddress;
private String clientType;
private String requestData;
private String sessionId;
private String clusterName;
private String zoneName;
private String ownerUser;
public GrantRevokeRequest() {
this(null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null);
}
public GrantRevokeRequest(String grantor, Set<String> grantorGroups, Map<String, String> resource, Set<String> users,
Set<String> groups, Set<String> accessTypes, Boolean delegateAdmin, Boolean enableAudit,
Boolean replaceExistingPermissions, Boolean isRecursive, String clientIPAddress,
String clientType, String requestData, String sessionId, String clusterName, String zoneName) {
this(grantor, grantorGroups, resource, users, groups, null, accessTypes, delegateAdmin, enableAudit, replaceExistingPermissions, isRecursive, clientIPAddress, clientType, requestData, sessionId, clusterName, zoneName);
}
public GrantRevokeRequest(String grantor, Set<String> grantorGroups, Map<String, String> resource, Set<String> users,
Set<String> groups, Set<String> roles, Set<String> accessTypes, Boolean delegateAdmin, Boolean enableAudit,
Boolean replaceExistingPermissions, Boolean isRecursive, String clientIPAddress,
String clientType, String requestData, String sessionId, String clusterName, String zoneName) {
this(grantor, grantorGroups, resource, users, groups, roles, accessTypes, delegateAdmin, enableAudit, replaceExistingPermissions, isRecursive, clientIPAddress, clientType, requestData, sessionId, clusterName, zoneName, null);
}
public GrantRevokeRequest(String grantor, Set<String> grantorGroups, Map<String, String> resource, Set<String> users,
Set<String> groups, Set<String> roles, Set<String> accessTypes, Boolean delegateAdmin, Boolean enableAudit,
Boolean replaceExistingPermissions, Boolean isRecursive, String clientIPAddress,
String clientType, String requestData, String sessionId, String clusterName, String zoneName, String ownerUser) {
setGrantor(grantor);
setGrantorGroups(grantorGroups);
setResource(resource);
setUsers(users);
setGroups(groups);
setRoles(roles);
setAccessTypes(accessTypes);
setDelegateAdmin(delegateAdmin);
setEnableAudit(enableAudit);
setReplaceExistingPermissions(replaceExistingPermissions);
setIsRecursive(isRecursive);
setClientIPAddress(clientIPAddress);
setClientType(clientType);
setRequestData(requestData);
setSessionId(sessionId);
setClusterName(clusterName);
setZoneName(zoneName);
setOwnerUser(ownerUser);
}
/**
* @return the grantor
*/
public String getGrantor() {
return grantor;
}
/**
* @param grantor the grantor to set
*/
public void setGrantor(String grantor) {
this.grantor = grantor;
}
/**
* @return the grantorGroups
*/
public Set<String> getGrantorGroups() {
return grantorGroups;
}
/**
* @param grantorGroups the grantorGroups to set
*/
public void setGrantorGroups(Set<String> grantorGroups) {
this.grantorGroups = grantorGroups == null ? new HashSet<String>() : grantorGroups;
}
/**
* @return the resource
*/
public Map<String, String> getResource() {
return resource;
}
public void setForwardedAddresses(List<String> forwardedAddresses) {
this.forwardedAddresses = (forwardedAddresses == null) ? new ArrayList<String>() : forwardedAddresses;
}
public void setRemoteIPAddress(String remoteIPAddress) {
this.remoteIPAddress = remoteIPAddress;
}
/**
* @param resource the resource to set
*/
public void setResource(Map<String, String> resource) {
this.resource = resource == null ? new HashMap<String, String>() : resource;
}
/**
* @return the users
*/
public Set<String> getUsers() {
return users;
}
/**
* @param users the users to set
*/
public void setUsers(Set<String> users) {
this.users = users == null ? new HashSet<String>() : users;
}
/**
* @return the groups
*/
public Set<String> getGroups() {
return groups;
}
/**
* @param groups the groups to set
*/
public void setGroups(Set<String> groups) {
this.groups = groups == null ? new HashSet<String>() : groups;
}
/**
* @return the roles
*/
public Set<String> getRoles() {
return roles;
}
/**
* @param roles the roles to set
*/
public void setRoles(Set<String> roles) {
this.roles = roles == null ? new HashSet<String>() : roles;
}
/**
* @return the accessTypes
*/
public Set<String> getAccessTypes() {
return accessTypes;
}
/**
* @param accessTypes the accessTypes to set
*/
public void setAccessTypes(Set<String> accessTypes) {
this.accessTypes = accessTypes == null ? new HashSet<String>() : accessTypes;
}
/**
* @return the delegateAdmin
*/
public Boolean getDelegateAdmin() {
return delegateAdmin;
}
/**
* @param delegateAdmin the delegateAdmin to set
*/
public void setDelegateAdmin(Boolean delegateAdmin) {
this.delegateAdmin = delegateAdmin == null ? Boolean.FALSE : delegateAdmin;
}
/**
* @return the enableAudit
*/
public Boolean getEnableAudit() {
return enableAudit;
}
/**
* @param enableAudit the enableAudit to set
*/
public void setEnableAudit(Boolean enableAudit) {
this.enableAudit = enableAudit == null ? Boolean.TRUE : enableAudit;
}
/**
* @return the ownerUser
*/
public String getOwnerUser() {
return ownerUser;
}
/**
* @param ownerUser the ownerUser to set
*/
public void setOwnerUser(String ownerUser) {
this.ownerUser = ownerUser;
}
/**
* @return the replaceExistingPermissions
*/
public Boolean getReplaceExistingPermissions() {
return replaceExistingPermissions;
}
/**
* @param replaceExistingPermissions the replaceExistingPermissions to set
*/
public void setReplaceExistingPermissions(Boolean replaceExistingPermissions) {
this.replaceExistingPermissions = replaceExistingPermissions == null ? Boolean.FALSE : replaceExistingPermissions;
}
/**
* @return the isRecursive
*/
public Boolean getIsRecursive() {
return isRecursive;
}
/**
* @param isRecursive the isRecursive to set
*/
public void setIsRecursive(Boolean isRecursive) {
this.isRecursive = isRecursive == null ? Boolean.FALSE : isRecursive;
}
/**
* @return the clientIPAddress
*/
public String getClientIPAddress() {
return clientIPAddress;
}
/**
* @param clientIPAddress the clientIPAddress to set
*/
public void setClientIPAddress(String clientIPAddress) {
this.clientIPAddress = clientIPAddress;
}
/**
* @return the clientType
*/
public String getClientType() {
return clientType;
}
/**
* @param clientType the clientType to set
*/
public void setClientType(String clientType) {
this.clientType = clientType;
}
/**
* @return the requestData
*/
public String getRequestData() {
return requestData;
}
/**
* @param requestData the requestData to set
*/
public void setRequestData(String requestData) {
this.requestData = requestData;
}
/**
* @return the sessionId
*/
public String getSessionId() {
return sessionId;
}
/**
* @param sessionId the sessionId to set
*/
public void setSessionId(String sessionId) {
this.sessionId = sessionId;
}
/**
* @return the clusterName
*/
public String getClusterName() {
return clusterName;
}
public String getRemoteIPAddress() {
return remoteIPAddress;
}
public List<String> getForwardedAddresses() {
return forwardedAddresses;
}
/**
* @param clusterName the clusterName to set
*/
public void setClusterName(String clusterName) {
this.clusterName = clusterName;
}
/**
* @return the clusterName
*/
public String getZoneName() {
return zoneName;
}
/**
* @param zoneName the clusterName to set
*/
public void setZoneName(String zoneName) {
this.zoneName = zoneName;
}
@Override
public String toString( ) {
StringBuilder sb = new StringBuilder();
toString(sb);
return sb.toString();
}
public StringBuilder toString(StringBuilder sb) {
sb.append("GrantRevokeRequest={");
sb.append("grantor={").append(grantor).append("} ");
sb.append("grantorGroups={");
if(grantorGroups != null) {
for(String grantorGroup : grantorGroups) {
sb.append(grantorGroup).append(" ");
}
}
sb.append("} ");
sb.append("resource={");
if(resource != null) {
for(Map.Entry<String, String> e : resource.entrySet()) {
sb.append(e.getKey()).append("=").append(e.getValue()).append("; ");
}
}
sb.append("} ");
sb.append("users={");
if(users != null) {
for(String user : users) {
sb.append(user).append(" ");
}
}
sb.append("} ");
sb.append("groups={");
if(groups != null) {
for(String group : groups) {
sb.append(group).append(" ");
}
}
sb.append("} ");
sb.append("accessTypes={");
if(accessTypes != null) {
for(String accessType : accessTypes) {
sb.append(accessType).append(" ");
}
}
sb.append("} ");
sb.append("delegateAdmin={").append(delegateAdmin).append("} ");
sb.append("enableAudit={").append(enableAudit).append("} ");
sb.append("replaceExistingPermissions={").append(replaceExistingPermissions).append("} ");
sb.append("isRecursive={").append(isRecursive).append("} ");
sb.append("clientIPAddress={").append(clientIPAddress).append("} ");
sb.append("clientType={").append(clientType).append("} ");
sb.append("requestData={").append(requestData).append("} ");
sb.append("sessionId={").append(sessionId).append("} ");
sb.append("clusterName={").append(clusterName).append("} ");
sb.append("zoneName={").append(zoneName).append("} ");
sb.append("}");
return sb;
}
}