[Title] Kill all running SDK processes before SDK uninstalling with 32/10732/1
authoryongsung1.kim <yongsung1.kim@samsung.com>
Thu, 10 Oct 2013 07:42:16 +0000 (16:42 +0900)
committeryongsung1.kim <yongsung1.kim@samsung.com>
Thu, 10 Oct 2013 07:42:16 +0000 (16:42 +0900)
CLI.
[Issue] Redmine #10779

Change-Id: I7ebf6fb28f313196726597ae87002c53dd5c790f

InstallManager_java/src/org/tizen/installmanager/cli/CliInstall.java
InstallManager_java/src/org/tizen/installmanager/cli/CliUninstall.java

index 9356ead..918b3ea 100644 (file)
@@ -258,7 +258,6 @@ public class CliInstall {
 
                        Config.getInstance().saveSnapshotSettings(repo, Options.distribution, Options.serverType, Options.snapshotPath);                        
                }
-                       
                
                PackageManager.dispose();
                initInstallManager();
index a59f123..220dcf4 100644 (file)
@@ -37,6 +37,7 @@ import org.tizen.installmanager.core.IMExitException;
 import org.tizen.installmanager.core.Performance;
 import org.tizen.installmanager.lib.Log;
 import org.tizen.installmanager.lib.Platform;
+import org.tizen.installmanager.lib.ProgramController;
 import org.tizen.installmanager.pkg.lib.PackageManager;
 import org.tizen.installmanager.pkg.model.Package;
 import org.tizen.installmanager.pkg.model.PackageSet;
@@ -65,6 +66,9 @@ public class CliUninstall {
                ViewController controller = new ViewController();
                controller.init();
                
+               //kill running process.
+               killRunningProcess();
+               
                PackageManager pm = PackageManager.getInstance();
                
                // Uninstall whole SDK.
@@ -103,6 +107,22 @@ public class CliUninstall {
                }
        }
        
+       private static void killRunningProcess() {
+               ProgramController pcontroller = ProgramController.createProgramController();
+               if (pcontroller.runningProgramExists()) {
+                       System.out.println("Warning> The SDK is already running." +
+                               " InstallManager will kill all SDK processes");
+                       pcontroller.terminateRunningProgram();
+                       if (pcontroller.runningProgramExists()) {
+                               System.out.println("Fail to kill running SDK processes.");
+                               Log.err("Fail to kill running SDK processes.");
+                       } else {
+                               System.out.println("Success to kill running SDK processes.");
+                               Log.log("Success to kill running SDK processes.");
+                       }
+               }
+       }
+       
        private static void clearTargetDir() {
                if (!Platform.isWindows()) {
                        File targetDir = new File(Config.getInstance().getTargetDir());