Files
alfresco-community-repo/source/java/org/alfresco/repo/domain/permissions/AceEntity.java
Alan Davis 2493ba39ac Merged HEAD-BUG-FIX (4.3/Cloud) to HEAD (4.3/Cloud)
58494: Merged V4.2-BUG-FIX (4.2.1) to HEAD-BUG-FIX (Cloud/4.3)
      58406: Merged V4.1-BUG-FIX (4.1.8) to V4.2-BUG-FIX (4.2.1)
         58389: Fix for MNT-9272 	Duplicate entry error after LDAP sync with user with different case from alf_authority 
         - authority case changes that imply updates that violate integrity constraints are supported.
         - if permissions exist for a non existent user "BOB" and an existing user "bob" is updated to "BOB"
              - all "bob"'s permissions will be migrated and "BOB"s  will be added (as they are treated as one and the same)


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@61995 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2014-02-11 23:40:19 +00:00

180 lines
4.0 KiB
Java

/*
* Copyright (C) 2005-2010 Alfresco Software Limited.
*
* This file is part of Alfresco
*
* Alfresco is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Alfresco 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 Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
*/
package org.alfresco.repo.domain.permissions;
import org.alfresco.repo.security.permissions.ACEType;
import org.alfresco.util.EqualsHelper;
/**
* Entity for <b>alf_access_control_entry</b> persistence.
*
* @author janv
* @since 3.4
*/
public class AceEntity implements Ace
{
private Long id;
private Long version;
private Long permissionId;
private Long authorityId;
private boolean allowed;
private Integer applies;
private Long contextId;
/**
* Default constructor
*/
public AceEntity()
{
}
public Long getId()
{
return id;
}
public void setId(Long id)
{
this.id = id;
}
public Long getVersion()
{
return version;
}
public void setVersion(Long version)
{
this.version = version;
}
public Long getPermissionId()
{
return permissionId;
}
public void setPermissionId(Long permissionId)
{
this.permissionId = permissionId;
}
public Long getAuthorityId()
{
return authorityId;
}
public void setAuthorityId(Long authorityId)
{
this.authorityId = authorityId;
}
public boolean isAllowed()
{
return allowed;
}
public void setAllowed(boolean allowed)
{
this.allowed = allowed;
}
public Integer getApplies()
{
return applies;
}
public void setApplies(Integer applies)
{
this.applies = applies;
}
public Long getContextId()
{
return contextId;
}
public void setContextId(Long contextId)
{
this.contextId = contextId;
}
public ACEType getAceType()
{
return ACEType.getACETypeFromId(getApplies());
}
public void setAceType(ACEType aceType)
{
setApplies(aceType.getId());
}
@Override
public int hashCode()
{
return (id == null ? 0 : id.hashCode());
}
@Override
public boolean equals(Object obj)
{
if (this == obj)
{
return true;
}
else if (obj instanceof AceEntity)
{
AceEntity that = (AceEntity)obj;
return (EqualsHelper.nullSafeEquals(this.id, that.id));
}
else
{
return false;
}
}
@Override
public String toString()
{
StringBuilder sb = new StringBuilder(512);
sb.append("AceEntity")
.append("[ ID=").append(id)
.append(", version=").append(version)
.append(", permissionId=").append(permissionId)
.append(", authorityId=").append(authorityId)
.append(", isAllowed=").append(allowed)
.append(", applies=").append(applies)
.append(", contextId=").append(contextId)
.append("]");
return sb.toString();
}
public void incrementVersion()
{
if (this.version >= Long.MAX_VALUE)
{
this.version = 0L;
}
else
{
this.version++;
}
}
}