List of usage examples for org.hibernate.criterion Restrictions gt
public static SimpleExpression gt(String propertyName, Object value)
From source file:fr.gael.dhus.olingo.v1.SQLVisitor.java
License:Open Source License
private Criterion internalCriterionComparative(BinaryOperator operator, String property, Object value) { Criterion criterion;//from www. ja v a 2s . c o m switch (operator) { case EQ: { criterion = Restrictions.eq(property, value); break; } case NE: { criterion = Restrictions.ne(property, value); break; } case GT: { criterion = Restrictions.gt(property, value); break; } case GE: { criterion = Restrictions.ge(property, value); break; } case LT: { criterion = Restrictions.lt(property, value); break; } case LE: { criterion = Restrictions.le(property, value); break; } default: throw new UnsupportedOperationException("Unsupported operation: " + operator.toUriLiteral()); } return criterion; }
From source file:gov.nih.nci.caintegrator.data.DateComparisonCriterionHandler.java
License:BSD License
/** * {@inheritDoc}//from w w w.j a va 2s. c o m */ @Override Criterion translate() { if (dateComparisonCriterion.getDateComparisonOperator() != null) { DateComparisonOperatorEnum operator = dateComparisonCriterion.getDateComparisonOperator(); switch (operator) { case EQUAL: return Restrictions.eq(DATE_VALUE_COLUMN, dateComparisonCriterion.getDateValue()); case GREATER: return Restrictions.gt(DATE_VALUE_COLUMN, dateComparisonCriterion.getDateValue()); case GREATEROREQUAL: return Restrictions.ge(DATE_VALUE_COLUMN, dateComparisonCriterion.getDateValue()); case LESS: return Restrictions.lt(DATE_VALUE_COLUMN, dateComparisonCriterion.getDateValue()); case LESSOREQUAL: return Restrictions.le(DATE_VALUE_COLUMN, dateComparisonCriterion.getDateValue()); case NOTEQUAL: return Restrictions.ne(DATE_VALUE_COLUMN, dateComparisonCriterion.getDateValue()); default: throw new IllegalStateException("Unknown DateComparisonOperator: " + operator); } } else { throw new IllegalStateException("DateComparisonOperator is not set"); } }
From source file:gov.nih.nci.caintegrator.data.NumericComparisonCriterionHandler.java
License:BSD License
/** * {@inheritDoc}//from w ww . ja v a 2 s.c o m */ @Override Criterion translate() { if (numericComparisonCriterion.getNumericComparisonOperator() != null) { NumericComparisonOperatorEnum operator = numericComparisonCriterion.getNumericComparisonOperator(); switch (operator) { case EQUAL: return Restrictions.eq(NUMERIC_VALUE_COLUMN, numericComparisonCriterion.getNumericValue()); case GREATER: return Restrictions.gt(NUMERIC_VALUE_COLUMN, numericComparisonCriterion.getNumericValue()); case GREATEROREQUAL: return Restrictions.ge(NUMERIC_VALUE_COLUMN, numericComparisonCriterion.getNumericValue()); case LESS: return Restrictions.lt(NUMERIC_VALUE_COLUMN, numericComparisonCriterion.getNumericValue()); case LESSOREQUAL: return Restrictions.le(NUMERIC_VALUE_COLUMN, numericComparisonCriterion.getNumericValue()); case NOTEQUAL: return Restrictions.ne(NUMERIC_VALUE_COLUMN, numericComparisonCriterion.getNumericValue()); default: throw new IllegalStateException("Unknown NumericComparisonOperator: " + operator); } } else { throw new IllegalStateException("NumericComparisonOperator is not set"); } }
From source file:gr.abiss.calipso.domain.ColumnHeading.java
License:Open Source License
/** * this routine is a massive if-then construct that acts as a factory for * the right implementation of the responsibilities defined in the * "Processor" class (above) based on the type of ColumnHeading - the right * implementation will be returned. having everything in one place below, * makes it easy to maintain, as the logic of each of the methods are * closely interdependent for a given column type for e.g. the kind of * hibernate criteria needed depends on what is made available on the UI *//*from w w w . j a v a 2 s.c o m*/ private Processor getProcessor() { if (isField()) { switch (field.getName().getType()) { // ============================================================== case 1: case 2: case 3: return new Processor() { List<Expression> getValidFilterExpressions() { return getAsList(IN); } Fragment getFilterUiFragment(MarkupContainer container, User user, Space space, CalipsoService calipsoService) { final Fragment fragment = new Fragment("fragParent", "multiSelect", container); //final Map<String, String> options = field.getOptions(); List<CustomAttributeLookupValue> lookupValues = calipsoService.findLookupValues(space, field.getName().getText()); // TODO: create a leaf-node only finder method in calipso service List<CustomAttributeLookupValue> leafLookupValues = new LinkedList<CustomAttributeLookupValue>(); // leaf selection only for now for (CustomAttributeLookupValue val : lookupValues) { if (CollectionUtils.isEmpty(val.getChildren())) { leafLookupValues.add(val); } } lookupValues = null; final CheckBoxMultipleChoice choice = new CheckBoxMultipleChoice("values", leafLookupValues, new IChoiceRenderer<CustomAttributeLookupValue>() { @Override public Object getDisplayValue(CustomAttributeLookupValue object) { return fragment.getString(object.getNameTranslationResourceKey()); } @Override public String getIdValue(CustomAttributeLookupValue object, int index) { return object.getId() + ""; } }); fragment.add(choice); choice.setModel(new PropertyModel(filterCriteria, "values")); return fragment; } void addRestrictions(DetachedCriteria criteria) { if (filterHasValueList()) { List values = filterCriteria.getValues(); List<Integer> keys = new ArrayList<Integer>(values.size()); for (Object o : values) { if (o instanceof CustomAttributeLookupValue) { CustomAttributeLookupValue val = (CustomAttributeLookupValue) o; keys.add(NumberUtils.createInteger(val.getId() + "")); } else { keys.add(NumberUtils.createInteger(o + "")); } } criteria.add(Restrictions.in(getNameText(), keys)); } } String getAsQueryString() { return getQueryStringFromValueList(); } void loadFromQueryString(String s, User user, CalipsoService calipsoService) { setValueListFromQueryString(s); } }; // ============================================================== case 4: // decimal number return new Processor() { List<Expression> getValidFilterExpressions() { return getAsList(EQ, NOT_EQ, GT, LT, BETWEEN); } Fragment getFilterUiFragment(MarkupContainer container, User user, Space space, CalipsoService calipsoService) { Fragment fragment = new Fragment("fragParent", "textField", container); TextField textField = new TextField("value", Double.class); textField.setModel(new PropertyModel(filterCriteria, "value")); fragment.add(textField); if (filterCriteria.getExpression() == BETWEEN) { TextField textField2 = new TextField("value2", Double.class); textField2.setModel(new PropertyModel(filterCriteria, "value2")); fragment.add(textField2); } else { fragment.add(new WebMarkupContainer("value2").setVisible(false)); } return fragment; } void addRestrictions(DetachedCriteria criteria) { if (filterHasValue()) { Object value = filterCriteria.getValue(); switch (filterCriteria.getExpression()) { case EQ: criteria.add(Restrictions.eq(getNameText(), value)); break; case NOT_EQ: criteria.add(Restrictions.not(Restrictions.eq(name.text, value))); break; case GT: criteria.add(Restrictions.gt(getNameText(), value)); break; case LT: criteria.add(Restrictions.lt(getNameText(), value)); break; case BETWEEN: criteria.add(Restrictions.gt(getNameText(), value)); criteria.add(Restrictions.lt(getNameText(), filterCriteria.getValue2())); break; default: } } } String getAsQueryString() { return getQueryStringFromValue(Double.class); } void loadFromQueryString(String s, User user, CalipsoService calipsoService) { setValueFromQueryString(s, Double.class); } }; // ============================================================== case 6: // date return new Processor() { List<Expression> getValidFilterExpressions() { return getAsList(EQ, NOT_EQ, GT, LT, BETWEEN); } Fragment getFilterUiFragment(MarkupContainer container, User user, Space space, CalipsoService calipsoService) { Fragment fragment = new Fragment("fragParent", "dateField", container); DateField calendar = new DateField("value", new PropertyModel(filterCriteria, "value")/*, false*/); fragment.add(calendar); if (filterCriteria.getExpression() == BETWEEN) { DateField calendar2 = new DateField("value2", new PropertyModel(filterCriteria, "value2")/*, false*/); fragment.add(calendar2); } else { fragment.add(new WebMarkupContainer("value2").setVisible(false)); } return fragment; } void addRestrictions(DetachedCriteria criteria) { if (filterHasValue()) { Object value = filterCriteria.getValue(); switch (filterCriteria.getExpression()) { case EQ: criteria.add(Restrictions.eq(getNameText(), value)); break; case NOT_EQ: criteria.add(Restrictions.not(Restrictions.eq(getNameText(), value))); break; case GT: criteria.add(Restrictions.gt(getNameText(), value)); break; case LT: criteria.add(Restrictions.lt(getNameText(), value)); break; case BETWEEN: criteria.add(Restrictions.gt(getNameText(), value)); criteria.add(Restrictions.lt(getNameText(), filterCriteria.getValue2())); break; default: } } } String getAsQueryString() { return getQueryStringFromValue(Date.class); } void loadFromQueryString(String s, User user, CalipsoService calipsoService) { setValueFromQueryString(s, Date.class); } }; // ============================================================== case 5: // free text return new Processor() { List<Expression> getValidFilterExpressions() { return getAsList(CONTAINS); } Fragment getFilterUiFragment(MarkupContainer container, User user, Space space, CalipsoService calipsoService) { return getTextFieldFragment(container); } void addRestrictions(DetachedCriteria criteria) { if (filterHasValue()) { criteria.add(Restrictions.ilike(getNameText(), (String) filterCriteria.getValue(), MatchMode.ANYWHERE)); } } String getAsQueryString() { return getQueryStringFromValue(String.class); } void loadFromQueryString(String s, User user, CalipsoService calipsoService) { setValueFromQueryString(s, String.class); } }; // TODO: case 10:// organization return new Processor() { List<Expression> getValidFilterExpressions() { return getAsList(CONTAINS); } Fragment getFilterUiFragment(MarkupContainer container, User user, Space space, CalipsoService calipsoService) { return getTextFieldFragment(container); } void addRestrictions(DetachedCriteria criteria) { if (filterHasValue()) { criteria.add(Restrictions.ilike(getNameText(), (String) filterCriteria.getValue(), MatchMode.ANYWHERE)); } } String getAsQueryString() { return getQueryStringFromValue(String.class); } void loadFromQueryString(String s, User user, CalipsoService calipsoService) { setValueFromQueryString(s, String.class); } }; // TODO: case 11:// file return new Processor() { List<Expression> getValidFilterExpressions() { return getAsList(CONTAINS); } Fragment getFilterUiFragment(MarkupContainer container, User user, Space space, CalipsoService calipsoService) { return getTextFieldFragment(container); } void addRestrictions(DetachedCriteria criteria) { if (filterHasValue()) { criteria.add(Restrictions.ilike(getNameText(), (String) filterCriteria.getValue(), MatchMode.ANYWHERE)); } } String getAsQueryString() { return getQueryStringFromValue(String.class); } void loadFromQueryString(String s, User user, CalipsoService calipsoService) { setValueFromQueryString(s, String.class); } }; case 200:// attachment return new Processor() { List<Expression> getValidFilterExpressions() { return getAsList(CONTAINS); } Fragment getFilterUiFragment(MarkupContainer container, User user, Space space, CalipsoService calipsoService) { return getTextFieldFragment(container); } void addRestrictions(DetachedCriteria criteria) { if (filterHasValue()) { criteria.add(Restrictions.ilike(getNameText(), (String) filterCriteria.getValue(), MatchMode.ANYWHERE)); } } String getAsQueryString() { return getQueryStringFromValue(String.class); } void loadFromQueryString(String s, User user, CalipsoService calipsoService) { setValueFromQueryString(s, String.class); } }; case 20:// is user return new Processor() { List<Expression> getValidFilterExpressions() { return getAsList(CONTAINS); } Fragment getFilterUiFragment(MarkupContainer container, User user, Space space, CalipsoService calipsoService) { return getTextFieldFragment(container); } void addRestrictions(DetachedCriteria criteria) { if (filterHasValue()) { criteria.add(Restrictions.ilike(getNameText(), (String) filterCriteria.getValue(), MatchMode.ANYWHERE)); } } String getAsQueryString() { return getQueryStringFromValue(String.class); } void loadFromQueryString(String s, User user, CalipsoService calipsoService) { setValueFromQueryString(s, String.class); } }; case 25:// is user return new Processor() { List<Expression> getValidFilterExpressions() { return getAsList(CONTAINS); } Fragment getFilterUiFragment(MarkupContainer container, User user, Space space, CalipsoService calipsoService) { return getTextFieldFragment(container); } void addRestrictions(DetachedCriteria criteria) { if (filterHasValue()) { criteria.add(Restrictions.ilike(getNameText(), (String) filterCriteria.getValue(), MatchMode.ANYWHERE)); } } String getAsQueryString() { return getQueryStringFromValue(String.class); } void loadFromQueryString(String s, User user, CalipsoService calipsoService) { setValueFromQueryString(s, String.class); } }; case 100: // Assignable spaces (move to space) return new Processor() { List<Expression> getValidFilterExpressions() { return getAsList(IN); } Fragment getFilterUiFragment(MarkupContainer container, User user, Space space, CalipsoService calipsoService) { Fragment fragment = new Fragment("fragParent", "multiSelect", container); final Map<String, String> options = field.getOptions(); List<String> keys = null; if (options != null) { keys = new ArrayList(options.keySet()); // bound // value } else { keys = new ArrayList(); } List<Space> spaces = new LinkedList<Space>(); for (String key : keys) { // spaces.add(ComponentUtils.getJtrac(c).loadSpace(Long.parseLong(key))); spaces.add(calipsoService.loadSpace(Long.parseLong(key))); } // for CheckBoxMultipleChoice choice = new CheckBoxMultipleChoice("values", spaces, new IChoiceRenderer<Space>() { private static final long serialVersionUID = 1L; @Override public Object getDisplayValue(Space o) { logger.info("Option for space: " + o); String name = o.getName(); return name != null ? name : o.getId(); } @Override public String getIdValue(Space o, int index) { return o.getId() + ""; } }); fragment.add(choice); choice.setModel(new PropertyModel(filterCriteria, "values")); return fragment; } void addRestrictions(DetachedCriteria criteria) { if (filterHasValueList()) { List values = filterCriteria.getValues(); criteria.add(Restrictions.in(getNameText(), values)); } } String getAsQueryString() { return getQueryStringFromValueList(); } void loadFromQueryString(String s, User user, CalipsoService calipsoService) { setValueListFromQueryString(s); } }; // ============================================================== default: throw new RuntimeException("Unknown Column Heading " + name); } } else { // this is not a custom field but one of the "built-in" columns switch (name) { // ============================================================== case ID: return new Processor() { List<Expression> getValidFilterExpressions() { return getAsList(EQ); } Fragment getFilterUiFragment(MarkupContainer container, User user, Space space, CalipsoService calipsoService) { return getTextFieldFragment(container); } void addRestrictions(DetachedCriteria criteria) { if (filterHasValue()) { // should never come here for criteria: see // ItemSearch#getRefId() throw new RuntimeException("should not come here for 'id'"); } } String getAsQueryString() { return getQueryStringFromValue(String.class); } void loadFromQueryString(String s, User user, CalipsoService calipsoService) { setValueFromQueryString(s, String.class); } }; // ============================================================== case SUMMARY: return new Processor() { List<Expression> getValidFilterExpressions() { return getAsList(CONTAINS); } Fragment getFilterUiFragment(MarkupContainer container, User user, Space space, CalipsoService calipsoService) { return getTextFieldFragment(container); } void addRestrictions(DetachedCriteria criteria) { if (filterHasValue()) { criteria.add(Restrictions.ilike(getNameText(), (String) filterCriteria.getValue(), MatchMode.ANYWHERE)); } } String getAsQueryString() { return getQueryStringFromValue(String.class); } void loadFromQueryString(String s, User user, CalipsoService calipsoService) { setValueFromQueryString(s, String.class); } }; // ============================================================== case DETAIL: return new Processor() { List<Expression> getValidFilterExpressions() { return getAsList(CONTAINS); } Fragment getFilterUiFragment(MarkupContainer container, User user, Space space, CalipsoService calipsoService) { return getTextFieldFragment(container); } void addRestrictions(DetachedCriteria criteria) { // do nothing, 'detail' already processed, see: // ItemSearch#getSearchText() } String getAsQueryString() { return getQueryStringFromValue(String.class); } void loadFromQueryString(String s, User user, CalipsoService calipsoService) { setValueFromQueryString(s, String.class); } }; // ============================================================== case STATUS: return new Processor() { List<Expression> getValidFilterExpressions() { return getAsList(IN); } Fragment getFilterUiFragment(MarkupContainer container, User user, Space space, CalipsoService calipsoService) { Fragment fragment = new Fragment("fragParent", "multiSelect", container); // status selectable only when context space is not null // final Map<Integer, String> options = // space.getMetadata().getStatesMap(); final Map<Integer, String> options; if (space == null) { options = State.getSpecialStates(); } else { options = space.getMetadata().getStatesMap(); } options.remove(State.NEW); CheckBoxMultipleChoice choice = new CheckBoxMultipleChoice("values", new ArrayList(options.keySet()), new IChoiceRenderer() { public Object getDisplayValue(Object o) { return options.get(o); } public String getIdValue(Object o, int i) { return o.toString(); } }); fragment.add(choice); choice.setModel(new PropertyModel(filterCriteria, "values")); return fragment; } void addRestrictions(DetachedCriteria criteria) { if (filterHasValueList()) { criteria.add(Restrictions.in(getNameText(), filterCriteria.getValues())); } } String getAsQueryString() { return getQueryStringFromValueList(); } void loadFromQueryString(String s, User user, CalipsoService calipsoService) { //logger.info("loadFromQueryString: "+s); setStatusListFromQueryString(s); } }; // ============================================================== case ASSIGNED_TO: case LOGGED_BY: case REPORTED_BY: return new Processor() { List<Expression> getValidFilterExpressions() { return getAsList(IN, IS_NULL); } Fragment getFilterUiFragment(MarkupContainer container, User user, Space space, CalipsoService calipsoService) { Fragment fragment = new Fragment("fragParent", "multiSelect", container); List<User> users = null; if (space == null) { users = calipsoService.findUsersForUser(user); } else { users = calipsoService.findUsersForSpace(space.getId()); } CheckBoxMultipleChoice choice = new CheckBoxMultipleChoice("values", users, new IChoiceRenderer() { public Object getDisplayValue(Object o) { return ((User) o).getFullName(); } public String getIdValue(Object o, int i) { return ((User) o).getId() + ""; } }); fragment.add(choice); choice.setModel(new PropertyModel(filterCriteria, "values")); return fragment; } void addRestrictions(DetachedCriteria criteria) { if (filterHasValueList()) { criteria.add(Restrictions.in(getNameText(), filterCriteria.getValues())); } else if (filterIsNullExpression()) { criteria.add(Restrictions.isNull(getNameText())); } } String getAsQueryString() { return getQueryStringFromUserList(); } void loadFromQueryString(String s, User user, CalipsoService calipsoService) { setUserListFromQueryString(s, calipsoService); } }; // ============================================================== case ASSET_TYPE: return new Processor() { List<Expression> getValidFilterExpressions() { return getAsList(IN); } Fragment getFilterUiFragment(MarkupContainer container, User user, Space space, CalipsoService calipsoService) { Fragment fragment = new Fragment("fragParent", "multiSelect", container); List<AssetType> assetTypes = calipsoService.findAllAssetTypes(); CheckBoxMultipleChoice choice = new CheckBoxMultipleChoice("values", assetTypes, new IChoiceRenderer() { public Object getDisplayValue(Object o) { return ((AssetType) o).getName(); } public String getIdValue(Object o, int i) { return String.valueOf(((AssetType) o).getId()); } }); fragment.add(choice); choice.setModel(new PropertyModel(filterCriteria, "values")); return fragment; } void addRestrictions(DetachedCriteria criteria) { if (filterHasValueList()) { criteria.createAlias("assets", "assets"); criteria.add(Restrictions.in("assets.assetType", filterCriteria.getValues())); } } String getAsQueryString() { return getQueryStringFromAssetTypeList(); } void loadFromQueryString(String s, User user, CalipsoService calipsoService) { setAssetTypeListFromQueryString(s, user, calipsoService); } }; // ============================================================== case TIME_STAMP: case DUE_TO: return new Processor() { List<Expression> getValidFilterExpressions() { return getAsList(BETWEEN, GT, LT, EQ, NOT_EQ); } Fragment getFilterUiFragment(MarkupContainer container, User user, Space space, CalipsoService calipsoService) { Fragment fragment = new Fragment("fragParent", "dateField", container); DateField calendar = new DateField("value", new PropertyModel(filterCriteria, "value")/*, false*/); fragment.add(calendar); if (filterCriteria.getExpression() == BETWEEN) { DateField calendar2 = new DateField("value2", new PropertyModel(filterCriteria, "value2")/*, false*/); fragment.add(calendar2); } else { fragment.add(new WebMarkupContainer("value2").setVisible(false)); } return fragment; } void addRestrictions(DetachedCriteria criteria) { if (filterHasValue()) { Object value = filterCriteria.getValue(); switch (filterCriteria.getExpression()) { case EQ: criteria.add(Restrictions.eq(getNameText(), value)); break; case NOT_EQ: criteria.add(Restrictions.not(Restrictions.eq(getNameText(), value))); break; case GT: criteria.add(Restrictions.gt(getNameText(), value)); break; case LT: criteria.add(Restrictions.lt(getNameText(), value)); break; case BETWEEN: criteria.add(Restrictions.gt(getNameText(), value)); criteria.add(Restrictions.lt(getNameText(), filterCriteria.getValue2())); break; default: } } } String getAsQueryString() { return getQueryStringFromValue(Date.class); } void loadFromQueryString(String s, User user, CalipsoService calipsoService) { setValueFromQueryString(s, Date.class); } }; // ============================================================== case SPACE: return new Processor() { List<Expression> getValidFilterExpressions() { return getAsList(IN); } Fragment getFilterUiFragment(MarkupContainer container, User user, Space space, CalipsoService calipsoService) { Fragment fragment = new Fragment("fragParent", "multiSelect", container); List<Space> spaces = new ArrayList(user.getSpaces()); CheckBoxMultipleChoice choice = new CheckBoxMultipleChoice("values", spaces, new IChoiceRenderer() { public Object getDisplayValue(Object o) { return ((Space) o).getName(); } public String getIdValue(Object o, int i) { return ((Space) o).getId() + ""; } }); fragment.add(choice); choice.setModel(new PropertyModel(filterCriteria, "values")); return fragment; } void addRestrictions(DetachedCriteria criteria) { // already handled space as special case, see // ItemSearch#getSelectedSpaces() } String getAsQueryString() { return getQueryStringFromSpaceList(); } void loadFromQueryString(String s, User user, CalipsoService calipsoService) { setSpaceListFromQueryString(s, user, calipsoService); } }; // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ case TOTAL_RESPONSE_TIME: case TIME_FROM_CREATION_TO_FIRST_REPLY: case TIME_FROM_CREATION_TO_CLOSE: return new ProcessorCustom() { private Class validationClass = null; List<Expression> getValidFilterExpressions() { return getAsList(BETWEEN, GT, LT); } Fragment getFilterUiFragment(MarkupContainer container, User user, Space space, CalipsoService calipsoService) { Fragment fragment = new Fragment("fragParent", "effortField", container); WebMarkupContainer days = new WebMarkupContainer("days"); if (name.equals(TOTAL_RESPONSE_TIME)) { validationClass = Double.class; } else { validationClass = Long.class; } TextField textField = new TextField("value", validationClass); days.add(textField); // textField.setModel(new PropertyModel(this, // "filterCriteria.value")); textField.setModel(new PropertyModel(filterCriteria, "value")); fragment.add(days); WebMarkupContainer days2 = new WebMarkupContainer("days2"); if (filterCriteria.getExpression() == BETWEEN) { TextField textField2 = new TextField("value2", validationClass); days2.add(textField2); // textField2.setModel(new PropertyModel(this, // "filterCriteria.value2")); textField2.setModel(new PropertyModel(filterCriteria, "value2")); } // if else { fragment.add(new WebMarkupContainer("value2").setVisible(false)); days2.setVisible(false); } // else fragment.add(days2); // fragment.setVisible(isVisible()); return fragment; } void addRestrictions(DetachedCriteria criteria) { } void addRestrictions(CustomCriteria customCriteria) { if (filterHasValue()) { String criteriaObjectClass = null; if (validationClass != null) { criteriaObjectClass = validationClass.getCanonicalName(); } // if Object value = filterCriteria.getValue(); Object value2 = filterCriteria.getValue2(); Double v1 = new Double(value.toString()); value = v1 * 86400;// In Seconds switch (filterCriteria.getExpression()) { case GT: customCriteria.add(name.getText(), CustomCriteria.GT, value.toString(), criteriaObjectClass); break; case LT: customCriteria.add(name.getText(), CustomCriteria.LT, value.toString(), criteriaObjectClass); break; case BETWEEN: Double v2 = new Double(value2.toString()); value2 = v2 * 86400; // In Seconds customCriteria.add(name.getText(), CustomCriteria.GET, value.toString(), criteriaObjectClass); customCriteria.add(name.getText(), CustomCriteria.LET, value2.toString(), criteriaObjectClass); break; default: } } } String getAsQueryString() { return getQueryStringFromValue(Long.class); } void loadFromQueryString(String s, User user, CalipsoService calipsoService) { setValueFromQueryString(s, Long.class); } }; // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ case PLANNED_EFFORT: return new Processor() { List<Expression> getValidFilterExpressions() { return getAsList(EQ, NOT_EQ, GT, LT, BETWEEN); } Fragment getFilterUiFragment(MarkupContainer container, User user, Space space, CalipsoService calipsoService) { Fragment fragment = new Fragment("fragParent", "effortField2", container); EffortField effortField = new EffortField("value", new PropertyModel(filterCriteria, "value"), false); fragment.add(effortField); if (filterCriteria.getExpression() == BETWEEN) { EffortField effortField2 = new EffortField("value2", new PropertyModel(filterCriteria, "value2"), false); fragment.add(new WebMarkupContainer("and")); fragment.add(effortField2); } else { fragment.add(new WebMarkupContainer("and").setVisible(false)); fragment.add(new WebMarkupContainer("value2").setVisible(false)); } return fragment; } void addRestrictions(DetachedCriteria criteria) { if (filterHasValue()) { Object value = filterCriteria.getValue(); switch (filterCriteria.getExpression()) { case EQ: criteria.add(Restrictions.eq(getNameText(), value)); break; case NOT_EQ: criteria.add(Restrictions.not(Restrictions.eq(getNameText(), value))); break; case GT: criteria.add(Restrictions.gt(getNameText(), value)); break; case LT: criteria.add(Restrictions.lt(getNameText(), value)); break; case BETWEEN: criteria.add(Restrictions.gt(getNameText(), value)); criteria.add(Restrictions.lt(getNameText(), filterCriteria.getValue2())); break; default: } } } String getAsQueryString() { return getQueryStringFromValue(Integer.class); } void loadFromQueryString(String s, User user, CalipsoService calipsoService) { setValueFromQueryString(s, Integer.class); } }; // ============================================================== default: throw new RuntimeException("Unknown Column Heading " + name); } } }
From source file:grails.orm.HibernateCriteriaBuilder.java
License:Apache License
/** * Creates a "greater than" Criterion based on the specified property name and value * @param propertyName The property name * @param propertyValue The property value * @return A Criterion instance/* w ww.ja v a 2 s . c om*/ */ public org.grails.datastore.mapping.query.api.Criteria gt(String propertyName, Object propertyValue) { if (!validateSimpleExpression()) { throwRuntimeException(new IllegalArgumentException("Call to [gt] with propertyName [" + propertyName + "] and value [" + propertyValue + "] not allowed here.")); } propertyName = calculatePropertyName(propertyName); propertyValue = calculatePropertyValue(propertyValue); addToCriteria(Restrictions.gt(propertyName, propertyValue)); return this; }
From source file:helpers.OlymHelper.java
public static List<Sportista> searchSportists(String sportista, Zemlja zemlja, Sport sport, int disciplina, String gender, boolean medal) { Session session = HibernateUtil.getSessionFactory().openSession(); Transaction tr = null;/*from w w w . j ava 2 s .c o m*/ List<Sportista> sportists = null; try { tr = session.beginTransaction(); Criteria criteria = session.createCriteria(Sportista.class) .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); Criteria criteria2 = null; if (sportista != null) { if (!sportista.isEmpty()) { criteria.add(Restrictions.ilike("name", sportista, MatchMode.ANYWHERE)); } } if (zemlja != null) { criteria.add(Restrictions.eq("zemlja", zemlja)); } if (disciplina != 0) {//i sport i disciplina izabrani if (criteria2 == null) criteria2 = criteria.createCriteria("spordisc"); criteria2.add(Restrictions.eq("id", disciplina)); } if (sport != null && disciplina == 0) {//samo sport izabran if (criteria2 == null) criteria2 = criteria.createCriteria("spordisc"); criteria2.add(Restrictions.eq("sport", sport)); } //constraint nad spordisc tabelom da naziv discipline bude ogranicen na onaj dati string if (gender != null) { criteria.add(Restrictions.eq("gender", gender)); } if (medal) { criteria.add(Restrictions.gt("medals", 0)); } sportists = criteria.list(); tr.commit(); boolean good = true; } catch (HibernateException e) { if (tr != null) { tr.rollback(); } } finally { session.close(); } return sportists; }
From source file:info.jtrac.domain.ColumnHeading.java
License:Apache License
/** * this routine is a massive if-then construct that acts as a factory for the * right implementation of the responsibilities defined in the "Processor" class (above) * based on the type of ColumnHeading - the right implementation will be returned. * having everything in one place below, makes it easy to maintain, as the * logic of each of the methods are closely interdependent for a given column type * for e.g. the kind of hibernate criteria needed depends on what is made available on the UI *//*from ww w . j av a 2 s . co m*/ private Processor getProcessor() { if (isField()) { switch (field.getName().getType()) { //============================================================== case 1: case 2: case 3: return new Processor() { List<Expression> getValidFilterExpressions() { return getAsList(IN); } Fragment getFilterUiFragment(MarkupContainer container, User user, Space space, Jtrac jtrac) { Fragment fragment = new Fragment("fragParent", "multiSelect", container); final Map<String, String> options = field.getOptions(); JtracCheckBoxMultipleChoice choice = new JtracCheckBoxMultipleChoice("values", new ArrayList(options.keySet()), new IChoiceRenderer() { public Object getDisplayValue(Object o) { return options.get(o); } public String getIdValue(Object o, int i) { return o.toString(); } }); fragment.add(choice); choice.setModel(new PropertyModel(filterCriteria, "values")); return fragment; } void addRestrictions(DetachedCriteria criteria) { if (filterHasValueList()) { List values = filterCriteria.getValues(); List<Integer> keys = new ArrayList<Integer>(values.size()); for (Object o : values) { keys.add(new Integer(o.toString())); } criteria.add(Restrictions.in(getNameText(), keys)); } } String getAsQueryString() { return getQueryStringFromValueList(); } void loadFromQueryString(String s, User user, Jtrac jtrac) { setValueListFromQueryString(s); } }; //============================================================== case 4: // decimal number return new Processor() { List<Expression> getValidFilterExpressions() { return getAsList(EQ, NOT_EQ, GT, LT, BETWEEN); } Fragment getFilterUiFragment(MarkupContainer container, User user, Space space, Jtrac jtrac) { Fragment fragment = new Fragment("fragParent", "textField", container); TextField textField = new TextField("value", Double.class); textField.setModel(new PropertyModel(filterCriteria, "value")); fragment.add(textField); if (filterCriteria.getExpression() == BETWEEN) { TextField textField2 = new TextField("value2", Double.class); textField.setModel(new PropertyModel(filterCriteria, "value2")); fragment.add(textField2); } else { fragment.add(new WebMarkupContainer("value2").setVisible(false)); } return fragment; } void addRestrictions(DetachedCriteria criteria) { if (filterHasValue()) { Object value = filterCriteria.getValue(); switch (filterCriteria.getExpression()) { case EQ: criteria.add(Restrictions.eq(getNameText(), value)); break; case NOT_EQ: criteria.add(Restrictions.not(Restrictions.eq(name.text, value))); break; case GT: criteria.add(Restrictions.gt(getNameText(), value)); break; case LT: criteria.add(Restrictions.lt(getNameText(), value)); break; case BETWEEN: criteria.add(Restrictions.gt(getNameText(), value)); criteria.add(Restrictions.lt(getNameText(), filterCriteria.getValue2())); break; default: } } } String getAsQueryString() { return getQueryStringFromValue(Double.class); } void loadFromQueryString(String s, User user, Jtrac jtrac) { setValueFromQueryString(s, Double.class); } }; //============================================================== case 6: // date return new Processor() { List<Expression> getValidFilterExpressions() { return getAsList(EQ, NOT_EQ, GT, LT, BETWEEN); } Fragment getFilterUiFragment(MarkupContainer container, User user, Space space, Jtrac jtrac) { Fragment fragment = new Fragment("fragParent", "dateField", container); YuiCalendar calendar = new YuiCalendar("value", new PropertyModel(filterCriteria, "value"), false); fragment.add(calendar); if (filterCriteria.getExpression() == BETWEEN) { YuiCalendar calendar2 = new YuiCalendar("value2", new PropertyModel(filterCriteria, "value2"), false); fragment.add(calendar2); } else { fragment.add(new WebMarkupContainer("value2").setVisible(false)); } return fragment; } void addRestrictions(DetachedCriteria criteria) { if (filterHasValue()) { Object value = filterCriteria.getValue(); switch (filterCriteria.getExpression()) { case EQ: criteria.add(Restrictions.eq(getNameText(), value)); break; case NOT_EQ: criteria.add(Restrictions.not(Restrictions.eq(getNameText(), value))); break; case GT: criteria.add(Restrictions.gt(getNameText(), value)); break; case LT: criteria.add(Restrictions.lt(getNameText(), value)); break; case BETWEEN: criteria.add(Restrictions.gt(getNameText(), value)); criteria.add(Restrictions.lt(getNameText(), filterCriteria.getValue2())); break; default: } } } String getAsQueryString() { return getQueryStringFromValue(Date.class); } void loadFromQueryString(String s, User user, Jtrac jtrac) { setValueFromQueryString(s, Date.class); } }; //============================================================== case 5: // free text return new Processor() { List<Expression> getValidFilterExpressions() { return getAsList(CONTAINS); } Fragment getFilterUiFragment(MarkupContainer container, User user, Space space, Jtrac jtrac) { return getTextFieldFragment(container); } void addRestrictions(DetachedCriteria criteria) { if (filterHasValue()) { criteria.add(Restrictions.ilike(getNameText(), (String) filterCriteria.getValue(), MatchMode.ANYWHERE)); } } String getAsQueryString() { return getQueryStringFromValue(String.class); } void loadFromQueryString(String s, User user, Jtrac jtrac) { setValueFromQueryString(s, String.class); } }; //============================================================== default: throw new RuntimeException("Unknown Column Heading " + name); } } else { // this is not a custom field but one of the "built-in" columns switch (name) { //============================================================== case ID: return new Processor() { List<Expression> getValidFilterExpressions() { return getAsList(EQ); } Fragment getFilterUiFragment(MarkupContainer container, User user, Space space, Jtrac jtrac) { return getTextFieldFragment(container); } void addRestrictions(DetachedCriteria criteria) { if (filterHasValue()) { // should never come here for criteria: see ItemSearch#getRefId() throw new RuntimeException("should not come here for 'id'"); } } String getAsQueryString() { return getQueryStringFromValue(String.class); } void loadFromQueryString(String s, User user, Jtrac jtrac) { setValueFromQueryString(s, String.class); } }; //============================================================== case SUMMARY: return new Processor() { List<Expression> getValidFilterExpressions() { return getAsList(CONTAINS); } Fragment getFilterUiFragment(MarkupContainer container, User user, Space space, Jtrac jtrac) { return getTextFieldFragment(container); } void addRestrictions(DetachedCriteria criteria) { if (filterHasValue()) { criteria.add(Restrictions.ilike(getNameText(), (String) filterCriteria.getValue(), MatchMode.ANYWHERE)); } } String getAsQueryString() { return getQueryStringFromValue(String.class); } void loadFromQueryString(String s, User user, Jtrac jtrac) { setValueFromQueryString(s, String.class); } }; //============================================================== case DETAIL: return new Processor() { List<Expression> getValidFilterExpressions() { return getAsList(CONTAINS); } Fragment getFilterUiFragment(MarkupContainer container, User user, Space space, Jtrac jtrac) { return getTextFieldFragment(container); } void addRestrictions(DetachedCriteria criteria) { // do nothing, 'detail' already processed, see: ItemSearch#getSearchText() } String getAsQueryString() { return getQueryStringFromValue(String.class); } void loadFromQueryString(String s, User user, Jtrac jtrac) { setValueFromQueryString(s, String.class); } }; //============================================================== case STATUS: return new Processor() { List<Expression> getValidFilterExpressions() { return getAsList(IN); } Fragment getFilterUiFragment(MarkupContainer container, User user, Space space, Jtrac jtrac) { Fragment fragment = new Fragment("fragParent", "multiSelect", container); // status selectable only when context space is not null final Map<Integer, String> options = space.getMetadata().getStatesMap(); options.remove(State.NEW); JtracCheckBoxMultipleChoice choice = new JtracCheckBoxMultipleChoice("values", new ArrayList(options.keySet()), new IChoiceRenderer() { public Object getDisplayValue(Object o) { return options.get(o); } public String getIdValue(Object o, int i) { return o.toString(); } }); fragment.add(choice); choice.setModel(new PropertyModel(filterCriteria, "values")); return fragment; } void addRestrictions(DetachedCriteria criteria) { if (filterHasValueList()) { criteria.add(Restrictions.in(getNameText(), filterCriteria.getValues())); } } String getAsQueryString() { return getQueryStringFromValueList(); } void loadFromQueryString(String s, User user, Jtrac jtrac) { setStatusListFromQueryString(s); } }; //============================================================== case ASSIGNED_TO: case LOGGED_BY: return new Processor() { List<Expression> getValidFilterExpressions() { return getAsList(IN); } Fragment getFilterUiFragment(MarkupContainer container, User user, Space space, Jtrac jtrac) { Fragment fragment = new Fragment("fragParent", "multiSelect", container); List<User> users = null; if (space == null) { users = jtrac.findUsersForUser(user); } else { users = jtrac.findUsersForSpace(space.getId()); } JtracCheckBoxMultipleChoice choice = new JtracCheckBoxMultipleChoice("values", users, new IChoiceRenderer() { public Object getDisplayValue(Object o) { return ((User) o).getName(); } public String getIdValue(Object o, int i) { return ((User) o).getId() + ""; } }); fragment.add(choice); choice.setModel(new PropertyModel(filterCriteria, "values")); return fragment; } void addRestrictions(DetachedCriteria criteria) { if (filterHasValueList()) { criteria.add(Restrictions.in(getNameText(), filterCriteria.getValues())); } } String getAsQueryString() { return getQueryStringFromUserList(); } void loadFromQueryString(String s, User user, Jtrac jtrac) { setUserListFromQueryString(s, jtrac); } }; //============================================================== case TIME_STAMP: return new Processor() { List<Expression> getValidFilterExpressions() { return getAsList(BETWEEN, GT, LT); } Fragment getFilterUiFragment(MarkupContainer container, User user, Space space, Jtrac jtrac) { Fragment fragment = new Fragment("fragParent", "dateField", container); YuiCalendar calendar = new YuiCalendar("value", new PropertyModel(filterCriteria, "value"), false); fragment.add(calendar); if (filterCriteria.getExpression() == BETWEEN) { YuiCalendar calendar2 = new YuiCalendar("value2", new PropertyModel(filterCriteria, "value2"), false); fragment.add(calendar2); } else { fragment.add(new WebMarkupContainer("value2").setVisible(false)); } return fragment; } void addRestrictions(DetachedCriteria criteria) { if (filterHasValue()) { Object value = filterCriteria.getValue(); switch (filterCriteria.getExpression()) { case GT: criteria.add(Restrictions.gt(getNameText(), value)); break; case LT: criteria.add(Restrictions.lt(getNameText(), value)); break; case BETWEEN: criteria.add(Restrictions.gt(getNameText(), value)); criteria.add(Restrictions.lt(getNameText(), filterCriteria.getValue2())); break; default: } } } String getAsQueryString() { return getQueryStringFromValue(Date.class); } void loadFromQueryString(String s, User user, Jtrac jtrac) { setValueFromQueryString(s, Date.class); } }; //============================================================== case SPACE: return new Processor() { List<Expression> getValidFilterExpressions() { return getAsList(IN); } Fragment getFilterUiFragment(MarkupContainer container, User user, Space space, Jtrac jtrac) { Fragment fragment = new Fragment("fragParent", "multiSelect", container); List<Space> spaces = new ArrayList(user.getSpaces()); JtracCheckBoxMultipleChoice choice = new JtracCheckBoxMultipleChoice("values", spaces, new IChoiceRenderer() { public Object getDisplayValue(Object o) { return ((Space) o).getName(); } public String getIdValue(Object o, int i) { return ((Space) o).getId() + ""; } }); fragment.add(choice); choice.setModel(new PropertyModel(filterCriteria, "values")); return fragment; } void addRestrictions(DetachedCriteria criteria) { // already handled space as special case, see ItemSearch#getSelectedSpaces() } String getAsQueryString() { return getQueryStringFromSpaceList(); } void loadFromQueryString(String s, User user, Jtrac jtrac) { setSpaceListFromQueryString(s, user, jtrac); } }; //============================================================== default: throw new RuntimeException("Unknown Column Heading " + name); } } }
From source file:info.jtrac.repository.HibernateJtracDao.java
License:Apache License
public void addRestrictions(final ColumnHeading columnHeading, DetachedCriteria criteria) { if (columnHeading.isField()) { switch (columnHeading.getField().getName().getType()) { case 1:/*w ww. ja va 2s . co m*/ case 2: case 3: { if (columnHeading.filterHasValueList()) { List<Object> values = columnHeading.getFilterCriteria().getValues(); List<Integer> keys = new ArrayList<Integer>(values.size()); for (Object o : values) { keys.add(new Integer(o.toString())); } criteria.add(Restrictions.in(columnHeading.getNameText(), keys)); } break; } case 4: {// decimal number if (columnHeading.filterHasValue()) { Object value = columnHeading.getFilterCriteria().getValue(); switch (columnHeading.getFilterCriteria().getExpression()) { case EQ: { criteria.add(Restrictions.eq(columnHeading.getNameText(), value)); break; } case NOT_EQ: { criteria.add(Restrictions.not(Restrictions.eq(columnHeading.getName().getText(), value))); break; } case GT: { criteria.add(Restrictions.gt(columnHeading.getNameText(), value)); break; } case LT: { criteria.add(Restrictions.lt(columnHeading.getNameText(), value)); break; } case BETWEEN: { criteria.add(Restrictions.gt(columnHeading.getNameText(), value)); criteria.add(Restrictions.lt(columnHeading.getNameText(), columnHeading.getFilterCriteria().getValue2())); break; } default: } } break; } case 6: {// date if (columnHeading.filterHasValue()) { Object value = columnHeading.getFilterCriteria().getValue(); switch (columnHeading.getFilterCriteria().getExpression()) { case EQ: criteria.add(Restrictions.eq(columnHeading.getNameText(), value)); break; case NOT_EQ: criteria.add(Restrictions.not(Restrictions.eq(columnHeading.getNameText(), value))); break; case GT: criteria.add(Restrictions.gt(columnHeading.getNameText(), value)); break; case LT: criteria.add(Restrictions.lt(columnHeading.getNameText(), value)); break; case BETWEEN: criteria.add(Restrictions.gt(columnHeading.getNameText(), value)); criteria.add(Restrictions.lt(columnHeading.getNameText(), columnHeading.getFilterCriteria().getValue2())); break; default: } } break; } case 5: {// free text if (columnHeading.filterHasValue()) { criteria.add(Restrictions.ilike(columnHeading.getNameText(), (String) columnHeading.getFilterCriteria().getValue(), MatchMode.ANYWHERE)); } break; } default: throw new RuntimeException("Unknown Column Heading " + columnHeading.getName()); } } else { // this is not a custom field but one of the "built-in" columns switch (columnHeading.getName()) { case ID: { if (columnHeading.filterHasValue()) { // should never come here for criteria: see ItemSearch#getRefId() throw new RuntimeException("should not come here for 'id'"); } break; } case SUMMARY: { if (columnHeading.filterHasValue()) { criteria.add(Restrictions.ilike(columnHeading.getNameText(), (String) columnHeading.getFilterCriteria().getValue(), MatchMode.ANYWHERE)); } break; } case DETAIL: { // do nothing, 'detail' already processed, see: ItemSearch#getSearchText() break; } case STATUS: { if (columnHeading.filterHasValueList()) { criteria.add(Restrictions.in(columnHeading.getNameText(), columnHeading.getFilterCriteria().getValues())); } break; } case ASSIGNED_TO: case LOGGED_BY: { if (columnHeading.filterHasValueList()) { criteria.add(Restrictions.in(columnHeading.getNameText(), columnHeading.getFilterCriteria().getValues())); } break; } case TIME_STAMP: { if (columnHeading.filterHasValue()) { Object value = columnHeading.getFilterCriteria().getValue(); switch (columnHeading.getFilterCriteria().getExpression()) { case GT: criteria.add(Restrictions.gt(columnHeading.getNameText(), value)); break; case LT: criteria.add(Restrictions.lt(columnHeading.getNameText(), value)); break; case BETWEEN: criteria.add(Restrictions.gt(columnHeading.getNameText(), value)); criteria.add(Restrictions.lt(columnHeading.getNameText(), columnHeading.getFilterCriteria().getValue2())); break; default: } } break; } case SPACE: { // already handled space as special case, see ItemSearch#getSelectedSpaces() break; } default: throw new RuntimeException("Unknown Column Heading " + columnHeading.getName()); } } }
From source file:ispok.dao.TournamentHibernateJpaDao.java
@Override @SuppressWarnings("unchecked") public List<Tournament> getUpcoming(Date date) { Session session = ((Session) getEntityManager().getDelegate()); Criteria criteria = session.createCriteria(Tournament.class); criteria.add(Restrictions.gt("start", date)); return criteria.list(); }
From source file:itensil.repository.hibernate.BasicSearcher.java
License:Open Source License
protected static Criterion convertCriteria(Criteria crit, BasicSearchClause clause, String alias) { if (clause.needsSubClause()) { switch (clause.getOp()) { case BasicSearchClause.OP_AND: Junction conj = Restrictions.conjunction(); boolean empty = true; int acount = 0; for (BasicSearchClause subClause : clause.getSubClauses()) { Criterion subCrit = convertCriteria(crit, subClause, alias + "a" + acount); acount++;//from w w w . j ava 2 s .c o m if (subCrit != null) { empty = false; conj.add(subCrit); } } return empty ? null : conj; case BasicSearchClause.OP_NOT: Criterion subCrit = convertCriteria(crit, clause.getSubClauses()[0], alias + "n"); if (subCrit != null) { return Restrictions.not(subCrit); } return null; default: // probably OR return null; } } if (clause.getOp() == BasicSearchClause.OP_IS_COLLECTION) { return Restrictions.eq("collection", true); } String argName; Criterion nameCrit = null; if (QNAME_DISPLAYNAME.equals(clause.getProperty())) { if (clause.getOp() == BasicSearchClause.OP_IS_DEFINED) return null; argName = "localUri"; } else { /* This has bugged in hibernate crit.createAlias("versionEntities", alias); crit.createAlias(alias + ".propertyVals", alias + "pv"); //crit.createAlias(alias + "p.name", alias + "nm"); argName = alias + "pv.value"; crit.createAlias("defaultVersion.directProps", alias); crit.createAlias("defaultVersion.directProps.name", alias + "nm"); //crit.createAlias(alias + "dp.name", alias + "nm"); argName = alias + ".value"; nameCrit = Restrictions.eq(alias + "nm.localName", clause.getProperty().getLocalPart()); */ return null; } Criterion valCrit; switch (clause.getOp()) { case BasicSearchClause.OP_IS_DEFINED: return nameCrit; case BasicSearchClause.OP_EQ: valCrit = Restrictions.eq(argName, clause.getLiteral()); break; case BasicSearchClause.OP_GT: valCrit = Restrictions.gt(argName, clause.getLiteral()); break; case BasicSearchClause.OP_GTE: valCrit = Restrictions.ge(argName, clause.getLiteral()); break; case BasicSearchClause.OP_LT: valCrit = Restrictions.lt(argName, clause.getLiteral()); break; case BasicSearchClause.OP_LTE: valCrit = Restrictions.le(argName, clause.getLiteral()); break; case BasicSearchClause.OP_LIKE: valCrit = Restrictions.like(argName, clause.getLiteral()); break; default: return null; } return nameCrit == null ? valCrit : Restrictions.and(nameCrit, valCrit); }