SLING-5643 Provide a simple messaging API
authorOliver Lietz <olli@apache.org>
Fri, 8 Apr 2016 09:43:50 +0000 (09:43 +0000)
committerOliver Lietz <olli@apache.org>
Fri, 8 Apr 2016 09:43:50 +0000 (09:43 +0000)
* use CompletableFuture instead of Future
* remove Failure

git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1738225 13f79535-47bb-0310-9956-ffa450edef68

README.md
src/main/java/org/apache/sling/commons/messaging/Failure.java [deleted file]
src/main/java/org/apache/sling/commons/messaging/MessageService.java
src/main/java/org/apache/sling/commons/messaging/Result.java

index 929c3a7..ab8e26b 100644 (file)
--- a/README.md
+++ b/README.md
@@ -13,11 +13,3 @@ Simple API for sending *message*​s to *recipient*​s.
 `Result<T>`
 -----------
   * `getMessage():T` - should return a serialized form of the sent *message*
-  * `hasFailures():boolean` - should return `true` in case of failures, `false` otherwise
-  * `getFailures():Collection<Failure>` - should return the failures occurred when processing or sending the message
-
-`Failure`
----------
- * `getCode():String` - should return a failure code when available, e.g. an [SMTP Status Code](https://tools.ietf.org/html/rfc5248)
- * `getType():String` - should return a failure type when available, e.g. invalid input (message too big) or transport failure (host unavailable)
- * `getMessage():String` - should return a human readable failure message
diff --git a/src/main/java/org/apache/sling/commons/messaging/Failure.java b/src/main/java/org/apache/sling/commons/messaging/Failure.java
deleted file mode 100644 (file)
index 9a5997b..0000000
+++ /dev/null
@@ -1,43 +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.sling.commons.messaging;
-
-import javax.annotation.CheckForNull;
-
-import org.osgi.annotation.versioning.ProviderType;
-
-@ProviderType
-public interface Failure {
-
-    /**
-     * @return a failure code when available
-     */
-    @CheckForNull String getCode();
-
-    /**
-     * @return a failure type when available
-     */
-    @CheckForNull String getType();
-
-    /**
-     * @return a human readable failure message
-     */
-    @CheckForNull String getMessage();
-
-}
index 22e9763..820005d 100644 (file)
@@ -19,7 +19,7 @@
 package org.apache.sling.commons.messaging;
 
 import java.util.Map;
-import java.util.concurrent.Future;
+import java.util.concurrent.CompletableFuture;
 
 import javax.annotation.Nonnull;
 
@@ -33,7 +33,7 @@ public interface MessageService {
      * @param recipient the recipient of the message
      * @return result of sending the message
      */
-    Future<Result> send(@Nonnull final String message, @Nonnull final String recipient);
+    CompletableFuture<Result> send(@Nonnull final String message, @Nonnull final String recipient);
 
     /**
      * @param message   the message to send
@@ -41,6 +41,6 @@ public interface MessageService {
      * @param data      additional information (e.g. attachments) and/or parameters (e.g. sender) for the message
      * @return result of sending the message
      */
-    Future<Result> send(@Nonnull final String message, @Nonnull final String recipient, @Nonnull final Map data);
+    CompletableFuture<Result> send(@Nonnull final String message, @Nonnull final String recipient, @Nonnull final Map data);
 
 }
index d335124..9abbcaa 100644 (file)
@@ -18,8 +18,6 @@
  */
 package org.apache.sling.commons.messaging;
 
-import java.util.Collection;
-
 import javax.annotation.CheckForNull;
 
 import org.osgi.annotation.versioning.ProviderType;
@@ -32,14 +30,4 @@ public interface Result<T> {
      */
     @CheckForNull T getMessage();
 
-    /**
-     * @return <code>true</code> in case of failures, <code>false</code> otherwise
-     */
-    boolean hasFailures();
-
-    /**
-     * @return the failures occurred when processing or sending the message
-     */
-    @CheckForNull Collection<Failure> getFailures();
-
 }