11 changed files with 143 additions and 50 deletions
-
5src/src/main/java/com/my/graphiteDigesterBg/diframe/DiDevice.java
-
65src/src/main/java/com/my/graphiteDigesterBg/diframe/DiDeviceRuntimeVariableManager.java
-
22src/src/main/java/com/my/graphiteDigesterBg/diframe/DiOptionManager.java
-
2src/src/main/java/com/my/graphiteDigesterBg/diframe/api/DiApiDevice.java
-
15src/src/main/java/com/my/graphiteDigesterBg/diframe/model/DiMdbOption.java
-
18src/src/main/java/com/my/graphiteDigesterBg/diframe/model/DiMdbRuntimeVariable.java
-
4src/src/main/java/com/my/graphiteDigesterBg/move/MoveLiquidAdd.java
-
22src/src/main/java/com/my/graphiteDigesterBg/resource/ResAcidBucket.java
-
28src/src/main/java/com/my/graphiteDigesterBg/resource/ResAcidManager.java
-
10src/src/main/java/com/my/graphiteDigesterBg/task/TaskStartReset.java
-
2src/web/src/pages/main/contents/AcidManagement.vue
@ -1,50 +1,55 @@ |
|||
package com.my.graphiteDigesterBg.diframe; |
|||
import com.my.graphiteDigesterBg.diframe.model.DiMdbRuntimeVariable; |
|||
import java.util.Map; |
|||
public class DiDeviceRuntimeVariableManager { |
|||
// variables |
|||
private final Map<String, Object> variables; |
|||
// get location value |
|||
public DiMdbRuntimeVariable getVariable(String key, Object ... args ) { |
|||
key = this.buildKey(key, args); |
|||
return DiActiveRecord.findOne(DiMdbRuntimeVariable.class, Map.of("key", key)); |
|||
} |
|||
|
|||
// constructor |
|||
public DiDeviceRuntimeVariableManager() { |
|||
this.variables = new java.util.HashMap<>(); |
|||
// build key |
|||
private String buildKey(String key, Object ... args) { |
|||
StringBuilder keyBuilder = new StringBuilder(key); |
|||
for (Object arg : args) { |
|||
keyBuilder.append(".").append(arg.toString()); |
|||
} |
|||
return keyBuilder.toString(); |
|||
} |
|||
|
|||
// get string |
|||
public String getString(String name) { |
|||
return (String)this.variables.get(name); |
|||
public String getString(String name, Object ... args ) { |
|||
var variable = this.getVariable(name, args); |
|||
return null == variable ? null : variable.value; |
|||
} |
|||
|
|||
// get integer |
|||
public Integer getInteger(String name) { |
|||
return (Integer)this.variables.get(name); |
|||
} |
|||
|
|||
// get object |
|||
public Object get(String name) { |
|||
return this.variables.get(name); |
|||
} |
|||
|
|||
// get by class |
|||
public <T> T get(String name, Class<T> clazz) { |
|||
return (T)this.variables.get(name); |
|||
public Integer getInteger(String name, Object ... args ) { |
|||
var variable = this.getVariable(name, args); |
|||
return null == variable ? null : Integer.parseInt(variable.value); |
|||
} |
|||
|
|||
// set string |
|||
public void setString(String name, String value) { |
|||
this.variables.put(name, value); |
|||
} |
|||
|
|||
public void setInteger(String name, Integer value) { |
|||
this.variables.put(name, value); |
|||
public void setString(String value, String name, Object ... args ) { |
|||
var variable = this.getVariable(name, args); |
|||
if ( null == variable ) { |
|||
variable = new DiMdbRuntimeVariable(); |
|||
variable.key = this.buildKey(name, args); |
|||
} |
|||
variable.value = value; |
|||
variable.save(); |
|||
} |
|||
|
|||
// set object |
|||
public void set(String name, Object value) { |
|||
this.variables.put(name, value); |
|||
// set integer |
|||
public void setInteger(Integer value, String name, Object ... args ) { |
|||
this.setString(value.toString(), name, args); |
|||
} |
|||
|
|||
// remove |
|||
public void remove(String name) { |
|||
this.variables.remove(name); |
|||
public void remove(String name, Object ... args ) { |
|||
var variable = this.getVariable(name); |
|||
if ( null != variable ) { |
|||
variable.delete(); |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,22 @@ |
|||
package com.my.graphiteDigesterBg.diframe; |
|||
import com.my.graphiteDigesterBg.diframe.model.DiMdbOption; |
|||
import java.util.Map; |
|||
public class DiOptionManager { |
|||
// get integer |
|||
public Integer getInteger(String key, Object ... args ) { |
|||
var option = this.getOption(key, args); |
|||
return Integer.parseInt(option.value); |
|||
} |
|||
|
|||
// get location value |
|||
public DiMdbOption getOption(String key, Object ... args ) { |
|||
StringBuilder keyBuilder = new StringBuilder(key); |
|||
for (Object arg : args) { |
|||
keyBuilder.append(".").append(arg.toString()); |
|||
} |
|||
key = keyBuilder.toString(); |
|||
var option = DiActiveRecord.findOne(DiMdbOption.class, Map.of("key", key)); |
|||
assert option != null; |
|||
return option; |
|||
} |
|||
} |
@ -0,0 +1,15 @@ |
|||
package com.my.graphiteDigesterBg.diframe.model; |
|||
import com.my.graphiteDigesterBg.diframe.DiActiveRecord; |
|||
public class DiMdbOption extends DiActiveRecord { |
|||
// id |
|||
public Integer id; |
|||
// key |
|||
public String key; |
|||
// value |
|||
public String value; |
|||
|
|||
// get table name |
|||
public static String getTableName() { |
|||
return "app_options"; |
|||
} |
|||
} |
@ -0,0 +1,18 @@ |
|||
package com.my.graphiteDigesterBg.diframe.model; |
|||
import com.my.graphiteDigesterBg.diframe.ActiveRecordField; |
|||
import com.my.graphiteDigesterBg.diframe.DiActiveRecord; |
|||
public class DiMdbRuntimeVariable extends DiActiveRecord { |
|||
@ActiveRecordField |
|||
public Integer id; |
|||
|
|||
@ActiveRecordField |
|||
public String key; |
|||
|
|||
@ActiveRecordField |
|||
public String value; |
|||
|
|||
// get table name |
|||
public static String getTableName() { |
|||
return "app_runtime_variables"; |
|||
} |
|||
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue