public class EntityLookupCacheTest extends junit.framework.TestCase implements EntityLookupCache.EntityLookupCallbackDAO
The keys must have good equals and hashCode implementations and
must respect the case-sensitivity of the use-case.
| Constructor and Description |
|---|
EntityLookupCacheTest() |
| Modifier and Type | Method and Description |
|---|---|
org.alfresco.util.Pair |
createValue(java.lang.Object value)
Simulate creation of a new database entry
|
int |
deleteByKey(java.lang.Long key)
Delete an entity for the given key.
|
int |
deleteByValue(java.lang.Object value)
Delete an entity for the given value.
|
org.alfresco.util.Pair |
findByKey(java.lang.Long key)
Find an entity for a given key.
|
org.alfresco.util.Pair |
findByValue(java.lang.Object value)
Find and entity using the given value key.
|
java.lang.String |
getValueKey(java.lang.Object value)
Resolve the given value into a unique value key that can be used to find the entity's ID.
|
protected void |
setUp() |
void |
testClear() |
void |
testDeleteByKey() |
void |
testDeleteByValue() |
void |
testLookupAgainstEmpty() |
void |
testLookupAgainstExisting() |
void |
testLookupsUsingIncorrectValue() |
void |
testNullLookups() |
void |
testRegions() |
void |
testUpdate() |
int |
updateValue(java.lang.Long key,
java.lang.Object value)
Update the entity identified by the given key.
|
countTestCases, createResult, getName, run, run, runBare, runTest, setName, tearDown, toStringassertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, fail, fail, failNotEquals, failNotSame, failSame, formatprotected void setUp()
throws java.lang.Exception
setUp in class junit.framework.TestCasejava.lang.Exceptionpublic void testLookupsUsingIncorrectValue()
throws java.lang.Exception
java.lang.Exceptionpublic void testLookupAgainstEmpty()
throws java.lang.Exception
java.lang.Exceptionpublic void testLookupAgainstExisting()
throws java.lang.Exception
java.lang.Exceptionpublic void testRegions()
throws java.lang.Exception
java.lang.Exceptionpublic void testNullLookups()
throws java.lang.Exception
java.lang.Exceptionpublic void testUpdate()
throws java.lang.Exception
java.lang.Exceptionpublic void testDeleteByKey()
throws java.lang.Exception
java.lang.Exceptionpublic void testDeleteByValue()
throws java.lang.Exception
java.lang.Exceptionpublic void testClear()
throws java.lang.Exception
java.lang.Exceptionpublic java.lang.String getValueKey(java.lang.Object value)
EntityLookupCache.EntityLookupCallbackDAOequals and hashCode.
Were no adequate key can be generated for the value, then null can be returned.
In this case, the findByValue method might not even do a search
and just return null itself i.e. if it is difficult to look the value up in storage
then it is probably difficult to generate a cache key from it, too.. In this scenario, the
cache will be purely for key-based lookupsgetValueKey in interface EntityLookupCache.EntityLookupCallbackDAOvalue - the full value being keyed (never null)public org.alfresco.util.Pair findByKey(java.lang.Long key)
EntityLookupCache.EntityLookupCallbackDAOfindByKey in interface EntityLookupCache.EntityLookupCallbackDAOkey - the key (ID) used to identify the entity (never null)public org.alfresco.util.Pair findByValue(java.lang.Object value)
EntityLookupCache.EntityLookupCallbackDAOequals and hashCode
methods of the value object should respect case-sensitivity in the same way that this
lookup treats case-sensitivity i.e. if the equals method is case-sensitive
then this method should look the entity up using a case-sensitive search.
Since this is a cache backed by some sort of database, null values are allowed by the
cache. The implementation of this method can throw an exception if null is not
appropriate for the use-case.
If the search is impossible or expensive, this method should just return null. This
would usually be the case if the getValueKey method also returned
null i.e. if it is difficult to look the value up in storage then it is probably
difficult to generate a cache key from it, too.findByValue in interface EntityLookupCache.EntityLookupCallbackDAOvalue - the value (business object) used to identify the entity (null allowed).public org.alfresco.util.Pair createValue(java.lang.Object value)
createValue in interface EntityLookupCache.EntityLookupCallbackDAOvalue - the value (business object) used to identify the entity (null allowed).public int updateValue(java.lang.Long key,
java.lang.Object value)
EntityLookupCache.EntityLookupCallbackDAOupdateValue in interface EntityLookupCache.EntityLookupCallbackDAOkey - the existing key (ID) used to identify the entity (never null)value - the new valuepublic int deleteByKey(java.lang.Long key)
EntityLookupCache.EntityLookupCallbackDAOdeleteByKey in interface EntityLookupCache.EntityLookupCallbackDAOkey - the key (ID) used to identify the entity (never null)public int deleteByValue(java.lang.Object value)
EntityLookupCache.EntityLookupCallbackDAOdeleteByValue in interface EntityLookupCache.EntityLookupCallbackDAOvalue - the value (business object) used to identify the enitity (null allowed)Copyright © 2005 - 2010 Alfresco Software, Inc. All Rights Reserved.