* @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);
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;
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)) {
}
}
- 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();
+
}