Package org.pentaho.platform.api.repository

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


    IContentItem outputContentItem = runtimeContext.getOutputContentItem( mimeType );
    outputContentItem.setMimeType( mimeType );
  }

  protected void setOutputMimeType( final String outputName, final String mimeType ) {
    IContentItem outputContentItem = runtimeContext.getOutputContentItem( outputName );
    outputContentItem.setMimeType( mimeType );
  }
View Full Code Here


    IContentItem outputContentItem = runtimeContext.getOutputContentItem( outputName );
    outputContentItem.setMimeType( mimeType );
  }

  protected OutputStream getFeedbackOutputStream() {
    IContentItem feedbackContentItem = runtimeContext.getFeedbackContentItem();
    if ( feedbackContentItem != null ) {
      try {
        return feedbackContentItem.getOutputStream( getActionName() );
      } catch ( Exception e ) {
        //ignored
      }
    }
    return null;
View Full Code Here

        // TODO Shouldn't the mime types and other strings here be constant somewhere? Where do we
        // put this type of general info ?

        String mimeType = "image/png"; //$NON-NLS-1$
        IContentItem contentItem = getOutputItem( "chartdata", mimeType, ".png" ); //$NON-NLS-1$ //$NON-NLS-2$
        contentItem.setMimeType( mimeType );
        try {

          OutputStream output = contentItem.getOutputStream( getActionName() );
          ChartUtilities.writeChartAsPNG( output, chart, width, height );

        } catch ( Exception e ) {
          error( Messages.getInstance().getErrorString( "ChartComponent.ERROR_0004_CANT_CREATE_IMAGE" ), e ); //$NON-NLS-1$
          return false;
View Full Code Here

      document.getRootElement().element( "SOAP-ENV:Body" ).add( createSoapFaultElement( messages ) ); //$NON-NLS-1$
    } else {
      Element activityResponse = createActivityResponseElement();
      document.getRootElement().element( "SOAP-ENV:Body" ).add( activityResponse ); //$NON-NLS-1$

      IContentItem contentItem = outputHandler.getFeedbackContentItem();

      // hmm do we need this to be ordered?
      Set outputNames = context.getOutputNames();

      Iterator outputNameIterator = outputNames.iterator();
      while ( outputNameIterator.hasNext() ) {
        String outputName = (String) outputNameIterator.next();
        contentItem =
            outputHandler.getOutputContentItem( IOutputHandler.RESPONSE, IOutputHandler.CONTENT, context
                .getInstanceId(), "text/xml" ); //$NON-NLS-1$
        if ( ( outputNames.size() == 1 ) && ( contentItem != null ) ) {
          String mimeType = contentItem.getMimeType();
          if ( ( mimeType != null ) && mimeType.startsWith( "text/" ) ) { //$NON-NLS-1$
            if ( mimeType.equals( "text/xml" ) ) { //$NON-NLS-1$
              activityResponse.addElement( outputName ).setText( contentStream.toString() );
            } else if ( mimeType.startsWith( "text/" ) ) { //$NON-NLS-1$
              activityResponse.addElement( outputName ).addCDATA( contentStream.toString() );
View Full Code Here

    setParameterProvider( IParameterProvider.SCOPE_SESSION, sessionParameters );
    setRequest( request );
  }

  public void handleUIRequest( final IUIComponent component, final String contentType ) throws IOException {
    IContentItem contentItem =
        getOutputHandler()
            .getOutputContentItem( IOutputHandler.RESPONSE, IOutputHandler.CONTENT, getInstanceId(), null );
    OutputStream outputStream = contentItem.getOutputStream( this.getActionPath() );
    ( (BaseUIComponent) component ).setUrlFactory( urlFactory );
    component.handleRequest( outputStream, this, contentType, getParameterProviders() );

  }
View Full Code Here

      } catch ( IndexOutOfBoundsException e ) {
        HttpOutputHandler.logger.error( e.getLocalizedMessage() );
      }
    } else if ( IOutputHandler.CONTENT.equalsIgnoreCase( name ) ) {
      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.getContentType() == null )
              || ( !response.getContentType().equalsIgnoreCase( content.getMimeType() ) ) ) {
            // response.setContentType( content.getMimeType() );
            setMimeType( content.getMimeType() );
          }
          try {
            // Bad idea to write to the output stream directly. This prevents us from
            // auditing writes. Use the managed destinationOutputStream instead.
            // OutputStream outStr = response.getOutputStream();
View Full Code Here

    handler.setSession( session );
    assertEquals( session, handler.getSession() );

    handler.setContentItem( new SimpleContentItem(), null, null );

    IContentItem content2 = handler.getOutputContentItem( "bogus", "testoutut:bogus", null, null );
    assertEquals( TestOutputHandler.contentItem, content2 );

    content2 = handler.getOutputContentItem( "bogus", "bogus", null, null );
    assertNull( content2 );

    content2 = handler.getOutputContentItem( IOutputHandler.RESPONSE, IOutputHandler.CONTENT, null, null );

    assertEquals( out, content2.getOutputStream( null ) );
    assertFalse( handler.contentDone() );
    assertNull( handler.getFeedbackContentItem() );
    assertFalse( handler.contentDone() );

    handler.setOutputPreference( -1 );
    assertEquals( -1, handler.getOutputPreference() );

    handler.setMimeType( "test/test" );
    assertEquals( "test/test", handler.getMimeType() );

    handler.setOutput( "bogus", null );

    handler.setOutput( "file:bogus", null );

    IContentItem content3 = new BufferedContentItem( null );
    OutputStream os = content3.getOutputStream( null );
    os.write( "test data".getBytes() );
    content3.closeOutputStream();
    handler.setOutput( IOutputHandler.CONTENT, content3 );

    assertEquals( "test data", new String( out.toByteArray() ) );

    handler.setOutput( IOutputHandler.CONTENT, "+test data2" );
View Full Code Here

  public void test2() throws Exception {
    StandaloneSession session = new StandaloneSession();

    OutputStream out = new MockExceptionOutputStream();
    IContentItem content = new SimpleContentItem( out );

    SimpleOutputHandler handler = new SimpleOutputHandler( content, true );

    assertTrue( handler.allowFeedback() );
    assertFalse( handler.contentDone() );
    assertNotNull( handler.getFeedbackContentItem() );
    assertTrue( handler.contentDone() );

    IContentItem content2 = handler.getFeedbackContentItem();

    assertEquals( content.getOutputStream( null ), content2.getOutputStream( null ) );

    IContentItem content3 = new BufferedContentItem( null );
    content3.getOutputStream( null ).write( "test data".getBytes() );
    content3.closeOutputStream();

    try {
      handler.setOutput( IOutputHandler.CONTENT, content3 );
      fail( "Exception not detected." );
    } catch ( Exception ex ) {
View Full Code Here

    assertFalse( handler.allowFeedback() );
    handler.setSession( session );
    assertEquals( session, handler.getSession() );

    IContentItem content2 = handler.getOutputContentItem( IOutputHandler.RESPONSE, IOutputHandler.CONTENT, null, null );

    assertEquals( out, content2.getOutputStream( null ) );
    assertNull( handler.getFeedbackContentItem() );

    try {
      handler.setOutput( IOutputHandler.CONTENT, "test data" );
      fail( "Exception not detected." );
View Full Code Here

    SimpleOutputHandler handler = new SimpleOutputHandler( out, true );

    assertTrue( handler.allowFeedback() );

    assertNotNull( handler.getFeedbackContentItem() );
    IContentItem content2 = handler.getFeedbackContentItem();

    assertEquals( out, content2.getOutputStream( null ) );

    OutputStream out3 = new ByteArrayOutputStream();

    handler.setOutputStream( out3, IOutputHandler.RESPONSE, IOutputHandler.CONTENT );
    IContentItem content3 = handler.getOutputContentItem( IOutputHandler.RESPONSE, IOutputHandler.CONTENT, null, null );

    assertEquals( out3, content3.getOutputStream( null ) );

  }
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.