[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.query.ordering.StrolchQueryOrdering;
import li.strolch.model.visitor.ActivityVisitor;
import li.strolch.model.visitor.NoStrategyActivityVisitor;
import li.strolch.utils.dbc.DBC;
/**
@ -50,16 +49,24 @@ public class ActivityQuery<U> extends StrolchElementQuery<ActivityQueryVisitor>
public ActivityQuery() {
super();
setIdentityVisitor();
}
public ActivityQuery(Navigation navigation) {
super(navigation);
setIdentityVisitor();
}
private void setIdentityVisitor() {
@SuppressWarnings("unchecked")
ActivityVisitor<U> identityVisitor = t -> (U) t;
this.activityVisitor = identityVisitor;
}
public ActivityVisitor<U> getActivityVisitor() {
return this.activityVisitor;
}
@Override
public ActivityQuery<U> internal() {
super.internal();
@ -107,13 +114,11 @@ public class ActivityQuery<U> extends StrolchElementQuery<ActivityQueryVisitor>
}
public static ActivityQuery<Activity> query(String type) {
return new ActivityQuery<Activity>(new StrolchTypeNavigation(type))
.setActivityVisitor(new NoStrategyActivityVisitor());
return new ActivityQuery<Activity>(new StrolchTypeNavigation(type));
}
public static ActivityQuery<Activity> query(String type, StrolchQueryOrdering ordering) {
return new ActivityQuery<Activity>(new StrolchTypeNavigation(type))
.setActivityVisitor(new NoStrategyActivityVisitor()).setOrdering(ordering);
return new ActivityQuery<Activity>(new StrolchTypeNavigation(type)).setOrdering(ordering);
}
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.parameter.Parameter;
import li.strolch.model.query.ordering.StrolchQueryOrdering;
import li.strolch.model.visitor.NoStrategyOrderVisitor;
import li.strolch.model.visitor.OrderVisitor;
import li.strolch.utils.dbc.DBC;
@ -50,16 +49,24 @@ public class OrderQuery<U> extends StrolchElementQuery<OrderQueryVisitor> {
public OrderQuery() {
super();
setIdentityVisitor();
}
public OrderQuery(Navigation navigation) {
super(navigation);
setIdentityVisitor();
}
private void setIdentityVisitor() {
@SuppressWarnings("unchecked")
OrderVisitor<U> identityVisitor = t -> (U) t;
this.orderVisitor = identityVisitor;
}
public OrderVisitor<U> getOrderVisitor() {
return this.orderVisitor;
}
@Override
public OrderQuery<U> internal() {
super.internal();
@ -108,12 +115,11 @@ public class OrderQuery<U> extends StrolchElementQuery<OrderQueryVisitor> {
}
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) {
return new OrderQuery<Order>(new StrolchTypeNavigation(type)).setOrderVisitor(new NoStrategyOrderVisitor())
.setOrdering(ordering);
return new OrderQuery<Order>(new StrolchTypeNavigation(type)).setOrdering(ordering);
}
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) {
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.parameter.Parameter;
import li.strolch.model.query.ordering.StrolchQueryOrdering;
import li.strolch.model.visitor.NoStrategyResourceVisitor;
import li.strolch.model.visitor.ResourceVisitor;
import li.strolch.utils.dbc.DBC;
@ -50,10 +49,18 @@ public class ResourceQuery<U> extends StrolchElementQuery<ResourceQueryVisitor>
public ResourceQuery() {
super();
setIdentityVisitor();
}
public ResourceQuery(Navigation navigation) {
super(navigation);
setIdentityVisitor();
}
private void setIdentityVisitor() {
@SuppressWarnings("unchecked")
ResourceVisitor<U> identityVisitor = t -> (U) t;
this.resourceVisitor = identityVisitor;
}
public ResourceVisitor<U> getResourceVisitor() {
@ -108,13 +115,11 @@ public class ResourceQuery<U> extends StrolchElementQuery<ResourceQueryVisitor>
}
public static ResourceQuery<Resource> query(String type) {
return new ResourceQuery<Resource>(new StrolchTypeNavigation(type))
.setResourceVisitor(new NoStrategyResourceVisitor());
return new ResourceQuery<Resource>(new StrolchTypeNavigation(type));
}
public static ResourceQuery<Resource> query(String type, StrolchQueryOrdering ordering) {
return new ResourceQuery<Resource>(new StrolchTypeNavigation(type))
.setResourceVisitor(new NoStrategyResourceVisitor()).setOrdering(ordering);
return new ResourceQuery<Resource>(new StrolchTypeNavigation(type)).setOrdering(ordering);
}
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.StrolchElementQuery;
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.collections.MapOfSets;
@ -217,7 +214,6 @@ public abstract class QueryParser extends CompositeParser {
};
Result result = parser.parse(queryString);
ResourceQuery<Resource> query = result.get();
query.setResourceVisitor(new NoStrategyResourceVisitor());
if (!query.hasSelection() && withAny) {
query.withAny();
@ -250,7 +246,6 @@ public abstract class QueryParser extends CompositeParser {
};
Result result = parser.parse(queryString);
OrderQuery<Order> query = result.get();
query.setOrderVisitor(new NoStrategyOrderVisitor());
if (!query.hasSelection() && withAny) {
query.withAny();
@ -284,7 +279,6 @@ public abstract class QueryParser extends CompositeParser {
};
Result result = parser.parse(queryString);
ActivityQuery<Activity> query = result.get();
query.setActivityVisitor(new NoStrategyActivityVisitor());
if (!query.hasSelection() && withAny) {
query.withAny();