From 47f28d73b42e3e5aced66d6e23b2086c7b730c4e Mon Sep 17 00:00:00 2001
From: fft <2386101282@qq.com>
Date: Sun, 25 Sep 2022 19:15:07 +0800
Subject: [PATCH 01/12] feat: add secret
---
examples-secret/pom.xml | 79 +++++++++++++++++++
.../mosn/layotto/examples/secret/Secret.java | 46 +++++++++++
examples-secret/src/main/resources/log4j2.xml | 18 +++++
.../io/mosn/layotto/v1/RuntimeClientGrpc.java | 54 +++++++++++++
.../sdk/runtime/v1/domain/SecretRuntime.java | 13 +++
.../domain/secret/GetBulkSecretRequest.java | 34 ++++++++
.../domain/secret/GetBulkSecretResponse.java | 25 ++++++
.../v1/domain/secret/GetSecretRequest.java | 39 +++++++++
.../v1/domain/secret/GetSecretResponse.java | 19 +++++
9 files changed, 327 insertions(+)
create mode 100644 examples-secret/pom.xml
create mode 100644 examples-secret/src/main/java/io/mosn/layotto/examples/secret/Secret.java
create mode 100644 examples-secret/src/main/resources/log4j2.xml
create mode 100644 sdk/src/main/java/spec/sdk/runtime/v1/domain/SecretRuntime.java
create mode 100644 sdk/src/main/java/spec/sdk/runtime/v1/domain/secret/GetBulkSecretRequest.java
create mode 100644 sdk/src/main/java/spec/sdk/runtime/v1/domain/secret/GetBulkSecretResponse.java
create mode 100644 sdk/src/main/java/spec/sdk/runtime/v1/domain/secret/GetSecretRequest.java
create mode 100644 sdk/src/main/java/spec/sdk/runtime/v1/domain/secret/GetSecretResponse.java
diff --git a/examples-secret/pom.xml b/examples-secret/pom.xml
new file mode 100644
index 0000000..929c48f
--- /dev/null
+++ b/examples-secret/pom.xml
@@ -0,0 +1,79 @@
+
+
+ 4.0.0
+
+
+ runtime-sdk-parent
+ io.mosn.layotto
+ 1.2.0-SNAPSHOT
+
+
+ io.mosn.layotto
+ examples-secret
+ 1.2.0-SNAPSHOT
+
+
+ 8
+ 8
+
+
+
+
+ io.mosn.layotto
+ runtime-sdk
+ 1.2.0-SNAPSHOT
+
+
+ org.apache.logging.log4j
+ log4j-api
+ 2.9.1
+
+
+ org.apache.logging.log4j
+ log4j-core
+ 2.9.1
+
+
+ org.apache.logging.log4j
+ log4j-slf4j-impl
+ 2.9.1
+
+
+ io.mosn.layotto
+ runtime-sdk
+
+
+
+
+ src/main/java
+ examples-secret
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+ 3.2.0
+
+
+
+ io.mosn.layotto.examples.sequencer.Secret
+
+
+
+ jar-with-dependencies
+
+
+
+
+ assemble-all
+ package
+
+ single
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples-secret/src/main/java/io/mosn/layotto/examples/secret/Secret.java b/examples-secret/src/main/java/io/mosn/layotto/examples/secret/Secret.java
new file mode 100644
index 0000000..41b56d9
--- /dev/null
+++ b/examples-secret/src/main/java/io/mosn/layotto/examples/secret/Secret.java
@@ -0,0 +1,46 @@
+package io.mosn.layotto.examples.secret;
+import io.mosn.layotto.v1.RuntimeClientBuilder;
+import io.mosn.layotto.v1.config.RuntimeProperties;
+
+import spec.sdk.runtime.v1.client.RuntimeClient;
+import spec.sdk.runtime.v1.domain.secret.GetSecretRequest;
+import spec.sdk.runtime.v1.domain.secret.GetSecretResponse;
+import spec.sdk.runtime.v1.domain.secret.GetBulkSecretRequest;
+import spec.sdk.runtime.v1.domain.secret.GetBulkSecretResponse;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public class Secret {
+
+
+
+
+
+
+ static String storeName = "secret_demo";
+ public static void main(String args[]){
+ RuntimeClient client = new RuntimeClientBuilder()
+ .withPort(RuntimeProperties.DEFAULT_PORT)
+ .build();
+
+
+ /*GetSecret*/
+ Map meta = new HashMap<>();
+ GetSecretRequest secretreq = new GetSecretRequest();
+ secretreq.setStoreName(storeName);
+ secretreq.setKey("db-user-pass:password");
+ secretreq.setMetaData(meta);
+ System.out.println(client.getSecret(secretreq).getData());
+
+ /*GetBulkSecret*/
+ Map meta2 = new HashMap<>();
+ GetBulkSecretRequest bulksecretreq = new GetBulkSecretRequest();
+ bulksecretreq.setStoreName(storeName);
+ bulksecretreq.setMetaData(meta2);
+ System.out.println(client.getBulkSecret(bulksecretreq).getData());
+
+
+
+
+ }}
diff --git a/examples-secret/src/main/resources/log4j2.xml b/examples-secret/src/main/resources/log4j2.xml
new file mode 100644
index 0000000..22578a9
--- /dev/null
+++ b/examples-secret/src/main/resources/log4j2.xml
@@ -0,0 +1,18 @@
+
+
+
+ %d{yyyy-MM-dd HH:mm:ss} %-5p %c{1} - %m%n
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/sdk/src/main/java/io/mosn/layotto/v1/RuntimeClientGrpc.java b/sdk/src/main/java/io/mosn/layotto/v1/RuntimeClientGrpc.java
index 65d1f5c..b6d9c59 100644
--- a/sdk/src/main/java/io/mosn/layotto/v1/RuntimeClientGrpc.java
+++ b/sdk/src/main/java/io/mosn/layotto/v1/RuntimeClientGrpc.java
@@ -47,6 +47,10 @@
import spec.sdk.runtime.v1.domain.lock.TryLockResponse;
import spec.sdk.runtime.v1.domain.lock.UnlockRequest;
import spec.sdk.runtime.v1.domain.lock.UnlockResponse;
+import spec.sdk.runtime.v1.domain.secret.GetSecretRequest;
+import spec.sdk.runtime.v1.domain.secret.GetSecretResponse;
+import spec.sdk.runtime.v1.domain.secret.GetBulkSecretRequest;
+import spec.sdk.runtime.v1.domain.secret.GetBulkSecretResponse;
import spec.sdk.runtime.v1.domain.sequencer.GetNextIdRequest;
import spec.sdk.runtime.v1.domain.sequencer.GetNextIdResponse;
import spec.sdk.runtime.v1.domain.state.DeleteStateRequest;
@@ -1101,4 +1105,54 @@ public UnlockResponse unlock(UnlockRequest request) {
}
}
+
+ @Override
+ public GetSecretResponse getSecret(GetSecretRequest req){
+ try {
+
+ RuntimeProto.GetSecretRequest request = RuntimeProto.GetSecretRequest.newBuilder()
+ .setStoreName(req.getStoreName())
+ .setKey(req.getKey())
+ .putAllMetadata(req.getMetaData())
+ .build();
+
+ RuntimeProto.GetSecretResponse response = runtimeStubManager.getBlockingStub()
+ .getSecret(request);
+ GetSecretResponse getSecretResponse = new GetSecretResponse();
+ getSecretResponse.setData(response.getDataMap());
+ return getSecretResponse;
+ } catch (Exception e) {
+ logger.error("getSecret error ", e);
+ throw new RuntimeClientException(e);
+ }
+
+
+
+ }
+ @Override
+ public GetBulkSecretResponse getBulkSecret(GetBulkSecretRequest req){
+ try {
+
+ RuntimeProto.GetBulkSecretRequest request = RuntimeProto.GetBulkSecretRequest.newBuilder()
+ .setStoreName(req.getStoreName())
+ .putAllMetadata(req.getMetaData())
+ .build();
+
+ RuntimeProto.GetBulkSecretResponse response = runtimeStubManager.getBlockingStub()
+ .getBulkSecret(request);
+ GetBulkSecretResponse getBulkSecretResponse = new GetBulkSecretResponse();
+
+ getBulkSecretResponse.setData(response.getDataMap());
+ return getBulkSecretResponse;
+ } catch (Exception e) {
+ logger.error("getSecret error ", e);
+ throw new RuntimeClientException(e);
+ }
+
+
+
+ }
+
+
}
+
diff --git a/sdk/src/main/java/spec/sdk/runtime/v1/domain/SecretRuntime.java b/sdk/src/main/java/spec/sdk/runtime/v1/domain/SecretRuntime.java
new file mode 100644
index 0000000..5aa046f
--- /dev/null
+++ b/sdk/src/main/java/spec/sdk/runtime/v1/domain/SecretRuntime.java
@@ -0,0 +1,13 @@
+package spec.sdk.runtime.v1.domain;
+
+import spec.sdk.runtime.v1.domain.secret.GetBulkSecretRequest;
+import spec.sdk.runtime.v1.domain.secret.GetBulkSecretResponse;
+import spec.sdk.runtime.v1.domain.secret.GetSecretRequest;
+import spec.sdk.runtime.v1.domain.secret.GetSecretResponse;
+
+public interface SecretRuntime {
+
+ GetSecretResponse getSecret(GetSecretRequest req);
+
+ GetBulkSecretResponse getBulkSecret(GetBulkSecretRequest req);
+}
diff --git a/sdk/src/main/java/spec/sdk/runtime/v1/domain/secret/GetBulkSecretRequest.java b/sdk/src/main/java/spec/sdk/runtime/v1/domain/secret/GetBulkSecretRequest.java
new file mode 100644
index 0000000..5613c0a
--- /dev/null
+++ b/sdk/src/main/java/spec/sdk/runtime/v1/domain/secret/GetBulkSecretRequest.java
@@ -0,0 +1,34 @@
+package spec.sdk.runtime.v1.domain.secret;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public class GetBulkSecretRequest {
+ private String storeName;
+
+ private Map metaData;
+
+ public String getStoreName() {
+ return storeName;
+ }
+
+
+ public void setStoreName(String storeName) {
+ this.storeName = storeName;
+ }
+
+
+ public Map getMetaData() {
+ if (metaData == null) {
+ metaData = new HashMap<>();
+ }
+ return metaData;
+ }
+
+ public void setMetaData(Map metaData) {
+
+ this.metaData = metaData;
+ }
+
+
+}
diff --git a/sdk/src/main/java/spec/sdk/runtime/v1/domain/secret/GetBulkSecretResponse.java b/sdk/src/main/java/spec/sdk/runtime/v1/domain/secret/GetBulkSecretResponse.java
new file mode 100644
index 0000000..c85939a
--- /dev/null
+++ b/sdk/src/main/java/spec/sdk/runtime/v1/domain/secret/GetBulkSecretResponse.java
@@ -0,0 +1,25 @@
+package spec.sdk.runtime.v1.domain.secret;
+
+import spec.proto.runtime.v1.RuntimeProto;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public class GetBulkSecretResponse {
+
+ private Map data;
+
+ public Map getData() {
+ return data;
+ }
+
+ public void setData(Map data) {
+ this.data = data;
+ }
+
+
+
+
+
+
+}
diff --git a/sdk/src/main/java/spec/sdk/runtime/v1/domain/secret/GetSecretRequest.java b/sdk/src/main/java/spec/sdk/runtime/v1/domain/secret/GetSecretRequest.java
new file mode 100644
index 0000000..967c8d6
--- /dev/null
+++ b/sdk/src/main/java/spec/sdk/runtime/v1/domain/secret/GetSecretRequest.java
@@ -0,0 +1,39 @@
+package spec.sdk.runtime.v1.domain.secret;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public class GetSecretRequest {
+ private String storeName;
+
+ private String key;
+
+ private Map metaData;
+
+ public void setStoreName(String storeName) {
+ this.storeName = storeName;
+ }
+
+ public void setKey(String key) {
+ this.key = key;
+ }
+
+ public void setMetaData(Map metaData) {
+ if (metaData == null) {
+ metaData = new HashMap<>();
+ }
+ this.metaData = metaData;
+ }
+
+ public String getStoreName() {
+ return storeName;
+ }
+
+ public String getKey() {
+ return key;
+ }
+
+ public Map getMetaData() {
+ return metaData;
+ }
+}
diff --git a/sdk/src/main/java/spec/sdk/runtime/v1/domain/secret/GetSecretResponse.java b/sdk/src/main/java/spec/sdk/runtime/v1/domain/secret/GetSecretResponse.java
new file mode 100644
index 0000000..aed002c
--- /dev/null
+++ b/sdk/src/main/java/spec/sdk/runtime/v1/domain/secret/GetSecretResponse.java
@@ -0,0 +1,19 @@
+package spec.sdk.runtime.v1.domain.secret;
+
+import java.util.Map;
+
+public class GetSecretResponse {
+
+ private Map data;
+
+ public Map getData() {
+ return data;
+ }
+
+ public void setData(Map data) {
+ this.data = data;
+ }
+
+
+
+}
From babe47861bda142552c01af1b1feed1a8b29fe67 Mon Sep 17 00:00:00 2001
From: fft <2386101282@qq.com>
Date: Mon, 26 Sep 2022 16:11:52 +0800
Subject: [PATCH 02/12] fix
---
sdk/src/main/java/spec/sdk/runtime/v1/client/RuntimeClient.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sdk/src/main/java/spec/sdk/runtime/v1/client/RuntimeClient.java b/sdk/src/main/java/spec/sdk/runtime/v1/client/RuntimeClient.java
index c14f073..8ca72c1 100644
--- a/sdk/src/main/java/spec/sdk/runtime/v1/client/RuntimeClient.java
+++ b/sdk/src/main/java/spec/sdk/runtime/v1/client/RuntimeClient.java
@@ -24,7 +24,7 @@ public interface RuntimeClient extends
StateRuntime,
LockRuntime,
SequencerRuntime,
- FileRuntime, OssRuntime {
+ FileRuntime, OssRuntime, SecretRuntime {
void shutdown();
}
\ No newline at end of file
From 86a2a982d4f18459920ce5a631fe5fa7d89c20a5 Mon Sep 17 00:00:00 2001
From: fft <2386101282@qq.com>
Date: Tue, 27 Sep 2022 10:11:00 +0800
Subject: [PATCH 03/12] convert the secretresponse to map
---
.../main/java/io/mosn/layotto/v1/RuntimeClientGrpc.java | 9 ++++++++-
.../runtime/v1/domain/secret/GetBulkSecretResponse.java | 7 +++----
2 files changed, 11 insertions(+), 5 deletions(-)
diff --git a/sdk/src/main/java/io/mosn/layotto/v1/RuntimeClientGrpc.java b/sdk/src/main/java/io/mosn/layotto/v1/RuntimeClientGrpc.java
index b6d9c59..6d09720 100644
--- a/sdk/src/main/java/io/mosn/layotto/v1/RuntimeClientGrpc.java
+++ b/sdk/src/main/java/io/mosn/layotto/v1/RuntimeClientGrpc.java
@@ -1141,8 +1141,15 @@ public GetBulkSecretResponse getBulkSecret(GetBulkSecretRequest req){
RuntimeProto.GetBulkSecretResponse response = runtimeStubManager.getBlockingStub()
.getBulkSecret(request);
GetBulkSecretResponse getBulkSecretResponse = new GetBulkSecretResponse();
+ Map> tempMap = new HashMap>();
+ for(Map.Entry entry : response.getDataMap().entrySet()){
+ String key = entry.getKey();
+ RuntimeProto.SecretResponse value = entry.getValue();
+ Map secretMap = value.getSecretsMap();
+ tempMap.put(key, secretMap);
- getBulkSecretResponse.setData(response.getDataMap());
+ }
+ getBulkSecretResponse.setData(tempMap);
return getBulkSecretResponse;
} catch (Exception e) {
logger.error("getSecret error ", e);
diff --git a/sdk/src/main/java/spec/sdk/runtime/v1/domain/secret/GetBulkSecretResponse.java b/sdk/src/main/java/spec/sdk/runtime/v1/domain/secret/GetBulkSecretResponse.java
index c85939a..bca2fed 100644
--- a/sdk/src/main/java/spec/sdk/runtime/v1/domain/secret/GetBulkSecretResponse.java
+++ b/sdk/src/main/java/spec/sdk/runtime/v1/domain/secret/GetBulkSecretResponse.java
@@ -1,19 +1,18 @@
package spec.sdk.runtime.v1.domain.secret;
-import spec.proto.runtime.v1.RuntimeProto;
import java.util.HashMap;
import java.util.Map;
public class GetBulkSecretResponse {
- private Map data;
+ private Map> data;
- public Map getData() {
+ public Map> getData() {
return data;
}
- public void setData(Map data) {
+ public void setData(Map> data) {
this.data = data;
}
From 8c25f4fc98634f04c01b9e64814291b2fe32c9bf Mon Sep 17 00:00:00 2001
From: fft <2386101282@qq.com>
Date: Tue, 27 Sep 2022 13:53:52 +0800
Subject: [PATCH 04/12] format code
---
.../java/io/mosn/layotto/examples/secret/Secret.java | 12 ++----------
.../java/io/mosn/layotto/v1/RuntimeClientGrpc.java | 8 --------
2 files changed, 2 insertions(+), 18 deletions(-)
diff --git a/examples-secret/src/main/java/io/mosn/layotto/examples/secret/Secret.java b/examples-secret/src/main/java/io/mosn/layotto/examples/secret/Secret.java
index 41b56d9..614ef17 100644
--- a/examples-secret/src/main/java/io/mosn/layotto/examples/secret/Secret.java
+++ b/examples-secret/src/main/java/io/mosn/layotto/examples/secret/Secret.java
@@ -12,12 +12,6 @@
import java.util.Map;
public class Secret {
-
-
-
-
-
-
static String storeName = "secret_demo";
public static void main(String args[]){
RuntimeClient client = new RuntimeClientBuilder()
@@ -40,7 +34,5 @@ public static void main(String args[]){
bulksecretreq.setMetaData(meta2);
System.out.println(client.getBulkSecret(bulksecretreq).getData());
-
-
-
- }}
+ }
+}
diff --git a/sdk/src/main/java/io/mosn/layotto/v1/RuntimeClientGrpc.java b/sdk/src/main/java/io/mosn/layotto/v1/RuntimeClientGrpc.java
index 6d09720..78b74ed 100644
--- a/sdk/src/main/java/io/mosn/layotto/v1/RuntimeClientGrpc.java
+++ b/sdk/src/main/java/io/mosn/layotto/v1/RuntimeClientGrpc.java
@@ -1109,7 +1109,6 @@ public UnlockResponse unlock(UnlockRequest request) {
@Override
public GetSecretResponse getSecret(GetSecretRequest req){
try {
-
RuntimeProto.GetSecretRequest request = RuntimeProto.GetSecretRequest.newBuilder()
.setStoreName(req.getStoreName())
.setKey(req.getKey())
@@ -1126,13 +1125,10 @@ public GetSecretResponse getSecret(GetSecretRequest req){
throw new RuntimeClientException(e);
}
-
-
}
@Override
public GetBulkSecretResponse getBulkSecret(GetBulkSecretRequest req){
try {
-
RuntimeProto.GetBulkSecretRequest request = RuntimeProto.GetBulkSecretRequest.newBuilder()
.setStoreName(req.getStoreName())
.putAllMetadata(req.getMetaData())
@@ -1155,11 +1151,7 @@ public GetBulkSecretResponse getBulkSecret(GetBulkSecretRequest req){
logger.error("getSecret error ", e);
throw new RuntimeClientException(e);
}
-
-
-
}
-
}
From 0e53ec1f109ea5e327ea12e6a154c9e0ff48e98b Mon Sep 17 00:00:00 2001
From: fft <2386101282@qq.com>
Date: Tue, 27 Sep 2022 23:03:55 +0800
Subject: [PATCH 05/12] format code
---
.../sdk/runtime/v1/domain/secret/GetBulkSecretRequest.java | 2 --
.../sdk/runtime/v1/domain/secret/GetBulkSecretResponse.java | 5 -----
.../spec/sdk/runtime/v1/domain/secret/GetSecretResponse.java | 2 --
3 files changed, 9 deletions(-)
diff --git a/sdk/src/main/java/spec/sdk/runtime/v1/domain/secret/GetBulkSecretRequest.java b/sdk/src/main/java/spec/sdk/runtime/v1/domain/secret/GetBulkSecretRequest.java
index 5613c0a..5dcd1a1 100644
--- a/sdk/src/main/java/spec/sdk/runtime/v1/domain/secret/GetBulkSecretRequest.java
+++ b/sdk/src/main/java/spec/sdk/runtime/v1/domain/secret/GetBulkSecretRequest.java
@@ -12,12 +12,10 @@ public String getStoreName() {
return storeName;
}
-
public void setStoreName(String storeName) {
this.storeName = storeName;
}
-
public Map getMetaData() {
if (metaData == null) {
metaData = new HashMap<>();
diff --git a/sdk/src/main/java/spec/sdk/runtime/v1/domain/secret/GetBulkSecretResponse.java b/sdk/src/main/java/spec/sdk/runtime/v1/domain/secret/GetBulkSecretResponse.java
index bca2fed..5e46d0e 100644
--- a/sdk/src/main/java/spec/sdk/runtime/v1/domain/secret/GetBulkSecretResponse.java
+++ b/sdk/src/main/java/spec/sdk/runtime/v1/domain/secret/GetBulkSecretResponse.java
@@ -16,9 +16,4 @@ public void setData(Map> data) {
this.data = data;
}
-
-
-
-
-
}
diff --git a/sdk/src/main/java/spec/sdk/runtime/v1/domain/secret/GetSecretResponse.java b/sdk/src/main/java/spec/sdk/runtime/v1/domain/secret/GetSecretResponse.java
index aed002c..9ab1105 100644
--- a/sdk/src/main/java/spec/sdk/runtime/v1/domain/secret/GetSecretResponse.java
+++ b/sdk/src/main/java/spec/sdk/runtime/v1/domain/secret/GetSecretResponse.java
@@ -14,6 +14,4 @@ public void setData(Map data) {
this.data = data;
}
-
-
}
From 528147c9e178d357ac0b0913cfd64e727b3e7807 Mon Sep 17 00:00:00 2001
From: fft <2386101282@qq.com>
Date: Wed, 28 Sep 2022 17:01:35 +0800
Subject: [PATCH 06/12] fix pom.xml
---
examples-secret/pom.xml | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/examples-secret/pom.xml b/examples-secret/pom.xml
index 929c48f..07d7624 100644
--- a/examples-secret/pom.xml
+++ b/examples-secret/pom.xml
@@ -6,12 +6,12 @@
runtime-sdk-parent
io.mosn.layotto
- 1.2.0-SNAPSHOT
+ 1.3.0-SNAPSHOT
io.mosn.layotto
examples-secret
- 1.2.0-SNAPSHOT
+ 1.3.0-SNAPSHOT
8
@@ -22,7 +22,7 @@
io.mosn.layotto
runtime-sdk
- 1.2.0-SNAPSHOT
+ 1.3.0-SNAPSHOT
org.apache.logging.log4j
@@ -56,7 +56,7 @@
- io.mosn.layotto.examples.sequencer.Secret
+ io.mosn.layotto.examples.secret.Secret
From 1518ce5bb0af28ad4ad0fe10f09f7b0b815614ed Mon Sep 17 00:00:00 2001
From: fft <2386101282@qq.com>
Date: Wed, 28 Sep 2022 17:23:04 +0800
Subject: [PATCH 07/12] fix return metadata
---
.../sdk/runtime/v1/domain/secret/GetBulkSecretRequest.java | 4 +---
.../spec/sdk/runtime/v1/domain/secret/GetSecretRequest.java | 4 +---
2 files changed, 2 insertions(+), 6 deletions(-)
diff --git a/sdk/src/main/java/spec/sdk/runtime/v1/domain/secret/GetBulkSecretRequest.java b/sdk/src/main/java/spec/sdk/runtime/v1/domain/secret/GetBulkSecretRequest.java
index 5dcd1a1..ff1f6e7 100644
--- a/sdk/src/main/java/spec/sdk/runtime/v1/domain/secret/GetBulkSecretRequest.java
+++ b/sdk/src/main/java/spec/sdk/runtime/v1/domain/secret/GetBulkSecretRequest.java
@@ -17,9 +17,7 @@ public void setStoreName(String storeName) {
}
public Map getMetaData() {
- if (metaData == null) {
- metaData = new HashMap<>();
- }
+
return metaData;
}
diff --git a/sdk/src/main/java/spec/sdk/runtime/v1/domain/secret/GetSecretRequest.java b/sdk/src/main/java/spec/sdk/runtime/v1/domain/secret/GetSecretRequest.java
index 967c8d6..694281a 100644
--- a/sdk/src/main/java/spec/sdk/runtime/v1/domain/secret/GetSecretRequest.java
+++ b/sdk/src/main/java/spec/sdk/runtime/v1/domain/secret/GetSecretRequest.java
@@ -19,9 +19,7 @@ public void setKey(String key) {
}
public void setMetaData(Map metaData) {
- if (metaData == null) {
- metaData = new HashMap<>();
- }
+
this.metaData = metaData;
}
From 7d18c25f3d67706613a5dce72f4270a3c658ff3a Mon Sep 17 00:00:00 2001
From: fft <2386101282@qq.com>
Date: Wed, 28 Sep 2022 18:17:34 +0800
Subject: [PATCH 08/12] add assert
---
.../mosn/layotto/examples/secret/Secret.java | 40 +++++++++++++++----
1 file changed, 33 insertions(+), 7 deletions(-)
diff --git a/examples-secret/src/main/java/io/mosn/layotto/examples/secret/Secret.java b/examples-secret/src/main/java/io/mosn/layotto/examples/secret/Secret.java
index 614ef17..1fbf291 100644
--- a/examples-secret/src/main/java/io/mosn/layotto/examples/secret/Secret.java
+++ b/examples-secret/src/main/java/io/mosn/layotto/examples/secret/Secret.java
@@ -1,38 +1,64 @@
package io.mosn.layotto.examples.secret;
+
import io.mosn.layotto.v1.RuntimeClientBuilder;
import io.mosn.layotto.v1.config.RuntimeProperties;
-
import spec.sdk.runtime.v1.client.RuntimeClient;
-import spec.sdk.runtime.v1.domain.secret.GetSecretRequest;
-import spec.sdk.runtime.v1.domain.secret.GetSecretResponse;
import spec.sdk.runtime.v1.domain.secret.GetBulkSecretRequest;
import spec.sdk.runtime.v1.domain.secret.GetBulkSecretResponse;
+import spec.sdk.runtime.v1.domain.secret.GetSecretRequest;
+import spec.sdk.runtime.v1.domain.secret.GetSecretResponse;
import java.util.HashMap;
import java.util.Map;
public class Secret {
+
static String storeName = "secret_demo";
+ static String key = "db-user-pass:password";
+ static String value = "S!S*d$zDsb=";
+ static String []keys = new String[]{"redisPassword", "db-user-pass:password", "db-user-pass:username"};
+ static Map values = new HashMap(){{put("redisPassword", "redis123");put("db-user-pass:password", "S!S*d$zDsb=");put("db-user-pass:username", "devuser");}};
+
public static void main(String args[]){
RuntimeClient client = new RuntimeClientBuilder()
.withPort(RuntimeProperties.DEFAULT_PORT)
.build();
-
/*GetSecret*/
Map meta = new HashMap<>();
GetSecretRequest secretreq = new GetSecretRequest();
secretreq.setStoreName(storeName);
- secretreq.setKey("db-user-pass:password");
+ secretreq.setKey(key);
secretreq.setMetaData(meta);
- System.out.println(client.getSecret(secretreq).getData());
+ GetSecretResponse response = client.getSecret(secretreq);
+ System.out.println(response.getData());
+ assertMap(response.getData(),key,value);
/*GetBulkSecret*/
Map meta2 = new HashMap<>();
GetBulkSecretRequest bulksecretreq = new GetBulkSecretRequest();
bulksecretreq.setStoreName(storeName);
bulksecretreq.setMetaData(meta2);
- System.out.println(client.getBulkSecret(bulksecretreq).getData());
+ GetBulkSecretResponse bulkrespone = client.getBulkSecret(bulksecretreq);
+ System.out.println(bulkrespone.getData());
+ assertBulkMap(bulkrespone.getData(), keys,values);
+ }
+ private static void assertMap(Map secret, String key, String value) {
+ if (secret.get(key).equals(value)) {
+ return;
+ }
+ throw new AssertionError();
+ }
+ private static void assertBulkMap(Map> bulksecret, String keys[], Map values ) {
+ Map temp = new HashMap<>();
+ for (String key : keys) {
+ temp = bulksecret.get(key);
+ if(!(temp.get(key).equals(values.get(key))))
+ throw new AssertionError();
}
+ return;
+ }
+
+
}
From 6e7648eef21b5b4323c8d3d32e1064dae36895f0 Mon Sep 17 00:00:00 2001
From: fft <2386101282@qq.com>
Date: Wed, 28 Sep 2022 19:08:09 +0800
Subject: [PATCH 09/12] check Datamap isempty
---
.../java/io/mosn/layotto/v1/RuntimeClientGrpc.java | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/sdk/src/main/java/io/mosn/layotto/v1/RuntimeClientGrpc.java b/sdk/src/main/java/io/mosn/layotto/v1/RuntimeClientGrpc.java
index 78b74ed..2b69125 100644
--- a/sdk/src/main/java/io/mosn/layotto/v1/RuntimeClientGrpc.java
+++ b/sdk/src/main/java/io/mosn/layotto/v1/RuntimeClientGrpc.java
@@ -1138,12 +1138,14 @@ public GetBulkSecretResponse getBulkSecret(GetBulkSecretRequest req){
.getBulkSecret(request);
GetBulkSecretResponse getBulkSecretResponse = new GetBulkSecretResponse();
Map> tempMap = new HashMap>();
- for(Map.Entry entry : response.getDataMap().entrySet()){
- String key = entry.getKey();
- RuntimeProto.SecretResponse value = entry.getValue();
- Map secretMap = value.getSecretsMap();
- tempMap.put(key, secretMap);
+ if(!(response.getDataMap().isEmpty())){
+ for(Map.Entry entry : response.getDataMap().entrySet()){
+ String key = entry.getKey();
+ RuntimeProto.SecretResponse value = entry.getValue();
+ Map secretMap = value.getSecretsMap();
+ tempMap.put(key, secretMap);
+ }
}
getBulkSecretResponse.setData(tempMap);
return getBulkSecretResponse;
From 67f2713ef9084a4a2c2366c39dfd36f2ae47425c Mon Sep 17 00:00:00 2001
From: fft <2386101282@qq.com>
Date: Wed, 28 Sep 2022 22:34:47 +0800
Subject: [PATCH 10/12] fix pom.xml
---
pom.xml | 1 +
1 file changed, 1 insertion(+)
diff --git a/pom.xml b/pom.xml
index 05f513c..c090e37 100644
--- a/pom.xml
+++ b/pom.xml
@@ -26,6 +26,7 @@
examples-pubsub-publisher
examples-preview-service
examples-oss
+ examples-secret
From dfdae3089fb0ced3e400b66bbebeca2a5eb78995 Mon Sep 17 00:00:00 2001
From: fft <2386101282@qq.com>
Date: Wed, 28 Sep 2022 22:46:13 +0800
Subject: [PATCH 11/12] fix pom.xml
---
pom.xml | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index c090e37..2412d48 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
io.mosn.layotto
runtime-sdk-parent
- 1.2.0-SNAPSHOT
+ 1.3.0-SNAPSHOT
pom
runtime-sdk-parent
@@ -26,6 +26,7 @@
examples-pubsub-publisher
examples-preview-service
examples-oss
+ examples-lock
examples-secret
From 5638a821dc1a16f9139803465bc144a93d4c78d7 Mon Sep 17 00:00:00 2001
From: seeflood
Date: Thu, 29 Sep 2022 10:55:16 +0800
Subject: [PATCH 12/12] chore: check npe
Signed-off-by: seeflood
---
.../io/mosn/layotto/v1/RuntimeClientGrpc.java | 54 +++++++++++--------
1 file changed, 32 insertions(+), 22 deletions(-)
diff --git a/sdk/src/main/java/io/mosn/layotto/v1/RuntimeClientGrpc.java b/sdk/src/main/java/io/mosn/layotto/v1/RuntimeClientGrpc.java
index 2b69125..55ce872 100644
--- a/sdk/src/main/java/io/mosn/layotto/v1/RuntimeClientGrpc.java
+++ b/sdk/src/main/java/io/mosn/layotto/v1/RuntimeClientGrpc.java
@@ -28,9 +28,9 @@
import io.mosn.layotto.v1.grpc.stub.StubManager;
import io.mosn.layotto.v1.serializer.ObjectSerializer;
import org.slf4j.Logger;
+import spec.proto.extension.v1.s3.ObjectStorageServiceGrpc;
import spec.proto.runtime.v1.RuntimeGrpc;
import spec.proto.runtime.v1.RuntimeProto;
-import spec.proto.extension.v1.s3.ObjectStorageServiceGrpc;
import spec.sdk.runtime.v1.domain.file.DelFileRequest;
import spec.sdk.runtime.v1.domain.file.DelFileResponse;
import spec.sdk.runtime.v1.domain.file.FileInfo;
@@ -47,10 +47,10 @@
import spec.sdk.runtime.v1.domain.lock.TryLockResponse;
import spec.sdk.runtime.v1.domain.lock.UnlockRequest;
import spec.sdk.runtime.v1.domain.lock.UnlockResponse;
-import spec.sdk.runtime.v1.domain.secret.GetSecretRequest;
-import spec.sdk.runtime.v1.domain.secret.GetSecretResponse;
import spec.sdk.runtime.v1.domain.secret.GetBulkSecretRequest;
import spec.sdk.runtime.v1.domain.secret.GetBulkSecretResponse;
+import spec.sdk.runtime.v1.domain.secret.GetSecretRequest;
+import spec.sdk.runtime.v1.domain.secret.GetSecretResponse;
import spec.sdk.runtime.v1.domain.sequencer.GetNextIdRequest;
import spec.sdk.runtime.v1.domain.sequencer.GetNextIdResponse;
import spec.sdk.runtime.v1.domain.state.DeleteStateRequest;
@@ -83,7 +83,8 @@ public class RuntimeClientGrpc extends AbstractRuntimeClient implements GrpcRunt
int timeoutMs,
ObjectSerializer stateSerializer,
StubManager runtimeStubManager,
- StubManager ossStubManager) {
+ StubManager ossStubManager) {
super(logger, timeoutMs, stateSerializer);
this.runtimeStubManager = runtimeStubManager;
this.ossStubManager = ossStubManager;
@@ -1107,16 +1108,21 @@ public UnlockResponse unlock(UnlockRequest request) {
}
@Override
- public GetSecretResponse getSecret(GetSecretRequest req){
+ public GetSecretResponse getSecret(GetSecretRequest req) {
try {
- RuntimeProto.GetSecretRequest request = RuntimeProto.GetSecretRequest.newBuilder()
- .setStoreName(req.getStoreName())
- .setKey(req.getKey())
- .putAllMetadata(req.getMetaData())
- .build();
+ // 1. prepare request
+ RuntimeProto.GetSecretRequest.Builder builder = RuntimeProto.GetSecretRequest.newBuilder()
+ .setStoreName(req.getStoreName())
+ .setKey(req.getKey());
+ if (req.getMetaData() != null) {
+ builder.putAllMetadata(req.getMetaData());
+ }
+ RuntimeProto.GetSecretRequest request = builder.build();
+ // 2. invoke
RuntimeProto.GetSecretResponse response = runtimeStubManager.getBlockingStub()
- .getSecret(request);
+ .getSecret(request);
+ // 3. parse result
GetSecretResponse getSecretResponse = new GetSecretResponse();
getSecretResponse.setData(response.getDataMap());
return getSecretResponse;
@@ -1126,20 +1132,25 @@ public GetSecretResponse getSecret(GetSecretRequest req){
}
}
+
@Override
- public GetBulkSecretResponse getBulkSecret(GetBulkSecretRequest req){
+ public GetBulkSecretResponse getBulkSecret(GetBulkSecretRequest req) {
try {
- RuntimeProto.GetBulkSecretRequest request = RuntimeProto.GetBulkSecretRequest.newBuilder()
- .setStoreName(req.getStoreName())
- .putAllMetadata(req.getMetaData())
- .build();
-
+ // 1. prepare request
+ RuntimeProto.GetBulkSecretRequest.Builder builder = RuntimeProto.GetBulkSecretRequest.newBuilder()
+ .setStoreName(req.getStoreName());
+ if (req.getMetaData() != null) {
+ builder.putAllMetadata(req.getMetaData());
+ }
+ RuntimeProto.GetBulkSecretRequest request = builder.build();
+ // 2. invoke
RuntimeProto.GetBulkSecretResponse response = runtimeStubManager.getBlockingStub()
- .getBulkSecret(request);
+ .getBulkSecret(request);
+ // 3. parse result
GetBulkSecretResponse getBulkSecretResponse = new GetBulkSecretResponse();
- Map> tempMap = new HashMap>();
- if(!(response.getDataMap().isEmpty())){
- for(Map.Entry entry : response.getDataMap().entrySet()){
+ Map> tempMap = new HashMap<>();
+ if (!(response.getDataMap().isEmpty())) {
+ for (Map.Entry entry : response.getDataMap().entrySet()) {
String key = entry.getKey();
RuntimeProto.SecretResponse value = entry.getValue();
Map secretMap = value.getSecretsMap();
@@ -1156,4 +1167,3 @@ public GetBulkSecretResponse getBulkSecret(GetBulkSecretRequest req){
}
}
-