mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-06-16 17:55:15 +00:00
Added ACLs to Attributes. Can't do much with them yet, but the column is in place.
Fixed failing AttrQueryTest. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@5528 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
parent
3322e78a09
commit
e9b75a288b
@ -67,8 +67,8 @@ public class AttrQueryTest extends TestCase
|
||||
System.out.println(fHelper.getParameters());
|
||||
assertEquals("((me.key > :name0 and me.key < :name1) or (not me.key like :name2))",
|
||||
predicate);
|
||||
assertEquals("cat", fHelper.getParameters().get(":name0"));
|
||||
assertEquals("hat", fHelper.getParameters().get(":name1"));
|
||||
assertEquals("fur%", fHelper.getParameters().get(":name2"));
|
||||
assertEquals("cat", fHelper.getParameters().get("name0"));
|
||||
assertEquals("hat", fHelper.getParameters().get("name1"));
|
||||
assertEquals("fur%", fHelper.getParameters().get("name2"));
|
||||
}
|
||||
}
|
||||
|
@ -30,6 +30,8 @@ import java.util.Collection;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import org.alfresco.repo.domain.DbAccessControlList;
|
||||
|
||||
/**
|
||||
* Interface for polymorphic attributes.
|
||||
* @author britt
|
||||
@ -50,6 +52,18 @@ public interface Attribute extends Serializable
|
||||
MAP
|
||||
};
|
||||
|
||||
/**
|
||||
* Set the ACL on this Attribute.
|
||||
* @param acl The ACL.
|
||||
*/
|
||||
public void setAcl(DbAccessControlList acl);
|
||||
|
||||
/**
|
||||
* Get the (possibly null ACL) on this Attribute.
|
||||
* @return The ACL or null.
|
||||
*/
|
||||
public DbAccessControlList getAcl();
|
||||
|
||||
/**
|
||||
* Get the value type for this node.
|
||||
* @return
|
||||
|
@ -30,6 +30,8 @@ import java.util.Collection;
|
||||
import java.util.Set;
|
||||
import java.util.Map.Entry;
|
||||
|
||||
import org.alfresco.repo.domain.DbAccessControlList;
|
||||
|
||||
/**
|
||||
* The base class of the implementation of Values.
|
||||
* @author britt
|
||||
@ -46,6 +48,11 @@ public abstract class AttributeImpl implements Attribute
|
||||
*/
|
||||
private long fVersion;
|
||||
|
||||
/**
|
||||
* ACL for this Attribute.
|
||||
*/
|
||||
private DbAccessControlList fACL;
|
||||
|
||||
/**
|
||||
* Base constructor.
|
||||
*/
|
||||
@ -314,4 +321,20 @@ public abstract class AttributeImpl implements Attribute
|
||||
{
|
||||
return (int)fID;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.alfresco.repo.attributes.Attribute#getAcl()
|
||||
*/
|
||||
public DbAccessControlList getAcl()
|
||||
{
|
||||
return fACL;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.alfresco.repo.attributes.Attribute#setAcl(org.alfresco.repo.domain.DbAccessControlList)
|
||||
*/
|
||||
public void setAcl(DbAccessControlList acl)
|
||||
{
|
||||
fACL = acl;
|
||||
}
|
||||
}
|
||||
|
@ -30,6 +30,8 @@ import java.util.Collection;
|
||||
import java.util.Set;
|
||||
import java.util.Map.Entry;
|
||||
|
||||
import org.alfresco.repo.domain.DbAccessControlList;
|
||||
|
||||
/**
|
||||
* Value based non-persistent implementation of Attribute.
|
||||
* @author britt
|
||||
@ -251,4 +253,22 @@ public abstract class AttributeValue implements Attribute
|
||||
{
|
||||
throw new AttributeMethodNotImplemented("Not a map.");
|
||||
}
|
||||
|
||||
// I'm not sure if ACLs are serializable. So for now the following two
|
||||
// methods are noops.
|
||||
/* (non-Javadoc)
|
||||
* @see org.alfresco.repo.attributes.Attribute#getAcl()
|
||||
*/
|
||||
public DbAccessControlList getAcl()
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.alfresco.repo.attributes.Attribute#setAcl(org.alfresco.repo.domain.DbAccessControlList)
|
||||
*/
|
||||
public void setAcl(DbAccessControlList acl)
|
||||
{
|
||||
// Do Nothing.
|
||||
}
|
||||
}
|
||||
|
@ -14,6 +14,8 @@
|
||||
</id>
|
||||
<discriminator column="type" type="string" length="1"/>
|
||||
<version column="version" name="version" type="long"/>
|
||||
<many-to-one name="acl" column="acl_id" foreign-key="fk_attributes_n_acl"
|
||||
class="org.alfresco.repo.domain.hibernate.DbAccessControlListImpl"/>
|
||||
<!-- A boolean valued attribute -->
|
||||
<subclass name="BooleanAttributeImpl" proxy="BooleanAttribute" lazy="true"
|
||||
discriminator-value="O">
|
||||
|
Loading…
x
Reference in New Issue
Block a user