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 2019/05/13 13:20:54 UTC
[cayenne] branch master updated: Make StringProperty comparable
This is an automated email from the ASF dual-hosted git repository.
ntimofeev pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git
The following commit(s) were added to refs/heads/master by this push:
new 21657b2 Make StringProperty comparable
21657b2 is described below
commit 21657b29e072598f0c622e1b074137501e9167b2
Author: Nikita Timofeev <st...@gmail.com>
AuthorDate: Mon May 13 16:17:02 2019 +0300
Make StringProperty comparable
---
.../org/apache/cayenne/exp/property/ComparableProperty.java | 1 -
.../java/org/apache/cayenne/exp/property/StringProperty.java | 2 +-
.../org/apache/cayenne/exp/property/StringPropertyTest.java | 12 ++++++++++++
3 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/exp/property/ComparableProperty.java b/cayenne-server/src/main/java/org/apache/cayenne/exp/property/ComparableProperty.java
index c1e15fc..4e0ef80 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/exp/property/ComparableProperty.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/exp/property/ComparableProperty.java
@@ -29,7 +29,6 @@ import org.apache.cayenne.exp.FunctionExpressionFactory;
* @see org.apache.cayenne.exp.property
* @since 4.2
*/
-// TODO: bound <E> to <E extends Comparable> once deprecated Property class is removed
public interface ComparableProperty<E> extends Property<E> {
/**
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/exp/property/StringProperty.java b/cayenne-server/src/main/java/org/apache/cayenne/exp/property/StringProperty.java
index 1c09822..b94c4ca 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/exp/property/StringProperty.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/exp/property/StringProperty.java
@@ -39,7 +39,7 @@ import org.apache.cayenne.exp.FunctionExpressionFactory;
* @see org.apache.cayenne.exp.property
* @since 4.2
*/
-public class StringProperty<E extends CharSequence> extends BaseProperty<E> {
+public class StringProperty<E extends CharSequence> extends BaseProperty<E> implements ComparableProperty<E> {
/**
* Constructs a new property with the given name and expression
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/exp/property/StringPropertyTest.java b/cayenne-server/src/test/java/org/apache/cayenne/exp/property/StringPropertyTest.java
index a2b7388..02e0eaa 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/exp/property/StringPropertyTest.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/exp/property/StringPropertyTest.java
@@ -164,6 +164,18 @@ public class StringPropertyTest {
}
@Test
+ public void compare() {
+ assertEquals(exp("path > 'abc'"), property.gt("abc"));
+ assertEquals(exp("path > other"), property.gt(other));
+ assertEquals(exp("path >= 'abc'"), property.gte("abc"));
+ assertEquals(exp("path >= other"), property.gte(other));
+ assertEquals(exp("path < 'abc'"), property.lt("abc"));
+ assertEquals(exp("path < other"), property.lt(other));
+ assertEquals(exp("path <= 'abc'"), property.lte("abc"));
+ assertEquals(exp("path <= other"), property.lte(other));
+ }
+
+ @Test
public void alias() {
assertEquals("path", property.getName());
assertNull(property.getAlias());