You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2019/10/16 16:02:06 UTC

[camel] 01/02: CAMEL-13684 - upgraded corda to 4.1 and added missing ops methos in producer

This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit a5d371efeaa621e8aa1e15c6e07c37725b3a5361
Author: krish <pk...@gmail.com>
AuthorDate: Tue Oct 15 14:32:11 2019 +0100

    CAMEL-13684 - upgraded corda to 4.1 and added missing ops methos in producer
---
 components/camel-corda/pom.xml                     | 14 ++++++
 .../camel/component/corda/CordaConstants.java      | 15 ++++++
 .../camel/component/corda/CordaProducer.java       | 53 ++++++++++++++++++++++
 parent/pom.xml                                     |  2 +-
 4 files changed, 83 insertions(+), 1 deletion(-)

diff --git a/components/camel-corda/pom.xml b/components/camel-corda/pom.xml
index fdffbc3..c05d19f 100644
--- a/components/camel-corda/pom.xml
+++ b/components/camel-corda/pom.xml
@@ -36,6 +36,20 @@
     <properties>
     </properties>
 
+    <repositories>
+        <repository>
+            <id>R3</id>
+            <name>R3 Maven</name>
+            <url>https://dl.bintray.com/r3/corda/</url>
+            <releases>
+                <enabled>true</enabled>
+            </releases>
+            <snapshots>
+                <enabled>false</enabled>
+            </snapshots>
+        </repository>
+    </repositories>
+
     <dependencies>
         <dependency>
             <groupId>org.apache.camel</groupId>
diff --git a/components/camel-corda/src/main/java/org/apache/camel/component/corda/CordaConstants.java b/components/camel-corda/src/main/java/org/apache/camel/component/corda/CordaConstants.java
index 1a06c25..ef00bc3 100644
--- a/components/camel-corda/src/main/java/org/apache/camel/component/corda/CordaConstants.java
+++ b/components/camel-corda/src/main/java/org/apache/camel/component/corda/CordaConstants.java
@@ -66,4 +66,19 @@ public interface CordaConstants {
     String SECURE_HASH = "SECURE_HASH";
     String QUERY_CRITERIA = "QUERY_CRITERIA";
     String PAGE_SPECIFICATION = "PAGE_SPECIFICATION";
+
+    String TERMINATE = "TERMINATE";
+    String ACCEPT_NEWNETWORK_PARAMETERS = "ACCEPT_NEWNETWORK_PARAMETERS";
+    String IS_WAITING_FOR_SHUTDOWN  = "IS_WAITING_FOR_SHUTDOWN";
+    String KILL_FLOW = "KILL_FLOW";
+    String NETWORK_PARAMETERS_FEED = "NETWORK_PARAMETERS_FEED";
+    String REFRESH_NETWORK_MAP_CACHE = "REFRESH_NETWORK_MAP_CACHE";
+    String SHUTDOWN = "SHUTDOWN";
+    String UPLOAD_ATTACHMENT_WITH_META_DATA = "UPLOAD_ATTACHMENT_WITH_META_DATA";
+    String WAIT_UNTIL_NETWORK_READY = "WAIT_UNTIL_NETWORK_READY";
+    
+
+
+
+
 }
diff --git a/components/camel-corda/src/main/java/org/apache/camel/component/corda/CordaProducer.java b/components/camel-corda/src/main/java/org/apache/camel/component/corda/CordaProducer.java
index 30ded99..ab5b2ca 100644
--- a/components/camel-corda/src/main/java/org/apache/camel/component/corda/CordaProducer.java
+++ b/components/camel-corda/src/main/java/org/apache/camel/component/corda/CordaProducer.java
@@ -33,6 +33,8 @@ import net.corda.core.node.services.vault.Sort;
 import org.apache.camel.Message;
 import org.apache.camel.spi.InvokeOnHeader;
 import org.apache.camel.support.HeaderSelectorProducer;
+import net.corda.core.flows.StateMachineRunId;
+
 
 import static org.apache.camel.component.corda.CordaConstants.ARGUMENTS;
 import static org.apache.camel.component.corda.CordaConstants.ATTACHMENT_QUERY_CRITERIA;
@@ -238,4 +240,55 @@ public class CordaProducer extends HeaderSelectorProducer {
         Sort sorting = message.getHeader(SORT, Sort.class);
         message.setBody(cordaRPCOps.vaultQueryByWithSorting(contractStateClass, criteria, sorting));
     }
+
+    @InvokeOnHeader(CordaConstants.TERMINATE)
+    void terminate(Message message) throws Exception {
+        cordaRPCOps.terminate(true);
+    }
+
+    @InvokeOnHeader(CordaConstants.IS_WAITING_FOR_SHUTDOWN)
+    void isWaitingForShutdown(Message message) throws Exception {
+        message.setBody(cordaRPCOps.isWaitingForShutdown());
+    }
+
+    @InvokeOnHeader(CordaConstants.REFRESH_NETWORK_MAP_CACHE)
+    void refreshNetworkMapCache(Message message) throws Exception {
+        cordaRPCOps.refreshNetworkMapCache();
+    }
+
+    @InvokeOnHeader(CordaConstants.SHUTDOWN)
+    void shutdown(Message message) throws Exception {
+        cordaRPCOps.shutdown();
+    }
+
+    @InvokeOnHeader(CordaConstants.WAIT_UNTIL_NETWORK_READY)
+    void waitUntilNetworkReady(Message message) throws Exception {
+        message.setBody(cordaRPCOps.waitUntilNetworkReady());
+    }
+
+    @InvokeOnHeader(CordaConstants.ACCEPT_NEWNETWORK_PARAMETERS)
+    void acceptNewNetworkParameters(Message message) throws Exception {
+        SecureHash secureHash = message.getHeader(SECURE_HASH, SecureHash.class);
+        cordaRPCOps.acceptNewNetworkParameters(secureHash);
+    }
+
+    @InvokeOnHeader(CordaConstants.KILL_FLOW)
+    void killFlow(Message message) throws Exception {
+        StateMachineRunId stateMachineRunId = message.getBody(StateMachineRunId.class);
+        cordaRPCOps.killFlow(stateMachineRunId);
+    }
+
+    @InvokeOnHeader(CordaConstants.NETWORK_PARAMETERS_FEED)
+    void networkParametersFeed(Message message) throws Exception {
+        message.setBody(cordaRPCOps.networkParametersFeed());
+    }
+
+    @InvokeOnHeader(CordaConstants.UPLOAD_ATTACHMENT_WITH_META_DATA)
+    void uploadAttachmentWithMetadata(Message message) throws Exception {
+        InputStream inputStream = message.getBody(InputStream.class);
+        String uploader = message.getBody(String.class);
+        String filename = message.getBody(String.class);
+        SecureHash secureHash = cordaRPCOps.uploadAttachmentWithMetadata(inputStream,uploader,filename);
+        message.setHeader(SECURE_HASH, secureHash);
+    }
 }
diff --git a/parent/pom.xml b/parent/pom.xml
index 481a63a..59c819d 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -148,7 +148,7 @@
         <consul-client-version>1.3.3</consul-client-version>
         <consul-client-bundle-version>1.3.3_1</consul-client-bundle-version>
         <cobertura-maven-plugin-version>2.7</cobertura-maven-plugin-version>
-        <corda-version>4.0</corda-version>
+        <corda-version>4.1</corda-version>
         <couchbase-client-version>1.4.13</couchbase-client-version>
         <couchbase-client-bundle-version>1.4.13_1</couchbase-client-bundle-version>
         <curator-version>2.12.0</curator-version>