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>