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

Reply via email to