1 16 package org.pentaho.plugin.core; 17 18 import java.util.Set ; 19 import org.apache.commons.logging.Log; 20 import org.apache.commons.logging.LogFactory; 21 import org.pentaho.core.connection.DataUtilities; 22 import org.pentaho.core.connection.IPentahoResultSet; 23 import org.pentaho.messages.Messages; 24 import org.pentaho.plugin.ComponentBase; 25 26 31 public class ResultSetExportComponent extends ComponentBase { 32 35 private static final long serialVersionUID = 3289900246113442203L; 36 37 public Log getLogger() { 38 return LogFactory.getLog(ResultSetExportComponent.class); 39 } 40 41 public boolean init() { 42 return true; 44 } 45 46 protected boolean validateSystemSettings() { 47 return true; 49 } 50 51 protected boolean validateAction() { 52 boolean hasResultSetParameter = isDefinedInput("result-set"); if (!hasResultSetParameter) { 54 error(Messages.getString("JFreeReport.ERROR_0022_DATA_INPUT_INVALID_OBJECT")); return false; 56 } 57 if (getResultOutputName() == null) { 58 error(Messages.getString("JFreeReport.ERROR_0022_DATA_INPUT_INVALID_OBJECT")); return false; 60 } 61 return true; 62 } 63 64 protected boolean executeAction() { 65 Object resultSetObject = getInputValue("result-set"); if (resultSetObject instanceof IPentahoResultSet) { 67 IPentahoResultSet resultset = (IPentahoResultSet) resultSetObject; 68 if (getResultOutputName() != null) { 69 setOutputValue(getResultOutputName(), DataUtilities.getXMLString(resultset)); 70 } 71 return true; 72 } else { 73 return false; 74 } 75 } 76 77 public void done() { 78 } 80 81 public String getResultOutputName() { 82 Set outputs = getOutputNames(); 83 if ((outputs == null) || (outputs.size() == 0)) { 84 error(Messages.getString("Template.ERROR_0002_OUTPUT_COUNT_WRONG")); return null; 86 } 87 String outputName = null; 88 try { 89 outputName = getInputStringValue(StandardSettings.OUTPUT_NAME); 90 } catch (Exception e) { 91 } 92 if (outputName == null) { outputName = (String ) outputs.iterator().next(); 94 } 95 return outputName; 96 } 97 } 98 | Popular Tags |