Mercurial > dive4elements > river
comparison artifacts/src/main/java/org/dive4elements/river/artifacts/datacage/templating/Builder.java @ 6092:bdb316f7c552
Datacage: Fixed addColumn in <dc:virtual-column>
author | Sascha L. Teichmann <teichmann@intevation.de> |
---|---|
date | Fri, 24 May 2013 18:13:23 +0200 |
parents | 47775e3a8cf6 |
children | 4b634935a2ad |
comparison
equal
deleted
inserted
replaced
6091:75a38bc6baf2 | 6092:bdb316f7c552 |
---|---|
515 QName returnType | 515 QName returnType |
516 ) { | 516 ) { |
517 String [] origColumns = rd.getColumnLabels(); | 517 String [] origColumns = rd.getColumnLabels(); |
518 int index = origColumns.length; | 518 int index = origColumns.length; |
519 String [] newColumns = Arrays.copyOf(origColumns, index+1); | 519 String [] newColumns = Arrays.copyOf(origColumns, index+1); |
520 newColumns[index] = name.toLowerCase(); | |
520 ResultData result = new ResultData(newColumns); | 521 ResultData result = new ResultData(newColumns); |
521 fillResult(result, rd, index, index+1, expr, returnType); | 522 fillResult(result, rd, index, index+1, expr, returnType); |
522 return result; | 523 return result; |
523 } | 524 } |
524 | 525 |
533 fillResult(result, rd, index, columns.length, expr, returnType); | 534 fillResult(result, rd, index, columns.length, expr, returnType); |
534 return result; | 535 return result; |
535 } | 536 } |
536 | 537 |
537 protected void fillResult( | 538 protected void fillResult( |
538 ResultData result, | 539 ResultData result, |
539 ResultData rd, | 540 ResultData rd, |
540 int index, | 541 int index, |
541 int size, | 542 int size, |
542 XPathExpression expr, | 543 XPathExpression expr, |
543 QName returnType | 544 QName returnType |
544 ) { | 545 ) { |
545 List<Object []> rows = rd.getRows(); | |
546 String [] origColumns = rd.getColumnLabels(); | 546 String [] origColumns = rd.getColumnLabels(); |
547 for (int i = 0, R = rows.size(); i < R; ++i) { | 547 for (Object [] row: rd.getRows()) { |
548 Object [] row = rows.get(i); | |
549 frames.enter(); | 548 frames.enter(); |
550 try { | 549 try { |
551 frames.put(origColumns, row); | 550 frames.put(origColumns, row); |
552 Object value = expr.evaluate(EVAL_DOCUMENT, returnType); | 551 Object value = expr.evaluate(EVAL_DOCUMENT, returnType); |
553 Object [] copy = Arrays.copyOf(row, size); | 552 Object [] copy = Arrays.copyOf(row, size); |