summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/EndpointReference.java9
-rw-r--r--sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/EndpointReferenceImpl.java9
2 files changed, 18 insertions, 0 deletions
diff --git a/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/EndpointReference.java b/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/EndpointReference.java
index f9edbe6e87..2fc8eebe4d 100644
--- a/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/EndpointReference.java
+++ b/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/EndpointReference.java
@@ -162,4 +162,13 @@ public interface EndpointReference extends Base, PolicySubject, Cloneable, Seria
* @param status the new status
*/
void setStatus(Status status);
+
+ /**
+ * When true this endpoint reference is able to process the invocation
+ * as being asynchronous. The forward call is effectively one-way
+ * and the response will arrive asynchronously via the CallbackEndpoint
+ *
+ * @return true if the reference is asynchronous
+ */
+ boolean isAsyncInvocation();
}
diff --git a/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/EndpointReferenceImpl.java b/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/EndpointReferenceImpl.java
index ac35b45678..d5ba25f04b 100644
--- a/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/EndpointReferenceImpl.java
+++ b/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/EndpointReferenceImpl.java
@@ -230,4 +230,13 @@ public class EndpointReferenceImpl implements EndpointReference {
public void setStatus(Status status) {
this.status = status;
}
+
+ public boolean isAsyncInvocation() {
+ for(Intent intent : getRequiredIntents()){
+ if (intent.getName().getLocalPart().equals("asyncInvocation")){
+ return true;
+ }
+ }
+ return false;
+ }
}