Package com.lightcrafts.mediax.jai.tilecodec

Examples of com.lightcrafts.mediax.jai.tilecodec.TileDecoderFactory


            JaiI18N.getString("UseTileCodec1"));
        }

        TileEncoderFactory tileEncoderFactory =
            (TileEncoderFactory)registry.getFactory("tileEncoder", formatName);
        TileDecoderFactory tileDecoderFactory =
            (TileDecoderFactory)registry.getFactory("tileDecoder", formatName);
        if (tileEncoderFactory == null || tileDecoderFactory == null)
            throw new RuntimeException(JaiI18N.getString("UseTileCodec2"));

        useTileCodec = true;
View Full Code Here


       OperationRegistry registry =
           JAI.getDefaultInstance().getOperationRegistry();
       String modeName = "tileDecoder";
       String[] descriptorNames = registry.getDescriptorNames(modeName);
       TileDecoderFactory tdf = null;

       // Only non-preference NegotiableCapability objects can be added
       // to this NCS, which is ok, since these represent the capabilities
       // of the client and thus are not preferences as much as they are
       // hard capabilities (i.e. non-preferences)
       NegotiableCapabilitySet capabilities =
           new NegotiableCapabilitySet(false);

       // Note that tileEncoder capabilities cannot be added since there is
       // no way to differentiate between a encoding and a decoding capability
       // within an NCS, and since the client should only be expected to
       // decode, this should be ok.

       Iterator it;
       for (int i=0; i<descriptorNames.length; i++) {

     it = registry.getFactoryIterator(modeName, descriptorNames[i]);
     for (; it.hasNext(); ) {
         tdf = (TileDecoderFactory)it.next();
         capabilities.add(tdf.getDecodeCapability());
     }
       }

       return capabilities;
    }
View Full Code Here

  // Since "tileCodec" is the only category that we care about or honor
  // currently in the remote communication.
  NegotiableCapability codecCap = getNegotiatedValue("tileCodec");

  TileDecoderFactory tdf = null;
  TileCodecParameterList tcpl = null;

  if (codecCap != null) {

      String category = codecCap.getCategory();
      String capabilityName = codecCap.getCapabilityName();
      List generators = codecCap.getGenerators();

      Class factory;
      for (Iterator i=generators.iterator(); i.hasNext(); ) {
    factory = (Class)i.next();
    if (tdf == null &&
        TileDecoderFactory.class.isAssignableFrom(factory)) {

        try {
      tdf = (TileDecoderFactory)factory.newInstance();
        } catch (InstantiationException ie) {
      throw new RemoteImagingException(ImageUtil.getStackTraceString(ie));
        } catch (IllegalAccessException iae) {
      throw new RemoteImagingException(ImageUtil.getStackTraceString(iae));
        }
    }
      }

      if (tdf == null) {
    throw new RemoteImagingException(
             JaiI18N.getString("RMIServerProxy0"));
      }

      TileCodecDescriptor tcd =
    (TileCodecDescriptor)registry.getDescriptor("tileDecoder",
                  capabilityName);

      if (tcd.includesSampleModelInfo() == false ||
    tcd.includesLocationInfo() == false) {
    throw new RemoteImagingException(
             JaiI18N.getString("RMIServerProxy1"));
      }

      ParameterListDescriptor pld =
    tcd.getParameterListDescriptor("tileDecoder");

      tcpl = new TileCodecParameterList(capabilityName,
                new String[] {"tileDecoder"},
                pld);

      // Set parameters on TileCodecParameterList only if there are any
      // parameters defined.
      if (pld != null) {

    String paramNames[] = pld.getParamNames();
    String currParam;
    Object currValue;
    if (paramNames != null) {
        for (int i=0; i<paramNames.length; i++) {
      currParam = paramNames[i];
      try {
          currValue = codecCap.getNegotiatedValue(currParam);
      } catch (IllegalArgumentException iae) {
          // If this parameter is not defined on the
          // NegotiableCapability, then move onto the next
          continue;
      }

      tcpl.setParameter(currParam, currValue);
        }
    }
      }
  }

  try {
      // If a compression hint was set, use it
      if (codecCap != null) {
    byte ctile[] = remoteImage.getCompressedTile(id,
                   tileX,
                   tileY);
    ByteArrayInputStream stream = new ByteArrayInputStream(ctile);
    TileDecoder decoder = tdf.createDecoder(stream, tcpl);
    try {
        return decoder.decode();
    } catch (java.io.IOException ioe) {
        throw new RemoteImagingException(ImageUtil.getStackTraceString(ioe));
    }
View Full Code Here

TOP

Related Classes of com.lightcrafts.mediax.jai.tilecodec.TileDecoderFactory

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.