CLI: Add TargetUtil class. 67/13367/3
authorhyunsik.noh <hyunsik.noh@samsung.com>
Wed, 4 Dec 2013 07:48:13 +0000 (16:48 +0900)
committerhyunsik.noh <hyunsik.noh@samsung.com>
Wed, 4 Dec 2013 08:16:18 +0000 (17:16 +0900)
Change-Id: Ie30e5c758f85184eeec13150013f6e7c0ddbbb4f
Signed-off-by: hyunsik.noh <hyunsik.noh@samsung.com>
org.tizen.ncli.ide/src/org/tizen/ncli/ide/shell/InstallCLI.java
org.tizen.ncli.ide/src/org/tizen/ncli/ide/shell/Main.java
org.tizen.ncli.ide/src/org/tizen/ncli/ide/subcommands/InstallCLICommand.java
org.tizen.ncli.ide/src/org/tizen/ncli/ide/util/TargetUtil.java [moved from org.tizen.ncli.ide/src/org/tizen/ncli/ide/shell/CLIWithSdbLib.java with 50% similarity]

index 1158998..4723eb7 100644 (file)
@@ -36,14 +36,14 @@ import org.tizen.ncli.ide.subcommands.InstallCLICommand;
  * @author Hyunsik Noh{@literal <hyunsik.noh@samsung.com>} (S-core)
  */
 @TizenSubCommand(name="install" , usage="Install the package to target")
-public class InstallCLI extends CLIWithSdbLib{
+public class InstallCLI extends AbstractCLI{
     private Logger log = LoggerFactory.getLogger(getClass());
     
     @Option(name = "--target", usage = "Target to install the package")
     private String target;
     
     @Override
-    void executeWithSdbLib() {
+    public void execute() {
         log.trace("Execute InstallCLI...");
         InstallCLICommand command = new InstallCLICommand();
         command.setWorkingDir(workingDir == null ? currentWorkspacePath : workingDir);
index f11705d..6309793 100644 (file)
@@ -29,6 +29,7 @@ import org.tizen.ncli.core.TizenSubCommand;
 import org.tizen.ncli.core.TizenSubCommandHandler;
 import org.tizen.ncli.core.collection.TreeNode;
 import org.tizen.ncli.ide.messages.TizenCLIMessages;
+import org.tizen.ncli.ide.util.TargetUtil;
 
 /**
  * This class is entry point of Tizen New Command Line Interface. All the command line argument would be parsed and then
@@ -116,6 +117,8 @@ public class Main {
             }
         } catch (Exception e) {
             e.printStackTrace();
+        } finally {
+            TargetUtil.finalizeSmartDeviceBridge();
         }
 
         errorWriter.flush();
index b150c67..a4de22d 100644 (file)
@@ -32,8 +32,8 @@ import org.tizen.common.sdb.command.SdbCommand;
 import org.tizen.common.util.HostUtil;
 import org.tizen.common.util.IOUtil;
 import org.tizen.ncli.ide.messages.TizenCLIMessages;
+import org.tizen.ncli.ide.util.TargetUtil;
 import org.tizen.sdblib.IDevice;
-import org.tizen.sdblib.SmartDevelopmentBridge;
 import org.tizen.sdblib.service.SyncResult;
 import org.tizen.sdblib.service.SyncService;
 
@@ -83,37 +83,8 @@ public class InstallCLICommand extends AbstractSubCommand<Install> {
         return null;
     }
     
-    public void setTarget(String target) {
-        log.trace("set target");
-        IDevice[] targets = SmartDevelopmentBridge.getBridge().getDevices();
-        if(targets.length == 0) {
-            System.out.println(TizenCLIMessages.NO_CONNECTED_TARGETS);
-            log.error(TizenCLIMessages.NO_CONNECTED_TARGETS);
-        } else {
-            if(target == null) {
-                if(targets.length == 1) {
-                    this.target = targets[0];
-                    log.info("target is " + this.target);
-                } else {
-                    System.out.println(TizenCLIMessages.MANY_CONNECTED_TARGETS);
-                    log.error(TizenCLIMessages.MANY_CONNECTED_TARGETS);;
-                }
-            } else {
-                boolean isExist = false;
-                for(IDevice t: targets) {
-                    if(target.equals(t.getSerialNumber())) {
-                        this.target = t;
-                        log.info("target is " + this.target);
-                        isExist = true;
-                        break;
-                    }
-                }
-                if(!isExist) {
-                    System.out.println(NLS.bind(TizenCLIMessages.NO_NAMED_TARGETS, target));
-                    log.error(NLS.bind(TizenCLIMessages.NO_NAMED_TARGETS, target));
-                }
-            }
-        }
+    public void setTarget(String targetName) {
+        target = TargetUtil.getTarget(targetName);
     }
     
     private boolean isValidPackage() {
  * Contributors:
  * - S-Core Co., Ltd
  */
-package org.tizen.ncli.ide.shell;
+package org.tizen.ncli.ide.util;
 
+import org.eclipse.osgi.util.NLS;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.tizen.common.core.application.InstallPathConfig;
 import org.tizen.common.util.HostUtil;
+import org.tizen.ncli.ide.messages.TizenCLIMessages;
+import org.tizen.sdblib.IDevice;
 import org.tizen.sdblib.SmartDevelopmentBridge;
+
 /**
- * Implemented functions of CLI options which need to use SdbLib.
+ * provides util methods related with sdb.
  * 
  * @author Hyunsik Noh{@literal <hyunsik.noh@samsung.com>} (S-core)
  */
-public abstract class CLIWithSdbLib extends AbstractCLI{
-    
-    protected Logger log = LoggerFactory.getLogger(getClass());
-    
-    public CLIWithSdbLib() {
+public class TargetUtil {
+    private static final Logger log = LoggerFactory.getLogger(TargetUtil.class);
+    static {
         initSdb();
     }
     
-    public void initSdb() {
+    public static void initSdb() {
         log.trace("initialize sdb");
         String sdbPath = InstallPathConfig.getSDBPath();
         if (!HostUtil.exists(sdbPath)) {
@@ -61,19 +63,49 @@ public abstract class CLIWithSdbLib extends AbstractCLI{
         }
     }
     
-    public void finalizeSmartDeviceBridge() {
+    public static void finalizeSmartDeviceBridge() {
         log.trace("finalize sdb");
         SmartDevelopmentBridge.disconnectBridge();
     }
-
-    @Override
-    public void execute() {
-        try{
-            executeWithSdbLib();
-        } finally{
-            finalizeSmartDeviceBridge();
+    
+    /**
+     * Returns IDevice object from connected targets.
+     * @param targetName
+     * @return IDevice
+     */
+    public static IDevice getTarget(String targetName) {
+        IDevice target = null;
+        log.trace("set target");
+        IDevice[] targets = SmartDevelopmentBridge.getBridge().getDevices();
+        if(targets.length == 0) {
+            System.out.println(TizenCLIMessages.NO_CONNECTED_TARGETS);
+            log.error(TizenCLIMessages.NO_CONNECTED_TARGETS);
+        } else {
+            if(targetName == null) {
+                if(targets.length == 1) {
+                    target = targets[0];
+                    log.info("target is " + target);
+                } else {
+                    System.out.println(TizenCLIMessages.MANY_CONNECTED_TARGETS);
+                    log.error(TizenCLIMessages.MANY_CONNECTED_TARGETS);;
+                }
+            } else {
+                boolean isExist = false;
+                for(IDevice t: targets) {
+                    if(targetName.equals(t.getSerialNumber())) {
+                        target = t;
+                        log.info("target is " + target);
+                        isExist = true;
+                        break;
+                    }
+                }
+                if(!isExist) {
+                    System.out.println(NLS.bind(TizenCLIMessages.NO_NAMED_TARGETS, targetName));
+                    log.error(NLS.bind(TizenCLIMessages.NO_NAMED_TARGETS, targetName));
+                }
+            }
         }
+        return target;
     }
-    
-    abstract void executeWithSdbLib();
+
 }