Add d:period data type (MOB-750)

- persistence, type conversion, and tests
- test model and index
- default set of implementations and tests

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14504 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Andrew Hind
2009-06-02 14:45:07 +00:00
parent abeb02268a
commit a8ac68a6e6
31 changed files with 2218 additions and 2 deletions

View File

@@ -45,6 +45,7 @@ import org.alfresco.service.cmr.repository.ContentData;
import org.alfresco.service.cmr.repository.MLText;
import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.repository.Path;
import org.alfresco.service.cmr.repository.Period;
import org.alfresco.service.cmr.repository.datatype.DefaultTypeConverter;
import org.alfresco.service.namespace.QName;
import org.alfresco.util.EqualsHelper;
@@ -453,7 +454,28 @@ public class NodePropertyValue implements Cloneable, Serializable
return value;
}
}
};
},
PERIOD
{
@Override
public Integer getOrdinalNumber()
{
return Integer.valueOf(20);
}
@Override
protected ValueType getPersistedType(Serializable value)
{
return ValueType.STRING;
}
@Override
Serializable convert(Serializable value)
{
return DefaultTypeConverter.INSTANCE.convert(Period.class, value);
}
}
;
/**
* @return Returns the manually-maintained ordinal number for the value
@@ -555,6 +577,10 @@ public class NodePropertyValue implements Cloneable, Serializable
{
return ValueType.MLTEXT;
}
else if (value instanceof Period)
{
return ValueType.PERIOD;
}
else
{
// type is not recognised as belonging to any particular slot
@@ -590,6 +616,7 @@ public class NodePropertyValue implements Cloneable, Serializable
valueTypesByPropertyType.put(DataTypeDefinition.PATH, ValueType.PATH);
valueTypesByPropertyType.put(DataTypeDefinition.QNAME, ValueType.QNAME);
valueTypesByPropertyType.put(DataTypeDefinition.LOCALE, ValueType.LOCALE);
valueTypesByPropertyType.put(DataTypeDefinition.PERIOD, ValueType.PERIOD);
valueTypesByOrdinalNumber = new HashMap<Integer, ValueType>(37);
for (ValueType valueType : ValueType.values())