git-svn-id: http://svn.research-infrastructures.eu/public/d4science/gcube/trunk/Common/storagehub-model@167469 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
c076518478
commit
c7439264ca
|
@ -0,0 +1,30 @@
|
||||||
|
package org.gcube.common.storagehub.model.expressions;
|
||||||
|
|
||||||
|
public class OrderField {
|
||||||
|
|
||||||
|
public enum MODE{
|
||||||
|
ASC, DESC
|
||||||
|
}
|
||||||
|
|
||||||
|
private MODE mode;
|
||||||
|
private SearchableField<?> field;
|
||||||
|
|
||||||
|
public OrderField(SearchableField<?> field, MODE mode) {
|
||||||
|
this.mode = mode;
|
||||||
|
this.field = field;
|
||||||
|
}
|
||||||
|
|
||||||
|
public OrderField(SearchableField<?> field) {
|
||||||
|
this.mode = MODE.ASC;
|
||||||
|
this.field = field;
|
||||||
|
}
|
||||||
|
|
||||||
|
public MODE getMode() {
|
||||||
|
return mode;
|
||||||
|
}
|
||||||
|
|
||||||
|
public SearchableField<?> getField() {
|
||||||
|
return field;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,25 @@
|
||||||
|
package org.gcube.common.storagehub.model.expressions;
|
||||||
|
|
||||||
|
import java.util.Calendar;
|
||||||
|
|
||||||
|
import org.gcube.common.storagehub.model.items.AbstractFileItem;
|
||||||
|
|
||||||
|
public class SearchableGenericFile extends SearchableItem<AbstractFileItem>{
|
||||||
|
|
||||||
|
private static SearchableGenericFile item = new SearchableGenericFile();
|
||||||
|
|
||||||
|
public static SearchableGenericFile get() {
|
||||||
|
return item;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected SearchableGenericFile() {
|
||||||
|
super(AbstractFileItem.class, "nthl:workspaceLeafItem");
|
||||||
|
}
|
||||||
|
|
||||||
|
public final SearchableField<String> title = new SearchableField<String>(String.class, "jcr:title");
|
||||||
|
|
||||||
|
public final SearchableField<Calendar> lastModification = new SearchableField<Calendar>(Calendar.class, "jcr:lastModified");
|
||||||
|
|
||||||
|
public final SearchableField<Calendar> creationTime = new SearchableField<Calendar>(Calendar.class, "jcr:created");
|
||||||
|
|
||||||
|
}
|
|
@ -4,7 +4,9 @@ import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import org.gcube.common.storagehub.model.expressions.GenericSearchableItem;
|
import org.gcube.common.storagehub.model.expressions.GenericSearchableItem;
|
||||||
|
import org.gcube.common.storagehub.model.expressions.SearchableGenericFile;
|
||||||
import org.gcube.common.storagehub.model.expressions.SearchableItem;
|
import org.gcube.common.storagehub.model.expressions.SearchableItem;
|
||||||
|
import org.gcube.common.storagehub.model.items.AbstractFileItem;
|
||||||
import org.gcube.common.storagehub.model.items.Item;
|
import org.gcube.common.storagehub.model.items.Item;
|
||||||
|
|
||||||
public class Queries {
|
public class Queries {
|
||||||
|
@ -13,6 +15,8 @@ public class Queries {
|
||||||
|
|
||||||
static {
|
static {
|
||||||
searchableRegistry.put(Item.class, GenericSearchableItem.get());
|
searchableRegistry.put(Item.class, GenericSearchableItem.get());
|
||||||
|
searchableRegistry.put(AbstractFileItem.class, SearchableGenericFile.get());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static <T extends Item> Query<SearchableItem<?>> queryFor(Class<T> searchable) {
|
public static <T extends Item> Query<SearchableItem<?>> queryFor(Class<T> searchable) {
|
||||||
|
|
|
@ -4,7 +4,7 @@ import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.gcube.common.storagehub.model.expressions.Expression;
|
import org.gcube.common.storagehub.model.expressions.Expression;
|
||||||
import org.gcube.common.storagehub.model.expressions.SearchableField;
|
import org.gcube.common.storagehub.model.expressions.OrderField;
|
||||||
import org.gcube.common.storagehub.model.expressions.SearchableItem;
|
import org.gcube.common.storagehub.model.expressions.SearchableItem;
|
||||||
|
|
||||||
public class Query<T extends SearchableItem<?>> {
|
public class Query<T extends SearchableItem<?>> {
|
||||||
|
@ -17,7 +17,7 @@ public class Query<T extends SearchableItem<?>> {
|
||||||
|
|
||||||
private int offset =-1;
|
private int offset =-1;
|
||||||
|
|
||||||
private List<SearchableField<?>> orderFields = null;
|
private List<OrderField> orderFields = null;
|
||||||
|
|
||||||
protected Query(T searchableItem) {
|
protected Query(T searchableItem) {
|
||||||
this.searchableItem = searchableItem;
|
this.searchableItem = searchableItem;
|
||||||
|
@ -27,7 +27,7 @@ public class Query<T extends SearchableItem<?>> {
|
||||||
this.expression= expression;
|
this.expression= expression;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setOrder(SearchableField<?> ... fields ) {
|
public void setOrder(OrderField ... fields ) {
|
||||||
if (fields!=null && fields.length>0)
|
if (fields!=null && fields.length>0)
|
||||||
this.orderFields = Arrays.asList(fields);
|
this.orderFields = Arrays.asList(fields);
|
||||||
}
|
}
|
||||||
|
@ -56,7 +56,7 @@ public class Query<T extends SearchableItem<?>> {
|
||||||
return offset;
|
return offset;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<SearchableField<?>> getOrderFields() {
|
public List<OrderField> getOrderFields() {
|
||||||
return orderFields;
|
return orderFields;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue