public static String createSortStringDstu3(SortSpec ss) { StringBuilder val = new StringBuilder(); while (ss != null) { if (isNotBlank(ss.getParamName())) { if (val.length() > 0) { val.append(','); } if (ss.getOrder() == SortOrderEnum.DESC) { val.append('-'); } val.append(ParameterUtil.escape(ss.getParamName())); } ss = ss.getChain(); } String string = val.toString(); return string; }
SortSpec spec = new SortSpec(); spec.setOrder(order); spec.setParamName(next); if (innerSpec == null) { outerSpec = spec; innerSpec = spec; } else { innerSpec.setChain(spec); innerSpec = spec; SortSpec spec = new SortSpec(); spec.setOrder(order); spec.setParamName(nextValue); if (innerSpec == null) { outerSpec = spec; innerSpec = spec; } else { innerSpec.setChain(spec); innerSpec = spec;
public SortInternal(SortSpec theSortSpec) { if (theSortSpec.getOrder() == null) { myParamName = Constants.PARAM_SORT; } else if (theSortSpec.getOrder() == SortOrderEnum.ASC) { myParamName = Constants.PARAM_SORT_ASC; } else if (theSortSpec.getOrder() == SortOrderEnum.DESC) { myParamName = Constants.PARAM_SORT_DESC; } myDirection = theSortSpec.getOrder(); myParamValue = theSortSpec.getParamName(); }
@Override public IQuery sort(SortSpec theSortSpec) { SortSpec sortSpec = theSortSpec; while (sortSpec != null) { mySort.add(new SortInternal(sortSpec)); sortSpec = sortSpec.getChain(); } return this; }
public SortInternal(SortSpec theSortSpec) { if (theSortSpec.getOrder() == null) { myParamName = Constants.PARAM_SORT; } else if (theSortSpec.getOrder() == SortOrderEnum.ASC) { myParamName = Constants.PARAM_SORT_ASC; } else if (theSortSpec.getOrder() == SortOrderEnum.DESC) { myParamName = Constants.PARAM_SORT_DESC; } myDirection = theSortSpec.getOrder(); myParamValue = theSortSpec.getParamName(); }
@Override public IQuery sort(SortSpec theSortSpec) { SortSpec sortSpec = theSortSpec; while (sortSpec != null) { mySort.add(new SortInternal(sortSpec)); sortSpec = sortSpec.getChain(); } return this; }
public static String createSortStringDstu3(SortSpec ss) { StringBuilder val = new StringBuilder(); while (ss != null) { if (isNotBlank(ss.getParamName())) { if (val.length() > 0) { val.append(','); } if (ss.getOrder() == SortOrderEnum.DESC) { val.append('-'); } val.append(ParameterUtil.escape(ss.getParamName())); } ss = ss.getChain(); } String string = val.toString(); return string; }
SortSpec lastSs = null; for (SortInternal next : mySort) { SortSpec nextSortSpec = new SortSpec(); nextSortSpec.setParamName(next.getParamValue()); nextSortSpec.setOrder(next.getDirection()); if (rootSs == null) { rootSs = nextSortSpec; lastSs.setChain(nextSortSpec);
@Search public List<Patient> findPatients( @RequiredParam(name=Patient.SP_IDENTIFIER) StringParam theParameter, @Sort SortSpec theSort) { List<Patient> retVal=new ArrayList<Patient>(); // populate this // theSort is null unless a _sort parameter is actually provided if (theSort != null) { // The name of the param to sort by String param = theSort.getParamName(); // The sort order, or null SortOrderEnum order = theSort.getOrder(); // This will be populated if a second _sort was specified SortSpec subSort = theSort.getChain(); // ...apply the sort... } return retVal; } //END SNIPPET: sort
SortSpec spec = new SortSpec(); spec.setOrder(order); spec.setParamName(next); if (innerSpec == null) { outerSpec = spec; innerSpec = spec; } else { innerSpec.setChain(spec); innerSpec = spec; SortSpec spec = new SortSpec(); spec.setOrder(order); spec.setParamName(nextValue); if (innerSpec == null) { outerSpec = spec; innerSpec = spec; } else { innerSpec.setChain(spec); innerSpec = spec;
if (ss.getOrder() == null) { name = Constants.PARAM_SORT; } else if (ss.getOrder() == SortOrderEnum.ASC) { name = Constants.PARAM_SORT_ASC; } else { if (ss.getParamName() != null) { if (!theTargetQueryArguments.containsKey(name)) { theTargetQueryArguments.put(name, new ArrayList<String>()); theTargetQueryArguments.get(name).add(ss.getParamName()); ss = ss.getChain();
SortSpec lastSs = null; for (SortInternal next : mySort) { SortSpec nextSortSpec = new SortSpec(); nextSortSpec.setParamName(next.getParamValue()); nextSortSpec.setOrder(next.getDirection()); if (rootSs == null) { rootSs = nextSortSpec; lastSs.setChain(nextSortSpec);
if (theSort == null || isBlank(theSort.getParamName())) { return false; if (IAnyResource.SP_RES_ID.equals(theSort.getParamName())) { From<?, ?> forcedIdJoin = theFrom.join("myForcedId", JoinType.LEFT); if (theSort.getOrder() == null || theSort.getOrder() == SortOrderEnum.ASC) { theOrders.add(theBuilder.asc(forcedIdJoin.get("myForcedId"))); theOrders.add(theBuilder.asc(theFrom.get("myId"))); return createSort(theBuilder, theFrom, theSort.getChain(), theOrders, thePredicates); if (Constants.PARAM_LASTUPDATED.equals(theSort.getParamName())) { if (theSort.getOrder() == null || theSort.getOrder() == SortOrderEnum.ASC) { theOrders.add(theBuilder.asc(theFrom.get("myUpdated"))); } else { return createSort(theBuilder, theFrom, theSort.getChain(), theOrders, thePredicates); RuntimeSearchParam param = mySearchParamRegistry.getSearchParamByName(resourceDef, theSort.getParamName()); if (param == null) { throw new InvalidRequestException("Unknown sort parameter '" + theSort.getParamName() + "'"); case HAS: default: throw new InvalidRequestException("This server does not support _sort specifications of type " + param.getParamType() + " - Can't serve _sort=" + theSort.getParamName()); JoinKey key = new JoinKey(theSort.getParamName(), joinType); Join<?, ?> join = myIndexJoins.get(key); if (join == null) {
while (sort != null) { if (isNotBlank(sort.getParamName())) { if (first) { addUrlParamSeparator(b); b.append(','); if (sort.getOrder() == SortOrderEnum.DESC) { b.append('-'); b.append(sort.getParamName()); Validate.isTrue(sort != sort.getChain()); // just in case, shouldn't happen sort = sort.getChain();
public static String createSortStringDstu3(SortSpec ss) { StringBuilder val = new StringBuilder(); while (ss != null) { if (isNotBlank(ss.getParamName())) { if (val.length() > 0) { val.append(','); } if (ss.getOrder() == SortOrderEnum.DESC) { val.append('-'); } val.append(ParameterUtil.escape(ss.getParamName())); } ss = ss.getChain(); } String string = val.toString(); return string; }
public static String createSortStringDstu3(SortSpec ss) { StringBuilder val = new StringBuilder(); while (ss != null) { if (isNotBlank(ss.getParamName())) { if (val.length() > 0) { val.append(','); } if (ss.getOrder() == SortOrderEnum.DESC) { val.append('-'); } val.append(ParameterUtil.escape(ss.getParamName())); } ss = ss.getChain(); } String string = val.toString(); return string; }
if (ss.getOrder() == null) { name = Constants.PARAM_SORT; } else if (ss.getOrder() == SortOrderEnum.ASC) { name = Constants.PARAM_SORT_ASC; } else { if (ss.getParamName() != null) { if (!theTargetQueryArguments.containsKey(name)) { theTargetQueryArguments.put(name, new ArrayList<String>()); theTargetQueryArguments.get(name).add(ss.getParamName()); ss = ss.getChain();
if (theSort == null || isBlank(theSort.getParamName())) { return false; if (IAnyResource.SP_RES_ID.equals(theSort.getParamName())) { From<?, ?> forcedIdJoin = theFrom.join("myForcedId", JoinType.LEFT); if (theSort.getOrder() == null || theSort.getOrder() == SortOrderEnum.ASC) { theOrders.add(theBuilder.asc(forcedIdJoin.get("myForcedId"))); theOrders.add(theBuilder.asc(theFrom.get("myId"))); return createSort(theBuilder, theFrom, theSort.getChain(), theOrders, thePredicates); if (Constants.PARAM_LASTUPDATED.equals(theSort.getParamName())) { if (theSort.getOrder() == null || theSort.getOrder() == SortOrderEnum.ASC) { theOrders.add(theBuilder.asc(theFrom.get("myUpdated"))); } else { return createSort(theBuilder, theFrom, theSort.getChain(), theOrders, thePredicates); RuntimeSearchParam param = mySearchParamRegistry.getSearchParamByName(resourceDef, theSort.getParamName()); if (param == null) { throw new InvalidRequestException("Unknown sort parameter '" + theSort.getParamName() + "'"); case HAS: default: throw new InvalidRequestException("This server does not support _sort specifications of type " + param.getParamType() + " - Can't serve _sort=" + theSort.getParamName()); JoinKey key = new JoinKey(theSort.getParamName(), joinType); Join<?, ?> join = myIndexJoins.get(key); if (join == null) {