Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-5017991

Unable to get MetadataFormat for GIF streams and WBMP images.

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P4 P4
    • 5.0
    • 1.0, 5.0
    • client-libs
    • b45
    • generic
    • generic



      Name: abR10136 Date: 03/22/2004


       The MetadataFormat class for GIF stream (format
       "javax_imageio_gif_stream_1.0") is not accessible because
       this class is not public. It causes IllegalStateException when user
       try to get instance of this class.

       The WBMP image metadata format ("javax_imageio_wbmp_image_1.0")
       is not registered correctly:
       the ImageReaderSpi.getNativeImageMetadataFormatName returns null
       instead of correct format name.

       This testcase reproduces the problem:

      ============== BEGIN OF SOURCES ======================================
      import javax.imageio.spi.IIORegistry;
      import javax.imageio.spi.ImageReaderSpi;
      import javax.imageio.metadata.IIOMetadataFormat;
      import java.util.Iterator;

      public class MetadataFormatTest {


          public static void main(String[] args) {
              IIORegistry registry = IIORegistry.getDefaultInstance();
              Iterator iter = registry.getServiceProviders(ImageReaderSpi.class,
                                                           false);
              while(iter.hasNext()) {
                  ImageReaderSpi spi = (ImageReaderSpi)iter.next();
                  String fmt_name;
                  fmt_name = spi.getNativeStreamMetadataFormatName();
                  testStreamMetadataFormat(spi, fmt_name);

                  fmt_name = spi.getNativeImageMetadataFormatName();
                  testImageMetadataFormat(spi, fmt_name);

                  String[] fmt_names;
                  fmt_names = spi.getExtraStreamMetadataFormatNames();
                  for (int i=0; fmt_names != null && i < fmt_names.length; i++) {
                      testStreamMetadataFormat(spi, fmt_names[i]);
                  }

                  fmt_names = spi.getExtraImageMetadataFormatNames();
                  for (int i=0; fmt_names != null && i < fmt_names.length; i++) {
                      testImageMetadataFormat(spi, fmt_names[i]);
                  }
              }
          }

          private static void testStreamMetadataFormat(ImageReaderSpi spi,
                                                       String fmt_name) {
              if (fmt_name == null) {
                  return;
              }
              try {
                  testMetadataFormat(spi.getStreamMetadataFormat(fmt_name),
                                     fmt_name);
              } catch (Exception e) {
                  System.out.println("Test failed for " + fmt_name);
              }
          }

          private static void testImageMetadataFormat(ImageReaderSpi spi,
                                                      String fmt_name) {
              if (fmt_name == null) {
                  return;
              }
              try {
                  testMetadataFormat(spi.getImageMetadataFormat(fmt_name),
                                     fmt_name);
              } catch (Exception e) {
                  System.out.println("Test failed for " + fmt_name);
              }
          }
          private static void testMetadataFormat(IIOMetadataFormat fmt,
                                                 String fmt_name) {
              System.out.print(fmt_name + "...");
              if (fmt != null) {
                  System.out.println("Ok");
              } else {
                  System.out.println("Failed to get format for "
                                     + fmt_name);
              }
          }
      }
      ============== END OF SOURCES ======================================
      ======================================================================

            bae Andrew Brygin
            bae Andrew Brygin
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: