Scarab commit: svn commit: r10722 - trunk/src/java/org/tigris/scarab/util/word/QueryResult.java
Hussayn Dabbous <[email protected]>
| Newsgroups | gmane.comp.java.scarab.cvs |
|---|---|
| Message-ID | <[email protected]> |
Author: dabbous
Date: 2009-05-15 05:04:53-0700
New Revision: 10722
Modified:
trunk/src/java/org/tigris/scarab/util/word/QueryResult.java
Log:
SCB2835 Quick fix for unformatted data strings in QueryResults
Modified: trunk/src/java/org/tigris/scarab/util/word/QueryResult.java
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/java/org/tigris/scarab/util/word/QueryResult.java?view=diff&pathrev=10722&r1=10721&r2=10722
==============================================================================
--- trunk/src/java/org/tigris/scarab/util/word/QueryResult.java (original)
+++ trunk/src/java/org/tigris/scarab/util/word/QueryResult.java 2009-05-15 05:04:53-0700
@@ -46,6 +46,8 @@
* individuals on behalf of Collab.Net.
*/
+import java.sql.Date;
+import java.sql.Timestamp;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.List;
@@ -54,6 +56,8 @@
import org.apache.commons.lang.StringUtils;
import org.apache.torque.TorqueException;
+import org.tigris.scarab.om.Attribute;
+import org.tigris.scarab.om.AttributeType;
import org.tigris.scarab.om.AttributeValue;
import org.tigris.scarab.om.AttributeValueManager;
import org.tigris.scarab.om.RModuleUserAttribute;
@@ -140,8 +144,7 @@
}
else
{
- Integer attributeId = rmua.getAttributeId();
- value = getAttributeValue(attributeId);
+ value = getAttributeValue(rmua);
}
attributeValues.add(value);
}
@@ -152,9 +155,10 @@
/**
* @param attributeId
*/
- private List getAttributeValue(Integer attributeId)
+ private List getAttributeValue(RModuleUserAttribute rmua)
throws TorqueException
{
+ Integer attributeId = rmua.getAttributeId();
List value = new ArrayList();
List attributeValue = getIssue().getAttributeValues(attributeId);
String singleValue = null;
@@ -170,6 +174,7 @@
{
singleValue = "";
}
+ singleValue = convertToDisplayFormat(singleValue, rmua);
value.add(singleValue);
}
else
@@ -177,13 +182,50 @@
for(int i=0;i<attributeValue.size();i++)
{
singleValue = ((AttributeValue)attributeValue.get(i)).getDisplayValue();
+ singleValue = convertToDisplayFormat(singleValue, rmua);
value.add( singleValue );
}
}
return value;
}
+
+ private String convertToDisplayFormat(String value, RModuleUserAttribute rmua) throws TorqueException
+ {
+ String convertedValue = value;
+ Attribute attribute = rmua.getAttribute();
+ if(attribute != null)
+ {
+ // [HD]: assume that date attributes always contain SQL-representation of Date
+ // to be verified!!!
+ if (attribute.isDateAttribute())
+ {
+ String jdbcTimestamp = convertToJDBCTimestamp(value);
+ Timestamp ts = Timestamp.valueOf(jdbcTimestamp);
+ DateFormat df = new SimpleDateFormat(L10NKeySet.ShortDateDisplay.getMessage(L10N));
+ convertedValue = df.format(ts);
+ }
+ }
+ return convertedValue;
+ }
/**
+ * Convert a database timestamp to JDBC-compatible format
+ * @param value
+ * @return
+ */
+ private String convertToJDBCTimestamp(String value)
+ {
+ int length = value.length();
+ String result = value.substring(0,4);
+ if(length>=6) result += '-' + value.substring(4,6);
+ if(length>=8) result += '-' + value.substring(6,8);
+ if(length>=10)result += ' ' + value.substring(8,10);
+ if(length>=12)result += ':' + value.substring(10,12);
+ if(length>=14)result += ':' + value.substring(12,14);
+ return result;
+ }
+
+ /**
* @param attributeId
*/
private List getInternalAttributeValue(String attributeId)
------------------------------------------------------
http://scarab.tigris.org/ds/viewMessage.do?dsForumId=3577&dsMessageId=2270411