List<Object> getOrderValues(RANGE range) throws ReportException {
List<Object> res = orderValues.get(range);
if(res == null) {
res = new LinkedList<Object>();
RangeOrderList orderExpessions = range.getOrders();
if(orderExpessions == null
|| orderExpessions.size() == 0) {
res.add(range.getOriginalPosition());
} else {
//build model
Map model = new HashMap();
Map attachModel = range.getAttachedModel();
if(attachModel != null) {
model.putAll(attachModel);
}
Map rowModel = range.getModel();
if(rowModel != null) {
model.putAll(rowModel);
}
for(int i=0; i<orderExpessions.size(); i++) {
OrderValue orderValue = orderExpessions.get(i);
res.add(orderValue.getValue().getValue(model));
}
}
orderValues.put(range, res);
}