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());
|
System.out.println(fHelper.getParameters());
|
||||||
assertEquals("((me.key > :name0 and me.key < :name1) or (not me.key like :name2))",
|
assertEquals("((me.key > :name0 and me.key < :name1) or (not me.key like :name2))",
|
||||||
predicate);
|
predicate);
|
||||||
assertEquals("cat", fHelper.getParameters().get(":name0"));
|
assertEquals("cat", fHelper.getParameters().get("name0"));
|
||||||
assertEquals("hat", fHelper.getParameters().get(":name1"));
|
assertEquals("hat", fHelper.getParameters().get("name1"));
|
||||||
assertEquals("fur%", fHelper.getParameters().get(":name2"));
|
assertEquals("fur%", fHelper.getParameters().get("name2"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -30,6 +30,8 @@ import java.util.Collection;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
|
import org.alfresco.repo.domain.DbAccessControlList;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Interface for polymorphic attributes.
|
* Interface for polymorphic attributes.
|
||||||
* @author britt
|
* @author britt
|
||||||
@ -50,6 +52,18 @@ public interface Attribute extends Serializable
|
|||||||
MAP
|
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.
|
* Get the value type for this node.
|
||||||
* @return
|
* @return
|
||||||
|
@ -30,6 +30,8 @@ import java.util.Collection;
|
|||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.Map.Entry;
|
import java.util.Map.Entry;
|
||||||
|
|
||||||
|
import org.alfresco.repo.domain.DbAccessControlList;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The base class of the implementation of Values.
|
* The base class of the implementation of Values.
|
||||||
* @author britt
|
* @author britt
|
||||||
@ -46,6 +48,11 @@ public abstract class AttributeImpl implements Attribute
|
|||||||
*/
|
*/
|
||||||
private long fVersion;
|
private long fVersion;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ACL for this Attribute.
|
||||||
|
*/
|
||||||
|
private DbAccessControlList fACL;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Base constructor.
|
* Base constructor.
|
||||||
*/
|
*/
|
||||||
@ -314,4 +321,20 @@ public abstract class AttributeImpl implements Attribute
|
|||||||
{
|
{
|
||||||
return (int)fID;
|
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.Set;
|
||||||
import java.util.Map.Entry;
|
import java.util.Map.Entry;
|
||||||
|
|
||||||
|
import org.alfresco.repo.domain.DbAccessControlList;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Value based non-persistent implementation of Attribute.
|
* Value based non-persistent implementation of Attribute.
|
||||||
* @author britt
|
* @author britt
|
||||||
@ -251,4 +253,22 @@ public abstract class AttributeValue implements Attribute
|
|||||||
{
|
{
|
||||||
throw new AttributeMethodNotImplemented("Not a map.");
|
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>
|
</id>
|
||||||
<discriminator column="type" type="string" length="1"/>
|
<discriminator column="type" type="string" length="1"/>
|
||||||
<version column="version" name="version" type="long"/>
|
<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 -->
|
<!-- A boolean valued attribute -->
|
||||||
<subclass name="BooleanAttributeImpl" proxy="BooleanAttribute" lazy="true"
|
<subclass name="BooleanAttributeImpl" proxy="BooleanAttribute" lazy="true"
|
||||||
discriminator-value="O">
|
discriminator-value="O">
|
||||||
|
Loading…
x
Reference in New Issue
Block a user