mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-24 17:32:48 +00:00
Merged V2.2 to HEAD
8371: Merged V2.1 to V2.2 8307: Next round of fixes for session management. 8309: Fixed AR-1891: Long MLText strings fail in Oracle 8313: Fix for case where existing MLText entry is null 8319: Follow-up fix for NPE where StringValue is null when persisting 8331: Fix for AR-1696: Long text in an aspect property causes an exception git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@8496 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -25,14 +25,13 @@
|
||||
|
||||
package org.alfresco.repo.attributes;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.Map.Entry;
|
||||
|
||||
import org.alfresco.error.AlfrescoRuntimeException;
|
||||
|
||||
/**
|
||||
* Value based implementation of a map attribute.
|
||||
* @author britt
|
||||
@@ -54,148 +53,67 @@ public class MapAttributeValue extends AttributeValue implements MapAttribute
|
||||
fData = new HashMap<String, Attribute>();
|
||||
for (Map.Entry<String, Attribute> entry : attr.entrySet())
|
||||
{
|
||||
String key = entry.getKey();
|
||||
Attribute value = entry.getValue();
|
||||
Attribute newAttr = null;
|
||||
switch (value.getType())
|
||||
{
|
||||
case BOOLEAN :
|
||||
{
|
||||
newAttr = new BooleanAttributeValue((BooleanAttribute)value);
|
||||
break;
|
||||
}
|
||||
case BYTE :
|
||||
{
|
||||
newAttr = new ByteAttributeValue((ByteAttribute)value);
|
||||
break;
|
||||
}
|
||||
case SHORT :
|
||||
{
|
||||
newAttr = new ShortAttributeValue((ShortAttribute)value);
|
||||
break;
|
||||
}
|
||||
case INT :
|
||||
{
|
||||
newAttr = new IntAttributeValue((IntAttribute)value);
|
||||
break;
|
||||
}
|
||||
case LONG :
|
||||
{
|
||||
newAttr = new LongAttributeValue((LongAttribute)value);
|
||||
break;
|
||||
}
|
||||
case FLOAT :
|
||||
{
|
||||
newAttr = new FloatAttributeValue((FloatAttribute)value);
|
||||
break;
|
||||
}
|
||||
case DOUBLE :
|
||||
{
|
||||
newAttr = new DoubleAttributeValue((DoubleAttribute)value);
|
||||
break;
|
||||
}
|
||||
case STRING :
|
||||
{
|
||||
newAttr = new StringAttributeValue((StringAttribute)value);
|
||||
break;
|
||||
}
|
||||
case SERIALIZABLE :
|
||||
{
|
||||
newAttr = new SerializableAttributeValue((SerializableAttribute)value);
|
||||
break;
|
||||
}
|
||||
case MAP :
|
||||
{
|
||||
newAttr = new MapAttributeValue((MapAttribute)value);
|
||||
break;
|
||||
}
|
||||
case LIST :
|
||||
{
|
||||
newAttr = new ListAttributeValue((ListAttribute)value);
|
||||
break;
|
||||
}
|
||||
default :
|
||||
{
|
||||
throw new AlfrescoRuntimeException("Unknown Attribute Type: " + value.getType());
|
||||
}
|
||||
}
|
||||
fData.put(entry.getKey(), newAttr);
|
||||
// Use the object's factory for AttributeValue
|
||||
Attribute newAttr = value.getAttributeValue();
|
||||
// Put it into the map
|
||||
fData.put(key, newAttr);
|
||||
}
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.alfresco.repo.attributes.Attribute#getType()
|
||||
*/
|
||||
public Type getType()
|
||||
{
|
||||
return Type.MAP;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.alfresco.repo.attributes.AttributeValue#clear()
|
||||
*/
|
||||
public Serializable getRawValue()
|
||||
{
|
||||
return (Serializable) fData;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clear()
|
||||
{
|
||||
fData.clear();
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.alfresco.repo.attributes.AttributeValue#entrySet()
|
||||
*/
|
||||
@Override
|
||||
public Set<Entry<String, Attribute>> entrySet()
|
||||
{
|
||||
return fData.entrySet();
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.alfresco.repo.attributes.AttributeValue#get(java.lang.String)
|
||||
*/
|
||||
@Override
|
||||
public Attribute get(String key)
|
||||
{
|
||||
return fData.get(key);
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.alfresco.repo.attributes.AttributeValue#keySet()
|
||||
*/
|
||||
@Override
|
||||
public Set<String> keySet()
|
||||
{
|
||||
return fData.keySet();
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.alfresco.repo.attributes.AttributeValue#put(java.lang.String, org.alfresco.repo.attributes.Attribute)
|
||||
*/
|
||||
@Override
|
||||
public void put(String key, Attribute value)
|
||||
{
|
||||
fData.put(key, value);
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.alfresco.repo.attributes.AttributeValue#remove(java.lang.String)
|
||||
*/
|
||||
@Override
|
||||
public void remove(String key)
|
||||
{
|
||||
fData.remove(key);
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.alfresco.repo.attributes.AttributeValue#values()
|
||||
*/
|
||||
@Override
|
||||
public Collection<Attribute> values()
|
||||
{
|
||||
return fData.values();
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see java.lang.Object#toString()
|
||||
*/
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
@@ -212,9 +130,6 @@ public class MapAttributeValue extends AttributeValue implements MapAttribute
|
||||
return builder.toString();
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.alfresco.repo.attributes.AttributeValue#size()
|
||||
*/
|
||||
@Override
|
||||
public int size()
|
||||
{
|
||||
|
Reference in New Issue
Block a user