Examples of JFreeReportAction


Examples of org.pentaho.actionsequence.dom.actions.JFreeReportAction

    return LogFactory.getLog( ReportWizardSpecComponent.class );
  }

  @Override
  public boolean validateAction() {
    JFreeReportAction jFreeReportAction = (JFreeReportAction) getActionDefinition();
    return ( jFreeReportAction.getReportDefinition() != null ) && super.validateAction();
  }
View Full Code Here

Examples of org.pentaho.actionsequence.dom.actions.JFreeReportAction

    return factory;
  }

  @SuppressWarnings( "deprecation" )
  public ReportSpec getReportSpec() throws IOException {
    JFreeReportAction jFreeReportAction = (JFreeReportAction) getActionDefinition();
    DataSource dataSource =
        new ActivationHelper.PentahoStreamSourceWrapper( jFreeReportAction.getReportDefinitionDataSource() );
    ReportSpec reportSpec = null;
    reportSpec = loadFromZip( dataSource.getInputStream() );
    if ( reportSpec == null ) {
      dataSource = new ActivationHelper.PentahoStreamSourceWrapper( jFreeReportAction.getReportDefinitionDataSource() );
      reportSpec =
          (ReportSpec) CastorUtility.getInstance().readCastorObject( dataSource.getInputStream(), ReportSpec.class );
    }
    return reportSpec;
  }
View Full Code Here

Examples of org.pentaho.actionsequence.dom.actions.JFreeReportAction

    setFeedbackMimeType( "text/html" ); //$NON-NLS-1$
    return true;
  }

  private int initReportParams() {
    JFreeReportAction jFreeReportAction = (JFreeReportAction) getActionDefinition();
    int result = JFreeReportComponent.INIT_REPORT_PARAMS_STATUS_PASSED;
    final String defaultValue = ""; //$NON-NLS-1$

    IActionInput[] actionInputs = jFreeReportAction.getInputs();
    for ( IActionInput element : actionInputs ) {
      Object paramValue = element.getValue();
      String inputName = element.getName();
      if ( ( paramValue == null ) || ( "".equals( paramValue ) ) ) //$NON-NLS-1$
      {
View Full Code Here

Examples of org.pentaho.actionsequence.dom.actions.JFreeReportAction

    return factory;
  }

  private PentahoTableDataFactory getQueryComponentDataFactory() throws ClassNotFoundException, InstantiationException,
    IllegalAccessException, Exception {
    JFreeReportAction jFreeReportAction = (JFreeReportAction) getActionDefinition();
    PentahoTableDataFactory factory = null;
    String dataComponentName = jFreeReportAction.getDataComponent().getStringValue();
    String origComponentName = jFreeReportAction.getComponentName();
    if ( dataComponentName != null ) {
      if ( JFreeReportAction.SQL_DATA_SOURCE.equalsIgnoreCase( dataComponentName ) ) {
        dataComponentName = AbstractJFreeReportComponent.DATACOMPONENT_SQLCLASS;
      } else if ( JFreeReportAction.MDX_DATA_SOURCE.equalsIgnoreCase( dataComponentName ) ) {
        dataComponentName = AbstractJFreeReportComponent.DATACOMPONENT_MDXCLASS;
      }
      try {
        // This is a giant hack and a big no, no. Basically we're going to transform the JFreeReportAction into a
        // SQL or MDX lookup action, by changing its component name. Then we create the appropriate component to run the
        // transformed action.
        // All this to support the DB and Query info being embedded in the JFreeReport action. This is definitely
        // deprecated functionality
        // that should not be relied upon. The correct way to do this is to create an SQL or MDX action prior to the
        // JFreeReport
        // action in the action sequence. That action performs the desired query, then pass the results of that query to
        // the JFreeReport
        // action.
        jFreeReportAction.setComponentName( dataComponentName );
        ActionDefinition tmpActionDefinition =
            ActionFactory.getActionDefinition( jFreeReportAction.getElement(), jFreeReportAction
                .getActionParameterMgr() );
        final Class componentClass = Class.forName( dataComponentName );
        IDataComponent dataComponent = (IDataComponent) componentClass.newInstance();
        dataComponent.setInstanceId( getInstanceId() );
        dataComponent.setActionName( getActionName() );
        dataComponent.setProcessId( getProcessId() );
        dataComponent.setActionDefinition( tmpActionDefinition );
        dataComponent.setComponentDefinition( getComponentDefinition() );
        dataComponent.setRuntimeContext( getRuntimeContext() );
        dataComponent.setSession( getSession() );
        dataComponent.setLoggingLevel( getLoggingLevel() );
        dataComponent.setMessages( getMessages() );
        // if that fails, then we know we messed up again.
        // Abort, we cant continue anyway.
        if ( ( dataComponent.validate() == IRuntimeContext.RUNTIME_CONTEXT_VALIDATE_OK ) && dataComponent.init()
            && ( dataComponent.execute() == IRuntimeContext.RUNTIME_STATUS_SUCCESS ) ) {
          final IPentahoResultSet resultset = dataComponent.getResultSet();
          factory =
              new PentahoTableDataFactory( AbstractJFreeReportComponent.DATACOMPONENT_DEFAULTINPUT,
                  new PentahoTableModel( resultset ) );
        } else {
          throw new IllegalArgumentException( Messages.getInstance().getErrorString(
              "JFreeReport.ERROR_0021_DATA_COMPONENT_FAILED" ) ); //$NON-NLS-1$
        }
      } catch ( ClassNotFoundException e ) {
        JFreeReportComponent.logger.error( null, e );
      } catch ( InstantiationException e ) {
        JFreeReportComponent.logger.error( null, e );
      } catch ( IllegalAccessException e ) {
        JFreeReportComponent.logger.error( null, e );
      } finally {
        jFreeReportAction.setComponentName( origComponentName );
      }
    }
    return factory;
  }
View Full Code Here

Examples of org.pentaho.actionsequence.dom.actions.JFreeReportAction

    return factory;
  }

  private PentahoTableDataFactory getJarDataFactory() throws Exception {
    PentahoTableDataFactory factory = null;
    JFreeReportAction jFreeReportAction = (JFreeReportAction) getActionDefinition();
    try {
      org.pentaho.actionsequence.dom.IActionResource actionResource = jFreeReportAction.getDataJar().getJar();
      if ( actionResource != null ) {
        DataSource dataSource = new ActivationHelper.PentahoStreamSourceWrapper( actionResource.getDataSource() );
        InputStream in = dataSource.getInputStream();
        try {
          // not being able to read a single char is definitly a big boo ..
          if ( in.read() == -1 ) {
            throw new Exception( Messages.getInstance().getErrorString( "JFreeReport.ERROR_0009_REPORT_JAR_UNREADABLE" ) ); //$NON-NLS-1$
          } else {
            final ClassLoader loader =
                ReportUtils.createJarLoader( getSession(), getResource( actionResource.getName() ) );
            if ( loader == null ) {
              throw new Exception( Messages.getInstance().getString(
                "JFreeReportDataComponent.ERROR_0035_COULD_NOT_CREATE_CLASSLOADER" ) ); //$NON-NLS-1$
            } else if ( !isDefinedInput( AbstractJFreeReportComponent.DATACOMPONENT_CLASSLOCINPUT ) ) {
              throw new Exception( Messages.getInstance().getErrorString(
                "JFreeReport.ERROR_0012_CLASS_LOCATION_MISSING" ) ); //$NON-NLS-1$
            } else {
              // Get input parameters, and set them as properties in the report
              // object.
              final ReportParameterValues reportProperties = new ReportParameterValues();
              IActionInput[] actionInputs = jFreeReportAction.getInputs();
              for ( IActionInput element : actionInputs ) {
                final Object paramValue = element.getValue();
                if ( paramValue instanceof Object[] ) {
                  final Object[] values = (Object[]) paramValue;
                  final StringBuffer valuesBuffer = new StringBuffer();
                  // TODO support non-string items
                  for ( int z = 0; z < values.length; z++ ) {
                    if ( z == 0 ) {
                      valuesBuffer.append( values[z].toString() );
                    } else {
                      valuesBuffer.append( ',' ).append( values[z].toString() );
                    }
                  }
                  reportProperties.put( element.getName(), valuesBuffer.toString() );
                } else {
                  reportProperties.put( element.getName(), paramValue );
                }
              }

              final DataFactory dataFactory = new PentahoDataFactory( loader );
              final TableModel model =
                  dataFactory.queryData( jFreeReportAction.getDataJar().getDataClass(), new ParameterDataRow(
                      reportProperties ) );

              factory = new PentahoTableDataFactory( AbstractJFreeReportComponent.DATACOMPONENT_DEFAULTINPUT, model );
            }
          }
        } catch ( Exception e ) {
          throw new Exception( Messages.getInstance().getErrorString( "JFreeReport.ERROR_0009_REPORT_JAR_UNREADABLE" ) ); //$NON-NLS-1$
        }
      }
    } catch ( FileNotFoundException e1 ) {
      throw new Exception( Messages.getInstance().getErrorString(
        "JFreeReport.ERROR_0010_REPORT_JAR_MISSING", jFreeReportAction //$NON-NLS-1$
        .getDataJar().toString() ) );
    }
    return factory;
  }
View Full Code Here

Examples of org.pentaho.actionsequence.dom.actions.JFreeReportAction

    return factory;
  }

  private PentahoTableDataFactory getInputParamDataFactory() {
    PentahoTableDataFactory factory = null;
    JFreeReportAction jFreeReportAction = (JFreeReportAction) getActionDefinition();

    ActionInput reportDataParam = (ActionInput) jFreeReportAction.getData();
    Object dataObject = reportDataParam != null ? reportDataParam.getValue() : null;
    if ( ( dataObject instanceof IPentahoResultSet ) || ( dataObject instanceof TableModel ) ) {
      factory = new PentahoTableDataFactory();
      if ( dataObject instanceof IPentahoResultSet ) {
        IPentahoResultSet resultset = (IPentahoResultSet) dataObject;
        if ( resultset.isScrollable() ) {
          resultset.beforeFirst();
        } else {
          debug( "ResultSet is not scrollable. Copying into memory" ); //$NON-NLS-1$
          IPentahoResultSet memSet = resultset.memoryCopy();
          resultset.close();
          resultset = memSet;
        }
        factory.addTable( AbstractJFreeReportComponent.DATACOMPONENT_DEFAULTINPUT, new PentahoTableModel( resultset ) );
      } else if ( dataObject instanceof TableModel ) {
        factory.addTable( AbstractJFreeReportComponent.DATACOMPONENT_DEFAULTINPUT, (TableModel) dataObject );
      }

      IActionInput[] subreportQueries = jFreeReportAction.getSubreportQueryParams();
      for ( IActionInput element : subreportQueries ) {
        dataObject = element.getValue();
        if ( dataObject instanceof IPreparedComponent ) {
          factory.addPreparedComponent( element.getName(), (IPreparedComponent) dataObject );
        } else if ( dataObject instanceof IPentahoResultSet ) {
View Full Code Here

Examples of org.pentaho.actionsequence.dom.actions.JFreeReportAction

      return null;
    }
  }

  public MasterReport getReport() throws Exception {
    JFreeReportAction jFreeReportAction = (JFreeReportAction) getActionDefinition();
    MasterReport report = getReportFromResource();
    if ( report == null ) {
      report = getReportFromInputParam();
      if ( report == null ) {
        report = getReportFromJar();
      }
    }
    if ( ( report != null ) && jFreeReportAction.getCreatePrivateCopy().getBooleanValue( false ) ) {
      report = (MasterReport) report.clone();
    }
    return report;
  }
View Full Code Here

Examples of org.pentaho.actionsequence.dom.actions.JFreeReportAction

    }
    return report;
  }

  private MasterReport getReportFromResource() throws ResourceException, IOException {
    JFreeReportAction jFreeReportAction = (JFreeReportAction) getActionDefinition();
    MasterReport report = null;
    Object reportDefinition = jFreeReportAction.getReportDefinition();
    IActionSequenceResource resource = null;
    if ( reportDefinition instanceof ActionResource ) {
      resource = getResource( ( (ActionResource) reportDefinition ).getName() );
    }
    if ( resource != null ) {
View Full Code Here

Examples of org.pentaho.actionsequence.dom.actions.JFreeReportAction

    return report;
  }

  private MasterReport getReportFromInputParam() throws ResourceException, UnsupportedEncodingException, IOException {
    MasterReport report = null;
    JFreeReportAction jFreeReportAction = (JFreeReportAction) getActionDefinition();

    Object reportDefinition = jFreeReportAction.getReportDefinition();
    if ( reportDefinition instanceof ActionInput ) {
      String repDef = ( (ActionInput) reportDefinition ).getStringValue();
      report = createReport( repDef );
    }
View Full Code Here

Examples of org.pentaho.actionsequence.dom.actions.JFreeReportAction

    reportDefinitionInputSource.setEncoding( encoding );
    return generator.parseReport( reportDefinitionInputSource, getDefinedResourceURL( url ) );
  }

  private MasterReport getReportFromJar() throws Exception {
    JFreeReportAction jFreeReportAction = (JFreeReportAction) getActionDefinition();
    MasterReport report;
    org.pentaho.actionsequence.dom.IActionResource reportJar = jFreeReportAction.getReportDefinitionJar().getJar();
    final IActionSequenceResource resource = getResource( reportJar.getName() );
    final ClassLoader loader = ReportUtils.createJarLoader( getSession(), resource );
    if ( loader == null ) {
      throw new Exception( Messages.getInstance().getString(
        "JFreeReportLoadComponent.ERROR_0035_COULD_NOT_CREATE_CLASSLOADER" ) ); //$NON-NLS-1$
    }

    String reportLocation = jFreeReportAction.getReportDefinitionJar().getReportLocation();
    URL resourceUrl = loader.getResource( reportLocation );
    if ( resourceUrl == null ) {
      throw new Exception( Messages.getInstance().getErrorString( "JFreeReport.ERROR_0016_REPORT_RESOURCE_INVALID", //$NON-NLS-1$
          reportLocation, resource.getAddress() ) );
    }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.