protectedstaticfinalStringDEVICE_INFO_DESCRIPTION="Device Info is an extension of the default Device object that contains information about the assigned customer name and device profile name. ";
protectedstaticfinalStringDEVICE_INFO_DESCRIPTION="Device Info is an extension of the default Device object that contains information about the assigned customer name and device profile name. ";
protectedstaticfinalStringASSET_INFO_DESCRIPTION="Asset Info is an extension of the default Asset object that contains information about the assigned customer name. ";
protectedstaticfinalStringASSET_INFO_DESCRIPTION="Asset Info is an extension of the default Asset object that contains information about the assigned customer name. ";
@ -91,9 +91,9 @@ public class RpcV2Controller extends AbstractRpcController {
"In case of persistent RPC, the result of this call is 'rpcId' UUID. In case of lightweight RPC, "+
"In case of persistent RPC, the result of this call is 'rpcId' UUID. In case of lightweight RPC, "+
"the result of this call is the response from device, or 504 Gateway Timeout if device is offline.";
"the result of this call is the response from device, or 504 Gateway Timeout if device is offline.";
privatestaticfinalStringONE_WAY_RPC_REQUEST_DESCRIPTION="Sends the one-way remote-procedure call (RPC) request to device. "+RPC_REQUEST_DESCRIPTION+ONE_WAY_RPC_RESULT;
privatestaticfinalStringONE_WAY_RPC_REQUEST_DESCRIPTION="Sends the one-way remote-procedure call (RPC) request to device. "+RPC_REQUEST_DESCRIPTION+ONE_WAY_RPC_RESULT+TENANT_AND_USER_AUTHORITY_PARAGRAPH;
privatestaticfinalStringTWO_WAY_RPC_REQUEST_DESCRIPTION="Sends the two-way remote-procedure call (RPC) request to device. "+RPC_REQUEST_DESCRIPTION+TWO_WAY_RPC_RESULT;
privatestaticfinalStringTWO_WAY_RPC_REQUEST_DESCRIPTION="Sends the two-way remote-procedure call (RPC) request to device. "+RPC_REQUEST_DESCRIPTION+TWO_WAY_RPC_RESULT+TENANT_AND_USER_AUTHORITY_PARAGRAPH;
@ -147,7 +147,7 @@ public class RpcV2Controller extends AbstractRpcController {
}
}
}
}
@ApiOperation(value="Get persistent RPC requests",notes="Allows to query RPC calls for specific device using pagination.")
@ApiOperation(value="Get persistent RPC requests",notes="Allows to query RPC calls for specific device using pagination."+TENANT_AND_USER_AUTHORITY_PARAGRAPH)
@ -137,11 +165,18 @@ public class RuleChainController extends BaseController {
}
}
}
}
@ApiOperation(value="Create Or Update Rule Chain (saveRuleChain)",
notes="Create or update the Rule Chain. When creating Rule Chain, platform generates Rule Chain Id as [time-based UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier#Version_1_(date-time_and_MAC_address). "+
"The newly created Rule Chain Id will be present in the response. "+
"Specify existing Rule Chain id to update the rule chain. "+
"Referencing non-existing rule chain Id will cause 'Not Found' error."+
notes="Deletes the rule chain. Referencing non-existing rule chain Id will cause an error. Referencing rule chain that is used in the device profiles will cause an error.")
@ApiModelProperty(position=1,required=true,value="Index of rule node in the 'nodes' array of the RuleChainMetaData. Indicates the 'from' part of the connection.")
privateintfromIndex;
privateintfromIndex;
@ApiModelProperty(position=2,required=true,value="Index of rule node in the 'nodes' array of the RuleChainMetaData. Indicates the 'to' part of the connection.")
privateinttoIndex;
privateinttoIndex;
@ApiModelProperty(position=3,required=true,value="Type of the relation. Typically indicated the result of processing by the 'from' rule node. For example, 'Success' or 'Failure'")
@ApiModelProperty(position=3,required=true,value="JSON object with Tenant Id.",readOnly=true)
privateTenantIdtenantId;
privateTenantIdtenantId;
@NoXss
@NoXss
@ApiModelProperty(position=4,required=true,value="Rule Chain name",example="Humidity data processing")
privateStringname;
privateStringname;
@ApiModelProperty(position=5,value="Rule Chain type. 'EDGE' rule chains are processing messages on the edge devices only.",example="A4B72CCDFF33")
privateRuleChainTypetype;
privateRuleChainTypetype;
@ApiModelProperty(position=6,value="JSON object with Rule Chain Id. Pointer to the first rule node that should receive all messages pushed to this rule chain.")
privateRuleNodeIdfirstRuleNodeId;
privateRuleNodeIdfirstRuleNodeId;
@ApiModelProperty(position=7,value="Indicates root rule chain. The root rule chain process messages from all devices and entities by default. User may configure default rule chain per device profile.")
privatebooleanroot;
privatebooleanroot;
@ApiModelProperty(position=8,value="Reserved for future usage.")
privatebooleandebugMode;
privatebooleandebugMode;
@ApiModelProperty(position=9,value="Reserved for future usage. The actual list of rule nodes and their relations is stored in the database separately.")
privatetransientJsonNodeconfiguration;
privatetransientJsonNodeconfiguration;
@JsonIgnore
@JsonIgnore
@ -75,6 +85,21 @@ public class RuleChain extends SearchTextBasedWithAdditionalInfo<RuleChainId> im
returnname;
returnname;
}
}
@ApiModelProperty(position=1,value="JSON object with the Rule Chain Id. "+
"Specify this field to update the Rule Chain. "+
"Referencing non-existing Rule Chain Id will cause error. "+
"Omit this field to create new rule chain.")
@Override
publicRuleChainIdgetId(){
returnsuper.getId();
}
@ApiModelProperty(position=2,value="Timestamp of the rule chain creation, in milliseconds",example="1609459200000",readOnly=true)
@ApiModelProperty(position=1,required=true,value="Index of rule node in the 'nodes' array of the RuleChainMetaData. Indicates the 'from' part of the connection.")
privateintfromIndex;
privateintfromIndex;
@ApiModelProperty(position=2,required=true,value="JSON object with the Rule Chain Id.")
privateRuleChainIdtargetRuleChainId;
privateRuleChainIdtargetRuleChainId;
@ApiModelProperty(position=3,required=true,value="JSON object with the additional information about the connection.")
privateJsonNodeadditionalInfo;
privateJsonNodeadditionalInfo;
@ApiModelProperty(position=4,required=true,value="Type of the relation. Typically indicated the result of processing by the 'from' rule node. For example, 'Success' or 'Failure'")
@ApiModelProperty(position=7,value="JSON with the rule node configuration. Structure depends on the rule node implementation.",dataType="com.fasterxml.jackson.databind.JsonNode")
privatetransientJsonNodeconfiguration;
privatetransientJsonNodeconfiguration;
@JsonIgnore
@JsonIgnore
privatebyte[]configurationBytes;
privatebyte[]configurationBytes;
@ -75,4 +83,25 @@ public class RuleNode extends SearchTextBasedWithAdditionalInfo<RuleNodeId> impl
@ApiModelProperty(position=1,value="JSON object with the Rule Node Id. "+
"Specify this field to update the Rule Node. "+
"Referencing non-existing Rule Node Id will cause error. "+
"Omit this field to create new rule node.")
@Override
publicRuleNodeIdgetId(){
returnsuper.getId();
}
@ApiModelProperty(position=2,value="Timestamp of the rule node creation, in milliseconds",example="1609459200000",readOnly=true)
@Override
publiclonggetCreatedTime(){
returnsuper.getCreatedTime();
}
@ApiModelProperty(position=8,value="Additional parameters of the rule node. Contains 'layoutX' and 'layoutY' properties for visualization.",dataType="com.fasterxml.jackson.databind.JsonNode")