You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by nt...@apache.org on 2018/08/10 14:32:59 UTC
[1/9] cayenne git commit: CAY-2447 Added crypto support for java.time
Repository: cayenne
Updated Branches:
refs/heads/master e616dc140 -> 63518b81c
CAY-2447 Added crypto support for java.time
Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/09727691
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/09727691
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/09727691
Branch: refs/heads/master
Commit: 097276917ca17d8d114a7a47d0655e7f8e504ac1
Parents: e616dc1
Author: kkomyak <co...@gmail.com>
Authored: Tue Aug 7 17:30:46 2018 +0300
Committer: kkomyak <co...@gmail.com>
Committed: Wed Aug 8 09:58:17 2018 +0300
----------------------------------------------------------------------
RELEASE-NOTES.txt | 1 +
.../org/apache/cayenne/crypto/CryptoModule.java | 11 ++++++
.../transformer/value/LocalDateConverter.java | 28 +++++++++++++++
.../value/LocalDateTimeConverter.java | 37 ++++++++++++++++++++
.../transformer/value/LocalTimeConverter.java | 27 ++++++++++++++
.../value/LocalDateConverterTest.java | 27 ++++++++++++++
.../value/LocalDateTimeConverterTest.java | 29 +++++++++++++++
.../value/LocalTimeConverterTest.java | 28 +++++++++++++++
8 files changed, 188 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cayenne/blob/09727691/RELEASE-NOTES.txt
----------------------------------------------------------------------
diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index 8db9264..fff3063 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -19,6 +19,7 @@ Bug Fixes:
CAY-2444 Change URI from http:// to https:// in xsi:schemaLocation
CAY-2445 Oracle: Problem with ExpressionFactory.notInExp()
+CAY-2447 Crypto support for LocalDateTime
----------------------------------
Release: 4.1.M2
http://git-wip-us.apache.org/repos/asf/cayenne/blob/09727691/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/CryptoModule.java
----------------------------------------------------------------------
diff --git a/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/CryptoModule.java b/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/CryptoModule.java
index f12f22a..5c75ad5 100644
--- a/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/CryptoModule.java
+++ b/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/CryptoModule.java
@@ -45,6 +45,9 @@ import org.apache.cayenne.crypto.transformer.value.DoubleConverter;
import org.apache.cayenne.crypto.transformer.value.FloatConverter;
import org.apache.cayenne.crypto.transformer.value.IntegerConverter;
import org.apache.cayenne.crypto.transformer.value.LazyValueTransformerFactory;
+import org.apache.cayenne.crypto.transformer.value.LocalDateConverter;
+import org.apache.cayenne.crypto.transformer.value.LocalDateTimeConverter;
+import org.apache.cayenne.crypto.transformer.value.LocalTimeConverter;
import org.apache.cayenne.crypto.transformer.value.LongConverter;
import org.apache.cayenne.crypto.transformer.value.ShortConverter;
import org.apache.cayenne.crypto.transformer.value.Utf8StringConverter;
@@ -57,6 +60,9 @@ import org.apache.cayenne.di.Module;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.sql.Types;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.LocalTime;
import java.util.Date;
/**
@@ -183,5 +189,10 @@ public class CryptoModule implements Module {
mapBuilder.put(Date.class.getName(), UtilDateConverter.INSTANCE);
mapBuilder.put(BigInteger.class.getName(), BigIntegerConverter.INSTANCE);
mapBuilder.put(BigDecimal.class.getName(), BigDecimalConverter.INSTANCE);
+
+ mapBuilder.put(LocalDate.class.getName(), LocalDateConverter.INSTANCE);
+ mapBuilder.put(LocalTime.class.getName(), LocalTimeConverter.INSTANCE);
+ mapBuilder.put(LocalDateTime.class.getName(), LocalDateTimeConverter.INSTANCE);
+
}
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/09727691/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/LocalDateConverter.java
----------------------------------------------------------------------
diff --git a/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/LocalDateConverter.java b/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/LocalDateConverter.java
new file mode 100644
index 0000000..d584034
--- /dev/null
+++ b/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/LocalDateConverter.java
@@ -0,0 +1,28 @@
+package org.apache.cayenne.crypto.transformer.value;
+
+import java.time.LocalDate;
+import java.util.Objects;
+
+/**
+ * @since 4.1.M3
+ */
+public class LocalDateConverter implements BytesConverter<LocalDate> {
+
+ public static final BytesConverter<LocalDate> INSTANCE = new LocalDateConverter(LongConverter.INSTANCE);
+
+ private BytesConverter<Long> longConverter;
+
+ public LocalDateConverter(BytesConverter<Long> longConverter) {
+ this.longConverter = Objects.requireNonNull(longConverter);
+ }
+
+ @Override
+ public LocalDate fromBytes(byte[] bytes) {
+ return LocalDate.ofEpochDay(longConverter.fromBytes(bytes));
+ }
+
+ @Override
+ public byte[] toBytes(LocalDate value) {
+ return longConverter.toBytes(value.toEpochDay());
+ }
+}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/09727691/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/LocalDateTimeConverter.java
----------------------------------------------------------------------
diff --git a/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/LocalDateTimeConverter.java b/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/LocalDateTimeConverter.java
new file mode 100644
index 0000000..9e98632
--- /dev/null
+++ b/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/LocalDateTimeConverter.java
@@ -0,0 +1,37 @@
+package org.apache.cayenne.crypto.transformer.value;
+
+import java.time.Instant;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
+import java.util.Objects;
+import java.util.TimeZone;
+
+/**
+ * @since 4.1.M3
+ */
+public class LocalDateTimeConverter implements BytesConverter<LocalDateTime> {
+ public static final BytesConverter<LocalDateTime> INSTANCE = new LocalDateTimeConverter(LongConverter.INSTANCE);
+
+ private BytesConverter<Long> longConverter;
+
+ public LocalDateTimeConverter(BytesConverter<Long> longConverter) {
+ this.longConverter = Objects.requireNonNull(longConverter);
+ }
+
+
+ @Override
+ public LocalDateTime fromBytes(byte[] bytes) {
+
+ return LocalDateTime.ofInstant(Instant.ofEpochMilli(longConverter.fromBytes(bytes)),
+ TimeZone.getDefault().toZoneId());
+ }
+
+
+ @Override
+ public byte[] toBytes(LocalDateTime value) {
+
+ long epochMilli = value.atZone(ZoneId.systemDefault()).toInstant().toEpochMilli();
+
+ return longConverter.toBytes(epochMilli);
+ }
+}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/09727691/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/LocalTimeConverter.java
----------------------------------------------------------------------
diff --git a/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/LocalTimeConverter.java b/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/LocalTimeConverter.java
new file mode 100644
index 0000000..a1fa9bf
--- /dev/null
+++ b/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/LocalTimeConverter.java
@@ -0,0 +1,27 @@
+package org.apache.cayenne.crypto.transformer.value;
+
+import java.time.LocalTime;
+import java.util.Objects;
+
+/**
+ * @since 4.1.M3
+ */
+public class LocalTimeConverter implements BytesConverter<LocalTime> {
+ public static final BytesConverter<LocalTime> INSTANCE = new LocalTimeConverter(LongConverter.INSTANCE);
+
+ private BytesConverter<Long> longConverter;
+
+ public LocalTimeConverter(BytesConverter<Long> longConverter) {
+ this.longConverter = Objects.requireNonNull(longConverter);
+ }
+
+ @Override
+ public LocalTime fromBytes(byte[] bytes) {
+ return LocalTime.ofNanoOfDay(longConverter.fromBytes(bytes));
+ }
+
+ @Override
+ public byte[] toBytes(LocalTime value) {
+ return longConverter.toBytes(value.toNanoOfDay());
+ }
+}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/09727691/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/transformer/value/LocalDateConverterTest.java
----------------------------------------------------------------------
diff --git a/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/transformer/value/LocalDateConverterTest.java b/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/transformer/value/LocalDateConverterTest.java
new file mode 100644
index 0000000..9b5458a
--- /dev/null
+++ b/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/transformer/value/LocalDateConverterTest.java
@@ -0,0 +1,27 @@
+package org.apache.cayenne.crypto.transformer.value;
+
+import org.junit.Test;
+
+import java.text.ParseException;
+import java.time.LocalDate;
+
+import static org.junit.Assert.assertArrayEquals;
+import static org.junit.Assert.assertEquals;
+
+public class LocalDateConverterTest {
+
+ private LocalDate localDate(String dateString) {
+ return LocalDate.parse(dateString);
+ }
+
+ @Test
+ public void testFromBytes() throws ParseException {
+ assertEquals(localDate("2015-01-07"), LocalDateConverter.INSTANCE.fromBytes(new byte[]{64, 58}));
+ }
+
+ @Test
+ public void testToBytes() throws ParseException {
+ assertArrayEquals(new byte[]{64, 58},
+ LocalDateConverter.INSTANCE.toBytes(localDate("2015-01-07")));
+ }
+}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/09727691/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/transformer/value/LocalDateTimeConverterTest.java
----------------------------------------------------------------------
diff --git a/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/transformer/value/LocalDateTimeConverterTest.java b/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/transformer/value/LocalDateTimeConverterTest.java
new file mode 100644
index 0000000..9b0e5f2
--- /dev/null
+++ b/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/transformer/value/LocalDateTimeConverterTest.java
@@ -0,0 +1,29 @@
+package org.apache.cayenne.crypto.transformer.value;
+
+import org.junit.Test;
+
+import java.text.ParseException;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+
+import static org.junit.Assert.assertArrayEquals;
+import static org.junit.Assert.assertEquals;
+
+public class LocalDateTimeConverterTest {
+ private LocalDateTime localDate(String dateString) {
+
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+ return LocalDateTime.parse(dateString, formatter);
+ }
+
+ @Test
+ public void testFromBytes() throws ParseException {
+ assertEquals(localDate("2015-01-07 11:00:02"), LocalDateTimeConverter.INSTANCE.fromBytes(new byte[]{0, 0, 1, 74, -61, 104, 83, -48}));
+ }
+
+ @Test
+ public void testToBytes() throws ParseException {
+ assertArrayEquals(new byte[]{0, 0, 1, 74, -61, 104, 83, -48},
+ LocalDateTimeConverter.INSTANCE.toBytes(localDate("2015-01-07 11:00:02")));
+ }
+}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/09727691/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/transformer/value/LocalTimeConverterTest.java
----------------------------------------------------------------------
diff --git a/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/transformer/value/LocalTimeConverterTest.java b/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/transformer/value/LocalTimeConverterTest.java
new file mode 100644
index 0000000..4743217
--- /dev/null
+++ b/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/transformer/value/LocalTimeConverterTest.java
@@ -0,0 +1,28 @@
+package org.apache.cayenne.crypto.transformer.value;
+
+import org.junit.Test;
+
+import java.text.ParseException;
+import java.time.LocalTime;
+
+import static org.junit.Assert.assertArrayEquals;
+import static org.junit.Assert.assertEquals;
+
+public class LocalTimeConverterTest {
+
+ private LocalTime localTime(String dateString) {
+ return LocalTime.parse(dateString);
+ }
+
+ @Test
+ public void testFromBytes() throws ParseException {
+ assertEquals(localTime("11:00:02"), LocalTimeConverter.INSTANCE.fromBytes(new byte[]{0, 0, 36, 4, -113, 36, 116, 0}));
+ }
+
+ @Test
+ public void testToBytes() throws ParseException {
+ assertArrayEquals(new byte[]{0, 0, 36, 4, -113, 36, 116, 0},
+ LocalTimeConverter.INSTANCE.toBytes(localTime("11:00:02")));
+ }
+
+}
[3/9] cayenne git commit: Changed zone offset to 0.
Posted by nt...@apache.org.
Changed zone offset to 0.
Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/0129ce4f
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/0129ce4f
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/0129ce4f
Branch: refs/heads/master
Commit: 0129ce4f5788275f29c7baa009b1dfd3b0c95d1e
Parents: c9093b7
Author: kkomyak <co...@gmail.com>
Authored: Wed Aug 8 13:04:30 2018 +0300
Committer: kkomyak <co...@gmail.com>
Committed: Wed Aug 8 13:04:30 2018 +0300
----------------------------------------------------------------------
.../crypto/transformer/value/LocalDateTimeConverter.java | 9 +++------
.../transformer/value/LocalDateTimeConverterTest.java | 4 ++--
2 files changed, 5 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cayenne/blob/0129ce4f/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/LocalDateTimeConverter.java
----------------------------------------------------------------------
diff --git a/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/LocalDateTimeConverter.java b/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/LocalDateTimeConverter.java
index 6476e60..17e512b 100644
--- a/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/LocalDateTimeConverter.java
+++ b/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/LocalDateTimeConverter.java
@@ -2,7 +2,7 @@ package org.apache.cayenne.crypto.transformer.value;
import java.time.Instant;
import java.time.LocalDateTime;
-import java.time.ZoneId;
+import java.time.ZoneOffset;
import java.util.Objects;
/**
@@ -22,15 +22,12 @@ public class LocalDateTimeConverter implements BytesConverter<LocalDateTime> {
public LocalDateTime fromBytes(byte[] bytes) {
return LocalDateTime.ofInstant(Instant.ofEpochMilli(longConverter.fromBytes(bytes)),
- ZoneId.systemDefault());
+ ZoneOffset.ofHours(0));
}
@Override
public byte[] toBytes(LocalDateTime value) {
-
- long epochMilli = value.atZone(ZoneId.systemDefault()).toInstant().toEpochMilli();
-
- return longConverter.toBytes(epochMilli);
+ return longConverter.toBytes(value.toInstant(ZoneOffset.ofHours(0)).toEpochMilli());
}
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/0129ce4f/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/transformer/value/LocalDateTimeConverterTest.java
----------------------------------------------------------------------
diff --git a/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/transformer/value/LocalDateTimeConverterTest.java b/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/transformer/value/LocalDateTimeConverterTest.java
index 9b0e5f2..fc13e9e 100644
--- a/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/transformer/value/LocalDateTimeConverterTest.java
+++ b/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/transformer/value/LocalDateTimeConverterTest.java
@@ -18,12 +18,12 @@ public class LocalDateTimeConverterTest {
@Test
public void testFromBytes() throws ParseException {
- assertEquals(localDate("2015-01-07 11:00:02"), LocalDateTimeConverter.INSTANCE.fromBytes(new byte[]{0, 0, 1, 74, -61, 104, 83, -48}));
+ assertEquals(localDate("2015-01-07 11:00:02"), LocalDateTimeConverter.INSTANCE.fromBytes(new byte[]{0, 0, 1, 74, -60, 13, 31, 80}));
}
@Test
public void testToBytes() throws ParseException {
- assertArrayEquals(new byte[]{0, 0, 1, 74, -61, 104, 83, -48},
+ assertArrayEquals(new byte[]{0, 0, 1, 74, -60, 13, 31, 80},
LocalDateTimeConverter.INSTANCE.toBytes(localDate("2015-01-07 11:00:02")));
}
}
[5/9] cayenne git commit: Changed to LocalDateTimeConverter uses
LocalDate and LocalTime separately.
Posted by nt...@apache.org.
Changed to LocalDateTimeConverter uses LocalDate and LocalTime separately.
Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/b919e3ea
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/b919e3ea
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/b919e3ea
Branch: refs/heads/master
Commit: b919e3ea691b9378079873285dc88887e8c02a57
Parents: abe62d3
Author: kkomyak <co...@gmail.com>
Authored: Wed Aug 8 11:30:51 2018 +0000
Committer: kkomyak <co...@gmail.com>
Committed: Wed Aug 8 11:30:51 2018 +0000
----------------------------------------------------------------------
.../value/LocalDateTimeConverter.java | 27 ++++++++++++++++----
.../value/LocalDateTimeConverterTest.java | 4 +--
2 files changed, 24 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cayenne/blob/b919e3ea/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/LocalDateTimeConverter.java
----------------------------------------------------------------------
diff --git a/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/LocalDateTimeConverter.java b/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/LocalDateTimeConverter.java
index 71ad63f..6d3e081 100644
--- a/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/LocalDateTimeConverter.java
+++ b/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/LocalDateTimeConverter.java
@@ -1,8 +1,9 @@
package org.apache.cayenne.crypto.transformer.value;
-import java.time.Instant;
+import java.lang.reflect.Array;
+import java.time.LocalDate;
import java.time.LocalDateTime;
-import java.time.ZoneOffset;
+import java.time.LocalTime;
import java.util.Objects;
/**
@@ -20,14 +21,30 @@ public class LocalDateTimeConverter implements BytesConverter<LocalDateTime> {
@Override
public LocalDateTime fromBytes(byte[] bytes) {
+ int dateLength = 2;
+ int timeLength = 8;
- return LocalDateTime.ofInstant(Instant.ofEpochMilli(longConverter.fromBytes(bytes)),
- ZoneOffset.ofHours(0));
+ byte[] date = new byte[dateLength];
+ byte[] time = new byte[timeLength];
+
+ System.arraycopy(bytes, 0, date, 0, dateLength);
+ System.arraycopy(bytes, dateLength, time, 0, timeLength);
+
+ LocalDate localDate = LocalDate.ofEpochDay(longConverter.fromBytes(date));
+ LocalTime localTime = LocalTime.ofNanoOfDay(longConverter.fromBytes(time));
+ return LocalDateTime.of(localDate, localTime);
}
@Override
public byte[] toBytes(LocalDateTime value) {
- return longConverter.toBytes(value.toInstant(ZoneOffset.ofHours(0)).toEpochMilli());
+ byte[] date = longConverter.toBytes(value.toLocalDate().toEpochDay());
+ byte[] time = longConverter.toBytes(value.toLocalTime().toNanoOfDay());
+
+ byte [] datetime = (byte[]) Array.newInstance(byte.class, date.length + time.length);
+ System.arraycopy(date,0, datetime, 0, date.length);
+ System.arraycopy(time,0, datetime, date.length, time.length);
+
+ return datetime;
}
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/b919e3ea/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/transformer/value/LocalDateTimeConverterTest.java
----------------------------------------------------------------------
diff --git a/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/transformer/value/LocalDateTimeConverterTest.java b/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/transformer/value/LocalDateTimeConverterTest.java
index fc13e9e..1cc9425 100644
--- a/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/transformer/value/LocalDateTimeConverterTest.java
+++ b/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/transformer/value/LocalDateTimeConverterTest.java
@@ -18,12 +18,12 @@ public class LocalDateTimeConverterTest {
@Test
public void testFromBytes() throws ParseException {
- assertEquals(localDate("2015-01-07 11:00:02"), LocalDateTimeConverter.INSTANCE.fromBytes(new byte[]{0, 0, 1, 74, -60, 13, 31, 80}));
+ assertEquals(localDate("2015-01-07 11:00:02"), LocalDateTimeConverter.INSTANCE.fromBytes(new byte[]{64, 58, 0, 0, 36, 4, -113, 36, 116, 0}));
}
@Test
public void testToBytes() throws ParseException {
- assertArrayEquals(new byte[]{0, 0, 1, 74, -60, 13, 31, 80},
+ assertArrayEquals(new byte[]{64, 58, 0, 0, 36, 4, -113, 36, 116, 0},
LocalDateTimeConverter.INSTANCE.toBytes(localDate("2015-01-07 11:00:02")));
}
}
[2/9] cayenne git commit: Changed defaultTime zone to systemDefault.
Posted by nt...@apache.org.
Changed defaultTime zone to systemDefault.
Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/c9093b7e
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/c9093b7e
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/c9093b7e
Branch: refs/heads/master
Commit: c9093b7eff1cd5f43c819eab2f746b49b6721fc6
Parents: 0972769
Author: kkomyak <co...@gmail.com>
Authored: Wed Aug 8 11:03:17 2018 +0300
Committer: kkomyak <co...@gmail.com>
Committed: Wed Aug 8 11:03:17 2018 +0300
----------------------------------------------------------------------
.../cayenne/crypto/transformer/value/LocalDateTimeConverter.java | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cayenne/blob/c9093b7e/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/LocalDateTimeConverter.java
----------------------------------------------------------------------
diff --git a/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/LocalDateTimeConverter.java b/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/LocalDateTimeConverter.java
index 9e98632..6476e60 100644
--- a/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/LocalDateTimeConverter.java
+++ b/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/LocalDateTimeConverter.java
@@ -4,7 +4,6 @@ import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.Objects;
-import java.util.TimeZone;
/**
* @since 4.1.M3
@@ -23,7 +22,7 @@ public class LocalDateTimeConverter implements BytesConverter<LocalDateTime> {
public LocalDateTime fromBytes(byte[] bytes) {
return LocalDateTime.ofInstant(Instant.ofEpochMilli(longConverter.fromBytes(bytes)),
- TimeZone.getDefault().toZoneId());
+ ZoneId.systemDefault());
}
[8/9] cayenne git commit: Merge PR #302
Posted by nt...@apache.org.
Merge PR #302
Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/c9d0fd32
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/c9d0fd32
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/c9d0fd32
Branch: refs/heads/master
Commit: c9d0fd32bc14dd6efbafc62928e0bcf91d14229a
Parents: e616dc1 c9f5517
Author: Nikita Timofeev <st...@gmail.com>
Authored: Fri Aug 10 12:08:44 2018 +0300
Committer: Nikita Timofeev <st...@gmail.com>
Committed: Fri Aug 10 12:08:44 2018 +0300
----------------------------------------------------------------------
RELEASE-NOTES.txt | 1 +
.../org/apache/cayenne/crypto/CryptoModule.java | 11 +++++
.../transformer/value/LocalDateConverter.java | 28 +++++++++++
.../value/LocalDateTimeConverter.java | 49 ++++++++++++++++++++
.../transformer/value/LocalTimeConverter.java | 27 +++++++++++
.../value/LocalDateConverterTest.java | 27 +++++++++++
.../value/LocalDateTimeConverterTest.java | 29 ++++++++++++
.../value/LocalTimeConverterTest.java | 28 +++++++++++
8 files changed, 200 insertions(+)
----------------------------------------------------------------------
[9/9] cayenne git commit: CAY-2447 Crypto support for LocalDateTime
Posted by nt...@apache.org.
CAY-2447 Crypto support for LocalDateTime
Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/63518b81
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/63518b81
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/63518b81
Branch: refs/heads/master
Commit: 63518b81c6d8455a70558255cc160f91a26ed46d
Parents: c9d0fd3
Author: Nikita Timofeev <st...@gmail.com>
Authored: Fri Aug 10 17:32:09 2018 +0300
Committer: Nikita Timofeev <st...@gmail.com>
Committed: Fri Aug 10 17:32:09 2018 +0300
----------------------------------------------------------------------
RELEASE-NOTES.txt | 2 +-
.../value/LocalDateTimeConverter.java | 27 ++++++++----
.../transformer/value/LocalTimeConverter.java | 1 +
.../value/LocalDateConverterTest.java | 14 +++----
.../value/LocalDateTimeConverterTest.java | 43 +++++++++++++++-----
.../value/LocalTimeConverterTest.java | 20 +++++----
6 files changed, 71 insertions(+), 36 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cayenne/blob/63518b81/RELEASE-NOTES.txt
----------------------------------------------------------------------
diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index fff3063..d2e5421 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -14,12 +14,12 @@ Date:
Changes/New Features:
CAY-2446 Run Disjoint By Id queries outside of synchronized block
+CAY-2447 Crypto support for LocalDateTime
Bug Fixes:
CAY-2444 Change URI from http:// to https:// in xsi:schemaLocation
CAY-2445 Oracle: Problem with ExpressionFactory.notInExp()
-CAY-2447 Crypto support for LocalDateTime
----------------------------------
Release: 4.1.M2
http://git-wip-us.apache.org/repos/asf/cayenne/blob/63518b81/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/LocalDateTimeConverter.java
----------------------------------------------------------------------
diff --git a/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/LocalDateTimeConverter.java b/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/LocalDateTimeConverter.java
index 91dd318..6307c46 100644
--- a/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/LocalDateTimeConverter.java
+++ b/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/LocalDateTimeConverter.java
@@ -5,10 +5,13 @@ import java.time.LocalDateTime;
import java.time.LocalTime;
import java.util.Objects;
+import org.apache.cayenne.crypto.CayenneCryptoException;
+
/**
* @since 4.1
*/
public class LocalDateTimeConverter implements BytesConverter<LocalDateTime> {
+
public static final BytesConverter<LocalDateTime> INSTANCE = new LocalDateTimeConverter(LongConverter.INSTANCE);
private BytesConverter<Long> longConverter;
@@ -20,14 +23,22 @@ public class LocalDateTimeConverter implements BytesConverter<LocalDateTime> {
@Override
public LocalDateTime fromBytes(byte[] bytes) {
- int dateLength = 2;
- int timeLength = 8;
+ if (bytes.length < 2) {
+ throw new IllegalArgumentException("Unexpected number of bytes: " + bytes.length);
+ }
+
+ // long values converted to varying length byte arrays, so first byte is length
+ int dateLength = bytes[0];
+ if(dateLength <= 0 || dateLength >= bytes.length - 1) {
+ throw new CayenneCryptoException("Corrupted data for LocalDateTime: wrong encoded length");
+ }
+ int timeLength = bytes.length - 1 - dateLength;
byte[] date = new byte[dateLength];
byte[] time = new byte[timeLength];
- System.arraycopy(bytes, 0, date, 0, dateLength);
- System.arraycopy(bytes, dateLength, time, 0, timeLength);
+ System.arraycopy(bytes, 1, date, 0, dateLength);
+ System.arraycopy(bytes, dateLength + 1, time, 0, timeLength);
LocalDate localDate = LocalDate.ofEpochDay(longConverter.fromBytes(date));
LocalTime localTime = LocalTime.ofNanoOfDay(longConverter.fromBytes(time));
@@ -40,9 +51,11 @@ public class LocalDateTimeConverter implements BytesConverter<LocalDateTime> {
byte[] date = longConverter.toBytes(value.toLocalDate().toEpochDay());
byte[] time = longConverter.toBytes(value.toLocalTime().toNanoOfDay());
- byte [] datetime = new byte[date.length + time.length];
- System.arraycopy(date,0, datetime, 0, date.length);
- System.arraycopy(time,0, datetime, date.length, time.length);
+ byte [] datetime = new byte[date.length + time.length + 1];
+ // store date part length as first byte
+ datetime[0] = (byte)date.length;
+ System.arraycopy(date,0, datetime, 1, date.length);
+ System.arraycopy(time,0, datetime, date.length + 1, time.length);
return datetime;
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/63518b81/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/LocalTimeConverter.java
----------------------------------------------------------------------
diff --git a/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/LocalTimeConverter.java b/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/LocalTimeConverter.java
index 82908ec..ae49c80 100644
--- a/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/LocalTimeConverter.java
+++ b/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/LocalTimeConverter.java
@@ -7,6 +7,7 @@ import java.util.Objects;
* @since 4.1
*/
public class LocalTimeConverter implements BytesConverter<LocalTime> {
+
public static final BytesConverter<LocalTime> INSTANCE = new LocalTimeConverter(LongConverter.INSTANCE);
private BytesConverter<Long> longConverter;
http://git-wip-us.apache.org/repos/asf/cayenne/blob/63518b81/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/transformer/value/LocalDateConverterTest.java
----------------------------------------------------------------------
diff --git a/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/transformer/value/LocalDateConverterTest.java b/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/transformer/value/LocalDateConverterTest.java
index 9b5458a..7cf6aa8 100644
--- a/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/transformer/value/LocalDateConverterTest.java
+++ b/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/transformer/value/LocalDateConverterTest.java
@@ -2,7 +2,6 @@ package org.apache.cayenne.crypto.transformer.value;
import org.junit.Test;
-import java.text.ParseException;
import java.time.LocalDate;
import static org.junit.Assert.assertArrayEquals;
@@ -10,18 +9,15 @@ import static org.junit.Assert.assertEquals;
public class LocalDateConverterTest {
- private LocalDate localDate(String dateString) {
- return LocalDate.parse(dateString);
- }
-
@Test
- public void testFromBytes() throws ParseException {
- assertEquals(localDate("2015-01-07"), LocalDateConverter.INSTANCE.fromBytes(new byte[]{64, 58}));
+ public void testFromBytes() {
+ assertEquals(LocalDate.of(2015, 1, 7),
+ LocalDateConverter.INSTANCE.fromBytes(new byte[]{64, 58}));
}
@Test
- public void testToBytes() throws ParseException {
+ public void testToBytes() {
assertArrayEquals(new byte[]{64, 58},
- LocalDateConverter.INSTANCE.toBytes(localDate("2015-01-07")));
+ LocalDateConverter.INSTANCE.toBytes(LocalDate.of(2015, 1, 7)));
}
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/63518b81/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/transformer/value/LocalDateTimeConverterTest.java
----------------------------------------------------------------------
diff --git a/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/transformer/value/LocalDateTimeConverterTest.java b/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/transformer/value/LocalDateTimeConverterTest.java
index 1cc9425..6be15e9 100644
--- a/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/transformer/value/LocalDateTimeConverterTest.java
+++ b/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/transformer/value/LocalDateTimeConverterTest.java
@@ -2,28 +2,51 @@ package org.apache.cayenne.crypto.transformer.value;
import org.junit.Test;
-import java.text.ParseException;
import java.time.LocalDateTime;
-import java.time.format.DateTimeFormatter;
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
public class LocalDateTimeConverterTest {
- private LocalDateTime localDate(String dateString) {
- DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
- return LocalDateTime.parse(dateString, formatter);
+ @Test
+ public void testFromBytes() {
+ assertEquals(LocalDateTime.of(2015, 1, 7, 11, 0, 2),
+ LocalDateTimeConverter.INSTANCE.fromBytes(new byte[]{2, 64, 58, 0, 0, 36, 4, -113, 36, 116, 0}));
+ }
+
+ @Test
+ public void testToBytes() {
+ byte[] bytes = LocalDateTimeConverter.INSTANCE
+ .toBytes(LocalDateTime.of(2015, 1, 7, 11, 0, 2));
+ assertArrayEquals(new byte[]{2, 64, 58, 0, 0, 36, 4, -113, 36, 116, 0}, bytes);
+ }
+
+ @Test
+ public void testToBytesBig() {
+ byte[] bytes = LocalDateTimeConverter.INSTANCE
+ .toBytes(LocalDateTime.of(123456, 12, 31, 23, 59, 59));
+ assertArrayEquals(new byte[]{4, 2, -91, 16, -9, 0, 0, 78, -108, 85, -76, 54, 0}, bytes);
+ }
+
+ @Test
+ public void testFromBytesBig() {
+ LocalDateTime localDateTime = LocalDateTimeConverter.INSTANCE
+ .fromBytes(new byte[]{4, 2, -91, 16, -9, 0, 0, 78, -108, 85, -76, 54, 0});
+ assertEquals(LocalDateTime.of(123456, 12, 31, 23, 59, 59), localDateTime);
}
@Test
- public void testFromBytes() throws ParseException {
- assertEquals(localDate("2015-01-07 11:00:02"), LocalDateTimeConverter.INSTANCE.fromBytes(new byte[]{64, 58, 0, 0, 36, 4, -113, 36, 116, 0}));
+ public void testToBytesSmall() {
+ byte[] bytes = LocalDateTimeConverter.INSTANCE
+ .toBytes(LocalDateTime.of(0, 1, 1, 0, 0, 0));
+ assertArrayEquals(new byte[]{4, -1, -11, 5, 88, 0}, bytes);
}
@Test
- public void testToBytes() throws ParseException {
- assertArrayEquals(new byte[]{64, 58, 0, 0, 36, 4, -113, 36, 116, 0},
- LocalDateTimeConverter.INSTANCE.toBytes(localDate("2015-01-07 11:00:02")));
+ public void testFromBytesSmall() {
+ LocalDateTime localDateTime = LocalDateTimeConverter.INSTANCE
+ .fromBytes(new byte[]{4, -1, -11, 5, 88, 0});
+ assertEquals(LocalDateTime.of(0, 1, 1, 0, 0, 0), localDateTime);
}
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/63518b81/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/transformer/value/LocalTimeConverterTest.java
----------------------------------------------------------------------
diff --git a/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/transformer/value/LocalTimeConverterTest.java b/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/transformer/value/LocalTimeConverterTest.java
index 4743217..e0dca79 100644
--- a/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/transformer/value/LocalTimeConverterTest.java
+++ b/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/transformer/value/LocalTimeConverterTest.java
@@ -2,7 +2,6 @@ package org.apache.cayenne.crypto.transformer.value;
import org.junit.Test;
-import java.text.ParseException;
import java.time.LocalTime;
import static org.junit.Assert.assertArrayEquals;
@@ -10,19 +9,22 @@ import static org.junit.Assert.assertEquals;
public class LocalTimeConverterTest {
- private LocalTime localTime(String dateString) {
- return LocalTime.parse(dateString);
- }
-
@Test
- public void testFromBytes() throws ParseException {
- assertEquals(localTime("11:00:02"), LocalTimeConverter.INSTANCE.fromBytes(new byte[]{0, 0, 36, 4, -113, 36, 116, 0}));
+ public void testFromBytes() {
+ assertEquals(LocalTime.of(11, 0, 2),
+ LocalTimeConverter.INSTANCE.fromBytes(new byte[]{0, 0, 36, 4, -113, 36, 116, 0}));
+
+ assertEquals(LocalTime.of(0, 0, 0),
+ LocalTimeConverter.INSTANCE.fromBytes(new byte[]{0}));
}
@Test
- public void testToBytes() throws ParseException {
+ public void testToBytes() {
assertArrayEquals(new byte[]{0, 0, 36, 4, -113, 36, 116, 0},
- LocalTimeConverter.INSTANCE.toBytes(localTime("11:00:02")));
+ LocalTimeConverter.INSTANCE.toBytes(LocalTime.of(11, 0, 2)));
+
+ assertArrayEquals(new byte[]{0},
+ LocalTimeConverter.INSTANCE.toBytes(LocalTime.of(0, 0, 0)));
}
}
[6/9] cayenne git commit: Refactoring.
Posted by nt...@apache.org.
Refactoring.
Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/0afdecb4
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/0afdecb4
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/0afdecb4
Branch: refs/heads/master
Commit: 0afdecb44c06edbcc545bc68d48be59dcef006d4
Parents: b919e3e
Author: kkomyak <co...@gmail.com>
Authored: Wed Aug 8 15:40:03 2018 +0300
Committer: kkomyak <co...@gmail.com>
Committed: Wed Aug 8 15:40:03 2018 +0300
----------------------------------------------------------------------
.../cayenne/crypto/transformer/value/LocalDateTimeConverter.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cayenne/blob/0afdecb4/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/LocalDateTimeConverter.java
----------------------------------------------------------------------
diff --git a/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/LocalDateTimeConverter.java b/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/LocalDateTimeConverter.java
index 6d3e081..1b4d80d 100644
--- a/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/LocalDateTimeConverter.java
+++ b/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/LocalDateTimeConverter.java
@@ -41,7 +41,7 @@ public class LocalDateTimeConverter implements BytesConverter<LocalDateTime> {
byte[] date = longConverter.toBytes(value.toLocalDate().toEpochDay());
byte[] time = longConverter.toBytes(value.toLocalTime().toNanoOfDay());
- byte [] datetime = (byte[]) Array.newInstance(byte.class, date.length + time.length);
+ byte [] datetime = new byte[date.length + time.length];
System.arraycopy(date,0, datetime, 0, date.length);
System.arraycopy(time,0, datetime, date.length, time.length);
[4/9] cayenne git commit: Changed since javadoc.
Posted by nt...@apache.org.
Changed since javadoc.
Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/abe62d3a
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/abe62d3a
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/abe62d3a
Branch: refs/heads/master
Commit: abe62d3ab900f23a3d7ca01c075c1b99f07eec96
Parents: 0129ce4
Author: kkomyak <co...@gmail.com>
Authored: Wed Aug 8 13:19:16 2018 +0300
Committer: kkomyak <co...@gmail.com>
Committed: Wed Aug 8 13:19:16 2018 +0300
----------------------------------------------------------------------
.../cayenne/crypto/transformer/value/LocalDateConverter.java | 2 +-
.../cayenne/crypto/transformer/value/LocalDateTimeConverter.java | 2 +-
.../cayenne/crypto/transformer/value/LocalTimeConverter.java | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cayenne/blob/abe62d3a/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/LocalDateConverter.java
----------------------------------------------------------------------
diff --git a/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/LocalDateConverter.java b/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/LocalDateConverter.java
index d584034..71f0db7 100644
--- a/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/LocalDateConverter.java
+++ b/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/LocalDateConverter.java
@@ -4,7 +4,7 @@ import java.time.LocalDate;
import java.util.Objects;
/**
- * @since 4.1.M3
+ * @since 4.1
*/
public class LocalDateConverter implements BytesConverter<LocalDate> {
http://git-wip-us.apache.org/repos/asf/cayenne/blob/abe62d3a/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/LocalDateTimeConverter.java
----------------------------------------------------------------------
diff --git a/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/LocalDateTimeConverter.java b/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/LocalDateTimeConverter.java
index 17e512b..71ad63f 100644
--- a/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/LocalDateTimeConverter.java
+++ b/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/LocalDateTimeConverter.java
@@ -6,7 +6,7 @@ import java.time.ZoneOffset;
import java.util.Objects;
/**
- * @since 4.1.M3
+ * @since 4.1
*/
public class LocalDateTimeConverter implements BytesConverter<LocalDateTime> {
public static final BytesConverter<LocalDateTime> INSTANCE = new LocalDateTimeConverter(LongConverter.INSTANCE);
http://git-wip-us.apache.org/repos/asf/cayenne/blob/abe62d3a/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/LocalTimeConverter.java
----------------------------------------------------------------------
diff --git a/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/LocalTimeConverter.java b/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/LocalTimeConverter.java
index a1fa9bf..82908ec 100644
--- a/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/LocalTimeConverter.java
+++ b/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/LocalTimeConverter.java
@@ -4,7 +4,7 @@ import java.time.LocalTime;
import java.util.Objects;
/**
- * @since 4.1.M3
+ * @since 4.1
*/
public class LocalTimeConverter implements BytesConverter<LocalTime> {
public static final BytesConverter<LocalTime> INSTANCE = new LocalTimeConverter(LongConverter.INSTANCE);
[7/9] cayenne git commit: Refactoring.
Posted by nt...@apache.org.
Refactoring.
Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/c9f5517f
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/c9f5517f
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/c9f5517f
Branch: refs/heads/master
Commit: c9f5517f529be0d360bdd74fa42184e5f77c6bfe
Parents: 0afdecb
Author: kkomyak <co...@gmail.com>
Authored: Wed Aug 8 15:41:38 2018 +0300
Committer: kkomyak <co...@gmail.com>
Committed: Wed Aug 8 15:41:38 2018 +0300
----------------------------------------------------------------------
.../cayenne/crypto/transformer/value/LocalDateTimeConverter.java | 1 -
1 file changed, 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cayenne/blob/c9f5517f/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/LocalDateTimeConverter.java
----------------------------------------------------------------------
diff --git a/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/LocalDateTimeConverter.java b/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/LocalDateTimeConverter.java
index 1b4d80d..91dd318 100644
--- a/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/LocalDateTimeConverter.java
+++ b/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/transformer/value/LocalDateTimeConverter.java
@@ -1,6 +1,5 @@
package org.apache.cayenne.crypto.transformer.value;
-import java.lang.reflect.Array;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;