You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by se...@apache.org on 2017/08/09 16:49:07 UTC

cxf git commit: Reintroducing a 3-callback option for NioReadEntity for now but with a no-arg completion based on the feedback from Andriy

Repository: cxf
Updated Branches:
  refs/heads/master 1b0d3c964 -> 03cacaa47


Reintroducing a 3-callback option for NioReadEntity for now but with a no-arg completion based on the feedback from Andriy


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

Branch: refs/heads/master
Commit: 03cacaa47d81f23ae51a976b65832ea50fb68d17
Parents: 1b0d3c9
Author: Sergey Beryozkin <sb...@gmail.com>
Authored: Wed Aug 9 17:48:52 2017 +0100
Committer: Sergey Beryozkin <sb...@gmail.com>
Committed: Wed Aug 9 17:48:52 2017 +0100

----------------------------------------------------------------------
 .../apache/cxf/jaxrs/nio/NioErrorHandler.java   | 30 ++++++++++++++++++++
 .../cxf/jaxrs/nio/NioReadCompletionHandler.java |  2 +-
 .../org/apache/cxf/jaxrs/nio/NioReadEntity.java |  8 +++++-
 .../cxf/jaxrs/nio/NioReadListenerImpl.java      |  4 +--
 .../apache/cxf/jaxrs/nio/NioWriteEntity.java    |  6 ++--
 .../cxf/jaxrs/nio/NioWriteErrorHandler.java     | 30 --------------------
 .../cxf/systest/jaxrs/nio/NioBookStore.java     | 15 +++++-----
 7 files changed, 51 insertions(+), 44 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/03cacaa4/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/nio/NioErrorHandler.java
----------------------------------------------------------------------
diff --git a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/nio/NioErrorHandler.java b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/nio/NioErrorHandler.java
new file mode 100644
index 0000000..e7a538f
--- /dev/null
+++ b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/nio/NioErrorHandler.java
@@ -0,0 +1,30 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.cxf.jaxrs.nio;
+
+@FunctionalInterface
+public interface NioErrorHandler {
+    /**
+     * Method called when an exception or error occurred.
+     *
+     * @param throwable the error or exception encountered.
+     */
+    void error(Throwable throwable) throws Throwable;
+}
+

http://git-wip-us.apache.org/repos/asf/cxf/blob/03cacaa4/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/nio/NioReadCompletionHandler.java
----------------------------------------------------------------------
diff --git a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/nio/NioReadCompletionHandler.java b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/nio/NioReadCompletionHandler.java
index 2901166..97eef87 100644
--- a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/nio/NioReadCompletionHandler.java
+++ b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/nio/NioReadCompletionHandler.java
@@ -20,6 +20,6 @@ package org.apache.cxf.jaxrs.nio;
 
 @FunctionalInterface
 public interface NioReadCompletionHandler {
-    void complete(NioInputStream in, Throwable t);
+    void complete();
 }
 

http://git-wip-us.apache.org/repos/asf/cxf/blob/03cacaa4/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/nio/NioReadEntity.java
----------------------------------------------------------------------
diff --git a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/nio/NioReadEntity.java b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/nio/NioReadEntity.java
index 413b744..2dde9ae 100644
--- a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/nio/NioReadEntity.java
+++ b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/nio/NioReadEntity.java
@@ -29,10 +29,12 @@ import org.apache.cxf.transport.http.AbstractHTTPDestination;
 public class NioReadEntity {
     private final NioReadHandler reader;
     private final NioReadCompletionHandler completion;
+    private final NioErrorHandler error;
     
-    public NioReadEntity(NioReadHandler reader, NioReadCompletionHandler completion) {
+    public NioReadEntity(NioReadHandler reader, NioReadCompletionHandler completion, NioErrorHandler error) {
         this.reader = reader;
         this.completion = completion;
+        this.error = error;
         
         try {
             final Message m = JAXRSUtils.getCurrentMessage();
@@ -54,4 +56,8 @@ public class NioReadEntity {
     public NioReadCompletionHandler getCompletion() {
         return completion;
     }
+    
+    public NioErrorHandler getError() {
+        return error;
+    }
 }

http://git-wip-us.apache.org/repos/asf/cxf/blob/03cacaa4/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/nio/NioReadListenerImpl.java
----------------------------------------------------------------------
diff --git a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/nio/NioReadListenerImpl.java b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/nio/NioReadListenerImpl.java
index cece8b9..a090c5f 100644
--- a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/nio/NioReadListenerImpl.java
+++ b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/nio/NioReadListenerImpl.java
@@ -40,7 +40,7 @@ public final class NioReadListenerImpl implements ReadListener {
     @Override
     public void onError(Throwable t) {
         try {
-            entity.getCompletion().complete(null, t);
+            entity.getError().error(t);
         } catch (final Throwable ex) {
             LOG.warning("NIO NioReadListener error: " + ExceptionUtils.getStackTrace(ex));
         }
@@ -55,6 +55,6 @@ public final class NioReadListenerImpl implements ReadListener {
 
     @Override
     public void onAllDataRead() throws IOException {
-        entity.getCompletion().complete(in, null);
+        entity.getCompletion().complete();
     }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cxf/blob/03cacaa4/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/nio/NioWriteEntity.java
----------------------------------------------------------------------
diff --git a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/nio/NioWriteEntity.java b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/nio/NioWriteEntity.java
index af39eaa..32874e3 100644
--- a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/nio/NioWriteEntity.java
+++ b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/nio/NioWriteEntity.java
@@ -20,9 +20,9 @@ package org.apache.cxf.jaxrs.nio;
 
 public final class NioWriteEntity {
     private final NioWriteHandler writer;
-    private final NioWriteErrorHandler error;
+    private final NioErrorHandler error;
 
-    public NioWriteEntity(final NioWriteHandler writer, final NioWriteErrorHandler error) {
+    public NioWriteEntity(final NioWriteHandler writer, final NioErrorHandler error) {
         this.writer = writer;
         this.error = error;
     }
@@ -31,7 +31,7 @@ public final class NioWriteEntity {
         return writer;
     }
 
-    public NioWriteErrorHandler getError() {
+    public NioErrorHandler getError() {
         return error;
     }
 }

http://git-wip-us.apache.org/repos/asf/cxf/blob/03cacaa4/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/nio/NioWriteErrorHandler.java
----------------------------------------------------------------------
diff --git a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/nio/NioWriteErrorHandler.java b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/nio/NioWriteErrorHandler.java
deleted file mode 100644
index 91feb2c..0000000
--- a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/nio/NioWriteErrorHandler.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.cxf.jaxrs.nio;
-
-@FunctionalInterface
-public interface NioWriteErrorHandler {
-    /**
-     * Method called when an exception or error occurred.
-     *
-     * @param throwable the error or exception encountered.
-     */
-    void error(Throwable throwable) throws Throwable;
-}
-

http://git-wip-us.apache.org/repos/asf/cxf/blob/03cacaa4/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/nio/NioBookStore.java
----------------------------------------------------------------------
diff --git a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/nio/NioBookStore.java b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/nio/NioBookStore.java
index 7545a28..d98cfdc 100644
--- a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/nio/NioBookStore.java
+++ b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/nio/NioBookStore.java
@@ -112,12 +112,13 @@ public class NioBookStore {
             }
         },
         // completion handler
-        (in, throwable) -> {
-            if (throwable != null) {
-                response.resume(throwable);
-            } else {
-                response.resume("Book Store uploaded: " + adder.longValue() + " bytes");
-            }
-        });
+        () -> {
+            response.resume("Book Store uploaded: " + adder.longValue() + " bytes");
+        },
+        // error handler
+        t -> {
+            response.resume(t);
+        }
+        );
     }
 }