m-chrzan.xyz
aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMagdalena Grodzińska <mag.grodzinska@gmail.com>2020-01-11 12:39:54 +0100
committerMagdalena Grodzińska <mag.grodzinska@gmail.com>2020-01-11 12:39:54 +0100
commit5aa6345de1464a372bc69219ef9b777991bde1dd (patch)
treedc88700d65aa385f62a7e94145df4fe835c18a8f /src
parent36da6a754624f93e555bcaba8b3d0cdc28c17a0b (diff)
Add adding missing zones on attribute creation
Diffstat (limited to 'src')
-rw-r--r--src/main/java/pl/edu/mimuw/cloudatlas/agent/modules/Stanik.java7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/main/java/pl/edu/mimuw/cloudatlas/agent/modules/Stanik.java b/src/main/java/pl/edu/mimuw/cloudatlas/agent/modules/Stanik.java
index 6761c94..3fca1d5 100644
--- a/src/main/java/pl/edu/mimuw/cloudatlas/agent/modules/Stanik.java
+++ b/src/main/java/pl/edu/mimuw/cloudatlas/agent/modules/Stanik.java
@@ -1,5 +1,6 @@
package pl.edu.mimuw.cloudatlas.agent.modules;
+import java.nio.file.Path;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
@@ -141,7 +142,11 @@ public class Stanik extends Module {
*/
public void handleSetAttribte(SetAttributeMessage message) {
try {
- ZMI zmi = hierarchy.findDescendant(new PathName(message.getPathName()));
+ PathName descendantPath = new PathName(message.getPathName());
+ if (!hierarchy.descendantExists(descendantPath)) {
+ addMissingZones(descendantPath);
+ }
+ ZMI zmi = hierarchy.findDescendant(descendantPath);
ValueTime updateTimestamp = message.getUpdateTimestamp();
ValueTime currentTimestamp = (ValueTime) zmi.getAttributes().getOrNull("timestamp");
if (ValueUtils.valueLower(currentTimestamp, updateTimestamp)) {