summaryrefslogtreecommitdiff
path: root/BKULocal/src/main/java
diff options
context:
space:
mode:
authorclemenso <clemenso@8a26b1a7-26f0-462f-b9ef-d0e30c41f5a4>2008-09-18 09:25:55 +0000
committerclemenso <clemenso@8a26b1a7-26f0-462f-b9ef-d0e30c41f5a4>2008-09-18 09:25:55 +0000
commita20fb683943ce0893302b6dc25015c998cd9687f (patch)
treec7642496f0d453f0f250420647e8eae893e7d602 /BKULocal/src/main/java
parentf72d5842828ec072813eb30051d24f7cc8613606 (diff)
downloadmocca-a20fb683943ce0893302b6dc25015c998cd9687f.tar.gz
mocca-a20fb683943ce0893302b6dc25015c998cd9687f.tar.bz2
mocca-a20fb683943ce0893302b6dc25015c998cd9687f.zip
hashdatainput cached
git-svn-id: https://joinup.ec.europa.eu/svn/mocca/trunk@46 8a26b1a7-26f0-462f-b9ef-d0e30c41f5a4
Diffstat (limited to 'BKULocal/src/main/java')
-rw-r--r--BKULocal/src/main/java/at/gv/egiz/bku/local/stal/LocalSignRequestHandler.java28
1 files changed, 21 insertions, 7 deletions
diff --git a/BKULocal/src/main/java/at/gv/egiz/bku/local/stal/LocalSignRequestHandler.java b/BKULocal/src/main/java/at/gv/egiz/bku/local/stal/LocalSignRequestHandler.java
index a288a716..ca420f13 100644
--- a/BKULocal/src/main/java/at/gv/egiz/bku/local/stal/LocalSignRequestHandler.java
+++ b/BKULocal/src/main/java/at/gv/egiz/bku/local/stal/LocalSignRequestHandler.java
@@ -16,6 +16,7 @@
*/
package at.gv.egiz.bku.local.stal;
+import at.gv.egiz.bku.slcommands.impl.DataObjectHashDataInput;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@@ -68,14 +69,27 @@ public class LocalSignRequestHandler extends SignRequestHandler {
if (dsigRefId != null) {
for (HashDataInput hdi : hashDataInput) {
if (hdi.getReferenceId().equals(dsigRefId)) {
- InputStream hdIs = hdi.getHashDataInput();
- ByteArrayOutputStream baos = new ByteArrayOutputStream(hdIs.available());
- int b;
- while ((b = hdIs.read()) != -1) {
- baos.write(b);
+ if (hdi instanceof DataObjectHashDataInput) {
+ if (log.isTraceEnabled())
+ log.trace("adding DataObjectHashDataInput");
+ result.add(hdi);
+ } else if (hdi instanceof ByteArrayHashDataInput) {
+ if (log.isTraceEnabled())
+ log.trace("adding ByteArrayHashDataInput");
+ result.add(hdi);
+ } else {
+ if (log.isDebugEnabled())
+ log.debug("provided HashDataInput not chaching enabled, creating ByteArrayHashDataInput");
+
+ InputStream hdIs = hdi.getHashDataInput();
+ ByteArrayOutputStream baos = new ByteArrayOutputStream(hdIs.available());
+ int b;
+ while ((b = hdIs.read()) != -1) {
+ baos.write(b);
+ }
+ ByteArrayHashDataInput baHdi = new ByteArrayHashDataInput(baos.toByteArray(), hdi.getReferenceId(), hdi.getMimeType(), hdi.getEncoding());
+ result.add(baHdi);
}
- ByteArrayHashDataInput baHdi = new ByteArrayHashDataInput(baos.toByteArray(), hdi.getReferenceId(), hdi.getMimeType(), hdi.getEncoding());
- result.add(baHdi);
}
}
} else {