Repository: cxf
Updated Branches:
  refs/heads/master 4a292c0cc -> cc27d5ba1


Minor updates to JOSE filters


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/8daf38e7
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/8daf38e7
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/8daf38e7

Branch: refs/heads/master
Commit: 8daf38e7c98c66e22cd38569f230bfc0b3bbb125
Parents: 6e0451e
Author: Sergey Beryozkin <sberyoz...@talend.com>
Authored: Tue Nov 11 18:28:40 2014 +0000
Committer: Sergey Beryozkin <sberyoz...@talend.com>
Committed: Tue Nov 11 18:28:40 2014 +0000

----------------------------------------------------------------------
 .../cxf/rs/security/jose/jaxrs/JweWriterInterceptor.java  | 10 ++++++----
 .../cxf/rs/security/jose/jwe/JweCompactProducer.java      |  3 ++-
 .../apache/cxf/rs/security/jose/jwe/JweOutputStream.java  |  5 ++---
 .../cxf/rs/security/jose/jws/JwsJsonOutputStream.java     |  1 +
 .../apache/cxf/rs/security/jose/jws/JwsOutputStream.java  |  1 +
 5 files changed, 12 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/8daf38e7/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jaxrs/JweWriterInterceptor.java
----------------------------------------------------------------------
diff --git 
a/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jaxrs/JweWriterInterceptor.java
 
b/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jaxrs/JweWriterInterceptor.java
index cbe4aef..a50c6a5 100644
--- 
a/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jaxrs/JweWriterInterceptor.java
+++ 
b/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jaxrs/JweWriterInterceptor.java
@@ -83,16 +83,18 @@ public class JweWriterInterceptor implements 
WriterInterceptor {
             } catch (IOException ex) {
                 throw new SecurityException(ex);
             }
-            OutputStream jweStream = new JweOutputStream(actualOs, 
encryption.getCipher(), 
+            OutputStream wrappedStream = null;
+            JweOutputStream jweOutputStream = new JweOutputStream(actualOs, 
encryption.getCipher(), 
                                                          
encryption.getAuthTagProducer());
+            wrappedStream = jweOutputStream;
             if (encryption.isCompressionSupported()) {
-                jweStream = new DeflaterOutputStream(jweStream);
+                wrappedStream = new DeflaterOutputStream(jweOutputStream);
             }
             
-            ctx.setOutputStream(jweStream);
+            ctx.setOutputStream(wrappedStream);
             ctx.proceed();
             setJoseMediaType(ctx);
-            jweStream.flush();
+            jweOutputStream.finalFlush();
         } else {
             CachedOutputStream cos = new CachedOutputStream(); 
             ctx.setOutputStream(cos);

http://git-wip-us.apache.org/repos/asf/cxf/blob/8daf38e7/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jwe/JweCompactProducer.java
----------------------------------------------------------------------
diff --git 
a/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jwe/JweCompactProducer.java
 
b/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jwe/JweCompactProducer.java
index 02b759a..0169fbe 100644
--- 
a/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jwe/JweCompactProducer.java
+++ 
b/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jwe/JweCompactProducer.java
@@ -145,7 +145,8 @@ public class JweCompactProducer {
                                          encryptedContentEncryptionKey.length, 
os);
         os.write(dotBytes);
         Base64UrlUtility.encodeAndStream(cipherInitVector, 0, 
cipherInitVector.length, os);
-        os.write(dotBytes);         
+        os.write(dotBytes);        
+        os.flush();
     }
     
     public String getJweContent() {

http://git-wip-us.apache.org/repos/asf/cxf/blob/8daf38e7/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jwe/JweOutputStream.java
----------------------------------------------------------------------
diff --git 
a/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jwe/JweOutputStream.java
 
b/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jwe/JweOutputStream.java
index c6462f1..e8faa37 100644
--- 
a/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jwe/JweOutputStream.java
+++ 
b/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jwe/JweOutputStream.java
@@ -94,7 +94,7 @@ public class JweOutputStream extends FilterOutputStream {
         }
         int rem = finalWrite ? 0 : lenToEncode % 3; 
         Base64UrlUtility.encodeAndStream(theChunk, off, lenToEncode - rem, 
out);
-        
+        out.flush();
         if (rem > 0) {
             lastEncryptedDataChunk = newArray(theChunk, lenToEncode - rem, 
rem);
         } else {
@@ -102,8 +102,7 @@ public class JweOutputStream extends FilterOutputStream {
         }
     }
     
-    @Override
-    public void flush() throws IOException {
+    public void finalFlush() throws IOException {
         if (flushed) {
             return;
         }

http://git-wip-us.apache.org/repos/asf/cxf/blob/8daf38e7/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jws/JwsJsonOutputStream.java
----------------------------------------------------------------------
diff --git 
a/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jws/JwsJsonOutputStream.java
 
b/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jws/JwsJsonOutputStream.java
index 7fc1007..85f0356 100644
--- 
a/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jws/JwsJsonOutputStream.java
+++ 
b/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jws/JwsJsonOutputStream.java
@@ -68,6 +68,7 @@ public class JwsJsonOutputStream extends FilterOutputStream {
             }
         });
         out.write(b, off, len);
+        out.flush();
     }
     @Override
     public void flush() throws IOException {

http://git-wip-us.apache.org/repos/asf/cxf/blob/8daf38e7/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jws/JwsOutputStream.java
----------------------------------------------------------------------
diff --git 
a/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jws/JwsOutputStream.java
 
b/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jws/JwsOutputStream.java
index f10f30c..b9d572a 100644
--- 
a/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jws/JwsOutputStream.java
+++ 
b/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jws/JwsOutputStream.java
@@ -47,6 +47,7 @@ public class JwsOutputStream extends FilterOutputStream {
             throw new SecurityException();
         }
         out.write(b, off, len);
+        out.flush();
     }
     @Override
     public void flush() throws IOException {

Reply via email to