Different Behavior Between The Same Code In Java Application & Smart Service

Hi All,

I've created a smart service that takes as input a document - image - of type jpg, png, tiff and converts the image to another of the other previously listed formats.

My standalone Java application - that the smart service is based on - successfully converts any format to any other format.

My smart service produces the following outputs:

- jpg => png - Success
- png => jpg - Success
- tiff => png - Failure
- tiff => jpg Failure

To do this conversion I'm using the library JAI ImageIO Core - github.com/.../jai-imageio-core.

I've figured out where in the smart service this fails on .tiff images but not other forms; I just have no idea why.

In both the standalone application and my smart service, the buffered image is created like follows:

BufferedImage bufferedImage = ImageIO.read(imageFile);

Where imageFile is a variable of type File. The onl...

OriginalPostID-261516

  Discussion posts and replies are publicly visible

Parents
  • ...y difference between the standalone application and smart service is how we get this file. In the smart service I'm getting it as follows:

    private Long originalImage;

    String filepath = this.contentService.getInternalFilename(originalImage);
    Document originalDocument = (Document) this.contentService.getVersion(originalImage, ContentConstants.VERSION_CURRENT);
    File imageFile = new File(filepath);
    BufferedImage bufferedImage = ImageIO.read(imageFile);

    So at this point we have a BufferedImage.

    In my smart service, when passing a tiff image as input to convert, my BufferedImage is null, however for jpg and png it is created successfully.

    In my standalone application the Buffered Image is created successfully with a tiff image as input.

    Buffer Image representation in the smart service looks like this on a jpg/png:

    bufferedImage = BufferedImage@4c454e25: type = 5 ColorModel: #pixelBits = 24 numComponents = 3 color space = java.awt.color.ICC_ColorSpace@7c906947 tran...
Reply
  • ...y difference between the standalone application and smart service is how we get this file. In the smart service I'm getting it as follows:

    private Long originalImage;

    String filepath = this.contentService.getInternalFilename(originalImage);
    Document originalDocument = (Document) this.contentService.getVersion(originalImage, ContentConstants.VERSION_CURRENT);
    File imageFile = new File(filepath);
    BufferedImage bufferedImage = ImageIO.read(imageFile);

    So at this point we have a BufferedImage.

    In my smart service, when passing a tiff image as input to convert, my BufferedImage is null, however for jpg and png it is created successfully.

    In my standalone application the Buffered Image is created successfully with a tiff image as input.

    Buffer Image representation in the smart service looks like this on a jpg/png:

    bufferedImage = BufferedImage@4c454e25: type = 5 ColorModel: #pixelBits = 24 numComponents = 3 color space = java.awt.color.ICC_ColorSpace@7c906947 tran...
Children
No Data