diff options
| author | clemenso <clemenso@8a26b1a7-26f0-462f-b9ef-d0e30c41f5a4> | 2008-10-15 13:41:21 +0000 | 
|---|---|---|
| committer | clemenso <clemenso@8a26b1a7-26f0-462f-b9ef-d0e30c41f5a4> | 2008-10-15 13:41:21 +0000 | 
| commit | d56504bc815d41ac9142967915b7e6224c2cf529 (patch) | |
| tree | bbc444d2fe42e062124a901dccd6e7280eccb987 | |
| parent | df3f120f1864c23fb4d53622b6667f31cacf8ecc (diff) | |
| download | mocca-d56504bc815d41ac9142967915b7e6224c2cf529.tar.gz mocca-d56504bc815d41ac9142967915b7e6224c2cf529.tar.bz2 mocca-d56504bc815d41ac9142967915b7e6224c2cf529.zip | |
remove hashdatainputproxy
git-svn-id: https://joinup.ec.europa.eu/svn/mocca/trunk@119 8a26b1a7-26f0-462f-b9ef-d0e30c41f5a4
5 files changed, 36 insertions, 13 deletions
| diff --git a/BKUApplet/src/main/java/at/gv/egiz/bku/online/applet/BKUWorker.java b/BKUApplet/src/main/java/at/gv/egiz/bku/online/applet/BKUWorker.java index 350925ce..3f64de3d 100644 --- a/BKUApplet/src/main/java/at/gv/egiz/bku/online/applet/BKUWorker.java +++ b/BKUApplet/src/main/java/at/gv/egiz/bku/online/applet/BKUWorker.java @@ -154,11 +154,6 @@ public class BKUWorker extends AbstractSMCCSTAL implements Runnable,        return;      } -//    //TODO factory for SignRequestHandler providing either WebServiceHDISignRequestHandler or ExternalHDIDisplaySignRequestHandler -//    AppletContext ctx = parent.getAppletContext(); -//    log.debug("register SignRequestHandler for HashDataURL " + hashDataURL); -//    addRequestHandler(at.gv.egiz.stal.SignRequest.class, new ExternalDisplaySignRequestHandler(ctx, hashDataURL)); -          try {        String sessionId = parent.getMyAppletParameter(BKUApplet.SESSION_ID);        if (sessionId == null) { diff --git a/BKUCommonGUI/src/main/java/at/gv/egiz/stal/impl/ByteArrayHashDataInput.java b/BKUCommonGUI/src/main/java/at/gv/egiz/stal/impl/ByteArrayHashDataInput.java index b0285345..2b5ee7e7 100644 --- a/BKUCommonGUI/src/main/java/at/gv/egiz/stal/impl/ByteArrayHashDataInput.java +++ b/BKUCommonGUI/src/main/java/at/gv/egiz/stal/impl/ByteArrayHashDataInput.java @@ -7,7 +7,11 @@ package at.gv.egiz.stal.impl;  import at.gv.egiz.stal.HashDataInput;  import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.IOException;  import java.io.InputStream; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory;  /**   * @@ -15,6 +19,8 @@ import java.io.InputStream;   */  public class ByteArrayHashDataInput implements HashDataInput { +    private static final Log log = LogFactory.getLog(ByteArrayHashDataInput.class); +        protected byte[] hashData;      protected String id;      protected String mimeType; @@ -30,6 +36,31 @@ public class ByteArrayHashDataInput implements HashDataInput {          this.encoding = encoding;      } +    /** +     * caches the hashdata input's stream +     * @param hdi to be cached +     */ +    public ByteArrayHashDataInput(HashDataInput hdi) { +      if (hdi == null) { +        throw new NullPointerException("HashDataInput not provided."); +      } +      InputStream is = hdi.getHashDataInput(); +      ByteArrayOutputStream baos = new ByteArrayOutputStream(); +      try { +        byte[] buffer = new byte[1024]; +        for (int i = is.read(buffer); i > -1; i = is.read(buffer)) { +          baos.write(buffer, 0, i); +        } +        this.hashData = baos.toByteArray(); +      } catch (IOException ex) { +        log.error("Failed to cache provided HashDataInput: " + ex.getMessage(), ex); +        this.hashData = new byte[0]; +      } +      this.id = hdi.getReferenceId(); +      this.mimeType = hdi.getMimeType(); +      this.encoding = hdi.getEncoding(); +    } +          @Override      public String getReferenceId() {          return id; diff --git a/BKUCommonGUI/src/main/resources/at/gv/egiz/bku/gui/Messages.properties b/BKUCommonGUI/src/main/resources/at/gv/egiz/bku/gui/Messages.properties index d0e4726e..a38e2cf8 100644 --- a/BKUCommonGUI/src/main/resources/at/gv/egiz/bku/gui/Messages.properties +++ b/BKUCommonGUI/src/main/resources/at/gv/egiz/bku/gui/Messages.properties @@ -35,7 +35,7 @@ message.hashdatalist=<html>{0} Signaturdatenobjekte:</html>  message.retries=<html>Noch {0} Versuch(e)</html>  message.overwrite=<html>M\u00F6chten Sie das existierende Dokument {0} \u00FCberschreiben?</html>  label.pin=<html>{0}:</html> -label.pinsize=<html>{0} stellig</html> +label.pinsize=<html>({0} stellig)</html>  button.ok=OK  button.cancel=Abbrechen  button.back=Zur\u00FCck diff --git a/BKUOnline/src/main/java/at/gv/egiz/stal/service/impl/STALRequestBrokerImpl.java b/BKUOnline/src/main/java/at/gv/egiz/stal/service/impl/STALRequestBrokerImpl.java index 03c7c601..7f4a9273 100644 --- a/BKUOnline/src/main/java/at/gv/egiz/stal/service/impl/STALRequestBrokerImpl.java +++ b/BKUOnline/src/main/java/at/gv/egiz/stal/service/impl/STALRequestBrokerImpl.java @@ -32,7 +32,6 @@ import at.gv.egiz.stal.service.types.QuitRequestType;  import at.gv.egiz.stal.service.types.RequestType;  import at.gv.egiz.stal.service.types.ResponseType;  import at.gv.egiz.stal.service.types.SignRequestType; -import at.gv.egiz.stal.util.HashDataInputProxy;  import at.gv.egiz.stal.util.STALTranslator;  import java.util.ArrayList;  import java.util.Collections; @@ -42,7 +41,7 @@ import org.apache.commons.logging.Log;  import org.apache.commons.logging.LogFactory;  /** - * An instance of STALRequestBroker is shared between a producer threads (SLCommand) + * An instance of STALRequestBroker is shared between a producer thread (SLCommand)   * and multiple consumer threads (STALService).   * This implementation assures that handleRequest is executed only once the previous invocation returned.   * The BindingProcessor assures that a new SLCommand calls handleRequest() only once @@ -109,10 +108,8 @@ public class STALRequestBrokerImpl implements STALRequestBroker {                    req.setKeyIdentifier(((SignRequest) stalRequest).getKeyIdentifier());                    req.setSignedInfo(((SignRequest) stalRequest).getSignedInfo());                    requests.add(req); -                  for (HashDataInput hdi : ((SignRequest) stalRequest).getHashDataInput()) { -                    hashDataInputs.add(new HashDataInputProxy(hdi)); -                  } -                  //hashDataInputs.addAll(((SignRequest) stalRequest).getHashDataInput()); +                  //DataObjectHashDataInput with reference caching enabled DataObject  +                  hashDataInputs.addAll(((SignRequest) stalRequest).getHashDataInput());                    break;                  } else if (stalRequest instanceof InfoboxReadRequest) {                    log.trace("Received InfoboxReadRequest"); diff --git a/STALService/src/main/java/at/gv/egiz/stal/util/HashDataInputProxy.java b/STALService/src/main/java/at/gv/egiz/stal/util/HashDataInputProxy.java index dda20968..01d207d2 100644 --- a/STALService/src/main/java/at/gv/egiz/stal/util/HashDataInputProxy.java +++ b/STALService/src/main/java/at/gv/egiz/stal/util/HashDataInputProxy.java @@ -13,7 +13,7 @@ import at.gv.egiz.stal.HashDataInput;  /**
   * Enables multiple read requests.
 - * 
 + * @deprecated use at.gv.egiz.stal.impl.ByteArrayHashDataInput
   */
  public class HashDataInputProxy implements HashDataInput {
 | 
