private boolean compareSortKeys(SortKey sortKey, String fieldName, Object dir) { if (sortKey.getField().toString().equals(fieldName)) { int direction = ((Number) dir).intValue(); return sortKey.isDesc() == (direction < 0); } return false; }
private DBObject translateSortKey(SortKey sort) { return new BasicDBObject(translatePath(sort.getField()), sort.isDesc() ? -1 : 1); }
private DBObject translateSortKey(SortKey sort) { return new BasicDBObject(translatePath(sort.getField()), sort.isDesc() ? -1 : 1); }
private SortFieldInfo[] buildSortFields(Sort sort,FieldTreeNode context) { if(sort instanceof SortKey) { return new SortFieldInfo[] {getSortField(((SortKey)sort).getField(),context,((SortKey)sort).isDesc())}; } else { List<SortKey> keys=((CompositeSortKey)sort).getKeys(); SortFieldInfo[] arr=new SortFieldInfo[ keys.size() ]; int i=0; for(SortKey key:keys) { arr[i]=getSortField(key.getField(),context,key.isDesc()); } return arr; } }
/** * Build sort field info starting from the given metadata context */ public static SortFieldInfo[] buildSortFields(Sort sort, FieldTreeNode context) { if (sort instanceof SortKey) { return new SortFieldInfo[]{getSortField(((SortKey) sort).getField(), context, ((SortKey) sort).isDesc())}; } else { List<SortKey> keys = ((CompositeSortKey) sort).getKeys(); SortFieldInfo[] arr = new SortFieldInfo[keys.size()]; int i = 0; for (SortKey key : keys) { arr[i++] = getSortField(key.getField(), context, key.isDesc()); } return arr; } }
/** * Build sort field info starting from the given metadata context */ public static SortFieldInfo[] buildSortFields(Sort sort, FieldTreeNode context) { if (sort instanceof SortKey) { return new SortFieldInfo[]{getSortField(((SortKey) sort).getField(), context, ((SortKey) sort).isDesc())}; } else { List<SortKey> keys = ((CompositeSortKey) sort).getKeys(); SortFieldInfo[] arr = new SortFieldInfo[keys.size()]; int i = 0; for (SortKey key : keys) { arr[i++] = getSortField(key.getField(), context, key.isDesc()); } return arr; } }
private void validateIndexFields(EntityInfo ei) { for (Index ix : ei.getIndexes().getIndexes()) { List<SortKey> fields = ix.getFields(); List<SortKey> newFields = null; boolean copied = false; int i = 0; for (SortKey key : fields) { Path p = key.getField(); Path newPath = translateIndexPath(p); if (!p.equals(newPath)) { SortKey newKey = new SortKey(newPath, key.isDesc()); if (!copied) { newFields = new ArrayList<>(); newFields.addAll(fields); copied = true; } newFields.set(i, newKey); } } if (copied) { ix.setFields(newFields); LOGGER.debug("Index rewritten as {}", ix); } } }
private DBObject translateCompositeSortKey(CompositeSortKey sort) { DBObject ret = null; for (SortKey key : sort.getKeys()) { if (ret == null) { ret = translateSortKey(key); } else { ret.put(translatePath(key.getField()), key.isDesc() ? -1 : 1); } } return ret; }
private DBObject translateCompositeSortKey(CompositeSortKey sort) { DBObject ret = null; for (SortKey key : sort.getKeys()) { if (ret == null) { ret = translateSortKey(key); } else { ret.put(translatePath(key.getField()), key.isDesc() ? -1 : 1); } } return ret; }
DBObject newIndex = new BasicDBObject(); for (SortKey p : index.getFields()) { newIndex.put(p.getField().toString(), p.isDesc() ? -1 : 1);
T node2 = newNode(); putString(node2, "field", p.getField().toString()); putString(node2, "dir", p.isDesc() ? "$desc" : "$asc"); addObjectToArray(indexObj, node2);