diff --git a/src/main/java/com/aliyun/openservices/log/common/SubStore.java b/src/main/java/com/aliyun/openservices/log/common/SubStore.java index 140abc53..daad0e07 100644 --- a/src/main/java/com/aliyun/openservices/log/common/SubStore.java +++ b/src/main/java/com/aliyun/openservices/log/common/SubStore.java @@ -14,6 +14,7 @@ public class SubStore { private int sortedKeyCount; private int timeIndex; private List keys; + private boolean tsMode = false; public SubStore() { super(); @@ -30,6 +31,18 @@ public SubStore(String name, int ttl, int sortedKeyCount, int timeIndex, List keys, boolean tsMode) { + this.name = name; + this.ttl = ttl; + this.sortedKeyCount = sortedKeyCount; + this.timeIndex = timeIndex; + this.keys = keys; + this.tsMode = tsMode; + if (!isValid()) { + throw new IllegalArgumentException("SubStore is invalid"); + } + } + public boolean isValid() { if (this.sortedKeyCount <= 0 || this.sortedKeyCount >= this.keys.size()) { return false; @@ -94,6 +107,14 @@ public void setKeys(List keys) { this.keys = keys; } + public boolean getTsMode() { + return tsMode; + } + + public void setTsMode(boolean tsMode) { + this.tsMode = tsMode; + } + public void fromJsonString(String subStoreString) throws LogException { try { JSONObject dict = JSONObject.parseObject(subStoreString); @@ -108,6 +129,9 @@ private void fromJsonObject(JSONObject dict) { this.setTtl(dict.getIntValue("ttl")); this.setSortedKeyCount(dict.getIntValue("sortedKeyCount")); this.setTimeIndex(dict.getIntValue("timeIndex")); + if (dict.containsKey("tsMode")) { + this.setTsMode(dict.getBooleanValue("tsMode")); + } if (dict.containsKey("keys")) { JSONArray keysDict = dict.getJSONArray("keys"); @@ -133,6 +157,7 @@ public JSONObject toRequestJson() { subStoreDict.put("ttl", getTtl()); subStoreDict.put("sortedKeyCount", getSortedKeyCount()); subStoreDict.put("timeIndex", getTimeIndex()); + subStoreDict.put("tsMode", getTsMode()); JSONArray keysDict = new JSONArray(); for (SubStoreKey key : getKeys()) {