This is an automated email from the ASF dual-hosted git repository.

mibo pushed a commit to branch OLINGO-1408
in repository https://gitbox.apache.org/repos/asf/olingo-odata4.git

commit 302f991e5bc36b5ac84a63d059d049e7a2a63f76
Author: Michael Bolz <[email protected]>
AuthorDate: Mon Nov 25 20:49:09 2019 +0100

    [OLINGO-1408] Applied code formatter
---
 .../request/AsyncRequestWrapperImpl.java           |   2 +-
 .../commons/core/edm/primitivetype/EdmDate.java    | 140 +++----
 .../core/edm/primitivetype/EdmDateTimeOffset.java  | 278 +++++++-------
 .../core/edm/primitivetype/EdmTimeOfDay.java       | 160 ++++----
 .../core/edm/primitivetype/EdmDateTest.java        | 144 ++++----
 .../edm/primitivetype/EdmDateTimeOffsetTest.java   | 406 ++++++++++-----------
 .../core/edm/primitivetype/EdmTimeOfDayTest.java   | 281 +++++++-------
 7 files changed, 694 insertions(+), 717 deletions(-)

diff --git 
a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/AsyncRequestWrapperImpl.java
 
b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/AsyncRequestWrapperImpl.java
index c82f2cf..61b2e05 100644
--- 
a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/AsyncRequestWrapperImpl.java
+++ 
b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/AsyncRequestWrapperImpl.java
@@ -225,7 +225,7 @@ public class AsyncRequestWrapperImpl<R extends 
ODataResponse> extends AbstractRe
     int parseReplyAfter(String value) {
       if (value == null || value.isEmpty()) {
         return DEFAULT_RETRY_AFTER;
-
+      }
       try {
         int n = Integer.parseInt(value);
         if (n < 0) {
diff --git 
a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/primitivetype/EdmDate.java
 
b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/primitivetype/EdmDate.java
index e658295..2abd04a 100644
--- 
a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/primitivetype/EdmDate.java
+++ 
b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/primitivetype/EdmDate.java
@@ -35,80 +35,80 @@ import 
org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException;
  */
 public final class EdmDate extends SingletonPrimitiveType {
 
-       private static final EdmDate INSTANCE = new EdmDate();
+  private static final EdmDate INSTANCE = new EdmDate();
 
-       public static EdmDate getInstance() {
-               return INSTANCE;
-       }
+  public static EdmDate getInstance() {
+    return INSTANCE;
+  }
 
-       @Override
-       public Class<?> getDefaultType() {
-               return Calendar.class;
-       }
+  @Override
+  public Class<?> getDefaultType() {
+    return Calendar.class;
+  }
 
-       @SuppressWarnings("unchecked")
-       @Override
-       protected <T> T internalValueOfString(final String value, final Boolean 
isNullable, final Integer maxLength,
-                       final Integer precision, final Integer scale, final 
Boolean isUnicode, final Class<T> returnType)
-                       throws EdmPrimitiveTypeException {
-               LocalDate date;
-               try {
-                       date = LocalDate.parse(value);
-               } catch (DateTimeParseException ex) {
-                       throw new EdmPrimitiveTypeException("The literal '" + 
value + "' has illegal content.");
-               }
+  @SuppressWarnings("unchecked")
+  @Override
+  protected <T> T internalValueOfString(final String value, final Boolean 
isNullable, final Integer maxLength,
+      final Integer precision, final Integer scale, final Boolean isUnicode, 
final Class<T> returnType)
+      throws EdmPrimitiveTypeException {
+    LocalDate date;
+    try {
+      date = LocalDate.parse(value);
+    } catch (DateTimeParseException ex) {
+      throw new EdmPrimitiveTypeException("The literal '" + value + "' has 
illegal content.");
+    }
 
-               // appropriate types
-               if (returnType.isAssignableFrom(LocalDate.class)) {
-                       return (T) date;
-               } else if (returnType.isAssignableFrom(java.sql.Date.class)) {
-                       return (T) java.sql.Date.valueOf(date);
-               }
+    // appropriate types
+    if (returnType.isAssignableFrom(LocalDate.class)) {
+      return (T) date;
+    } else if (returnType.isAssignableFrom(java.sql.Date.class)) {
+      return (T) java.sql.Date.valueOf(date);
+    }
 
-               // inappropriate types, which need to be supported for backward 
compatibility
-               ZonedDateTime zdt = LocalDateTime.of(date, 
LocalTime.MIDNIGHT).atZone(ZoneId.systemDefault());
-               if (returnType.isAssignableFrom(Calendar.class)) {
-                       return (T) GregorianCalendar.from(zdt);
-               } else if (returnType.isAssignableFrom(Long.class)) {
-                       return (T) Long.valueOf(zdt.toInstant().toEpochMilli());
-               } else if (returnType.isAssignableFrom(java.sql.Date.class)) {
-                       throw new EdmPrimitiveTypeException("The value type " + 
returnType + " is not supported.");
-               } else if 
(returnType.isAssignableFrom(java.sql.Timestamp.class)) {
-                       return (T) java.sql.Timestamp.from(zdt.toInstant());
-               } else if (returnType.isAssignableFrom(java.util.Date.class)) {
-                       return (T) java.util.Date.from(zdt.toInstant());
-               } else {
-                       throw new EdmPrimitiveTypeException("The value type " + 
returnType + " is not supported.");
-               }
-       }
+    // inappropriate types, which need to be supported for backward 
compatibility
+    ZonedDateTime zdt = LocalDateTime.of(date, 
LocalTime.MIDNIGHT).atZone(ZoneId.systemDefault());
+    if (returnType.isAssignableFrom(Calendar.class)) {
+      return (T) GregorianCalendar.from(zdt);
+    } else if (returnType.isAssignableFrom(Long.class)) {
+      return (T) Long.valueOf(zdt.toInstant().toEpochMilli());
+    } else if (returnType.isAssignableFrom(java.sql.Date.class)) {
+      throw new EdmPrimitiveTypeException("The value type " + returnType + " 
is not supported.");
+    } else if (returnType.isAssignableFrom(java.sql.Timestamp.class)) {
+      return (T) java.sql.Timestamp.from(zdt.toInstant());
+    } else if (returnType.isAssignableFrom(java.util.Date.class)) {
+      return (T) java.util.Date.from(zdt.toInstant());
+    } else {
+      throw new EdmPrimitiveTypeException("The value type " + returnType + " 
is not supported.");
+    }
+  }
 
-       @Override
-       protected <T> String internalValueToString(final T value, final Boolean 
isNullable, final Integer maxLength,
-                       final Integer precision, final Integer scale, final 
Boolean isUnicode) throws EdmPrimitiveTypeException {
-               // appropriate types
-               if (value instanceof LocalDate) {
-                       return value.toString();
-               } else if(value instanceof java.sql.Date) {
-                       return value.toString();
-               }
-               
-               // inappropriate types, which need to be supported for backward 
compatibility
-               if (value instanceof GregorianCalendar) {
-                       GregorianCalendar calendar = (GregorianCalendar) value;
-                       return 
calendar.toZonedDateTime().toLocalDate().toString();
-               } 
-               
-               long millis;
-               if (value instanceof Long) {
-                       millis = (Long)value;
-               } else if (value instanceof java.util.Date) {
-                       millis = ((java.util.Date)value).getTime();
-               } else {
-                       throw new EdmPrimitiveTypeException("The value type " + 
value.getClass() + " is not supported.");
-               }
-               
-               ZonedDateTime zdt = 
Instant.ofEpochMilli(millis).atZone(ZoneId.systemDefault());
-               
-               return zdt.toLocalDate().toString();
-       }
+  @Override
+  protected <T> String internalValueToString(final T value, final Boolean 
isNullable, final Integer maxLength,
+      final Integer precision, final Integer scale, final Boolean isUnicode) 
throws EdmPrimitiveTypeException {
+    // appropriate types
+    if (value instanceof LocalDate) {
+      return value.toString();
+    } else if (value instanceof java.sql.Date) {
+      return value.toString();
+    }
+
+    // inappropriate types, which need to be supported for backward 
compatibility
+    if (value instanceof GregorianCalendar) {
+      GregorianCalendar calendar = (GregorianCalendar) value;
+      return calendar.toZonedDateTime().toLocalDate().toString();
+    }
+
+    long millis;
+    if (value instanceof Long) {
+      millis = (Long) value;
+    } else if (value instanceof java.util.Date) {
+      millis = ((java.util.Date) value).getTime();
+    } else {
+      throw new EdmPrimitiveTypeException("The value type " + value.getClass() 
+ " is not supported.");
+    }
+
+    ZonedDateTime zdt = 
Instant.ofEpochMilli(millis).atZone(ZoneId.systemDefault());
+
+    return zdt.toLocalDate().toString();
+  }
 }
diff --git 
a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/primitivetype/EdmDateTimeOffset.java
 
b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/primitivetype/EdmDateTimeOffset.java
index 9f8ff4c..6b63c9a 100644
--- 
a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/primitivetype/EdmDateTimeOffset.java
+++ 
b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/primitivetype/EdmDateTimeOffset.java
@@ -38,144 +38,142 @@ import 
org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException;
  */
 public final class EdmDateTimeOffset extends SingletonPrimitiveType {
 
-       private static final ZoneId ZULU = ZoneId.of("Z");
-
-       private static final Pattern PATTERN = 
Pattern.compile("(-?\\p{Digit}{4,})-(\\p{Digit}{2})-(\\p{Digit}{2})"
-                       + 
"T(\\p{Digit}{2}):(\\p{Digit}{2})(?::(\\p{Digit}{2})(\\.(\\p{Digit}{0,12}?)0*)?)?"
-                       + "(Z|([-+]\\p{Digit}{2}:\\p{Digit}{2}))?");
-
-       private static final EdmDateTimeOffset INSTANCE = new 
EdmDateTimeOffset();
-
-       public static EdmDateTimeOffset getInstance() {
-               return INSTANCE;
-       }
-
-       @Override
-       public Class<?> getDefaultType() {
-               return Timestamp.class;
-       }
-
-       @Override
-       protected <T> T internalValueOfString(final String value, final Boolean 
isNullable, final Integer maxLength,
-                       final Integer precision, final Integer scale, final 
Boolean isUnicode, final Class<T> returnType)
-                       throws EdmPrimitiveTypeException {
-               try {
-                       ZonedDateTime zdt = parseZonedDateTime(value);
-
-                       return convertZonedDateTime(zdt, returnType);
-               } catch (DateTimeParseException ex) {
-                       throw new EdmPrimitiveTypeException("The literal '" + 
value + "' has illegal content.", ex);
-               } catch (final ClassCastException e) {
-                       throw new EdmPrimitiveTypeException("The value type " + 
returnType + " is not supported.", e);
-               }
-       }
-
-       private static ZonedDateTime parseZonedDateTime(final String value) {
-               ZonedDateTime zdt;
-               try {
-                       // ISO-8601 conform pattern
-                       zdt = ZonedDateTime.parse(value);
-               } catch (DateTimeParseException ex) {
-                       // for backward compatibility - allow patterns that 
don't specify a time zone
-                       final Matcher matcher = PATTERN.matcher(value);
-                       if (matcher.matches() && matcher.group(9) == null) {
-                               zdt = ZonedDateTime.parse(value + "Z");
-                       } else {
-                               throw ex;
-                       }
-               }
-               return zdt;
-       }
-
-       @SuppressWarnings("unchecked")
-       private static <T> T convertZonedDateTime(ZonedDateTime zdt, Class<T> 
returnType) {
-               if (returnType == ZonedDateTime.class) {
-                       return (T) zdt;
-               } else if (returnType == Instant.class) {
-                       return (T) zdt.toInstant();
-               } else if (returnType.isAssignableFrom(Timestamp.class)) {
-                       return (T) Timestamp.from(zdt.toInstant());
-               } else if (returnType.isAssignableFrom(java.util.Date.class)) {
-                       return (T) java.util.Date.from(zdt.toInstant());
-               } else if (returnType.isAssignableFrom(java.sql.Time.class)) {
-                       return (T) new 
java.sql.Time(zdt.toInstant().truncatedTo(ChronoUnit.SECONDS).toEpochMilli());
-               } else if (returnType.isAssignableFrom(java.sql.Date.class)) {
-                       return (T) new 
java.sql.Date(zdt.toInstant().truncatedTo(ChronoUnit.SECONDS).toEpochMilli());
-               } else if (returnType.isAssignableFrom(Long.class)) {
-                       return (T) Long.valueOf(zdt.toInstant().toEpochMilli());
-               } else if (returnType.isAssignableFrom(Calendar.class)) {
-                       return (T) GregorianCalendar.from(zdt);
-               } else {
-                       throw new ClassCastException("unsupported return type " 
+ returnType.getSimpleName());
-               }
-       }
-
-       @Override
-       protected <T> String internalValueToString(final T value, final Boolean 
isNullable, final Integer maxLength,
-                       final Integer precision, final Integer scale, final 
Boolean isUnicode) throws EdmPrimitiveTypeException {
-               ZonedDateTime zdt = createZonedDateTime(value);
-
-               return format(zdt.toLocalDateTime(), zdt.getOffset(), 
zdt.getNano());
-       }
-
-       private static <T> ZonedDateTime createZonedDateTime(final T value) 
throws EdmPrimitiveTypeException {
-               if (value instanceof ZonedDateTime) {
-                       return (ZonedDateTime) value;
-               }
-
-               if (value instanceof Instant) {
-                       return ((Instant) value).atZone(ZULU);
-               }
-
-               if (value instanceof GregorianCalendar) {
-                       GregorianCalendar calendar = (GregorianCalendar) value;
-                       ZonedDateTime zdt = calendar.toZonedDateTime();
-                       ZoneId normalizedZoneId = 
calendar.getTimeZone().toZoneId().normalized();
-                       return zdt.withZoneSameInstant(normalizedZoneId);
-               }
-
-               return convertToInstant(value).atZone(ZULU);
-       }
-
-       private static String format(LocalDateTime dateTime, ZoneOffset offset, 
int nanos) {
-               String str = dateTime.toString();
-               if (nanos > 0) {
-                       str = removeTrailingZeros(str);
-               }
-               str = str + offset.toString();
-
-               return str;
-       }
-
-       private static String removeTrailingZeros(String str) {
-               char[] chars = str.toCharArray();
-               int trailingZeros = 0;
-               for (int i = chars.length - 1; i >= 0 && chars[i] == '0'; i--) {
-                       trailingZeros++;
-               }
-               return str.substring(0, chars.length - trailingZeros);
-       }
-
-       /**
-        * Creates an {@link Instant} from the given value.
-        *
-        * @param value the value as {@link Instant}, {@link java.util.Date},
-        *              {@link java.sql.Timestamp}, {@link Long} or
-        *              {@link GregorianCalendar}
-        * @return the value as {@link Instant}
-        * @throws EdmPrimitiveTypeException if the type of the value is not 
supported
-        */
-       private static <T> Instant convertToInstant(final T value) throws 
EdmPrimitiveTypeException {
-               if (value instanceof java.sql.Time || value instanceof 
java.sql.Date) {
-                       throw new EdmPrimitiveTypeException("The value type " + 
value.getClass() + " is not supported.");
-               } else if (value instanceof java.util.Date) {
-                       return ((java.util.Date) value).toInstant();
-               } else if (value instanceof Timestamp) {
-                       return ((Timestamp) value).toInstant();
-               } else if (value instanceof Long) {
-                       return Instant.ofEpochMilli((Long) value);
-               } else {
-                       throw new EdmPrimitiveTypeException("The value type " + 
value.getClass() + " is not supported.");
-               }
-       }
+  private static final ZoneId ZULU = ZoneId.of("Z");
+
+  private static final Pattern PATTERN = 
Pattern.compile("(-?\\p{Digit}{4,})-(\\p{Digit}{2})-(\\p{Digit}{2})"
+      + 
"T(\\p{Digit}{2}):(\\p{Digit}{2})(?::(\\p{Digit}{2})(\\.(\\p{Digit}{0,12}?)0*)?)?"
+      + "(Z|([-+]\\p{Digit}{2}:\\p{Digit}{2}))?");
+
+  private static final EdmDateTimeOffset INSTANCE = new EdmDateTimeOffset();
+
+  public static EdmDateTimeOffset getInstance() {
+    return INSTANCE;
+  }
+
+  @Override
+  public Class<?> getDefaultType() {
+    return Timestamp.class;
+  }
+
+  @Override
+  protected <T> T internalValueOfString(final String value, final Boolean 
isNullable, final Integer maxLength,
+      final Integer precision, final Integer scale, final Boolean isUnicode, 
final Class<T> returnType)
+      throws EdmPrimitiveTypeException {
+    try {
+      ZonedDateTime zdt = parseZonedDateTime(value);
+
+      return convertZonedDateTime(zdt, returnType);
+    } catch (DateTimeParseException ex) {
+      throw new EdmPrimitiveTypeException("The literal '" + value + "' has 
illegal content.", ex);
+    } catch (final ClassCastException e) {
+      throw new EdmPrimitiveTypeException("The value type " + returnType + " 
is not supported.", e);
+    }
+  }
+
+  private static ZonedDateTime parseZonedDateTime(final String value) {
+    ZonedDateTime zdt;
+    try {
+      // ISO-8601 conform pattern
+      zdt = ZonedDateTime.parse(value);
+    } catch (DateTimeParseException ex) {
+      // for backward compatibility - allow patterns that don't specify a time 
zone
+      final Matcher matcher = PATTERN.matcher(value);
+      if (matcher.matches() && matcher.group(9) == null) {
+        zdt = ZonedDateTime.parse(value + "Z");
+      } else {
+        throw ex;
+      }
+    }
+    return zdt;
+  }
+
+  @SuppressWarnings("unchecked")
+  private static <T> T convertZonedDateTime(ZonedDateTime zdt, Class<T> 
returnType) {
+    if (returnType == ZonedDateTime.class) {
+      return (T) zdt;
+    } else if (returnType == Instant.class) {
+      return (T) zdt.toInstant();
+    } else if (returnType.isAssignableFrom(Timestamp.class)) {
+      return (T) Timestamp.from(zdt.toInstant());
+    } else if (returnType.isAssignableFrom(java.util.Date.class)) {
+      return (T) java.util.Date.from(zdt.toInstant());
+    } else if (returnType.isAssignableFrom(java.sql.Time.class)) {
+      return (T) new 
java.sql.Time(zdt.toInstant().truncatedTo(ChronoUnit.SECONDS).toEpochMilli());
+    } else if (returnType.isAssignableFrom(java.sql.Date.class)) {
+      return (T) new 
java.sql.Date(zdt.toInstant().truncatedTo(ChronoUnit.SECONDS).toEpochMilli());
+    } else if (returnType.isAssignableFrom(Long.class)) {
+      return (T) Long.valueOf(zdt.toInstant().toEpochMilli());
+    } else if (returnType.isAssignableFrom(Calendar.class)) {
+      return (T) GregorianCalendar.from(zdt);
+    } else {
+      throw new ClassCastException("Unsupported return type " + 
returnType.getSimpleName());
+    }
+  }
+
+  @Override
+  protected <T> String internalValueToString(final T value, final Boolean 
isNullable, final Integer maxLength,
+      final Integer precision, final Integer scale, final Boolean isUnicode) 
throws EdmPrimitiveTypeException {
+    ZonedDateTime zdt = createZonedDateTime(value);
+
+    return format(zdt.toLocalDateTime(), zdt.getOffset(), zdt.getNano());
+  }
+
+  private static <T> ZonedDateTime createZonedDateTime(final T value) throws 
EdmPrimitiveTypeException {
+    if (value instanceof ZonedDateTime) {
+      return (ZonedDateTime) value;
+    }
+
+    if (value instanceof Instant) {
+      return ((Instant) value).atZone(ZULU);
+    }
+
+    if (value instanceof GregorianCalendar) {
+      GregorianCalendar calendar = (GregorianCalendar) value;
+      ZonedDateTime zdt = calendar.toZonedDateTime();
+      ZoneId normalizedZoneId = calendar.getTimeZone().toZoneId().normalized();
+      return zdt.withZoneSameInstant(normalizedZoneId);
+    }
+
+    return convertToInstant(value).atZone(ZULU);
+  }
+
+  private static String format(LocalDateTime dateTime, ZoneOffset offset, int 
nanos) {
+    String str = dateTime.toString();
+    if (nanos > 0) {
+      str = removeTrailingZeros(str);
+    }
+    return str + offset.toString();
+  }
+
+  private static String removeTrailingZeros(String str) {
+    char[] chars = str.toCharArray();
+    int trailingZeros = 0;
+    for (int i = chars.length - 1; i >= 0 && chars[i] == '0'; i--) {
+      trailingZeros++;
+    }
+    return str.substring(0, chars.length - trailingZeros);
+  }
+
+  /**
+   * Creates an {@link Instant} from the given value.
+   *
+   * @param value the value as {@link Instant}, {@link java.util.Date},
+   *   {@link java.sql.Timestamp}, {@link Long} or
+   *   {@link GregorianCalendar}
+   * @return the value as {@link Instant}
+   * @throws EdmPrimitiveTypeException if the type of the value is not 
supported
+   */
+  private static <T> Instant convertToInstant(final T value) throws 
EdmPrimitiveTypeException {
+    if (value instanceof java.sql.Time || value instanceof java.sql.Date) {
+      throw new EdmPrimitiveTypeException("The value type " + value.getClass() 
+ " is not supported.");
+    } else if (value instanceof java.util.Date) {
+      return ((java.util.Date) value).toInstant();
+    } else if (value instanceof Timestamp) {
+      return ((Timestamp) value).toInstant();
+    } else if (value instanceof Long) {
+      return Instant.ofEpochMilli((Long) value);
+    } else {
+      throw new EdmPrimitiveTypeException("The value type " + value.getClass() 
+ " is not supported.");
+    }
+  }
 }
diff --git 
a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/primitivetype/EdmTimeOfDay.java
 
b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/primitivetype/EdmTimeOfDay.java
index b404dbd..d0ecb26 100644
--- 
a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/primitivetype/EdmTimeOfDay.java
+++ 
b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/primitivetype/EdmTimeOfDay.java
@@ -33,101 +33,81 @@ import 
org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException;
 
 public final class EdmTimeOfDay extends SingletonPrimitiveType {
 
-       private static final LocalDate EPOCH = LocalDate.ofEpochDay(0l);
-       private static final EdmTimeOfDay INSTANCE = new EdmTimeOfDay();
+  private static final LocalDate EPOCH = LocalDate.ofEpochDay(0l);
+  private static final EdmTimeOfDay INSTANCE = new EdmTimeOfDay();
 
-       public static EdmTimeOfDay getInstance() {
-               return INSTANCE;
-       }
+  public static EdmTimeOfDay getInstance() {
+    return INSTANCE;
+  }
 
-       @Override
-       public Class<?> getDefaultType() {
-               return Calendar.class;
-       }
+  @Override
+  public Class<?> getDefaultType() {
+    return Calendar.class;
+  }
 
-       @SuppressWarnings("unchecked")
-       @Override
-       protected <T> T internalValueOfString(final String value, final Boolean 
isNullable, final Integer maxLength,
-                       final Integer precision, final Integer scale, final 
Boolean isUnicode, final Class<T> returnType)
-                       throws EdmPrimitiveTypeException {
-               LocalTime time;
-               try {
-                       time = LocalTime.parse(value);
-               } catch (DateTimeParseException ex) {
-                       throw new EdmPrimitiveTypeException("The literal '" + 
value + "' has illegal content.");
-               }
+  @SuppressWarnings("unchecked")
+  @Override
+  protected <T> T internalValueOfString(final String value, final Boolean 
isNullable, final Integer maxLength,
+      final Integer precision, final Integer scale, final Boolean isUnicode, 
final Class<T> returnType)
+      throws EdmPrimitiveTypeException {
+    LocalTime time;
+    try {
+      time = LocalTime.parse(value);
+    } catch (DateTimeParseException ex) {
+      throw new EdmPrimitiveTypeException("The literal '" + value + "' has 
illegal content.");
+    }
 
-               // appropriate types
-               if (returnType.isAssignableFrom(LocalTime.class)) {
-                       return (T) time;
-               } else if (returnType.isAssignableFrom(java.sql.Time.class)) {
-                       return (T) java.sql.Time.valueOf(time);
-               }
+    // appropriate types
+    if (returnType.isAssignableFrom(LocalTime.class)) {
+      return (T) time;
+    } else if (returnType.isAssignableFrom(java.sql.Time.class)) {
+      return (T) java.sql.Time.valueOf(time);
+    }
 
-               // inappropriate types, which need to be supported for backward 
compatibility
-               ZonedDateTime zdt = LocalDateTime.of(EPOCH, 
time).atZone(ZoneId.systemDefault());
-               if (returnType.isAssignableFrom(Calendar.class)) {
-                       return (T) GregorianCalendar.from(zdt);
-               } else if (returnType.isAssignableFrom(Long.class)) {
-                       return (T) Long.valueOf(zdt.toInstant().toEpochMilli());
-               } else if (returnType.isAssignableFrom(java.sql.Date.class)) {
-                       throw new EdmPrimitiveTypeException("The value type " + 
returnType + " is not supported.");
-               } else if (returnType.isAssignableFrom(Timestamp.class)) {
-                       return (T) Timestamp.from(zdt.toInstant());
-               } else if (returnType.isAssignableFrom(java.util.Date.class)) {
-                       return (T) java.util.Date.from(zdt.toInstant());
-               } else {
-                       throw new EdmPrimitiveTypeException("The value type " + 
returnType + " is not supported.");
-               }
-       }
+    // inappropriate types, which need to be supported for backward 
compatibility
+    ZonedDateTime zdt = LocalDateTime.of(EPOCH, 
time).atZone(ZoneId.systemDefault());
+    if (returnType.isAssignableFrom(Calendar.class)) {
+      return (T) GregorianCalendar.from(zdt);
+    } else if (returnType.isAssignableFrom(Long.class)) {
+      return (T) Long.valueOf(zdt.toInstant().toEpochMilli());
+    } else if (returnType.isAssignableFrom(java.sql.Date.class)) {
+      throw new EdmPrimitiveTypeException("The value type " + returnType + " 
is not supported.");
+    } else if (returnType.isAssignableFrom(Timestamp.class)) {
+      return (T) Timestamp.from(zdt.toInstant());
+    } else if (returnType.isAssignableFrom(java.util.Date.class)) {
+      return (T) java.util.Date.from(zdt.toInstant());
+    } else {
+      throw new EdmPrimitiveTypeException("The value type " + returnType + " 
is not supported.");
+    }
+  }
 
-       @Override
-       protected <T> String internalValueToString(final T value, final Boolean 
isNullable, final Integer maxLength,
-                       final Integer precision, final Integer scale, final 
Boolean isUnicode) throws EdmPrimitiveTypeException {
-               // appropriate types
-               if (value instanceof LocalTime) {
-                       return value.toString();
-               }  else if(value instanceof java.sql.Time) {
-                       return value.toString();
-               }
-               
-               // inappropriate types, which need to be supported for backward 
compatibility
-               if (value instanceof GregorianCalendar) {
-                       GregorianCalendar calendar = (GregorianCalendar) value;
-                       return 
calendar.toZonedDateTime().toLocalTime().toString();
-               } 
-               
-               long millis;
-               if (value instanceof Long) {
-                       millis = (Long)value;
-               } else if (value instanceof java.util.Date) {
-                       millis = ((java.util.Date)value).getTime();
-               } else {
-                       throw new EdmPrimitiveTypeException("The value type " + 
value.getClass() + " is not supported.");
-               }
-               
-               ZonedDateTime zdt = 
Instant.ofEpochMilli(millis).atZone(ZoneId.systemDefault());
-               
-               return zdt.toLocalTime().toString();
+  @Override
+  protected <T> String internalValueToString(final T value, final Boolean 
isNullable, final Integer maxLength,
+      final Integer precision, final Integer scale, final Boolean isUnicode) 
throws EdmPrimitiveTypeException {
+    // appropriate types
+    if (value instanceof LocalTime) {
+      return value.toString();
+    } else if (value instanceof java.sql.Time) {
+      return value.toString();
+    }
 
-//
-//             final Calendar dateTimeValue = 
EdmDateTimeOffset.createDateTime(value, true);
-//
-//             StringBuilder result = new StringBuilder();
-//             EdmDateTimeOffset.appendTwoDigits(result, 
dateTimeValue.get(Calendar.HOUR_OF_DAY));
-//             result.append(':');
-//             EdmDateTimeOffset.appendTwoDigits(result, 
dateTimeValue.get(Calendar.MINUTE));
-//             result.append(':');
-//             EdmDateTimeOffset.appendTwoDigits(result, 
dateTimeValue.get(Calendar.SECOND));
-//
-//             final int fractionalSecs = value instanceof Timestamp ? 
((Timestamp) value).getNanos()
-//                             : dateTimeValue.get(Calendar.MILLISECOND);
-//             try {
-//                     EdmDateTimeOffset.appendFractionalSeconds(result, 
fractionalSecs, value instanceof Timestamp, precision);
-//             } catch (final IllegalArgumentException e) {
-//                     throw new EdmPrimitiveTypeException("The value '" + 
value + "' does not match the facets' constraints.", e);
-//             }
-//
-//             return result.toString();
-       }
+    // inappropriate types, which need to be supported for backward 
compatibility
+    if (value instanceof GregorianCalendar) {
+      GregorianCalendar calendar = (GregorianCalendar) value;
+      return calendar.toZonedDateTime().toLocalTime().toString();
+    }
+
+    long millis;
+    if (value instanceof Long) {
+      millis = (Long) value;
+    } else if (value instanceof java.util.Date) {
+      millis = ((java.util.Date) value).getTime();
+    } else {
+      throw new EdmPrimitiveTypeException("The value type " + value.getClass() 
+ " is not supported.");
+    }
+
+    ZonedDateTime zdt = 
Instant.ofEpochMilli(millis).atZone(ZoneId.systemDefault());
+
+    return zdt.toLocalTime().toString();
+  }
 }
diff --git 
a/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmDateTest.java
 
b/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmDateTest.java
index 197e00e..468e262 100644
--- 
a/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmDateTest.java
+++ 
b/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmDateTest.java
@@ -30,79 +30,79 @@ import org.junit.Test;
 
 public class EdmDateTest extends PrimitiveTypeBaseTest {
 
-       private final EdmPrimitiveType instance = 
EdmPrimitiveTypeFactory.getInstance(EdmPrimitiveTypeKind.Date);
-
-       @Test
-       public void toUriLiteral() throws Exception {
-               assertEquals("2009-12-26", instance.toUriLiteral("2009-12-26"));
-               assertEquals("-2009-12-26", 
instance.toUriLiteral("-2009-12-26"));
-       }
-
-       @Test
-       public void fromUriLiteral() throws Exception {
-               assertEquals("2009-12-26", 
instance.fromUriLiteral("2009-12-26"));
-               assertEquals("-2009-12-26", 
instance.fromUriLiteral("-2009-12-26"));
-       }
-
-       @Test
-       public void valueToString() throws Exception {
-               Calendar dateTime = Calendar.getInstance();
-               dateTime.clear();
-               setTimeZone(dateTime, "GMT-11:30");
-               dateTime.set(2012, 1, 29, 13, 0, 0);
-               assertEquals("2012-02-29", instance.valueToString(dateTime, 
null, null, null, null, null));
-
-               Long millis = 1330558323007L;
-               millis -= TimeZone.getDefault().getOffset(millis);
-               assertEquals("2012-02-29", instance.valueToString(millis, null, 
null, null, null, null));
-
-               assertEquals("1969-12-31", instance.valueToString(new 
java.util.Date(-43200000), null, null, null, null, null));
-               assertEquals("1969-12-31",
-                               
instance.valueToString(java.sql.Date.valueOf("1969-12-31"), null, null, null, 
null, null));
-               assertEquals("1969-12-31",
-                               
instance.valueToString(LocalDate.parse("1969-12-31"), null, null, null, null, 
null));
-
-               // TODO support for years beyond 9999
+  private final EdmPrimitiveType instance = 
EdmPrimitiveTypeFactory.getInstance(EdmPrimitiveTypeKind.Date);
+
+  @Test
+  public void toUriLiteral() throws Exception {
+    assertEquals("2009-12-26", instance.toUriLiteral("2009-12-26"));
+    assertEquals("-2009-12-26", instance.toUriLiteral("-2009-12-26"));
+  }
+
+  @Test
+  public void fromUriLiteral() throws Exception {
+    assertEquals("2009-12-26", instance.fromUriLiteral("2009-12-26"));
+    assertEquals("-2009-12-26", instance.fromUriLiteral("-2009-12-26"));
+  }
+
+  @Test
+  public void valueToString() throws Exception {
+    Calendar dateTime = Calendar.getInstance();
+    dateTime.clear();
+    setTimeZone(dateTime, "GMT-11:30");
+    dateTime.set(2012, 1, 29, 13, 0, 0);
+    assertEquals("2012-02-29", instance.valueToString(dateTime, null, null, 
null, null, null));
+
+    Long millis = 1330558323007L;
+    millis -= TimeZone.getDefault().getOffset(millis);
+    assertEquals("2012-02-29", instance.valueToString(millis, null, null, 
null, null, null));
+
+    assertEquals("1969-12-31", instance.valueToString(new 
java.util.Date(-43200000), null, null, null, null, null));
+    assertEquals("1969-12-31",
+        instance.valueToString(java.sql.Date.valueOf("1969-12-31"), null, 
null, null, null, null));
+    assertEquals("1969-12-31",
+        instance.valueToString(LocalDate.parse("1969-12-31"), null, null, 
null, null, null));
+
+    // TODO support for years beyond 9999
 //    dateTime.set(Calendar.YEAR, 12344);
 //    assertEquals("12344-02-29", instance.valueToString(dateTime, null, null, 
null, null, null));
 
-               expectTypeErrorInValueToString(instance, 0);
-       }
-
-       @Test
-       public void valueOfString() throws Exception {
-               Calendar dateTime = Calendar.getInstance();
-               dateTime.clear();
-               dateTime.set(2012, 1, 29);
-               assertEqualCalendar(dateTime,
-                               instance.valueOfString("2012-02-29", null, 
null, null, null, null, Calendar.class));
-               assertEquals(Long.valueOf(dateTime.getTimeInMillis()),
-                               instance.valueOfString("2012-02-29", null, 
null, null, null, null, Long.class));
-               assertEquals(dateTime.getTime(),
-                               instance.valueOfString("2012-02-29", null, 
null, null, null, null, java.util.Date.class));
-               assertEquals(java.sql.Date.valueOf("2012-02-29"),
-                               instance.valueOfString("2012-02-29", null, 
null, null, null, null, java.sql.Date.class));
-               assertEquals(LocalDate.parse("2012-02-29"),
-                               instance.valueOfString("2012-02-29", null, 
null, null, null, null, LocalDate.class));
-
-               // TODO support for years beyond 9999
-               // dateTime.set(Calendar.YEAR, 12344);
-               // Calendar result = instance.valueOfString("12344-02-29", 
null, null, null,
-               // null, null, Calendar.class);
-               // this.assertEqualCalendar(dateTime, result);
-
-               // TODO: Clarify whether negative years are really needed.
-               // dateTime.set(-1, 1, 28);
-               // assertEquals(dateTime, instance.valueOfString("-0001-02-28", 
null,
-               // Calendar.class));
-
-               expectContentErrorInValueOfString(instance, 
"2012-02-29T23:32:02");
-               expectContentErrorInValueOfString(instance, "2012-02-30");
-               expectContentErrorInValueOfString(instance, "20120229");
-               expectContentErrorInValueOfString(instance, "2012-02-1");
-               expectContentErrorInValueOfString(instance, "2012-2-12");
-               expectContentErrorInValueOfString(instance, "123-02-03");
-
-               expectTypeErrorInValueOfString(instance, "2012-02-29");
-       }
+    expectTypeErrorInValueToString(instance, 0);
+  }
+
+  @Test
+  public void valueOfString() throws Exception {
+    Calendar dateTime = Calendar.getInstance();
+    dateTime.clear();
+    dateTime.set(2012, 1, 29);
+    assertEqualCalendar(dateTime,
+        instance.valueOfString("2012-02-29", null, null, null, null, null, 
Calendar.class));
+    assertEquals(Long.valueOf(dateTime.getTimeInMillis()),
+        instance.valueOfString("2012-02-29", null, null, null, null, null, 
Long.class));
+    assertEquals(dateTime.getTime(),
+        instance.valueOfString("2012-02-29", null, null, null, null, null, 
java.util.Date.class));
+    assertEquals(java.sql.Date.valueOf("2012-02-29"),
+        instance.valueOfString("2012-02-29", null, null, null, null, null, 
java.sql.Date.class));
+    assertEquals(LocalDate.parse("2012-02-29"),
+        instance.valueOfString("2012-02-29", null, null, null, null, null, 
LocalDate.class));
+
+    // TODO support for years beyond 9999
+    // dateTime.set(Calendar.YEAR, 12344);
+    // Calendar result = instance.valueOfString("12344-02-29", null, null, 
null,
+    // null, null, Calendar.class);
+    // this.assertEqualCalendar(dateTime, result);
+
+    // TODO: Clarify whether negative years are really needed.
+    // dateTime.set(-1, 1, 28);
+    // assertEquals(dateTime, instance.valueOfString("-0001-02-28", null,
+    // Calendar.class));
+
+    expectContentErrorInValueOfString(instance, "2012-02-29T23:32:02");
+    expectContentErrorInValueOfString(instance, "2012-02-30");
+    expectContentErrorInValueOfString(instance, "20120229");
+    expectContentErrorInValueOfString(instance, "2012-02-1");
+    expectContentErrorInValueOfString(instance, "2012-2-12");
+    expectContentErrorInValueOfString(instance, "123-02-03");
+
+    expectTypeErrorInValueOfString(instance, "2012-02-29");
+  }
 }
diff --git 
a/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmDateTimeOffsetTest.java
 
b/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmDateTimeOffsetTest.java
index c144ac3..3075dfd 100644
--- 
a/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmDateTimeOffsetTest.java
+++ 
b/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmDateTimeOffsetTest.java
@@ -35,208 +35,208 @@ import org.junit.Test;
 
 public class EdmDateTimeOffsetTest extends PrimitiveTypeBaseTest {
 
-       final EdmPrimitiveType instance = 
EdmPrimitiveTypeFactory.getInstance(EdmPrimitiveTypeKind.DateTimeOffset);
-
-       @Test
-       public void toUriLiteral() throws Exception {
-               assertEquals("2009-12-26T21:23:38Z", 
instance.toUriLiteral("2009-12-26T21:23:38Z"));
-               assertEquals("2002-10-10T12:00:00-05:00", 
instance.toUriLiteral("2002-10-10T12:00:00-05:00"));
-       }
-
-       @Test
-       public void fromUriLiteral() throws Exception {
-               assertEquals("2009-12-26T21:23:38Z", 
instance.fromUriLiteral("2009-12-26T21:23:38Z"));
-               assertEquals("2002-10-10T12:00:00-05:00", 
instance.fromUriLiteral("2002-10-10T12:00:00-05:00"));
-       }
-
-       @Test
-       public void valueToStringFromInstant() throws Exception {
-               Instant instant = Instant.parse("2012-02-29T01:02:03Z");
-               assertEquals("2012-02-29T01:02:03Z", 
instance.valueToString(instant, null, null, null, null, null));
-               assertEquals("2012-02-29T01:02:03Z", 
instance.valueToString(instant, null, null, 0, null, null));
-               assertEquals("2012-02-29T01:02:03Z", 
instance.valueToString(instant, null, null, 5, null, null));
-       }
-
-       @Test
-       public void valueToStringFromZonedDateTime() throws Exception {
-               ZonedDateTime zdt = 
ZonedDateTime.parse("2012-02-28T23:32:03-01:30");
-
-               assertEquals("2012-02-28T23:32:03-01:30", 
instance.valueToString(zdt, null, null, null, null, null));
-
-               zdt = zdt.withZoneSameInstant(ZoneId.of("GMT+11:00"));
-               assertEquals("2012-02-29T12:02:03+11:00", 
instance.valueToString(zdt, null, null, null, null, null));
-
-               zdt = zdt.plus(123, ChronoUnit.MILLIS);
-
-               assertEquals("2012-02-29T12:02:03.123+11:00", 
instance.valueToString(zdt, null, null, null, null, null));
-               assertEquals("2012-02-29T12:02:03.123+11:00", 
instance.valueToString(zdt, null, null, 3, null, null));
-               
-               zdt = zdt.plus(456789, ChronoUnit.NANOS);
-               assertEquals("2012-02-29T12:02:03.123456789+11:00", 
instance.valueToString(zdt, null, null, 9, null, null));
-       }
-
-       @Test
-       public void valueToStringFromCalendar() throws Exception {
-               Calendar dateTime = Calendar.getInstance();
-               dateTime.clear();
-               setTimeZone(dateTime, "GMT");
-               dateTime.set(2012, 1, 29, 1, 2, 3);
-               assertEquals("2012-02-29T01:02:03Z", 
instance.valueToString(dateTime, null, null, null, null, null));
-               assertEquals("2012-02-29T01:02:03Z", 
instance.valueToString(dateTime, null, null, 0, null, null));
-               assertEquals("2012-02-29T01:02:03Z", 
instance.valueToString(dateTime, null, null, 5, null, null));
-
-               setTimeZone(dateTime, "GMT-1:30");
-               assertEquals("2012-02-28T23:32:03-01:30", 
instance.valueToString(dateTime, null, null, null, null, null));
-
-               setTimeZone(dateTime, "GMT+11:00");
-               assertEquals("2012-02-29T12:02:03+11:00", 
instance.valueToString(dateTime, null, null, null, null, null));
-
-               dateTime.set(Calendar.MILLISECOND, 503);
-               assertEquals("2012-02-29T12:02:03.503+11:00", 
instance.valueToString(dateTime, null, null, null, null, null));
-               assertEquals("2012-02-29T12:02:03.503+11:00", 
instance.valueToString(dateTime, null, null, 3, null, null));
-
-               dateTime.set(Calendar.MILLISECOND, 530);
-               assertEquals("2012-02-29T12:02:03.53+11:00", 
instance.valueToString(dateTime, null, null, null, null, null));
-               assertEquals("2012-02-29T12:02:03.53+11:00", 
instance.valueToString(dateTime, null, null, 3, null, null));
-
-               dateTime.set(Calendar.MILLISECOND, 53);
-               assertEquals("2012-02-29T12:02:03.053+11:00", 
instance.valueToString(dateTime, null, null, null, null, null));
-               assertEquals("2012-02-29T12:02:03.053+11:00", 
instance.valueToString(dateTime, null, null, 3, null, null));
-       }
-
-       @Test
-       public void valueToStringFromLong() throws Exception {
-               Long millis = 1330558323000L;
-               assertEquals("2012-02-29T23:32:03Z", 
instance.valueToString(millis, null, null, null, null, null));
-               millis = 1330558323007L;
-               assertEquals("2012-02-29T23:32:03.007Z", 
instance.valueToString(millis, null, null, null, null, null));
-               assertEquals("2012-02-29T23:32:03.007Z", 
instance.valueToString(millis, null, null, 3, null, null));
-               assertEquals("1969-12-31T23:59:59.9Z", 
instance.valueToString(-100L, null, null, 1, null, null));
-               assertEquals("1969-12-31T23:59:59.98Z", 
instance.valueToString(-20L, null, null, 2, null, null));
-       }
-
-       @Test
-       public void valueToStringFromJavaUtilDate() throws Exception {
-               final Long millis = 1330558323007L;
-               final Date date = new Date(millis);
-               assertEquals("2012-02-29T23:32:03.007Z", 
instance.valueToString(date, null, null, null, null, null));
-               assertEquals("2012-02-29T23:32:03.007Z", 
instance.valueToString(date, null, null, 3, null, null));
-       }
-
-       @Test
-       public void valueToStringFromTimestamp() throws Exception {
-               Timestamp timestamp = new Timestamp(0);
-               timestamp.setNanos(120);
-               assertEquals("1970-01-01T00:00:00.00000012Z", 
instance.valueToString(timestamp, null, null, null, null, null));
-               assertEquals("1970-01-01T00:00:00.00000012Z", 
instance.valueToString(timestamp, null, null, 8, null, null));
-
-       }
-
-       @Test
-       public void valueToStringFromInvalidTypes() throws Exception {
-               expectTypeErrorInValueToString(instance, Integer.valueOf(0));
-               expectTypeErrorInValueToString(instance, 
Time.valueOf("12:13:14"));
-               expectTypeErrorInValueToString(instance, 
java.sql.Date.valueOf("2019-10-25"));
-       }
-
-       @Test
-       public void valueOfStringToInstant() throws Exception {
-               Instant instant = Instant.parse("2012-02-29T01:02:03Z");
-               assertEquals(instant,
-                               instance.valueOfString("2012-02-29T01:02:03Z", 
null, null, null, null, null, Instant.class));
-               assertEquals(instant,
-                               instance.valueOfString("2012-02-29T01:02:03", 
null, null, null, null, null, Instant.class));
-       }
-
-       @Test
-       public void valueOfStringToZonedDateTime() throws Exception {
-               ZonedDateTime zdt = 
ZonedDateTime.parse("2012-02-29T01:02:03-01:30");
-               assertEquals(zdt,
-                               
instance.valueOfString("2012-02-29T01:02:03-01:30", null, null, null, null, 
null, ZonedDateTime.class));
-       }
-
-       @Test
-       public void valueOfStringToCalendar() throws Exception {
-               Calendar dateTime = Calendar.getInstance();
-               dateTime.clear();
-               setTimeZone(dateTime, "GMT");
-               dateTime.set(2012, 1, 29, 1, 2, 3);
-               assertEqualCalendar(dateTime,
-                               instance.valueOfString("2012-02-29T01:02:03Z", 
null, null, null, null, null, Calendar.class));
-               assertEqualCalendar(dateTime,
-                               instance.valueOfString("2012-02-29T01:02:03", 
null, null, null, null, null, Calendar.class));
-
-               dateTime.clear();
-               setTimeZone(dateTime, "GMT-01:30");
-               dateTime.set(2012, 1, 29, 1, 2, 3);
-               assertEquals(dateTime.getTime(),
-                               
instance.valueOfString("2012-02-29T01:02:03-01:30", null, null, null, null, 
null, Date.class));
-
-               dateTime.clear();
-               setTimeZone(dateTime, "GMT+11:00");
-               dateTime.set(2012, 1, 29, 1, 2, 3);
-               assertEqualCalendar(dateTime,
-                               
instance.valueOfString("2012-02-29T01:02:03+11:00", null, null, null, null, 
null, Calendar.class));
-               dateTime.add(Calendar.MILLISECOND, 7);
-               assertEqualCalendar(dateTime,
-                               
instance.valueOfString("2012-02-29T01:02:03.007+11:00", null, null, 3, null, 
null, Calendar.class));
-       }
-
-       @Test
-       public void valueOfStringToTimestamp() throws Exception {
-               assertEquals(530000001, instance
-                               
.valueOfString("2012-02-29T01:02:03.530000001+11:00", null, null, 9, null, 
null, Timestamp.class)
-                               .getNanos());
-       }
-
-       @Test
-       public void valueOfStringToLong() throws Exception {
-               Calendar dateTime = Calendar.getInstance();
-               dateTime.clear();
-               setTimeZone(dateTime, "GMT");
-               dateTime.set(2012, 1, 29, 1, 2, 3);
-               assertEquals(Long.valueOf(dateTime.getTimeInMillis()),
-                               
instance.valueOfString("2012-02-29T01:02:03+00:00", null, null, null, null, 
null, Long.class));
-               assertEquals(Long.valueOf(120000L),
-                               instance.valueOfString("1970-01-01T00:02Z", 
null, null, null, null, null, Long.class));
-               assertEquals(Long.valueOf(120000L),
-                               instance.valueOfString("1970-01-01T00:02", 
null, null, null, null, null, Long.class));
-               assertEquals(Long.valueOf(12L),
-                               
instance.valueOfString("1970-01-01T00:00:00.012", null, null, 3, null, null, 
Long.class));
-               assertEquals(Long.valueOf(120L),
-                               
instance.valueOfString("1970-01-01T00:00:00.12", null, null, 2, null, null, 
Long.class));
-       }
-
-       @Test
-       public void valueOfStringToJavaSqlTime() throws Exception {
-               assertEquals(new Time(120000L),
-                               instance.valueOfString("1970-01-01T00:02", 
null, null, null, null, null, Time.class));
-               // java.sql.Time does not keep track of milliseconds.
-               assertEquals(new Time(0),
-                               
instance.valueOfString("1970-01-01T00:00:00.012", null, null, 3, null, null, 
Time.class));
-               assertEquals(new Time(0),
-                               
instance.valueOfString("1970-01-01T00:00:00.12", null, null, 2, null, null, 
Time.class));
-       }
-
-       @Test
-       public void valueOfStringToJavaSqlDate() throws Exception {
-               assertEquals(new java.sql.Date(120000L),
-                               instance.valueOfString("1970-01-01T00:02", 
null, null, null, null, null, java.sql.Date.class));
-               // java.sql.Time does not keep track of milliseconds.
-               assertEquals(new java.sql.Date(0),
-                               
instance.valueOfString("1970-01-01T00:00:00.012", null, null, 3, null, null, 
java.sql.Date.class));
-               assertEquals(new java.sql.Date(0),
-                               
instance.valueOfString("1970-01-01T00:00:00.12", null, null, 2, null, null, 
java.sql.Date.class));
-       }
-       
-       @Test
-       public void valueOfStringInvalidData() throws Exception {
-               expectContentErrorInValueOfString(instance, 
"2012-02-29T23:32:02X");
-               expectContentErrorInValueOfString(instance, 
"2012-02-29T23:32:02+24:00");
-               expectContentErrorInValueOfString(instance, 
"2012-02-30T01:02:03");
-               expectContentErrorInValueOfString(instance, 
"2012-02-29T23:32:02.0000000000000");
-
-               expectTypeErrorInValueOfString(instance, 
"2012-02-29T01:02:03Z");
-       }
+  final EdmPrimitiveType instance = 
EdmPrimitiveTypeFactory.getInstance(EdmPrimitiveTypeKind.DateTimeOffset);
+
+  @Test
+  public void toUriLiteral() throws Exception {
+    assertEquals("2009-12-26T21:23:38Z", 
instance.toUriLiteral("2009-12-26T21:23:38Z"));
+    assertEquals("2002-10-10T12:00:00-05:00", 
instance.toUriLiteral("2002-10-10T12:00:00-05:00"));
+  }
+
+  @Test
+  public void fromUriLiteral() throws Exception {
+    assertEquals("2009-12-26T21:23:38Z", 
instance.fromUriLiteral("2009-12-26T21:23:38Z"));
+    assertEquals("2002-10-10T12:00:00-05:00", 
instance.fromUriLiteral("2002-10-10T12:00:00-05:00"));
+  }
+
+  @Test
+  public void valueToStringFromInstant() throws Exception {
+    Instant instant = Instant.parse("2012-02-29T01:02:03Z");
+    assertEquals("2012-02-29T01:02:03Z", instance.valueToString(instant, null, 
null, null, null, null));
+    assertEquals("2012-02-29T01:02:03Z", instance.valueToString(instant, null, 
null, 0, null, null));
+    assertEquals("2012-02-29T01:02:03Z", instance.valueToString(instant, null, 
null, 5, null, null));
+  }
+
+  @Test
+  public void valueToStringFromZonedDateTime() throws Exception {
+    ZonedDateTime zdt = ZonedDateTime.parse("2012-02-28T23:32:03-01:30");
+
+    assertEquals("2012-02-28T23:32:03-01:30", instance.valueToString(zdt, 
null, null, null, null, null));
+
+    zdt = zdt.withZoneSameInstant(ZoneId.of("GMT+11:00"));
+    assertEquals("2012-02-29T12:02:03+11:00", instance.valueToString(zdt, 
null, null, null, null, null));
+
+    zdt = zdt.plus(123, ChronoUnit.MILLIS);
+
+    assertEquals("2012-02-29T12:02:03.123+11:00", instance.valueToString(zdt, 
null, null, null, null, null));
+    assertEquals("2012-02-29T12:02:03.123+11:00", instance.valueToString(zdt, 
null, null, 3, null, null));
+
+    zdt = zdt.plus(456789, ChronoUnit.NANOS);
+    assertEquals("2012-02-29T12:02:03.123456789+11:00", 
instance.valueToString(zdt, null, null, 9, null, null));
+  }
+
+  @Test
+  public void valueToStringFromCalendar() throws Exception {
+    Calendar dateTime = Calendar.getInstance();
+    dateTime.clear();
+    setTimeZone(dateTime, "GMT");
+    dateTime.set(2012, 1, 29, 1, 2, 3);
+    assertEquals("2012-02-29T01:02:03Z", instance.valueToString(dateTime, 
null, null, null, null, null));
+    assertEquals("2012-02-29T01:02:03Z", instance.valueToString(dateTime, 
null, null, 0, null, null));
+    assertEquals("2012-02-29T01:02:03Z", instance.valueToString(dateTime, 
null, null, 5, null, null));
+
+    setTimeZone(dateTime, "GMT-1:30");
+    assertEquals("2012-02-28T23:32:03-01:30", instance.valueToString(dateTime, 
null, null, null, null, null));
+
+    setTimeZone(dateTime, "GMT+11:00");
+    assertEquals("2012-02-29T12:02:03+11:00", instance.valueToString(dateTime, 
null, null, null, null, null));
+
+    dateTime.set(Calendar.MILLISECOND, 503);
+    assertEquals("2012-02-29T12:02:03.503+11:00", 
instance.valueToString(dateTime, null, null, null, null, null));
+    assertEquals("2012-02-29T12:02:03.503+11:00", 
instance.valueToString(dateTime, null, null, 3, null, null));
+
+    dateTime.set(Calendar.MILLISECOND, 530);
+    assertEquals("2012-02-29T12:02:03.53+11:00", 
instance.valueToString(dateTime, null, null, null, null, null));
+    assertEquals("2012-02-29T12:02:03.53+11:00", 
instance.valueToString(dateTime, null, null, 3, null, null));
+
+    dateTime.set(Calendar.MILLISECOND, 53);
+    assertEquals("2012-02-29T12:02:03.053+11:00", 
instance.valueToString(dateTime, null, null, null, null, null));
+    assertEquals("2012-02-29T12:02:03.053+11:00", 
instance.valueToString(dateTime, null, null, 3, null, null));
+  }
+
+  @Test
+  public void valueToStringFromLong() throws Exception {
+    Long millis = 1330558323000L;
+    assertEquals("2012-02-29T23:32:03Z", instance.valueToString(millis, null, 
null, null, null, null));
+    millis = 1330558323007L;
+    assertEquals("2012-02-29T23:32:03.007Z", instance.valueToString(millis, 
null, null, null, null, null));
+    assertEquals("2012-02-29T23:32:03.007Z", instance.valueToString(millis, 
null, null, 3, null, null));
+    assertEquals("1969-12-31T23:59:59.9Z", instance.valueToString(-100L, null, 
null, 1, null, null));
+    assertEquals("1969-12-31T23:59:59.98Z", instance.valueToString(-20L, null, 
null, 2, null, null));
+  }
+
+  @Test
+  public void valueToStringFromJavaUtilDate() throws Exception {
+    final Long millis = 1330558323007L;
+    final Date date = new Date(millis);
+    assertEquals("2012-02-29T23:32:03.007Z", instance.valueToString(date, 
null, null, null, null, null));
+    assertEquals("2012-02-29T23:32:03.007Z", instance.valueToString(date, 
null, null, 3, null, null));
+  }
+
+  @Test
+  public void valueToStringFromTimestamp() throws Exception {
+    Timestamp timestamp = new Timestamp(0);
+    timestamp.setNanos(120);
+    assertEquals("1970-01-01T00:00:00.00000012Z", 
instance.valueToString(timestamp, null, null, null, null, null));
+    assertEquals("1970-01-01T00:00:00.00000012Z", 
instance.valueToString(timestamp, null, null, 8, null, null));
+
+  }
+
+  @Test
+  public void valueToStringFromInvalidTypes() throws Exception {
+    expectTypeErrorInValueToString(instance, Integer.valueOf(0));
+    expectTypeErrorInValueToString(instance, Time.valueOf("12:13:14"));
+    expectTypeErrorInValueToString(instance, 
java.sql.Date.valueOf("2019-10-25"));
+  }
+
+  @Test
+  public void valueOfStringToInstant() throws Exception {
+    Instant instant = Instant.parse("2012-02-29T01:02:03Z");
+    assertEquals(instant,
+        instance.valueOfString("2012-02-29T01:02:03Z", null, null, null, null, 
null, Instant.class));
+    assertEquals(instant,
+        instance.valueOfString("2012-02-29T01:02:03", null, null, null, null, 
null, Instant.class));
+  }
+
+  @Test
+  public void valueOfStringToZonedDateTime() throws Exception {
+    ZonedDateTime zdt = ZonedDateTime.parse("2012-02-29T01:02:03-01:30");
+    assertEquals(zdt,
+        instance.valueOfString("2012-02-29T01:02:03-01:30", null, null, null, 
null, null, ZonedDateTime.class));
+  }
+
+  @Test
+  public void valueOfStringToCalendar() throws Exception {
+    Calendar dateTime = Calendar.getInstance();
+    dateTime.clear();
+    setTimeZone(dateTime, "GMT");
+    dateTime.set(2012, 1, 29, 1, 2, 3);
+    assertEqualCalendar(dateTime,
+        instance.valueOfString("2012-02-29T01:02:03Z", null, null, null, null, 
null, Calendar.class));
+    assertEqualCalendar(dateTime,
+        instance.valueOfString("2012-02-29T01:02:03", null, null, null, null, 
null, Calendar.class));
+
+    dateTime.clear();
+    setTimeZone(dateTime, "GMT-01:30");
+    dateTime.set(2012, 1, 29, 1, 2, 3);
+    assertEquals(dateTime.getTime(),
+        instance.valueOfString("2012-02-29T01:02:03-01:30", null, null, null, 
null, null, Date.class));
+
+    dateTime.clear();
+    setTimeZone(dateTime, "GMT+11:00");
+    dateTime.set(2012, 1, 29, 1, 2, 3);
+    assertEqualCalendar(dateTime,
+        instance.valueOfString("2012-02-29T01:02:03+11:00", null, null, null, 
null, null, Calendar.class));
+    dateTime.add(Calendar.MILLISECOND, 7);
+    assertEqualCalendar(dateTime,
+        instance.valueOfString("2012-02-29T01:02:03.007+11:00", null, null, 3, 
null, null, Calendar.class));
+  }
+
+  @Test
+  public void valueOfStringToTimestamp() throws Exception {
+    assertEquals(530000001, instance
+        .valueOfString("2012-02-29T01:02:03.530000001+11:00", null, null, 9, 
null, null, Timestamp.class)
+        .getNanos());
+  }
+
+  @Test
+  public void valueOfStringToLong() throws Exception {
+    Calendar dateTime = Calendar.getInstance();
+    dateTime.clear();
+    setTimeZone(dateTime, "GMT");
+    dateTime.set(2012, 1, 29, 1, 2, 3);
+    assertEquals(Long.valueOf(dateTime.getTimeInMillis()),
+        instance.valueOfString("2012-02-29T01:02:03+00:00", null, null, null, 
null, null, Long.class));
+    assertEquals(Long.valueOf(120000L),
+        instance.valueOfString("1970-01-01T00:02Z", null, null, null, null, 
null, Long.class));
+    assertEquals(Long.valueOf(120000L),
+        instance.valueOfString("1970-01-01T00:02", null, null, null, null, 
null, Long.class));
+    assertEquals(Long.valueOf(12L),
+        instance.valueOfString("1970-01-01T00:00:00.012", null, null, 3, null, 
null, Long.class));
+    assertEquals(Long.valueOf(120L),
+        instance.valueOfString("1970-01-01T00:00:00.12", null, null, 2, null, 
null, Long.class));
+  }
+
+  @Test
+  public void valueOfStringToJavaSqlTime() throws Exception {
+    assertEquals(new Time(120000L),
+        instance.valueOfString("1970-01-01T00:02", null, null, null, null, 
null, Time.class));
+    // java.sql.Time does not keep track of milliseconds.
+    assertEquals(new Time(0),
+        instance.valueOfString("1970-01-01T00:00:00.012", null, null, 3, null, 
null, Time.class));
+    assertEquals(new Time(0),
+        instance.valueOfString("1970-01-01T00:00:00.12", null, null, 2, null, 
null, Time.class));
+  }
+
+  @Test
+  public void valueOfStringToJavaSqlDate() throws Exception {
+    assertEquals(new java.sql.Date(120000L),
+        instance.valueOfString("1970-01-01T00:02", null, null, null, null, 
null, java.sql.Date.class));
+    // java.sql.Time does not keep track of milliseconds.
+    assertEquals(new java.sql.Date(0),
+        instance.valueOfString("1970-01-01T00:00:00.012", null, null, 3, null, 
null, java.sql.Date.class));
+    assertEquals(new java.sql.Date(0),
+        instance.valueOfString("1970-01-01T00:00:00.12", null, null, 2, null, 
null, java.sql.Date.class));
+  }
+
+  @Test
+  public void valueOfStringInvalidData() throws Exception {
+    expectContentErrorInValueOfString(instance, "2012-02-29T23:32:02X");
+    expectContentErrorInValueOfString(instance, "2012-02-29T23:32:02+24:00");
+    expectContentErrorInValueOfString(instance, "2012-02-30T01:02:03");
+    expectContentErrorInValueOfString(instance, 
"2012-02-29T23:32:02.0000000000000");
+
+    expectTypeErrorInValueOfString(instance, "2012-02-29T01:02:03Z");
+  }
 
 }
diff --git 
a/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmTimeOfDayTest.java
 
b/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmTimeOfDayTest.java
index ddcbc65..f1253a4 100644
--- 
a/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmTimeOfDayTest.java
+++ 
b/lib/commons-core/src/test/java/org/apache/olingo/commons/core/edm/primitivetype/EdmTimeOfDayTest.java
@@ -23,7 +23,6 @@ import static org.junit.Assert.assertEquals;
 import java.sql.Time;
 import java.sql.Timestamp;
 import java.time.LocalDate;
-import java.time.LocalDateTime;
 import java.time.LocalTime;
 import java.time.ZoneId;
 import java.time.ZonedDateTime;
@@ -37,154 +36,154 @@ import org.junit.Test;
 
 public class EdmTimeOfDayTest extends PrimitiveTypeBaseTest {
 
-       private final EdmPrimitiveType instance = 
EdmPrimitiveTypeFactory.getInstance(EdmPrimitiveTypeKind.TimeOfDay);
-
-       @Test
-       public void toUriLiteral() throws Exception {
-               assertEquals("11:12", instance.toUriLiteral("11:12"));
-               assertEquals("11:12:13.012", 
instance.toUriLiteral("11:12:13.012"));
-       }
-
-       @Test
-       public void fromUriLiteral() throws Exception {
-               assertEquals("11:12", instance.fromUriLiteral("11:12"));
-               assertEquals("11:12:13.012", 
instance.fromUriLiteral("11:12:13.012"));
-       }
-
-       @Test
-       public void valueToString() throws Exception {
-               Calendar dateTime = Calendar.getInstance();
-               dateTime.clear();
-               setTimeZone(dateTime, "GMT+11:30");
-               dateTime.set(1, 2, 3, 4, 5, 6);
-               assertEquals("04:05:06", instance.valueToString(dateTime, null, 
null, null, null, null));
-
-               dateTime.add(Calendar.MILLISECOND, 42);
-               assertEquals("04:05:06.042", instance.valueToString(dateTime, 
null, null, null, null, null));
-               assertEquals("04:05:06.042", instance.valueToString(dateTime, 
null, null, 3, null, null));
-               assertEquals("04:05:06.042", instance.valueToString(dateTime, 
null, null, 4, null, null));
-
-               Calendar dateTime2 = Calendar.getInstance();
-               dateTime2.clear();
-               setTimeZone(dateTime, TimeZone.getDefault());
-               dateTime2.set(Calendar.HOUR, 5);
-               dateTime2.set(Calendar.MINUTE, 59);
-               dateTime2.set(Calendar.SECOND, 23);
-               
-               final java.sql.Time time = new 
java.sql.Time(dateTime2.getTimeInMillis());
-               assertEquals("05:59:23", instance.valueToString(time, null, 
null, null, null, null));
-
-               assertEquals("05:59:23", 
instance.valueToString(dateTime2.getTimeInMillis(), null, null, null, null, 
null));
+  private final EdmPrimitiveType instance = 
EdmPrimitiveTypeFactory.getInstance(EdmPrimitiveTypeKind.TimeOfDay);
+
+  @Test
+  public void toUriLiteral() throws Exception {
+    assertEquals("11:12", instance.toUriLiteral("11:12"));
+    assertEquals("11:12:13.012", instance.toUriLiteral("11:12:13.012"));
+  }
+
+  @Test
+  public void fromUriLiteral() throws Exception {
+    assertEquals("11:12", instance.fromUriLiteral("11:12"));
+    assertEquals("11:12:13.012", instance.fromUriLiteral("11:12:13.012"));
+  }
+
+  @Test
+  public void valueToString() throws Exception {
+    Calendar dateTime = Calendar.getInstance();
+    dateTime.clear();
+    setTimeZone(dateTime, "GMT+11:30");
+    dateTime.set(1, 2, 3, 4, 5, 6);
+    assertEquals("04:05:06", instance.valueToString(dateTime, null, null, 
null, null, null));
+
+    dateTime.add(Calendar.MILLISECOND, 42);
+    assertEquals("04:05:06.042", instance.valueToString(dateTime, null, null, 
null, null, null));
+    assertEquals("04:05:06.042", instance.valueToString(dateTime, null, null, 
3, null, null));
+    assertEquals("04:05:06.042", instance.valueToString(dateTime, null, null, 
4, null, null));
+
+    Calendar dateTime2 = Calendar.getInstance();
+    dateTime2.clear();
+    setTimeZone(dateTime, TimeZone.getDefault());
+    dateTime2.set(Calendar.HOUR, 5);
+    dateTime2.set(Calendar.MINUTE, 59);
+    dateTime2.set(Calendar.SECOND, 23);
+
+    final java.sql.Time time = new java.sql.Time(dateTime2.getTimeInMillis());
+    assertEquals("05:59:23", instance.valueToString(time, null, null, null, 
null, null));
+
+    assertEquals("05:59:23", 
instance.valueToString(dateTime2.getTimeInMillis(), null, null, null, null, 
null));
 
 //    Timestamp timestamp = new Timestamp(0);
 //    timestamp.setNanos(42);
 
-               expectTypeErrorInValueToString(instance, 0);
-       }
-
-       @Test
-       public void valueToStringFromJavaUtilDate() throws Exception {
-               LocalTime time = LocalTime.parse("04:05:06");
-               ZonedDateTime zdt = ZonedDateTime.of(LocalDate.ofEpochDay(0), 
time, ZoneId.systemDefault());
-               long millis = zdt.toInstant().toEpochMilli();
-               
-               java.util.Date javaUtilDate = new java.util.Date(millis);
-               assertEquals("04:05:06", instance.valueToString(javaUtilDate, 
null, null, null, null, null));
-               
-               java.sql.Timestamp javaSqlTimestamp = new       
java.sql.Timestamp(millis);
-               assertEquals("04:05:06", 
instance.valueToString(javaSqlTimestamp, null, null, null, null, null));
-       }
-
-       @Test
-       public void valueToStringFromLocalTime() throws Exception {
-               LocalTime time = LocalTime.parse("04:05:06");
-               assertEquals("04:05:06", instance.valueToString(time, null, 
null, null, null, null));
-       }
-       
-       @Test
-       public void valueToStringFromJavaSqlTime() throws Exception {
-               java.sql.Time time = java.sql.Time.valueOf("04:05:06");
-               assertEquals("04:05:06", instance.valueToString(time, null, 
null, null, null, null));
-       }
-       
-       @Test
-       public void valueOfString() throws Exception {
-               Calendar dateTime = Calendar.getInstance();
-               dateTime.clear();
-
-               assertEqualCalendar(dateTime, instance.valueOfString("00:00", 
null, null, null, null, null, Calendar.class));
-               assertEqualCalendar(dateTime, 
instance.valueOfString("00:00:00", null, null, null, null, null, 
Calendar.class));
-               assertEqualCalendar(dateTime,
-                               instance.valueOfString("00:00:00.000000000", 
null, null, null, null, null, Calendar.class));
-
-               final Time timeValue = instance.valueOfString("00:00:00.999", 
null, null, 3, null, null, Time.class);
-               assertEquals(dateTime.getTimeInMillis(), timeValue.getTime());
-
-               dateTime.set(Calendar.MILLISECOND, 999);
-               assertEqualCalendar(dateTime,
-                               instance.valueOfString("00:00:00.999", null, 
null, 3, null, null, Calendar.class));
-               assertEqualCalendar(dateTime,
-                               instance.valueOfString("00:00:00.999", null, 
null, 3, null, null, Calendar.class));
-               assertEquals(Long.valueOf(dateTime.getTimeInMillis()),
-                               instance.valueOfString("00:00:00.999", null, 
null, 3, null, null, Long.class));
-
-               final Timestamp timestamp = 
instance.valueOfString("00:00:00.999888777", null, null, 9, null, null,
-                               Timestamp.class);
-               assertEquals(dateTime.getTimeInMillis(), timestamp.getTime());
-               assertEquals(999888777, timestamp.getNanos());
+    expectTypeErrorInValueToString(instance, 0);
+  }
+
+  @Test
+  public void valueToStringFromJavaUtilDate() throws Exception {
+    LocalTime time = LocalTime.parse("04:05:06");
+    ZonedDateTime zdt = ZonedDateTime.of(LocalDate.ofEpochDay(0), time, 
ZoneId.systemDefault());
+    long millis = zdt.toInstant().toEpochMilli();
+
+    java.util.Date javaUtilDate = new java.util.Date(millis);
+    assertEquals("04:05:06", instance.valueToString(javaUtilDate, null, null, 
null, null, null));
+
+    java.sql.Timestamp javaSqlTimestamp = new java.sql.Timestamp(millis);
+    assertEquals("04:05:06", instance.valueToString(javaSqlTimestamp, null, 
null, null, null, null));
+  }
+
+  @Test
+  public void valueToStringFromLocalTime() throws Exception {
+    LocalTime time = LocalTime.parse("04:05:06");
+    assertEquals("04:05:06", instance.valueToString(time, null, null, null, 
null, null));
+  }
+
+  @Test
+  public void valueToStringFromJavaSqlTime() throws Exception {
+    java.sql.Time time = java.sql.Time.valueOf("04:05:06");
+    assertEquals("04:05:06", instance.valueToString(time, null, null, null, 
null, null));
+  }
+
+  @Test
+  public void valueOfString() throws Exception {
+    Calendar dateTime = Calendar.getInstance();
+    dateTime.clear();
+
+    assertEqualCalendar(dateTime, instance.valueOfString("00:00", null, null, 
null, null, null, Calendar.class));
+    assertEqualCalendar(dateTime, instance.valueOfString("00:00:00", null, 
null, null, null, null, Calendar.class));
+    assertEqualCalendar(dateTime,
+        instance.valueOfString("00:00:00.000000000", null, null, null, null, 
null, Calendar.class));
+
+    final Time timeValue = instance.valueOfString("00:00:00.999", null, null, 
3, null, null, Time.class);
+    assertEquals(dateTime.getTimeInMillis(), timeValue.getTime());
+
+    dateTime.set(Calendar.MILLISECOND, 999);
+    assertEqualCalendar(dateTime,
+        instance.valueOfString("00:00:00.999", null, null, 3, null, null, 
Calendar.class));
+    assertEqualCalendar(dateTime,
+        instance.valueOfString("00:00:00.999", null, null, 3, null, null, 
Calendar.class));
+    assertEquals(Long.valueOf(dateTime.getTimeInMillis()),
+        instance.valueOfString("00:00:00.999", null, null, 3, null, null, 
Long.class));
+
+    final Timestamp timestamp = instance.valueOfString("00:00:00.999888777", 
null, null, 9, null, null,
+        Timestamp.class);
+    assertEquals(dateTime.getTimeInMillis(), timestamp.getTime());
+    assertEquals(999888777, timestamp.getNanos());
 
 //    expectUnconvertibleErrorInValueOfString(instance, "11:12:13.1234", 
Calendar.class);
 //    expectUnconvertibleErrorInValueOfString(instance, "11:12:13.0123456789", 
Timestamp.class);
 
-               expectContentErrorInValueOfString(instance, "24:32:02");
-               expectContentErrorInValueOfString(instance, "011:12:13");
-               expectContentErrorInValueOfString(instance, "11:12:13:14");
-               expectContentErrorInValueOfString(instance, "111213");
-               expectContentErrorInValueOfString(instance, "1:2:3");
-               expectContentErrorInValueOfString(instance, "11:12:13.0.1");
+    expectContentErrorInValueOfString(instance, "24:32:02");
+    expectContentErrorInValueOfString(instance, "011:12:13");
+    expectContentErrorInValueOfString(instance, "11:12:13:14");
+    expectContentErrorInValueOfString(instance, "111213");
+    expectContentErrorInValueOfString(instance, "1:2:3");
+    expectContentErrorInValueOfString(instance, "11:12:13.0.1");
 //    expectContentErrorInValueOfString(instance, "11:12:13.");
-               expectContentErrorInValueOfString(instance, 
"11:12:13.0000000000000");
-
-               expectTypeErrorInValueOfString(instance, "11:12:13");
-       }
-       
-       @Test
-       public void valueOfStringToLocalTime() throws Exception {
-               LocalTime time = LocalTime.parse("04:05:06");
-               assertEquals(time, instance.valueOfString("04:05:06", null, 
null, null, null, null, LocalTime.class));
-               
-               time = time.plus(123, ChronoUnit.MILLIS);
-               assertEquals(time, instance.valueOfString("04:05:06.123", null, 
null, null, null, null, LocalTime.class));
-               
-               time = time.plus(456789, ChronoUnit.NANOS);
-               assertEquals(time, instance.valueOfString("04:05:06.123456789", 
null, null, null, null, null, LocalTime.class));
-       }
-       
-       @Test
-       public void valueOfStringToJavaSqlTime() throws Exception {
-               java.sql.Time time = java.sql.Time.valueOf("04:05:06");
-               assertEquals(time, instance.valueOfString("04:05:06", null, 
null, null, null, null, java.sql.Time.class));
-       }
-       
-       @Test
-       public void valueOfStringToJavaUtilDateTime() throws Exception {
-               LocalTime time = LocalTime.parse("04:05:06");
-               ZonedDateTime zdt = ZonedDateTime.of(LocalDate.ofEpochDay(0), 
time, ZoneId.systemDefault());
-               long millis = zdt.toInstant().toEpochMilli();
-               java.util.Date javaUtilDate = new java.util.Date(millis);       
        
-               assertEquals(javaUtilDate, instance.valueOfString("04:05:06", 
null, null, null, null, null, java.util.Date.class));
-       }
-       
-       @Test
-       public void testRoundTripTime() throws Exception {
-               java.sql.Time time = instance.valueOfString("04:05:06.002", 
true, 4000, 3, 0, true, java.sql.Time.class);
-               String val = instance.valueToString(time, true, 4000, 3, 0, 
true);
-               assertEquals("04:05:06", val);
-       }
-
-       @Test
-       public void tests() throws Exception {
-               instance.validate("12:34:55", null, null, null, null, null);
-       }
+    expectContentErrorInValueOfString(instance, "11:12:13.0000000000000");
+
+    expectTypeErrorInValueOfString(instance, "11:12:13");
+  }
+
+  @Test
+  public void valueOfStringToLocalTime() throws Exception {
+    LocalTime time = LocalTime.parse("04:05:06");
+    assertEquals(time, instance.valueOfString("04:05:06", null, null, null, 
null, null, LocalTime.class));
+
+    time = time.plus(123, ChronoUnit.MILLIS);
+    assertEquals(time, instance.valueOfString("04:05:06.123", null, null, 
null, null, null, LocalTime.class));
+
+    time = time.plus(456789, ChronoUnit.NANOS);
+    assertEquals(time, instance.valueOfString("04:05:06.123456789", null, 
null, null, null, null, LocalTime.class));
+  }
+
+  @Test
+  public void valueOfStringToJavaSqlTime() throws Exception {
+    java.sql.Time time = java.sql.Time.valueOf("04:05:06");
+    assertEquals(time, instance.valueOfString("04:05:06", null, null, null, 
null, null, java.sql.Time.class));
+  }
+
+  @Test
+  public void valueOfStringToJavaUtilDateTime() throws Exception {
+    LocalTime time = LocalTime.parse("04:05:06");
+    ZonedDateTime zdt = ZonedDateTime.of(LocalDate.ofEpochDay(0), time, 
ZoneId.systemDefault());
+    long millis = zdt.toInstant().toEpochMilli();
+    java.util.Date javaUtilDate = new java.util.Date(millis);
+    assertEquals(javaUtilDate, instance.valueOfString("04:05:06", null, null, 
null, null, null, java.util.Date.class));
+  }
+
+  @Test
+  public void testRoundTripTime() throws Exception {
+    java.sql.Time time = instance.valueOfString("04:05:06.002", true, 4000, 3, 
0, true, java.sql.Time.class);
+    String val = instance.valueToString(time, true, 4000, 3, 0, true);
+    assertEquals("04:05:06", val);
+  }
+
+  @Test
+  public void tests() throws Exception {
+    instance.validate("12:34:55", null, null, null, null, null);
+  }
 
 }

Reply via email to