[Service] Exception is throwing if argument length is 0 13/245913/3
authork2.nagaraju <k2.nagaraju@samsung.com>
Mon, 19 Oct 2020 15:35:06 +0000 (21:05 +0530)
committerk2.nagaraju <k2.nagaraju@samsung.com>
Wed, 21 Oct 2020 12:43:01 +0000 (18:13 +0530)
Calling |resolveVirtualRoot| with |0| parameter throwing
exception, which is causing failure in service filesystem webtct.

Change-Id: I5e8d54f916d408145331066b31f7432ad7a3be55
Signed-off-by: k2.nagaraju <k2.nagaraju@samsung.com>
wrt_app/service/device_api_router.ts

index 4ccf2ef..7d08190 100644 (file)
@@ -228,9 +228,11 @@ export class DeviceAPIRouter {
 
   injectVirtualRootResolver(func: Function) {
     return (...args: any[]) => {
-      console.log(args);
-      args[0] = wrt.resolveVirtualRoot(this.getServiceId(), args[0]);
-      console.log(args[0]);
+      console.log('arguments : ' + args);
+      if (args.length && !(args[0] === null || args[0] === undefined)) {
+        args[0] = wrt.resolveVirtualRoot(this.getServiceId(), args[0]);
+        console.log('updated argument[0] : ' + args[0]);
+      }
       return func.apply(global.tizen.filesystem, args);
     }
   }
@@ -239,7 +241,6 @@ export class DeviceAPIRouter {
     global.tizen.filesystem.resolve = this.injectVirtualRootResolver(global.tizen.filesystem.resolve);
     global.tizen.filesystem.listDirectory = this.injectVirtualRootResolver(global.tizen.filesystem.listDirectory);
     global.tizen.filesystem.createDirectory = this.injectVirtualRootResolver(global.tizen.filesystem.createDirectory);
-    global.tizen.filesystem.createDirectory = this.injectVirtualRootResolver(global.tizen.filesystem.createDirectory);
     global.tizen.filesystem.deleteDirectory = this.injectVirtualRootResolver(global.tizen.filesystem.deleteDirectory);
     global.tizen.filesystem.openFile = this.injectVirtualRootResolver(global.tizen.filesystem.openFile);
     global.tizen.filesystem.deleteFile = this.injectVirtualRootResolver(global.tizen.filesystem.deleteFile);