[Minor] Added identity visitors to queries, eliminating NoStrategy usage

This commit is contained in:
Robert von Burg 2017-05-05 09:59:17 +02:00
parent 358f4eff63
commit eedc587bed
4 changed files with 33 additions and 23 deletions

View File

@ -19,7 +19,6 @@ import li.strolch.model.activity.Action;
import li.strolch.model.activity.Activity; import li.strolch.model.activity.Activity;
import li.strolch.model.query.ordering.StrolchQueryOrdering; import li.strolch.model.query.ordering.StrolchQueryOrdering;
import li.strolch.model.visitor.ActivityVisitor; import li.strolch.model.visitor.ActivityVisitor;
import li.strolch.model.visitor.NoStrategyActivityVisitor;
import li.strolch.utils.dbc.DBC; import li.strolch.utils.dbc.DBC;
/** /**
@ -50,16 +49,24 @@ public class ActivityQuery<U> extends StrolchElementQuery<ActivityQueryVisitor>
public ActivityQuery() { public ActivityQuery() {
super(); super();
setIdentityVisitor();
} }
public ActivityQuery(Navigation navigation) { public ActivityQuery(Navigation navigation) {
super(navigation); super(navigation);
setIdentityVisitor();
}
private void setIdentityVisitor() {
@SuppressWarnings("unchecked")
ActivityVisitor<U> identityVisitor = t -> (U) t;
this.activityVisitor = identityVisitor;
} }
public ActivityVisitor<U> getActivityVisitor() { public ActivityVisitor<U> getActivityVisitor() {
return this.activityVisitor; return this.activityVisitor;
} }
@Override @Override
public ActivityQuery<U> internal() { public ActivityQuery<U> internal() {
super.internal(); super.internal();
@ -107,13 +114,11 @@ public class ActivityQuery<U> extends StrolchElementQuery<ActivityQueryVisitor>
} }
public static ActivityQuery<Activity> query(String type) { public static ActivityQuery<Activity> query(String type) {
return new ActivityQuery<Activity>(new StrolchTypeNavigation(type)) return new ActivityQuery<Activity>(new StrolchTypeNavigation(type));
.setActivityVisitor(new NoStrategyActivityVisitor());
} }
public static ActivityQuery<Activity> query(String type, StrolchQueryOrdering ordering) { public static ActivityQuery<Activity> query(String type, StrolchQueryOrdering ordering) {
return new ActivityQuery<Activity>(new StrolchTypeNavigation(type)) return new ActivityQuery<Activity>(new StrolchTypeNavigation(type)).setOrdering(ordering);
.setActivityVisitor(new NoStrategyActivityVisitor()).setOrdering(ordering);
} }
public static <U> ActivityQuery<U> query(String type, ActivityVisitor<U> activityVisitor) { public static <U> ActivityQuery<U> query(String type, ActivityVisitor<U> activityVisitor) {

View File

@ -18,7 +18,6 @@ package li.strolch.model.query;
import li.strolch.model.Order; import li.strolch.model.Order;
import li.strolch.model.parameter.Parameter; import li.strolch.model.parameter.Parameter;
import li.strolch.model.query.ordering.StrolchQueryOrdering; import li.strolch.model.query.ordering.StrolchQueryOrdering;
import li.strolch.model.visitor.NoStrategyOrderVisitor;
import li.strolch.model.visitor.OrderVisitor; import li.strolch.model.visitor.OrderVisitor;
import li.strolch.utils.dbc.DBC; import li.strolch.utils.dbc.DBC;
@ -50,16 +49,24 @@ public class OrderQuery<U> extends StrolchElementQuery<OrderQueryVisitor> {
public OrderQuery() { public OrderQuery() {
super(); super();
setIdentityVisitor();
} }
public OrderQuery(Navigation navigation) { public OrderQuery(Navigation navigation) {
super(navigation); super(navigation);
setIdentityVisitor();
}
private void setIdentityVisitor() {
@SuppressWarnings("unchecked")
OrderVisitor<U> identityVisitor = t -> (U) t;
this.orderVisitor = identityVisitor;
} }
public OrderVisitor<U> getOrderVisitor() { public OrderVisitor<U> getOrderVisitor() {
return this.orderVisitor; return this.orderVisitor;
} }
@Override @Override
public OrderQuery<U> internal() { public OrderQuery<U> internal() {
super.internal(); super.internal();
@ -108,12 +115,11 @@ public class OrderQuery<U> extends StrolchElementQuery<OrderQueryVisitor> {
} }
public static OrderQuery<Order> query(String type) { public static OrderQuery<Order> query(String type) {
return new OrderQuery<Order>(new StrolchTypeNavigation(type)).setOrderVisitor(new NoStrategyOrderVisitor()); return new OrderQuery<Order>(new StrolchTypeNavigation(type));
} }
public static OrderQuery<Order> query(String type, StrolchQueryOrdering ordering) { public static OrderQuery<Order> query(String type, StrolchQueryOrdering ordering) {
return new OrderQuery<Order>(new StrolchTypeNavigation(type)).setOrderVisitor(new NoStrategyOrderVisitor()) return new OrderQuery<Order>(new StrolchTypeNavigation(type)).setOrdering(ordering);
.setOrdering(ordering);
} }
public static <U> OrderQuery<U> query(String type, OrderVisitor<U> orderVisitor) { public static <U> OrderQuery<U> query(String type, OrderVisitor<U> orderVisitor) {
@ -121,6 +127,6 @@ public class OrderQuery<U> extends StrolchElementQuery<OrderQueryVisitor> {
} }
public static <U> OrderQuery<U> query(String type, OrderVisitor<U> orderVisitor, StrolchQueryOrdering ordering) { public static <U> OrderQuery<U> query(String type, OrderVisitor<U> orderVisitor, StrolchQueryOrdering ordering) {
return new OrderQuery<U>(new StrolchTypeNavigation(type)).setOrdering(ordering).setOrderVisitor(orderVisitor); return new OrderQuery<U>(new StrolchTypeNavigation(type)).setOrdering(ordering);
} }
} }

View File

@ -18,7 +18,6 @@ package li.strolch.model.query;
import li.strolch.model.Resource; import li.strolch.model.Resource;
import li.strolch.model.parameter.Parameter; import li.strolch.model.parameter.Parameter;
import li.strolch.model.query.ordering.StrolchQueryOrdering; import li.strolch.model.query.ordering.StrolchQueryOrdering;
import li.strolch.model.visitor.NoStrategyResourceVisitor;
import li.strolch.model.visitor.ResourceVisitor; import li.strolch.model.visitor.ResourceVisitor;
import li.strolch.utils.dbc.DBC; import li.strolch.utils.dbc.DBC;
@ -50,10 +49,18 @@ public class ResourceQuery<U> extends StrolchElementQuery<ResourceQueryVisitor>
public ResourceQuery() { public ResourceQuery() {
super(); super();
setIdentityVisitor();
} }
public ResourceQuery(Navigation navigation) { public ResourceQuery(Navigation navigation) {
super(navigation); super(navigation);
setIdentityVisitor();
}
private void setIdentityVisitor() {
@SuppressWarnings("unchecked")
ResourceVisitor<U> identityVisitor = t -> (U) t;
this.resourceVisitor = identityVisitor;
} }
public ResourceVisitor<U> getResourceVisitor() { public ResourceVisitor<U> getResourceVisitor() {
@ -108,13 +115,11 @@ public class ResourceQuery<U> extends StrolchElementQuery<ResourceQueryVisitor>
} }
public static ResourceQuery<Resource> query(String type) { public static ResourceQuery<Resource> query(String type) {
return new ResourceQuery<Resource>(new StrolchTypeNavigation(type)) return new ResourceQuery<Resource>(new StrolchTypeNavigation(type));
.setResourceVisitor(new NoStrategyResourceVisitor());
} }
public static ResourceQuery<Resource> query(String type, StrolchQueryOrdering ordering) { public static ResourceQuery<Resource> query(String type, StrolchQueryOrdering ordering) {
return new ResourceQuery<Resource>(new StrolchTypeNavigation(type)) return new ResourceQuery<Resource>(new StrolchTypeNavigation(type)).setOrdering(ordering);
.setResourceVisitor(new NoStrategyResourceVisitor()).setOrdering(ordering);
} }
public static <U> ResourceQuery<U> query(String type, ResourceVisitor<U> resourceVisitor) { public static <U> ResourceQuery<U> query(String type, ResourceVisitor<U> resourceVisitor) {

View File

@ -25,9 +25,6 @@ import li.strolch.model.query.ParameterSelection;
import li.strolch.model.query.ResourceQuery; import li.strolch.model.query.ResourceQuery;
import li.strolch.model.query.StrolchElementQuery; import li.strolch.model.query.StrolchElementQuery;
import li.strolch.model.query.StrolchTypeNavigation; import li.strolch.model.query.StrolchTypeNavigation;
import li.strolch.model.visitor.NoStrategyActivityVisitor;
import li.strolch.model.visitor.NoStrategyOrderVisitor;
import li.strolch.model.visitor.NoStrategyResourceVisitor;
import li.strolch.utils.StringMatchMode; import li.strolch.utils.StringMatchMode;
import li.strolch.utils.collections.MapOfSets; import li.strolch.utils.collections.MapOfSets;
@ -217,7 +214,6 @@ public abstract class QueryParser extends CompositeParser {
}; };
Result result = parser.parse(queryString); Result result = parser.parse(queryString);
ResourceQuery<Resource> query = result.get(); ResourceQuery<Resource> query = result.get();
query.setResourceVisitor(new NoStrategyResourceVisitor());
if (!query.hasSelection() && withAny) { if (!query.hasSelection() && withAny) {
query.withAny(); query.withAny();
@ -250,7 +246,6 @@ public abstract class QueryParser extends CompositeParser {
}; };
Result result = parser.parse(queryString); Result result = parser.parse(queryString);
OrderQuery<Order> query = result.get(); OrderQuery<Order> query = result.get();
query.setOrderVisitor(new NoStrategyOrderVisitor());
if (!query.hasSelection() && withAny) { if (!query.hasSelection() && withAny) {
query.withAny(); query.withAny();
@ -284,7 +279,6 @@ public abstract class QueryParser extends CompositeParser {
}; };
Result result = parser.parse(queryString); Result result = parser.parse(queryString);
ActivityQuery<Activity> query = result.get(); ActivityQuery<Activity> query = result.get();
query.setActivityVisitor(new NoStrategyActivityVisitor());
if (!query.hasSelection() && withAny) { if (!query.hasSelection() && withAny) {
query.withAny(); query.withAny();