Package org.pentaho.platform.api.repository

Examples of org.pentaho.platform.api.repository.IContentItem


    StandaloneObjectFactory factory = new StandaloneObjectFactory();
    factory.defineObject( "contentrepo", TestOutputHandler.class.getName(), StandaloneObjectFactory.Scope.GLOBAL );
    PentahoSystem.registerObjectFactory( factory );

    IContentItem contentItem = handler.getOutputContentItem( "contentrepo", "myreport:contentrepo", null, null );
    assertNotNull( contentItem );
    assertEquals( out, contentItem.getOutputStream( null ) );

    contentItem = handler.getOutputContentItem( "", "myreport:contentrepo", null, null );
    assertNull( contentItem );
  }
View Full Code Here


  protected boolean executeAction() throws Throwable {
    String mimeType = getInputStringValue( ContentOutputComponent.COMPONENT_SETTING_MIME_TYPE );
    Object dataToOutput = getInputValue( ContentOutputComponent.INPUT_NAME_EXPECTED );

    if ( dataToOutput != null ) {
      IContentItem outputContentItem = getOutputContentItem( ContentOutputComponent.OUTPUT_NAME, mimeType );
      if ( outputContentItem != null ) {
        outputContentItem.setMimeType( mimeType );
        OutputStream outputStream = null;
        if ( dataToOutput instanceof String ) {
          String theOutput = (String) dataToOutput;
          if ( theOutput.length() > 0 ) {
            try {
              outputStream = outputContentItem.getOutputStream( getActionName() );
              outputStream.write( theOutput.getBytes( LocaleHelper.getSystemEncoding() ) );
              outputStream.flush();
              outputStream.close();
              outputContentItem.closeOutputStream();
            } catch ( Exception e ) {
              error( Messages.getInstance().getErrorString( "ContentOutputComponent.ERROR_0003_WRITING_OUTPUT" ), e ); //$NON-NLS-1$
              return false;
            }
            trace( theOutput );
            return true;
          } else {
            error( Messages.getInstance().getErrorString( "ContentOutputComponent.ERROR_0002_EMPTY_OUTPUT" ) ); //$NON-NLS-1$
            return false;
          }
        } else if ( dataToOutput instanceof InputStream ) {
          InputStream is = (InputStream) dataToOutput;
          byte[] buff = new byte[1024];
          int len;
          outputStream = outputContentItem.getOutputStream( null );
          while ( ( len = is.read( buff ) ) >= 0 ) {
            outputStream.write( buff, 0, len );
          }
          outputStream.flush();
          outputStream.close();
          outputContentItem.closeOutputStream();
          return true;
        } else if ( dataToOutput instanceof ByteArrayOutputStream ) {
          ByteArrayOutputStream baos = (ByteArrayOutputStream) dataToOutput;
          outputStream = outputContentItem.getOutputStream( null );
          outputStream.write( baos.toByteArray() );
          outputStream.flush();
          outputStream.close();
          outputContentItem.closeOutputStream();
          return true;
        } else {
          error( Messages.getInstance().getErrorString(
              "ContentOutputComponent.ERROR_0007_UNKNOWN_TYPE", dataToOutput.getClass().getName() ) ); //$NON-NLS-1$
          return false;
View Full Code Here

                                    HttpServletRequest request,
                                    HttpServletResponse response, List<?> messages ) throws Exception {
    StringBuffer buffer = new StringBuffer();

    boolean hasResponse = outputHandler.isResponseExpected();
    IContentItem responseContentItem =
      outputHandler.getOutputContentItem( IOutputHandler.RESPONSE, IOutputHandler.CONTENT, null, null );

    boolean success = ( runtime != null && runtime.getStatus() == IRuntimeContext.RUNTIME_STATUS_SUCCESS );
    boolean printSuccess = ( runtime != null ) && success && ( !hasResponse || debugMessages );
    boolean printError = ( runtime != null ) && !success && !response.isCommitted();

    if ( printSuccess || printError ) {
      final String htmlMimeType = "text/html"; //$NON-NLS-1$
      responseContentItem.setMimeType( htmlMimeType );
      response.setContentType( htmlMimeType );
      IMessageFormatter formatter = PentahoSystem.get( IMessageFormatter.class, PentahoSessionHolder.getSession() );

      if ( printSuccess ) {
        formatter.formatSuccessMessage( htmlMimeType, runtime, buffer, debugMessages, doWrapper );
View Full Code Here

            mimeType = "application/csv";
            filename += ".csv";
          }
          setInstanceId(filename);
         
          IContentItem contentItem = outputHandler.getOutputContentItem( "response", "content", solutionName, instanceId, mimeType ); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
          if( contentItem == null ) {
            error("SimpleContentGenerator.ERROR_0002_NO_CONTENT_ITEM"); //$NON-NLS-1$
            throw new InvalidParameterException("SimpleContentGenerator.ERROR_0002_NO_CONTENT_ITEM")//$NON-NLS-1$
          }

          contentItem.setName(filename);
//         
//          logger.error("item: " + itemName);
//          logger.error("instance: " + instanceId);
          out = contentItem.getOutputStream( itemName );
          if( out == null ) {
            error("SimpleContentGenerator.ERROR_0003_NO_OUTPUT_STREAM"); //$NON-NLS-1$
            throw new InvalidParameterException("SimpleContentGenerator.ERROR_0003_NO_OUTPUT_STREAM")//$NON-NLS-1$
          }
          if (r.getStatus() == 200) {
View Full Code Here

  public Log getLogger() {
    return LogFactory.getLog( AxisServiceExecutor.class );
  }

  public void setContentType( String contentType ) {
    IContentItem contentItem = outputHandler.getOutputContentItem( "response", "content", instanceId, getMimeType() ); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
    contentItem.setMimeType( contentType );
  }
View Full Code Here

      SimpleOutputHandler.logger.info( Messages.getInstance().getString( "SimpleOutputHandler.INFO_VALUE_IS_NULL" ) ); //$NON-NLS-1$
      return;
    }

    if ( IOutputHandler.CONTENT.equalsIgnoreCase( name ) ) {
      IContentItem response = getOutputContentItem( "response", IOutputHandler.CONTENT, null, null ); //$NON-NLS-1$
      if ( response != null ) {
        // If "value" to set is an IContentItem, then write it to the outputstream
        // of the response IContentItem managed by this output handler.
        if ( value instanceof IContentItem ) {
          IContentItem content = (IContentItem) value;
          // See if we should process the input stream. If it's from
          // the content repository, then there's an input stream.
          // SimpleContentItem and HttpContentItem both return null from
          // getInputStream().
          InputStream inStr = content.getInputStream();
          if ( inStr != null ) {
            if ( ( response.getMimeType() == null )
                || ( !response.getMimeType().equalsIgnoreCase( content.getMimeType() ) ) ) {
              response.setMimeType( content.getMimeType() );
            }
            try {
              OutputStream outStr = response.getOutputStream( null );
              int inCnt = 0;
              byte[] buf = new byte[4096];
View Full Code Here

          extension = ""; //$NON-NLS-1$
        }

        // Removing the null check here because if we avoid null exception it gives misleading hibernate
        // stale data exception which has nothing to do with a report that simply reads data.
        IContentItem outputItem = getOutputContentItem( outputName, mimeType );
        // IContentItem outputItem = getOutputItem(outputName, mimeType, extension);
        OutputStream outputStream = outputItem.getOutputStream( getActionName() );

        outputStream.write( applyInputsToFormat( template ).getBytes( LocaleHelper.getSystemEncoding() ) );
        outputItem.closeOutputStream();
        return true;
      } else {
        setOutputValue( outputName, applyInputsToFormat( template ) );
      }
View Full Code Here

  @SuppressWarnings ( "serial" )
  public static class JUnitContentGenerator extends BaseContentGenerator {
    @Override
    public void createContent() throws Exception {
      try {
        IContentItem responseContentItem =
            outputHandler.getOutputContentItem( IOutputHandler.RESPONSE, IOutputHandler.CONTENT, null, null );
        // mime type setting will blow up since servlet api used by grizzly is too old
        try {
          responseContentItem.setMimeType( "text/plain" );
        } catch ( Throwable t ) {
          //ignore
        }
        OutputStream outputStream = responseContentItem.getOutputStream( null );
        IOUtils.write( "hello viewer content generator", outputStream );
        outputStream.close();
      } catch ( Throwable t ) {
        t.printStackTrace();
      }
View Full Code Here

        footer = sections[1];
      }
    } else {
      intro = Messages.getInstance().getString( "UI.ERROR_0002_BAD_TEMPLATE_OBJECT" ); //$NON-NLS-1$
    }
    IContentItem contentItem =
        outputHandler.getOutputContentItem( IOutputHandler.RESPONSE, IOutputHandler.CONTENT, null, "text/html" ); //$NON-NLS-1$
    OutputStream outputStream = contentItem.getOutputStream( null );
    outputStream.write( intro.getBytes() );
    outputStream.write( content.getBytes() );
    outputStream.write( footer.getBytes() );
  }
View Full Code Here

  @SuppressWarnings( "serial" )
  public static class JUnitContentGenerator extends BaseContentGenerator {
    @Override
    public void createContent() throws Exception {
      try {
        IContentItem responseContentItem =
            outputHandler.getOutputContentItem( IOutputHandler.RESPONSE, IOutputHandler.CONTENT, null, null );
        // mime type setting will blow up since servlet api used by grizzly is too old
        try {
          responseContentItem.setMimeType( "text/plain" );
        } catch ( Throwable t ) {
          //ignored
        }
        OutputStream outputStream = responseContentItem.getOutputStream( null );
        IOUtils.write( "hello viewer content generator", outputStream );
        outputStream.close();
      } catch ( Throwable t ) {
        t.printStackTrace();
      }
View Full Code Here

TOP

Related Classes of org.pentaho.platform.api.repository.IContentItem

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.