Check for scope in the metadata
This commit is contained in:
		
							parent
							
								
									2b3e195c20
								
							
						
					
					
						commit
						d34c54b31c
					
				@ -17,6 +17,7 @@ package org.thingsboard.rule.engine.telemetry;
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import com.google.gson.JsonParser;
 | 
					import com.google.gson.JsonParser;
 | 
				
			||||||
import lombok.extern.slf4j.Slf4j;
 | 
					import lombok.extern.slf4j.Slf4j;
 | 
				
			||||||
 | 
					import org.springframework.util.StringUtils;
 | 
				
			||||||
import org.thingsboard.rule.engine.api.RuleNode;
 | 
					import org.thingsboard.rule.engine.api.RuleNode;
 | 
				
			||||||
import org.thingsboard.rule.engine.api.TbContext;
 | 
					import org.thingsboard.rule.engine.api.TbContext;
 | 
				
			||||||
import org.thingsboard.rule.engine.api.TbNode;
 | 
					import org.thingsboard.rule.engine.api.TbNode;
 | 
				
			||||||
@ -51,6 +52,8 @@ public class TbMsgAttributesNode implements TbNode {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    private TbMsgAttributesNodeConfiguration config;
 | 
					    private TbMsgAttributesNodeConfiguration config;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private static final String SCOPE = "scope";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    public void init(TbContext ctx, TbNodeConfiguration configuration) throws TbNodeException {
 | 
					    public void init(TbContext ctx, TbNodeConfiguration configuration) throws TbNodeException {
 | 
				
			||||||
        this.config = TbNodeUtils.convert(configuration, TbMsgAttributesNodeConfiguration.class);
 | 
					        this.config = TbNodeUtils.convert(configuration, TbMsgAttributesNodeConfiguration.class);
 | 
				
			||||||
@ -64,8 +67,12 @@ public class TbMsgAttributesNode implements TbNode {
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
        String src = msg.getData();
 | 
					        String src = msg.getData();
 | 
				
			||||||
        Set<AttributeKvEntry> attributes = JsonConverter.convertToAttributes(new JsonParser().parse(src));
 | 
					        Set<AttributeKvEntry> attributes = JsonConverter.convertToAttributes(new JsonParser().parse(src));
 | 
				
			||||||
        msg.getMetaData().putValue("scope", config.getScope());
 | 
					        String scope = msg.getMetaData().getValue(SCOPE);
 | 
				
			||||||
        ctx.getTelemetryService().saveAndNotify(ctx.getTenantId(), msg.getOriginator(), config.getScope(), new ArrayList<>(attributes), new TelemetryNodeCallback(ctx, msg));
 | 
					        if (StringUtils.isEmpty(scope)) {
 | 
				
			||||||
 | 
					            scope = config.getScope();
 | 
				
			||||||
 | 
					            msg.getMetaData().putValue("scope", scope);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        ctx.getTelemetryService().saveAndNotify(ctx.getTenantId(), msg.getOriginator(), scope, new ArrayList<>(attributes), new TelemetryNodeCallback(ctx, msg));
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user