/* * This program is free software; you can redistribute it and/or modify it under the * terms of the GNU Lesser General Public License, version 2.1 as published by the Free Software * Foundation. * * You should have received a copy of the GNU Lesser General Public License along with this * program; if not, you can obtain a copy at http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html * or from the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU Lesser General Public License for more details. * * Copyright 2005 - 2009 Pentaho Corporation. All rights reserved. * */ package org.pentaho.test.platform.plugin; //import java.text.SimpleDateFormat; // //import org.pentaho.commons.connection.IPentahoResultSet; //import org.pentaho.commons.connection.PentahoDataTransmuter; //import org.pentaho.platform.api.engine.IActionParameter; //import org.pentaho.platform.api.engine.IRuntimeContext; import org.pentaho.test.platform.engine.core.BaseTest; @SuppressWarnings("nls") public class PentahoDataTransmuterTest extends BaseTest { private static final String SOLUTION_PATH = "test-src/solution"; public String getSolutionPath() { return SOLUTION_PATH; } public void testDummyTest() {} /*public void testTransmute() { startTest(); IRuntimeContext context = run("test", "rules", "CrossTabTest.xaction"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ IActionParameter rtn = context.getOutputParameter("rule-result");//$NON-NLS-1$ IPentahoResultSet resultSet = rtn.getValueAsResultSet(); PentahoDataTransmuter transmuter = new PentahoDataTransmuter(resultSet); IPentahoResultSet resultSet1 = transmuter.getSourceResultSet(); assertEquals(resultSet1, resultSet); IPentahoResultSet transmutedResultSet = PentahoDataTransmuter.transmute(resultSet, true); assertEquals(transmutedResultSet.getColumnCount(), resultSet.getRowCount()); // TODO How should I display the results Integer[] columnsToInclude = new Integer[] { new Integer(1) }; Integer[] rowsToInclude = new Integer[] { new Integer(1) }; String[] columnForRowHeaders = new String[] { "COL1", "COL2", "COL3", "COL4" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ String[] rowForColumnHeaders = new String[] { "ROW1", "ROW1", "ROW1", "ROW1" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ IPentahoResultSet transmutedResultSet1 = PentahoDataTransmuter.transmute(resultSet, new Integer(2), new Integer(2), true); assertEquals(transmutedResultSet1.getColumnCount(), 7); IPentahoResultSet transmutedResultSet2 = PentahoDataTransmuter.transmute(resultSet, new Integer(1), new Integer(1), rowsToInclude, columnsToInclude, true); assertEquals(transmutedResultSet2.getRowCount(), 1); IPentahoResultSet transmutedResultSet3 = PentahoDataTransmuter.transmute(resultSet, rowsToInclude, columnsToInclude, true); assertEquals(transmutedResultSet3.getColumnCount(), 1); IPentahoResultSet transmutedResultSet4 = PentahoDataTransmuter.transmute(resultSet, columnForRowHeaders, rowForColumnHeaders, true); assertEquals(transmutedResultSet4.getColumnCount(), 7); PentahoDataTransmuter.transmute(resultSet, true); IPentahoResultSet crossTabResultSet = PentahoDataTransmuter.crossTab(resultSet, 3, 2, 2, new SimpleDateFormat( "yyyy.MM.dd G 'at' HH:mm:ss z"), new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss Z"), true);//$NON-NLS-1$ //$NON-NLS-2$ int count3 = crossTabResultSet.getRowCount(); int count1 = crossTabResultSet.getColumnCount(); int count2 = resultSet.getColumnCount(); int count4 = resultSet.getRowCount(); assertEquals(crossTabResultSet.getColumnCount(), resultSet.getColumnCount()); IPentahoResultSet crossTabResultSet1 = PentahoDataTransmuter.crossTab(resultSet, 3, 2, new SimpleDateFormat( "yyyy.MM.dd G 'at' HH:mm:ss z"));//$NON-NLS-1$ assertEquals(crossTabResultSet1.getColumnCount(), resultSet.getColumnCount()); IPentahoResultSet crossTabResultSet2 = PentahoDataTransmuter.crossTab(resultSet, 3, 2, new SimpleDateFormat( "yyyy.MM.dd G 'at' HH:mm:ss z"), true);//$NON-NLS-1$ assertEquals(crossTabResultSet2.getColumnCount(), resultSet.getColumnCount()); // IPentahoResultSet crossTabResultSet3 = PentahoDataTransmuter.crossTabOrdered(resultSet, 1, 1 , 2, new SimpleDateFormat("yyyy.MM.dd G 'at' HH:mm:ss z"), new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss Z"), true, 2);//$NON-NLS-1$ //$NON-NLS-2$ // IPentahoResultSet crossTabResultSet4 = PentahoDataTransmuter.crossTabOrdered(resultSet, 1, 1 , new SimpleDateFormat("yyyy.MM.dd G 'at' HH:mm:ss z"));//$NON-NLS-1$ // IPentahoResultSet crossTabResultSet5 = PentahoDataTransmuter.crossTabOrdered(resultSet, 1, 1 , new SimpleDateFormat("yyyy.MM.dd G 'at' HH:mm:ss z"), true);//$NON-NLS-1$ //IPentahoResultSet flattenedResultSet = PentahoDataTransmuter.flattenResultSet(resultSet, 4); //IPentahoResultSet pivotResultSet = PentahoDataTransmuter.pivot(resultSet); IPentahoResultSet transmutedResultSet11 = transmuter.transmute(rowsToInclude, columnsToInclude, true); assertEquals(transmutedResultSet11.getColumnCount(), 1); IPentahoResultSet transmutedResultSet5 = transmuter.transmute(columnForRowHeaders, rowForColumnHeaders, true); assertEquals(transmutedResultSet5.getColumnCount(), 2); IPentahoResultSet transmutedResultSet12 = transmuter.transmute(new Integer(1), new Integer(1), true); assertEquals(transmutedResultSet12.getColumnCount(), 1); finishTest(); }*/ public static void main(String[] args) { PentahoDataTransmuterTest test = new PentahoDataTransmuterTest(); test.setUp(); try { // test.testTransmute(); } finally { test.tearDown(); BaseTest.shutdown(); } } }