mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-24 17:32:48 +00:00
Added hashCode(), equals(), toString() in various places. Fixed delete logic.
Added some missing bean references. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@5513 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -288,4 +288,30 @@ public abstract class AttributeImpl implements Attribute
|
||||
{
|
||||
throw new AttributeMethodNotImplemented("Not ShortValue");
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see java.lang.Object#equals(java.lang.Object)
|
||||
*/
|
||||
@Override
|
||||
public boolean equals(Object obj)
|
||||
{
|
||||
if (this == obj)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
if (!(obj instanceof AttributeImpl))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
return fID == ((AttributeImpl)obj).fID;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see java.lang.Object#hashCode()
|
||||
*/
|
||||
@Override
|
||||
public int hashCode()
|
||||
{
|
||||
return (int)fID;
|
||||
}
|
||||
}
|
||||
|
@@ -227,4 +227,43 @@ public class AttributeServiceImpl implements AttributeService
|
||||
}
|
||||
current.put(name, toSave);
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.alfresco.service.cmr.attributes.AttributeService#getKeys(java.lang.String)
|
||||
*/
|
||||
public List<String> getKeys(String path)
|
||||
{
|
||||
if (path == null)
|
||||
{
|
||||
throw new AVMBadArgumentException("Null Attribute Path.");
|
||||
}
|
||||
List<String> keys = parsePath(path);
|
||||
if (keys.size() == 0)
|
||||
{
|
||||
return fGlobalAttributeEntryDAO.getKeys();
|
||||
}
|
||||
GlobalAttributeEntry entry = fGlobalAttributeEntryDAO.get(keys.get(0));
|
||||
if (entry == null)
|
||||
{
|
||||
throw new AVMNotFoundException("Attribute Not Found: " + keys.get(0));
|
||||
}
|
||||
Attribute current = entry.getAttribute();
|
||||
if (current.getType() != Type.MAP)
|
||||
{
|
||||
throw new AVMWrongTypeException("Attribute Not Map: " + keys.get(0));
|
||||
}
|
||||
for (int i = 1; i < keys.size(); i++)
|
||||
{
|
||||
current = current.get(keys.get(i));
|
||||
if (current == null)
|
||||
{
|
||||
throw new AVMNotFoundException("Attribute Not Found: " + keys.get(i));
|
||||
}
|
||||
if (current.getType() != Type.MAP)
|
||||
{
|
||||
throw new AVMWrongTypeException("Attribute Not Map: " + keys.get(i));
|
||||
}
|
||||
}
|
||||
return new ArrayList<String>(current.keySet());
|
||||
}
|
||||
}
|
||||
|
@@ -25,6 +25,8 @@
|
||||
|
||||
package org.alfresco.repo.attributes;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.alfresco.service.cmr.attributes.AttributeService;
|
||||
import org.springframework.context.support.FileSystemXmlApplicationContext;
|
||||
|
||||
@@ -59,6 +61,11 @@ public class AttributeServiceTest extends TestCase
|
||||
@Override
|
||||
protected void tearDown() throws Exception
|
||||
{
|
||||
List<String> globalKeys = fService.getKeys("");
|
||||
for (String key : globalKeys)
|
||||
{
|
||||
fService.removeAttribute("", key);
|
||||
}
|
||||
fContext.close();
|
||||
fContext = null;
|
||||
}
|
||||
@@ -87,8 +94,13 @@ public class AttributeServiceTest extends TestCase
|
||||
assertNotNull(fService.getAttribute("boolean"));
|
||||
assertEquals(42, (int)fService.getAttribute("short").getShortValue());
|
||||
assertEquals("I sneeze.", fService.getAttribute("map/funky").getStringValue());
|
||||
Attribute found = fService.getAttribute("map");
|
||||
System.out.println(found);
|
||||
assertEquals(10, fService.getKeys("").size());
|
||||
assertEquals(5, fService.getKeys("map").size());
|
||||
List<String> keys = fService.getKeys("");
|
||||
for (String key : keys)
|
||||
{
|
||||
System.out.println(key + " => " + fService.getAttribute(key));
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
@@ -79,4 +79,13 @@ public class BooleanAttributeImpl extends AttributeImpl implements
|
||||
{
|
||||
return Type.BOOLEAN;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see java.lang.Object#toString()
|
||||
*/
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
return fValue ? "true" : "false";
|
||||
}
|
||||
}
|
||||
|
@@ -71,4 +71,13 @@ public class BooleanAttributeValue extends AttributeValue implements
|
||||
{
|
||||
fData = value;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see java.lang.Object#toString()
|
||||
*/
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
return fData ? "true" : "false";
|
||||
}
|
||||
}
|
||||
|
@@ -78,4 +78,13 @@ public class ByteAttributeImpl extends AttributeImpl implements ByteAttribute
|
||||
{
|
||||
fValue = value;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see java.lang.Object#toString()
|
||||
*/
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
return Byte.toString(fValue);
|
||||
}
|
||||
}
|
||||
|
@@ -70,4 +70,13 @@ public class ByteAttributeValue extends AttributeValue implements ByteAttribute
|
||||
{
|
||||
fData = value;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see java.lang.Object#toString()
|
||||
*/
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
return Byte.toString(fData);
|
||||
}
|
||||
}
|
||||
|
@@ -28,8 +28,8 @@ package org.alfresco.repo.attributes;
|
||||
import org.alfresco.repo.avm.AVMDAOs;
|
||||
|
||||
/**
|
||||
* Persistent double attribute implementation.
|
||||
* @author britt
|
||||
*
|
||||
*/
|
||||
public class DoubleAttributeImpl extends AttributeImpl implements Attribute
|
||||
{
|
||||
@@ -78,4 +78,13 @@ public class DoubleAttributeImpl extends AttributeImpl implements Attribute
|
||||
{
|
||||
fValue = value;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see java.lang.Object#toString()
|
||||
*/
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
return Double.toString(fValue);
|
||||
}
|
||||
}
|
||||
|
@@ -71,4 +71,13 @@ public class DoubleAttributeValue extends AttributeValue implements
|
||||
{
|
||||
fData = value;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see java.lang.Object#toString()
|
||||
*/
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
return Double.toString(fData);
|
||||
}
|
||||
}
|
||||
|
@@ -78,4 +78,13 @@ public class FloatAttributeImpl extends AttributeImpl implements FloatAttribute
|
||||
{
|
||||
fValue = value;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see java.lang.Object#toString()
|
||||
*/
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
return Float.toString(fValue);
|
||||
}
|
||||
}
|
||||
|
@@ -71,4 +71,13 @@ public class FloatAttributeValue extends AttributeValue implements
|
||||
{
|
||||
fData = value;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see java.lang.Object#toString()
|
||||
*/
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
return Float.toString(fData);
|
||||
}
|
||||
}
|
||||
|
@@ -1,5 +1,7 @@
|
||||
package org.alfresco.repo.attributes;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Interface for persistence of the top level attribute map.
|
||||
* @author britt
|
||||
@@ -30,4 +32,10 @@ public interface GlobalAttributeEntryDAO
|
||||
* @return The entry or null.
|
||||
*/
|
||||
public GlobalAttributeEntry get(String name);
|
||||
|
||||
/**
|
||||
* Get all keys for global attributes.
|
||||
* @return A list of all top level keys.
|
||||
*/
|
||||
public List<String> getKeys();
|
||||
}
|
||||
|
@@ -78,4 +78,13 @@ public class IntAttributeImpl extends AttributeImpl implements IntAttribute
|
||||
{
|
||||
fValue = value;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see java.lang.Object#toString()
|
||||
*/
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
return Integer.toString(fValue);
|
||||
}
|
||||
}
|
||||
|
@@ -70,4 +70,13 @@ public class IntAttributeValue extends AttributeValue implements IntAttribute
|
||||
{
|
||||
fData = value;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see java.lang.Object#toString()
|
||||
*/
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
return Integer.toString(fData);
|
||||
}
|
||||
}
|
||||
|
@@ -78,4 +78,13 @@ public class LongAttributeImpl extends AttributeImpl implements LongAttribute
|
||||
{
|
||||
fValue = value;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see java.lang.Object#toString()
|
||||
*/
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
return Long.toString(fValue);
|
||||
}
|
||||
}
|
||||
|
@@ -70,4 +70,13 @@ public class LongAttributeValue extends AttributeValue implements LongAttribute
|
||||
{
|
||||
fData = value;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see java.lang.Object#toString()
|
||||
*/
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
return Long.toString(fData);
|
||||
}
|
||||
}
|
||||
|
@@ -223,4 +223,23 @@ public class MapAttributeImpl extends AttributeImpl implements MapAttribute
|
||||
}
|
||||
return attrs;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see java.lang.Object#toString()
|
||||
*/
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
StringBuilder builder = new StringBuilder();
|
||||
builder.append('{');
|
||||
for (Map.Entry<String, Attribute> entry : entrySet())
|
||||
{
|
||||
builder.append(entry.getKey());
|
||||
builder.append('=');
|
||||
builder.append(entry.getValue().toString());
|
||||
builder.append(' ');
|
||||
}
|
||||
builder.append('}');
|
||||
return builder.toString();
|
||||
}
|
||||
}
|
||||
|
@@ -186,4 +186,23 @@ public class MapAttributeValue extends AttributeValue implements MapAttribute
|
||||
{
|
||||
return fData.values();
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see java.lang.Object#toString()
|
||||
*/
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
StringBuilder builder = new StringBuilder();
|
||||
builder.append('{');
|
||||
for (Map.Entry<String, Attribute> entry : fData.entrySet())
|
||||
{
|
||||
builder.append(entry.getKey());
|
||||
builder.append('=');
|
||||
builder.append(entry.getValue().toString());
|
||||
builder.append(' ');
|
||||
}
|
||||
builder.append('}');
|
||||
return builder.toString();
|
||||
}
|
||||
}
|
||||
|
@@ -81,4 +81,13 @@ public class SerializableAttributeImpl extends AttributeImpl implements
|
||||
{
|
||||
fValue = value;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see java.lang.Object#toString()
|
||||
*/
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
return fValue.toString();
|
||||
}
|
||||
}
|
||||
|
@@ -73,4 +73,13 @@ public class SerializableAttributeValue extends AttributeValue implements
|
||||
{
|
||||
fData = value;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see java.lang.Object#toString()
|
||||
*/
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
return fData.toString();
|
||||
}
|
||||
}
|
||||
|
@@ -78,4 +78,13 @@ public class ShortAttributeImpl extends AttributeImpl implements ShortAttribute
|
||||
{
|
||||
return Type.SHORT;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see java.lang.Object#toString()
|
||||
*/
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
return Short.toString(fValue);
|
||||
}
|
||||
}
|
||||
|
@@ -71,4 +71,13 @@ public class ShortAttributeValue extends AttributeValue implements
|
||||
{
|
||||
fData = value;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see java.lang.Object#toString()
|
||||
*/
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
return Short.toString(fData);
|
||||
}
|
||||
}
|
||||
|
@@ -79,4 +79,13 @@ public class StringAttributeImpl extends AttributeImpl implements
|
||||
{
|
||||
fValue = value;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see java.lang.Object#toString()
|
||||
*/
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
return fValue;
|
||||
}
|
||||
}
|
||||
|
@@ -71,4 +71,13 @@ public class StringAttributeValue extends AttributeValue implements
|
||||
{
|
||||
fData = value;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see java.lang.Object#toString()
|
||||
*/
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
return fData;
|
||||
}
|
||||
}
|
||||
|
@@ -45,6 +45,15 @@ public class AttributeDAOHibernate extends HibernateDaoSupport implements
|
||||
{
|
||||
private MapEntryDAO fMapEntryDAO;
|
||||
|
||||
public AttributeDAOHibernate()
|
||||
{
|
||||
}
|
||||
|
||||
public void setMapEntryDao(MapEntryDAO dao)
|
||||
{
|
||||
fMapEntryDAO = dao;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.alfresco.repo.attributes.AttributeDAO#delete(org.alfresco.repo.attributes.Attribute)
|
||||
*/
|
||||
|
@@ -25,10 +25,14 @@
|
||||
|
||||
package org.alfresco.repo.attributes.hibernate;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.alfresco.repo.attributes.Attribute;
|
||||
import org.alfresco.repo.attributes.AttributeDAO;
|
||||
import org.alfresco.repo.attributes.GlobalAttributeEntry;
|
||||
import org.alfresco.repo.attributes.GlobalAttributeEntryDAO;
|
||||
import org.alfresco.repo.attributes.GlobalAttributeEntryImpl;
|
||||
import org.hibernate.Query;
|
||||
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
|
||||
|
||||
/**
|
||||
@@ -38,12 +42,25 @@ import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
|
||||
public class GlobalAttributeEntryDAOHibernate extends HibernateDaoSupport
|
||||
implements GlobalAttributeEntryDAO
|
||||
{
|
||||
private AttributeDAO fAttributeDAO;
|
||||
|
||||
public GlobalAttributeEntryDAOHibernate()
|
||||
{
|
||||
}
|
||||
|
||||
public void setAttributeDao(AttributeDAO dao)
|
||||
{
|
||||
fAttributeDAO = dao;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.alfresco.repo.attributes.GlobalAttributeEntryDAO#delete(org.alfresco.repo.attributes.GlobalAttributeEntry)
|
||||
*/
|
||||
public void delete(GlobalAttributeEntry entry)
|
||||
{
|
||||
Attribute attr = entry.getAttribute();
|
||||
getSession().delete(entry);
|
||||
fAttributeDAO.delete(attr);
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
@@ -69,4 +86,14 @@ public class GlobalAttributeEntryDAOHibernate extends HibernateDaoSupport
|
||||
{
|
||||
getSession().save(entry);
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.alfresco.repo.attributes.GlobalAttributeEntryDAO#getKeys()
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<String> getKeys()
|
||||
{
|
||||
Query query = getSession().createQuery("select gae.name from GlobalAttributeEntryImpl gae");
|
||||
return (List<String>)query.list();
|
||||
}
|
||||
}
|
||||
|
@@ -63,4 +63,11 @@ public interface AttributeService
|
||||
* @return A List of matching attributes.
|
||||
*/
|
||||
public List<Attribute> query(String path, AttrQuery query);
|
||||
|
||||
/**
|
||||
* Get all the keys for a given attribute path.
|
||||
* @param path The attribute path.
|
||||
* @return A list of all keys.
|
||||
*/
|
||||
public List<String> getKeys(String path);
|
||||
}
|
||||
|
Reference in New Issue
Block a user