From 439858b259b9ba91432a1b5195bf054f417a7240 Mon Sep 17 00:00:00 2001 From: Robin Bygrave Date: Wed, 17 Feb 2016 16:53:32 +1300 Subject: [PATCH] #566 - Refactor internals -OrmQueryDetailProperties - remove hasProperties() --- .../server/querydefn/OrmQueryDetail.java | 2 +- .../server/querydefn/OrmQueryProperties.java | 7 +----- .../server/querydefn/OrmQueryDetailTest.java | 23 +++++++++++++++++++ 3 files changed, 25 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/avaje/ebeaninternal/server/querydefn/OrmQueryDetail.java b/src/main/java/com/avaje/ebeaninternal/server/querydefn/OrmQueryDetail.java index 7af5d97ac..47fb077c6 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/querydefn/OrmQueryDetail.java +++ b/src/main/java/com/avaje/ebeaninternal/server/querydefn/OrmQueryDetail.java @@ -444,7 +444,7 @@ public class OrmQueryDetail implements Serializable { * Return true if the query detail has neither select properties specified or any joins defined. */ public boolean isEmpty() { - return fetchPaths.isEmpty() && (!baseProps.hasProperties()); + return fetchPaths.isEmpty() && baseProps.allProperties(); } /** diff --git a/src/main/java/com/avaje/ebeaninternal/server/querydefn/OrmQueryProperties.java b/src/main/java/com/avaje/ebeaninternal/server/querydefn/OrmQueryProperties.java index 6697ae3b4..00eaebc3c 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/querydefn/OrmQueryProperties.java +++ b/src/main/java/com/avaje/ebeaninternal/server/querydefn/OrmQueryProperties.java @@ -318,13 +318,8 @@ public class OrmQueryProperties implements Serializable { } /** - * Return true if this has properties. Returning false means this part of the - * path is a partial object. + * Return true if this includes all properties on the path. */ - public boolean hasProperties() { - return included != null; - } - public boolean allProperties() { return included == null; } diff --git a/src/test/java/com/avaje/ebeaninternal/server/querydefn/OrmQueryDetailTest.java b/src/test/java/com/avaje/ebeaninternal/server/querydefn/OrmQueryDetailTest.java index 9a3b4edea..0ca744e09 100644 --- a/src/test/java/com/avaje/ebeaninternal/server/querydefn/OrmQueryDetailTest.java +++ b/src/test/java/com/avaje/ebeaninternal/server/querydefn/OrmQueryDetailTest.java @@ -16,6 +16,29 @@ public class OrmQueryDetailTest extends BaseTestCase { return new OrmQueryDetailParser(query).parse(); } + @Test + public void isEmpty_when_empty() { + + OrmQueryDetail detail = new OrmQueryDetail(); + assertThat(detail.isEmpty()).isTrue(); + } + + @Test + public void isEmpty_when_hasFetch_expect_false() { + + OrmQueryDetail detail = new OrmQueryDetail(); + detail.fetch("customer", null, null); + assertThat(detail.isEmpty()).isFalse(); + } + + @Test + public void isEmpty_when_hasSelect_expect_false() { + + OrmQueryDetail detail = new OrmQueryDetail(); + detail.select("name"); + assertThat(detail.isEmpty()).isFalse(); + } + @Test public void isAutoTuneEqual_when_fetchOrderIsDifferent_then_stillEqual() {