QueryBuilder appendOrdering(Order orderAttribute) { DefaultPath expression = (DefaultPath) orderAttribute.getExpression(); Attribute attrib = expression.getAttribute(); Attribute embedAttribute = expression.getEmbeddedAttribute(); String fieldName = null; this.builder.append("."); if (embedAttribute != null) { fieldName = embedAttribute.getName(); this.builder.append(fieldName); this.builder.append("."); } this.builder.append(attrib.getName()); SortOrder order = ((QueryOrder) orderAttribute).getOrder(); this.builder.append(Constants.SPACE); this.builder.append(order.name()); return this; }
orderType = SortOrder.valueOf(nextOrder.toUpperCase()); } catch (IllegalArgumentException e) { logger.error("Error while parsing order by clause:");
Assert.assertEquals(2, sortOrders.size()); Assert.assertEquals("c.currency", sortOrders.get(0).getColumnName()); Assert.assertEquals(SortOrder.ASC.name(), sortOrders.get(0).getOrder().name()); Assert.assertEquals("c.population", sortOrders.get(1).getColumnName()); Assert.assertEquals(SortOrder.DESC.name(), sortOrders.get(1).getOrder().name()); Assert.assertEquals(2, sortOrders.size()); Assert.assertEquals("c.currency", sortOrders.get(0).getColumnName()); Assert.assertEquals(SortOrder.ASC.name(), sortOrders.get(0).getOrder().name()); Assert.assertEquals("c.population", sortOrders.get(1).getColumnName()); Assert.assertEquals(SortOrder.ASC.name(), sortOrders.get(1).getOrder().name());
@Override public boolean isAscending() { // TODO Auto-generated method stub return this.ordering.equals(SortOrder.ASC); }