Package com.tonbeller.jpivot.mondrian.script

Examples of com.tonbeller.jpivot.mondrian.script.ScriptColumn


          scriptInput.put(columnTitlesList.get(i), rs.getObject(i+1));
        }
        binding.setVariable("input", scriptInput);
        // loop on script columns
        for (ListIterator sIt = scripts.listIterator(); sIt.hasNext();) {
          final ScriptColumn sc = (ScriptColumn)sIt.next();
          scriptEngine.run(sc.getFile(), binding);
          final Object output = binding.getVariable("output");
          if (output instanceof Map) {
            Map outMap = (Map)output;
            rowList.add(sc.getPosition() - 1, new DefaultCell((String)outMap.get("URL"), (String)outMap.get("Value")));
          } else if (output instanceof String) {
            rowList.add(sc.getPosition() - 1, (String)output);
          } else {
            throw new Exception("Unknown groovy script return type (neither a Map nor a String).");
          }
        }
        tempRows.add(new DefaultTableRow(rowList.toArray()));
      }
      rs.close();
      // loop on script columns
      for (ListIterator sIt = scripts.listIterator(); sIt.hasNext();) {
        final ScriptColumn sc = (ScriptColumn)sIt.next();
        columnTitlesList.add(sc.getPosition() - 1, sc.getTitle());
      }
      columnTitles = (String[])columnTitlesList.toArray(new String[0]);
      rows = (TableRow[]) tempRows.toArray(new TableRow[0]);
    } catch (Exception e) {
      e.printStackTrace();
View Full Code Here


        //  columns are 1 based
        columnTitlesList.add(i, md.getColumnName(i+1));
      }
      // loop on script columns
      for (ListIterator sIt = scripts.listIterator(); sIt.hasNext();) {
        final ScriptColumn sc = (ScriptColumn)sIt.next();
        columnTitlesList.add(sc.getPosition() - 1, sc.getTitle());
      }
      columnTitles = (String[])columnTitlesList.toArray(new String[0]);
      // loop through rows
      List tempRows = new ArrayList();
      Map scriptInput = new HashMap();
      Binding binding = new Binding();
      while (rs.next()) {
        List rowList = new ArrayList();
        scriptInput.clear();
        // loop on columns, 1 based
        for ( int i = 0; i < numCols; i++ ) {
          rowList.add(i, rs.getObject(i+1));
          scriptInput.put(columnTitles[i], rs.getObject(i+1));
        }
        binding.setVariable("input", scriptInput);
        // loop on script columns
        for (ListIterator sIt = scripts.listIterator(); sIt.hasNext();) {
          final ScriptColumn sc = (ScriptColumn)sIt.next();
          scriptEngine.run(sc.getFile(), binding);
          final Object output = binding.getVariable("output");
          if (output instanceof Map) {
            Map outMap = (Map)output;
            rowList.add(sc.getPosition() - 1, new DefaultCell((String)outMap.get("URL"), (String)outMap.get("Value")));
          } else if (output instanceof String) {
            rowList.add(sc.getPosition() - 1, (String)output);
          } else {
            throw new Exception("Unknown groovy script return type (not a Map nor String).");
          }
        }
        tempRows.add(new DefaultTableRow(rowList.toArray()));
View Full Code Here

TOP

Related Classes of com.tonbeller.jpivot.mondrian.script.ScriptColumn

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.