Package com.lightcrafts.mediax.jai.tilecodec

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


     * @return a byte array containing the compressed tile contents.
     */
    public byte[] getCompressedTile(Long id, int x, int y)
  throws RemoteException {

  TileCodecParameterList tcpl = null;
  TileEncoderFactory tef = null;
  NegotiableCapability codecCap = null;

  if (negotiated != null) {
      codecCap = ((NegotiableCapabilitySet)negotiated.get(id)).
    getNegotiatedValue("tileCodec");
  }

  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 (tef == null &&
        TileEncoderFactory.class.isAssignableFrom(factory)) {
        try {
      tef = (TileEncoderFactory)factory.newInstance();
        } catch (InstantiationException ie) {
      throw new RuntimeException(ie.getMessage());
        } catch (IllegalAccessException iae) {
      throw new RuntimeException(iae.getMessage());
        }
    }
      }

      if (tef == null) {
    throw new RuntimeException(
             JaiI18N.getString("JAIRMIImageServer0"));
      }

      TileCodecDescriptor tcd =
    (TileCodecDescriptor)JAI.getDefaultInstance().
    getOperationRegistry().getDescriptor("tileEncoder",
                 capabilityName);

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

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

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

      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) {
          continue;
      }
      tcpl.setParameter(currParam, currValue);
        }
    }
      }

      Raster r = getSource(id).getTile(x, y);
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);
        }
    }
      }
  }
View Full Code Here

      if (registry == null)
    registry = JAI.getDefaultInstance().getOperationRegistry();
      tileDecoderFactory =
                  (TileDecoderFactory)registry.getFactory("tileDecoder", formatName);

      TileCodecParameterList temp = decodingParam;

      if (temp != null) {
    TileCodecDescriptor tcd =
        getTileCodecDescriptor("tileDecoder", formatName);
    ParameterListDescriptor pld =
        tcd.getParameterListDescriptor("tileDecoder");
    decodingParam =
        new TileCodecParameterList(formatName,
                 new String[]{"tileDecoder"},
                 pld);
    String[] names = pld.getParamNames();

    if (names != null)
        for (int i = 0; i < names.length; i++)
      decodingParam.setParameter(names[i],
               temp.getObjectParameter(names[i]));

      } else
    decodingParam = getTileCodecDescriptor("tileDecoder", formatName).
        getDefaultParameters("tileDecoder");
  }
View Full Code Here

TOP

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

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.