details: https://code.openbravo.com/erp/devel/pi/rev/b4c15099de6b
changeset: 24212:b4c15099de6b
user: Augusto Mauch <augusto.mauch <at> openbravo.com>
date: Tue Aug 05 12:37:18 2014 +0200
summary: Fixes issue 27202: Time properties are formatted in the identifier
The previous changeset only fixed the problem for AbsoluteDateTime properties.
This new changeset also applies the proper format for the Time and AbsoluteTime
properties.
diffstat:
src/org/openbravo/base/model/Property.java | 5 ++++
src/org/openbravo/base/structure/IdentifierProvider.java | 19 ++++++++++++++++
2 files changed, 24 insertions(+), 0 deletions(-)
diffs (64 lines):
diff -r 5b802926a14d -r b4c15099de6b src/org/openbravo/base/model/Property.java
--- a/src/org/openbravo/base/model/Property.java Mon Aug 04 19:31:00
2014 +0530
+++ b/src/org/openbravo/base/model/Property.java Tue Aug 05 12:37:18
2014 +0200
@@ -28,6 +28,7 @@
import org.apache.log4j.Logger;
import org.openbravo.base.expression.Evaluator;
import org.openbravo.base.model.domaintype.AbsoluteDateTimeDomainType;
+import org.openbravo.base.model.domaintype.AbsoluteTimeDomainType;
import org.openbravo.base.model.domaintype.BasePrimitiveDomainType;
import org.openbravo.base.model.domaintype.DateDomainType;
import org.openbravo.base.model.domaintype.DatetimeDomainType;
@@ -1082,6 +1083,10 @@
return getDomainType() instanceof TimestampDomainType;
}
+ public boolean isAbsoluteTime() {
+ return getDomainType() instanceof AbsoluteTimeDomainType;
+ }
+
public boolean isDate() {
return getDomainType() instanceof DateDomainType;
}
diff -r 5b802926a14d -r b4c15099de6b
src/org/openbravo/base/structure/IdentifierProvider.java
--- a/src/org/openbravo/base/structure/IdentifierProvider.java Mon Aug 04
19:31:00 2014 +0530
+++ b/src/org/openbravo/base/structure/IdentifierProvider.java Tue Aug 05
12:37:18 2014 +0200
@@ -61,6 +61,7 @@
private SimpleDateFormat dateFormat = null;
private SimpleDateFormat dateTimeFormat = null;
+ private SimpleDateFormat timeFormat = null;
/**
* Returns the identifier of the object. The identifier is computed using
the identifier
@@ -152,6 +153,8 @@
// TODO: add number formatting...
if (property.isDate() || property.isDatetime() ||
property.isAbsoluteDateTime()) {
value = formatDate(property, (Date) value);
+ } else if (property.isTime() || property.isAbsoluteTime()) {
+ value = formatTime(property, (Date) value);
}
sb.append(value);
@@ -185,4 +188,20 @@
return dateFormat.format(date);
}
}
+
+ private synchronized String formatTime(Property property, Date date) {
+ if (date == null) {
+ return "";
+ }
+ if (timeFormat == null) {
+ final String dateTimeFormatString = OBPropertiesProvider.getInstance()
+ .getOpenbravoProperties().getProperty("dateTimeFormat.java");
+ if (dateTimeFormatString.toUpperCase().endsWith("A")) {
+ timeFormat = new SimpleDateFormat("hh:mm:ss a");
+ } else {
+ timeFormat = new SimpleDateFormat("HH:mm:ss");
+ }
+ }
+ return timeFormat.format(date);
+ }
}
\ No newline at end of file
------------------------------------------------------------------------------
Infragistics Professional
Build stunning WinForms apps today!
Reboot your WinForms applications with our WinForms controls.
Build a bridge from your legacy apps to the future.
http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits