通讯组件管理修改
parent
b44c3d44c6
commit
48b6ec7eb3
|
@ -26,3 +26,5 @@ target
|
|||
*.iml
|
||||
*.yml
|
||||
log
|
||||
components
|
||||
data
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
0
manager/src/main/java/cc/iotkit/manager/config/ElasticSearchConfig.java
Normal file → Executable file
0
manager/src/main/java/cc/iotkit/manager/config/ElasticSearchConfig.java
Normal file → Executable file
|
@ -1,6 +1,7 @@
|
|||
package cc.iotkit.manager.controller;
|
||||
|
||||
import cc.iotkit.common.exception.BizException;
|
||||
import cc.iotkit.common.utils.JsonUtil;
|
||||
import cc.iotkit.common.utils.ReflectUtil;
|
||||
import cc.iotkit.comp.CompConfig;
|
||||
import cc.iotkit.comp.mqtt.MqttComponent;
|
||||
|
@ -56,21 +57,29 @@ public class ProtocolController {
|
|||
@Autowired
|
||||
private ComponentManager componentManager;
|
||||
|
||||
private Path getFilePath(String comId, String type) {
|
||||
return Paths.get(String.format("%s/%s/%s", componentDir, comId, type))
|
||||
private Path getFilePath(String comId) {
|
||||
return Paths.get(String.format("%s/%s", componentDir, comId))
|
||||
.toAbsolutePath().normalize();
|
||||
}
|
||||
|
||||
@PostMapping("/uploadJar")
|
||||
public String uploadJar(@RequestParam("file") MultipartFile file) {
|
||||
public String uploadJar(@RequestParam("file") MultipartFile file, String id) {
|
||||
if (file == null) {
|
||||
throw new BizException("file is null");
|
||||
}
|
||||
log.info("saving upload jar file:{}", file.getName());
|
||||
String fileName = StringUtils.cleanPath(file.getOriginalFilename());
|
||||
try {
|
||||
String id = UUID.randomUUID().toString();
|
||||
Path jarFilePath = getFilePath(id, "jar");
|
||||
if (StringUtils.hasLength(id)) {
|
||||
Optional<ProtocolComponent> optComponent = protocolComponentRepository.findById(id);
|
||||
if (!optComponent.isPresent()) {
|
||||
throw new BizException("the protocol component does not exists");
|
||||
}
|
||||
dataOwnerService.checkOwner(optComponent.get());
|
||||
} else {
|
||||
id = UUID.randomUUID().toString();
|
||||
}
|
||||
Path jarFilePath = getFilePath(id);
|
||||
Files.createDirectories(jarFilePath);
|
||||
Path targetLocation = jarFilePath.resolve(fileName);
|
||||
Files.copy(file.getInputStream(), targetLocation, StandardCopyOption.REPLACE_EXISTING);
|
||||
|
@ -86,7 +95,7 @@ public class ProtocolController {
|
|||
if (!StringUtils.hasLength(id)) {
|
||||
throw new BizException("component id is blank");
|
||||
}
|
||||
Path jarPath = getFilePath(id, "jar");
|
||||
Path jarPath = getFilePath(id);
|
||||
if (!jarPath.resolve(component.getJarFile()).toFile().exists()) {
|
||||
throw new BizException("component jar file does not exist");
|
||||
}
|
||||
|
@ -115,7 +124,7 @@ public class ProtocolController {
|
|||
if (!StringUtils.hasLength(id)) {
|
||||
throw new BizException("component id is blank");
|
||||
}
|
||||
Path jarPath = getFilePath(id, "jar");
|
||||
Path jarPath = getFilePath(id);
|
||||
if (!jarPath.resolve(component.getJarFile()).toFile().exists()) {
|
||||
throw new BizException("component jar file does not exist");
|
||||
}
|
||||
|
@ -139,18 +148,39 @@ public class ProtocolController {
|
|||
}
|
||||
}
|
||||
|
||||
@PostMapping("/saveComponentScript")
|
||||
public void saveComponentScript(@RequestBody ProtocolComponent component) {
|
||||
Optional<ProtocolComponent> optComponent = protocolComponentRepository.findById(component.getId());
|
||||
@GetMapping("/getComponentScript/{id}")
|
||||
public String getComponentScript(@PathVariable("id") String id) {
|
||||
Optional<ProtocolComponent> optComponent = protocolComponentRepository.findById(id);
|
||||
if (!optComponent.isPresent()) {
|
||||
throw new BizException("the component does not exists");
|
||||
}
|
||||
ProtocolComponent component = optComponent.get();
|
||||
dataOwnerService.checkOwner(component);
|
||||
ProtocolComponent oldComponent = optComponent.get();
|
||||
oldComponent.setScriptFile(component.getScriptFile());
|
||||
try {
|
||||
// gatewayService.saveFunction(oldGateway.getUuid(), oldGateway.getId(),
|
||||
// "new (function (){" + oldGateway.getScript() + "})()", functionJar);
|
||||
Path path = getFilePath(id);
|
||||
File file = path.resolve(ProtocolComponent.SCRIPT_FILE_NAME).toFile();
|
||||
return FileUtils.readFileToString(file, "UTF-8");
|
||||
} catch (Throwable e) {
|
||||
log.error("read component script file error", e);
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
@PostMapping("/saveComponentScript/{id}")
|
||||
public void saveComponentScript(
|
||||
@PathVariable("id") String id,
|
||||
@RequestBody String script) {
|
||||
Optional<ProtocolComponent> optComponent = protocolComponentRepository.findById(id);
|
||||
if (!optComponent.isPresent()) {
|
||||
throw new BizException("the component does not exists");
|
||||
}
|
||||
ProtocolComponent oldComponent = optComponent.get();
|
||||
dataOwnerService.checkOwner(oldComponent);
|
||||
try {
|
||||
Path path = getFilePath(id);
|
||||
File file = path.resolve(ProtocolComponent.SCRIPT_FILE_NAME).toFile();
|
||||
script = JsonUtil.parse(script, String.class);
|
||||
FileUtils.writeStringToFile(file, script, "UTF-8", false);
|
||||
protocolComponentRepository.save(oldComponent);
|
||||
} catch (Throwable e) {
|
||||
throw new BizException("save protocol component script error", e);
|
||||
|
|
|
@ -12,6 +12,8 @@ public class ProtocolComponent implements Owned {
|
|||
public static final String STATE_STOPPED = "stopped";
|
||||
public static final String STATE_RUNNING = "running";
|
||||
|
||||
public static final String SCRIPT_FILE_NAME = "component.js";
|
||||
|
||||
@Id
|
||||
private String id;
|
||||
|
||||
|
@ -28,8 +30,6 @@ public class ProtocolComponent implements Owned {
|
|||
|
||||
private String config;
|
||||
|
||||
private String scriptFile;
|
||||
|
||||
private String state;
|
||||
|
||||
private Long createAt;
|
||||
|
|
0
protocol-gateway/component-server/src/main/java/cc/iotkit/comps/ComponentClassLoader.java
Normal file → Executable file
0
protocol-gateway/component-server/src/main/java/cc/iotkit/comps/ComponentClassLoader.java
Normal file → Executable file
|
@ -1,10 +1,7 @@
|
|||
new (function () {
|
||||
!function(n){"use strict";function d(n,t){var r=(65535&n)+(65535&t);return(n>>16)+(t>>16)+(r>>16)<<16|65535&r}function f(n,t,r,e,o,u){return d((u=d(d(t,n),d(e,u)))<<o|u>>>32-o,r)}function l(n,t,r,e,o,u,c){return f(t&r|~t&e,n,t,o,u,c)}function g(n,t,r,e,o,u,c){return f(t&e|r&~e,n,t,o,u,c)}function v(n,t,r,e,o,u,c){return f(t^r^e,n,t,o,u,c)}function m(n,t,r,e,o,u,c){return f(r^(t|~e),n,t,o,u,c)}function c(n,t){var r,e,o,u;n[t>>5]|=128<<t%32,n[14+(t+64>>>9<<4)]=t;for(var c=1732584193,f=-271733879,i=-1732584194,a=271733878,h=0;h<n.length;h+=16)c=l(r=c,e=f,o=i,u=a,n[h],7,-680876936),a=l(a,c,f,i,n[h+1],12,-389564586),i=l(i,a,c,f,n[h+2],17,606105819),f=l(f,i,a,c,n[h+3],22,-1044525330),c=l(c,f,i,a,n[h+4],7,-176418897),a=l(a,c,f,i,n[h+5],12,1200080426),i=l(i,a,c,f,n[h+6],17,-1473231341),f=l(f,i,a,c,n[h+7],22,-45705983),c=l(c,f,i,a,n[h+8],7,1770035416),a=l(a,c,f,i,n[h+9],12,-1958414417),i=l(i,a,c,f,n[h+10],17,-42063),f=l(f,i,a,c,n[h+11],22,-1990404162),c=l(c,f,i,a,n[h+12],7,1804603682),a=l(a,c,f,i,n[h+13],12,-40341101),i=l(i,a,c,f,n[h+14],17,-1502002290),c=g(c,f=l(f,i,a,c,n[h+15],22,1236535329),i,a,n[h+1],5,-165796510),a=g(a,c,f,i,n[h+6],9,-1069501632),i=g(i,a,c,f,n[h+11],14,643717713),f=g(f,i,a,c,n[h],20,-373897302),c=g(c,f,i,a,n[h+5],5,-701558691),a=g(a,c,f,i,n[h+10],9,38016083),i=g(i,a,c,f,n[h+15],14,-660478335),f=g(f,i,a,c,n[h+4],20,-405537848),c=g(c,f,i,a,n[h+9],5,568446438),a=g(a,c,f,i,n[h+14],9,-1019803690),i=g(i,a,c,f,n[h+3],14,-187363961),f=g(f,i,a,c,n[h+8],20,1163531501),c=g(c,f,i,a,n[h+13],5,-1444681467),a=g(a,c,f,i,n[h+2],9,-51403784),i=g(i,a,c,f,n[h+7],14,1735328473),c=v(c,f=g(f,i,a,c,n[h+12],20,-1926607734),i,a,n[h+5],4,-378558),a=v(a,c,f,i,n[h+8],11,-2022574463),i=v(i,a,c,f,n[h+11],16,1839030562),f=v(f,i,a,c,n[h+14],23,-35309556),c=v(c,f,i,a,n[h+1],4,-1530992060),a=v(a,c,f,i,n[h+4],11,1272893353),i=v(i,a,c,f,n[h+7],16,-155497632),f=v(f,i,a,c,n[h+10],23,-1094730640),c=v(c,f,i,a,n[h+13],4,681279174),a=v(a,c,f,i,n[h],11,-358537222),i=v(i,a,c,f,n[h+3],16,-722521979),f=v(f,i,a,c,n[h+6],23,76029189),c=v(c,f,i,a,n[h+9],4,-640364487),a=v(a,c,f,i,n[h+12],11,-421815835),i=v(i,a,c,f,n[h+15],16,530742520),c=m(c,f=v(f,i,a,c,n[h+2],23,-995338651),i,a,n[h],6,-198630844),a=m(a,c,f,i,n[h+7],10,1126891415),i=m(i,a,c,f,n[h+14],15,-1416354905),f=m(f,i,a,c,n[h+5],21,-57434055),c=m(c,f,i,a,n[h+12],6,1700485571),a=m(a,c,f,i,n[h+3],10,-1894986606),i=m(i,a,c,f,n[h+10],15,-1051523),f=m(f,i,a,c,n[h+1],21,-2054922799),c=m(c,f,i,a,n[h+8],6,1873313359),a=m(a,c,f,i,n[h+15],10,-30611744),i=m(i,a,c,f,n[h+6],15,-1560198380),f=m(f,i,a,c,n[h+13],21,1309151649),c=m(c,f,i,a,n[h+4],6,-145523070),a=m(a,c,f,i,n[h+11],10,-1120210379),i=m(i,a,c,f,n[h+2],15,718787259),f=m(f,i,a,c,n[h+9],21,-343485551),c=d(c,r),f=d(f,e),i=d(i,o),a=d(a,u);return[c,f,i,a]}function i(n){for(var t="",r=32*n.length,e=0;e<r;e+=8)t+=String.fromCharCode(n[e>>5]>>>e%32&255);return t}function a(n){var t=[];for(t[(n.length>>2)-1]=void 0,e=0;e<t.length;e+=1)t[e]=0;for(var r=8*n.length,e=0;e<r;e+=8)t[e>>5]|=(255&n.charCodeAt(e/8))<<e%32;return t}function e(n){for(var t,r="0123456789abcdef",e="",o=0;o<n.length;o+=1)t=n.charCodeAt(o),e+=r.charAt(t>>>4&15)+r.charAt(15&t);return e}function r(n){return unescape(encodeURIComponent(n))}function o(n){return i(c(a(n=r(n)),8*n.length))}function u(n,t){return function(n,t){var r,e=a(n),o=[],u=[];for(o[15]=u[15]=void 0,16<e.length&&(e=c(e,8*n.length)),r=0;r<16;r+=1)o[r]=909522486^e[r],u[r]=1549556828^e[r];return t=c(o.concat(a(t)),512+8*t.length),i(c(u.concat(t),640))}(r(n),r(t))}function t(n,t,r){return t?r?u(t,n):e(u(t,n)):r?o(n):e(o(n))}"function"==typeof define&&define.amd?define(function(){return t}):"object"==typeof module&&module.exports?module.exports=t:n.md5=t}(this);
|
||||
var md5=this.md5;
|
||||
!function(n){"use strict";function d(n,t){var r=(65535&n)+(65535&t);return(n>>16)+(t>>16)+(r>>16)<<16|65535&r}function f(n,t,r,e,o,u){return d((u=d(d(t,n),d(e,u)))<<o|u>>>32-o,r)}function l(n,t,r,e,o,u,c){return f(t&r|~t&e,n,t,o,u,c)}function g(n,t,r,e,o,u,c){return f(t&e|r&~e,n,t,o,u,c)}function v(n,t,r,e,o,u,c){return f(t^r^e,n,t,o,u,c)}function m(n,t,r,e,o,u,c){return f(r^(t|~e),n,t,o,u,c)}function c(n,t){var r,e,o,u;n[t>>5]|=128<<t%32,n[14+(t+64>>>9<<4)]=t;for(var c=1732584193,f=-271733879,i=-1732584194,a=271733878,h=0;h<n.length;h+=16)c=l(r=c,e=f,o=i,u=a,n[h],7,-680876936),a=l(a,c,f,i,n[h+1],12,-389564586),i=l(i,a,c,f,n[h+2],17,606105819),f=l(f,i,a,c,n[h+3],22,-1044525330),c=l(c,f,i,a,n[h+4],7,-176418897),a=l(a,c,f,i,n[h+5],12,1200080426),i=l(i,a,c,f,n[h+6],17,-1473231341),f=l(f,i,a,c,n[h+7],22,-45705983),c=l(c,f,i,a,n[h+8],7,1770035416),a=l(a,c,f,i,n[h+9],12,-1958414417),i=l(i,a,c,f,n[h+10],17,-42063),f=l(f,i,a,c,n[h+11],22,-1990404162),c=l(c,f,i,a,n[h+12],7,1804603682),a=l(a,c,f,i,n[h+13],12,-40341101),i=l(i,a,c,f,n[h+14],17,-1502002290),c=g(c,f=l(f,i,a,c,n[h+15],22,1236535329),i,a,n[h+1],5,-165796510),a=g(a,c,f,i,n[h+6],9,-1069501632),i=g(i,a,c,f,n[h+11],14,643717713),f=g(f,i,a,c,n[h],20,-373897302),c=g(c,f,i,a,n[h+5],5,-701558691),a=g(a,c,f,i,n[h+10],9,38016083),i=g(i,a,c,f,n[h+15],14,-660478335),f=g(f,i,a,c,n[h+4],20,-405537848),c=g(c,f,i,a,n[h+9],5,568446438),a=g(a,c,f,i,n[h+14],9,-1019803690),i=g(i,a,c,f,n[h+3],14,-187363961),f=g(f,i,a,c,n[h+8],20,1163531501),c=g(c,f,i,a,n[h+13],5,-1444681467),a=g(a,c,f,i,n[h+2],9,-51403784),i=g(i,a,c,f,n[h+7],14,1735328473),c=v(c,f=g(f,i,a,c,n[h+12],20,-1926607734),i,a,n[h+5],4,-378558),a=v(a,c,f,i,n[h+8],11,-2022574463),i=v(i,a,c,f,n[h+11],16,1839030562),f=v(f,i,a,c,n[h+14],23,-35309556),c=v(c,f,i,a,n[h+1],4,-1530992060),a=v(a,c,f,i,n[h+4],11,1272893353),i=v(i,a,c,f,n[h+7],16,-155497632),f=v(f,i,a,c,n[h+10],23,-1094730640),c=v(c,f,i,a,n[h+13],4,681279174),a=v(a,c,f,i,n[h],11,-358537222),i=v(i,a,c,f,n[h+3],16,-722521979),f=v(f,i,a,c,n[h+6],23,76029189),c=v(c,f,i,a,n[h+9],4,-640364487),a=v(a,c,f,i,n[h+12],11,-421815835),i=v(i,a,c,f,n[h+15],16,530742520),c=m(c,f=v(f,i,a,c,n[h+2],23,-995338651),i,a,n[h],6,-198630844),a=m(a,c,f,i,n[h+7],10,1126891415),i=m(i,a,c,f,n[h+14],15,-1416354905),f=m(f,i,a,c,n[h+5],21,-57434055),c=m(c,f,i,a,n[h+12],6,1700485571),a=m(a,c,f,i,n[h+3],10,-1894986606),i=m(i,a,c,f,n[h+10],15,-1051523),f=m(f,i,a,c,n[h+1],21,-2054922799),c=m(c,f,i,a,n[h+8],6,1873313359),a=m(a,c,f,i,n[h+15],10,-30611744),i=m(i,a,c,f,n[h+6],15,-1560198380),f=m(f,i,a,c,n[h+13],21,1309151649),c=m(c,f,i,a,n[h+4],6,-145523070),a=m(a,c,f,i,n[h+11],10,-1120210379),i=m(i,a,c,f,n[h+2],15,718787259),f=m(f,i,a,c,n[h+9],21,-343485551),c=d(c,r),f=d(f,e),i=d(i,o),a=d(a,u);return[c,f,i,a]}function i(n){for(var t="",r=32*n.length,e=0;e<r;e+=8)t+=String.fromCharCode(n[e>>5]>>>e%32&255);return t}function a(n){var t=[];for(t[(n.length>>2)-1]=void 0,e=0;e<t.length;e+=1)t[e]=0;for(var r=8*n.length,e=0;e<r;e+=8)t[e>>5]|=(255&n.charCodeAt(e/8))<<e%32;return t}function e(n){for(var t,r="0123456789abcdef",e="",o=0;o<n.length;o+=1)t=n.charCodeAt(o),e+=r.charAt(t>>>4&15)+r.charAt(15&t);return e}function r(n){return unescape(encodeURIComponent(n))}function o(n){return i(c(a(n=r(n)),8*n.length))}function u(n,t){return function(n,t){var r,e=a(n),o=[],u=[];for(o[15]=u[15]=void 0,16<e.length&&(e=c(e,8*n.length)),r=0;r<16;r+=1)o[r]=909522486^e[r],u[r]=1549556828^e[r];return t=c(o.concat(a(t)),512+8*t.length),i(c(u.concat(t),640))}(r(n),r(t))}function t(n,t,r){return t?r?u(t,n):e(u(t,n)):r?o(n):e(o(n))}"function"==typeof define&&define.amd?define(function(){return t}):"object"==typeof module&&module.exports?module.exports=t:n.md5=t}(this);
|
||||
var md5=this.md5;
|
||||
|
||||
var registered={};
|
||||
|
||||
function register(payload){
|
||||
function register(payload){
|
||||
var auth= JSON.parse(payload);
|
||||
var arr= auth.clientid.split("_");
|
||||
if(arr.length<3){
|
||||
|
@ -26,9 +23,9 @@ new (function () {
|
|||
model:model
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
function online(topic){
|
||||
function online(topic){
|
||||
var arr= topic.split('/');
|
||||
if(arr.length<6){
|
||||
throw new Error("incorrect topic")
|
||||
|
@ -44,10 +41,10 @@ new (function () {
|
|||
state:"online"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//必须提供onReceive方法
|
||||
this.onReceive=function(head,type,payload){
|
||||
//必须提供onReceive方法
|
||||
this.onReceive=function(head,type,payload){
|
||||
if(type=='auth'){
|
||||
return register(payload);
|
||||
}
|
||||
|
@ -76,9 +73,5 @@ new (function () {
|
|||
content:payload
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.onRegistered=function(regInfo,result){
|
||||
}
|
||||
})()
|
||||
}
|
||||
|
Loading…
Reference in New Issue