mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-14 17:58:59 +00:00
Merged 5.1.N (5.1.1) to HEAD (5.1)
114225 abozianu: Merged 5.0.N (5.0.3) to 5.1.N (5.1.1) 114207 amorarasu: Merged V4.2-BUG-FIX (4.2.6) to 5.0.N (5.0.3) 114064 mrogers: Merged DEV to V4.2-BUG-FIX 112453 : MNT-14685 ISO8601Converter throws ClassCastException git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@123580 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -17,14 +17,78 @@ public class ISO8601Converter implements Converter
|
|||||||
if(value != null)
|
if(value != null)
|
||||||
{
|
{
|
||||||
if(clazz.equals(Date.class))
|
if(clazz.equals(Date.class))
|
||||||
|
{
|
||||||
|
if(value instanceof Date)
|
||||||
|
{
|
||||||
|
result = value;
|
||||||
|
}
|
||||||
|
else if(value instanceof String)
|
||||||
{
|
{
|
||||||
result = ISO8601DateFormat.parse((String) value);
|
result = ISO8601DateFormat.parse((String) value);
|
||||||
}
|
}
|
||||||
|
else if (value instanceof Long)
|
||||||
|
{
|
||||||
|
Long longObj = (Long)value;
|
||||||
|
result = new Date(longObj);
|
||||||
|
}
|
||||||
|
else if (value instanceof java.sql.Date)
|
||||||
|
{
|
||||||
|
java.sql.Date valueX = (java.sql.Date)value;
|
||||||
|
return new Date(valueX.getTime());
|
||||||
|
}
|
||||||
|
else if (value instanceof java.sql.Time)
|
||||||
|
{
|
||||||
|
java.sql.Time valueX = (java.sql.Time)value;
|
||||||
|
return new Date(valueX.getTime());
|
||||||
|
}
|
||||||
|
if(value instanceof Calendar)
|
||||||
|
{
|
||||||
|
result = ((Calendar)value).getTime();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
throw new IllegalArgumentException("Unsupported value type: " + value.getClass());
|
||||||
|
}
|
||||||
|
}
|
||||||
else if(clazz.equals(Calendar.class))
|
else if(clazz.equals(Calendar.class))
|
||||||
|
{
|
||||||
|
if(value instanceof Calendar)
|
||||||
|
{
|
||||||
|
result = value;
|
||||||
|
}
|
||||||
|
else if(value instanceof String)
|
||||||
{
|
{
|
||||||
result = Calendar.getInstance();
|
result = Calendar.getInstance();
|
||||||
((Calendar) result).setTime(ISO8601DateFormat.parse((String) value));
|
((Calendar) result).setTime(ISO8601DateFormat.parse((String) value));
|
||||||
}
|
}
|
||||||
|
else if(value instanceof Date)
|
||||||
|
{
|
||||||
|
result = Calendar.getInstance();
|
||||||
|
((Calendar) result).setTime((Date)value);
|
||||||
|
}
|
||||||
|
else if (value instanceof Long)
|
||||||
|
{
|
||||||
|
result = Calendar.getInstance();
|
||||||
|
Long longObj = (Long)value;
|
||||||
|
((Calendar) result).setTime(new Date(longObj));
|
||||||
|
}
|
||||||
|
else if (value instanceof java.sql.Date)
|
||||||
|
{
|
||||||
|
result = Calendar.getInstance();
|
||||||
|
java.sql.Date longObj = (java.sql.Date)value;
|
||||||
|
((Calendar) result).setTime(new Date(longObj.getTime()));
|
||||||
|
}
|
||||||
|
else if (value instanceof java.sql.Time)
|
||||||
|
{
|
||||||
|
result = Calendar.getInstance();
|
||||||
|
java.sql.Time longObj = (java.sql.Time)value;
|
||||||
|
((Calendar) result).setTime(new Date(longObj.getTime()));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
throw new IllegalArgumentException("Unsupported value type: " + value.getClass());
|
||||||
|
}
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
throw new IllegalArgumentException("Unsupported type: " + clazz.getName());
|
throw new IllegalArgumentException("Unsupported type: " + clazz.getName());
|
||||||
|
Reference in New Issue
Block a user