From b8bfaf8408c46f866b77d552c9e7d5d04b8c5f5a Mon Sep 17 00:00:00 2001 From: Robert von Burg Date: Tue, 26 Aug 2014 22:02:20 +0200 Subject: [PATCH] [Major] Using DateRange in DateSelector --- .../strolch/model/audit/ActionSelection.java | 6 ++- .../model/audit/DateRangeSelection.java | 1 + .../strolch/model/audit/ElementSelection.java | 6 ++- .../model/audit/IdentitySelection.java | 6 ++- .../li/strolch/model/query/DateSelection.java | 50 +++++++++++++++++-- .../strolch/model/query/StateSelection.java | 11 ++-- 6 files changed, 67 insertions(+), 13 deletions(-) diff --git a/src/main/java/li/strolch/model/audit/ActionSelection.java b/src/main/java/li/strolch/model/audit/ActionSelection.java index aba3851fb..6a85a9627 100644 --- a/src/main/java/li/strolch/model/audit/ActionSelection.java +++ b/src/main/java/li/strolch/model/audit/ActionSelection.java @@ -15,8 +15,8 @@ */ package li.strolch.model.audit; -import ch.eitchnet.utils.StringMatchMode; import li.strolch.model.query.StringSelection; +import ch.eitchnet.utils.StringMatchMode; /** * @author Robert von Burg @@ -44,6 +44,10 @@ public class ActionSelection extends AuditSelection { return this.accessTypes; } + public StringSelection getActionSelection() { + return this.actionSelection; + } + public boolean isWildcardActionType() { return this.accessTypes == null || this.accessTypes.length == 0; } diff --git a/src/main/java/li/strolch/model/audit/DateRangeSelection.java b/src/main/java/li/strolch/model/audit/DateRangeSelection.java index 18dc3b3cc..558210fce 100644 --- a/src/main/java/li/strolch/model/audit/DateRangeSelection.java +++ b/src/main/java/li/strolch/model/audit/DateRangeSelection.java @@ -28,6 +28,7 @@ public class DateRangeSelection extends AuditSelection { public DateRangeSelection(AuditQuery query) { super(query); + this.dateRange = new DateRange(); } public DateRange from(Date from, boolean inclusive) { diff --git a/src/main/java/li/strolch/model/audit/ElementSelection.java b/src/main/java/li/strolch/model/audit/ElementSelection.java index a34535f81..226e4f96c 100644 --- a/src/main/java/li/strolch/model/audit/ElementSelection.java +++ b/src/main/java/li/strolch/model/audit/ElementSelection.java @@ -15,8 +15,8 @@ */ package li.strolch.model.audit; -import ch.eitchnet.utils.StringMatchMode; import li.strolch.model.query.StringSelection; +import ch.eitchnet.utils.StringMatchMode; /** * @author Robert von Burg @@ -56,6 +56,10 @@ public class ElementSelection extends AuditSelection { return this.elementAccessedSelection == null || this.elementAccessedSelection.isWildCard(); } + public boolean isWildcard() { + return this.isElementsAccessedWildcard() && this.isElementTypesWildcard(); + } + @Override public void accept(AuditQueryVisitor visitor) { visitor.visit(this); diff --git a/src/main/java/li/strolch/model/audit/IdentitySelection.java b/src/main/java/li/strolch/model/audit/IdentitySelection.java index ddca5bf7a..899442ff6 100644 --- a/src/main/java/li/strolch/model/audit/IdentitySelection.java +++ b/src/main/java/li/strolch/model/audit/IdentitySelection.java @@ -15,8 +15,8 @@ */ package li.strolch.model.audit; -import ch.eitchnet.utils.StringMatchMode; import li.strolch.model.query.StringSelection; +import ch.eitchnet.utils.StringMatchMode; /** * @author Robert von Burg @@ -79,6 +79,10 @@ public class IdentitySelection extends AuditSelection { return this.usernameSelection == null || this.usernameSelection.isWildCard(); } + public boolean isWildcard() { + return isFirstnameWildcard() && isLastnameWildcard() && isUsernameWildcard(); + } + @Override public void accept(AuditQueryVisitor visitor) { visitor.visit(this); diff --git a/src/main/java/li/strolch/model/query/DateSelection.java b/src/main/java/li/strolch/model/query/DateSelection.java index e6e6142a7..ea3ef2645 100644 --- a/src/main/java/li/strolch/model/query/DateSelection.java +++ b/src/main/java/li/strolch/model/query/DateSelection.java @@ -17,19 +17,59 @@ package li.strolch.model.query; import java.util.Date; +import ch.eitchnet.utils.collections.DateRange; + /** * @author Robert von Burg */ public class DateSelection extends OrderSelection { - private Date date; + private DateRange dateRange; - public DateSelection(Date date) { - this.date = date; + public DateSelection() { + this.dateRange = new DateRange(); } - public Date getDate() { - return this.date; + public DateSelection from(Date from, boolean inclusive) { + this.dateRange.from(from, inclusive); + return this; + } + + public DateSelection to(Date to, boolean inclusive) { + this.dateRange.to(to, inclusive); + return this; + } + + public Date getFromDate() { + return this.dateRange.getFromDate(); + } + + public Date getToDate() { + return this.dateRange.getToDate(); + } + + public boolean isFromBounded() { + return this.dateRange.isFromBounded(); + } + + public boolean isToBounded() { + return this.dateRange.isToBounded(); + } + + public boolean isUnbounded() { + return this.dateRange.isUnbounded(); + } + + public boolean isBounded() { + return this.dateRange.isBounded(); + } + + public boolean contains(Date date) { + return this.dateRange.contains(date); + } + + public DateRange getDateRange() { + return this.dateRange; } @Override diff --git a/src/main/java/li/strolch/model/query/StateSelection.java b/src/main/java/li/strolch/model/query/StateSelection.java index 542776e99..8c4aae742 100644 --- a/src/main/java/li/strolch/model/query/StateSelection.java +++ b/src/main/java/li/strolch/model/query/StateSelection.java @@ -19,9 +19,8 @@ import li.strolch.model.State; /** * @author Robert von Burg - * */ -public class StateSelection { +public class StateSelection extends OrderSelection { private State state; @@ -29,10 +28,12 @@ public class StateSelection { this.state = state; } - /** - * @return the state - */ public State getState() { return this.state; } + + @Override + public void accept(OrderSelectionVisitor visitor) { + visitor.visit(this); + } }