From 0aa6993ad8c25b76982cc7dea029c08cbdec7922 Mon Sep 17 00:00:00 2001 From: "jihye424.kim" Date: Wed, 17 Jun 2015 15:05:51 +0900 Subject: [PATCH] LaunchConfig: fix sequence of config variable - add OPTION_KEY type Change-Id: I96304254aed9f7fd904104ff5f49331d4670e245 Signed-off-by: jihye424.kim --- src/org/tizen/emulator/manager/vms/VMLauncher.java | 4 +- .../manager/vms/option/BaseImageOption.java | 8 +-- .../emulator/manager/vms/option/CommonOption.java | 18 +++---- .../emulator/manager/vms/option/DisplayOption.java | 16 +++--- .../emulator/manager/vms/option/LaunchConfig.java | 21 ++++---- .../manager/vms/option/NetProxyOption.java | 4 +- .../emulator/manager/vms/option/NetworkOption.java | 4 +- .../emulator/manager/vms/option/OPTION_KEY.java | 62 ++++++++++++++++++++++ .../tizen/emulator/manager/vms/option/Option.java | 20 ------- .../manager/vms/option/ProcessorOption.java | 4 +- .../emulator/manager/vms/option/RamSizeOption.java | 4 +- .../manager/vms/option/TouchPointOption.java | 4 +- .../emulator/manager/vms/option/VMNameOption.java | 4 +- 13 files changed, 109 insertions(+), 64 deletions(-) create mode 100644 src/org/tizen/emulator/manager/vms/option/OPTION_KEY.java diff --git a/src/org/tizen/emulator/manager/vms/VMLauncher.java b/src/org/tizen/emulator/manager/vms/VMLauncher.java index 0ae7047..8c17186 100644 --- a/src/org/tizen/emulator/manager/vms/VMLauncher.java +++ b/src/org/tizen/emulator/manager/vms/VMLauncher.java @@ -49,7 +49,7 @@ import org.tizen.emulator.manager.vms.helper.VMLogUtil; import org.tizen.emulator.manager.vms.helper.VMWorkerException; import org.tizen.emulator.manager.vms.option.LaunchConfig; import org.tizen.emulator.manager.vms.option.NetProxyOption; -import org.tizen.emulator.manager.vms.option.Option; +import org.tizen.emulator.manager.vms.option.OPTION_KEY; public class VMLauncher { @@ -141,7 +141,7 @@ public class VMLauncher { return ""; } else { - return " --" + Option.VAR_NETWORK_PROXY + return " --" + OPTION_KEY.VAR_NETWORK_PROXY.toString() + " \"" + hostProxy + "\""; } } diff --git a/src/org/tizen/emulator/manager/vms/option/BaseImageOption.java b/src/org/tizen/emulator/manager/vms/option/BaseImageOption.java index 866d7e6..ba98789 100644 --- a/src/org/tizen/emulator/manager/vms/option/BaseImageOption.java +++ b/src/org/tizen/emulator/manager/vms/option/BaseImageOption.java @@ -35,16 +35,16 @@ public class BaseImageOption extends Option { @Override public void getLaunchArgument(LaunchConfig config, VMProperty property) { - config.addVariable(VAR_DRIVE, "\"file=${vms_path}/${vm_name}" + config.addVariable(OPTION_KEY.VAR_DRIVE, "\"file=${vms_path}/${vm_name}" + "/emulimg-${vm_name}.x86" + ",if=none,index=1,cache.no-flush=on\""); - config.addVariable(VAR_SWAP, "\"file=${vms_path}/${vm_name}" + config.addVariable(OPTION_KEY.VAR_SWAP, "\"file=${vms_path}/${vm_name}" + "/swap-${vm_name}.img" + ",if=none,index=2\""); - config.addQemuOption("-drive", varForm(VAR_DRIVE) + ",id=drive"); + config.addQemuOption("-drive", varForm(OPTION_KEY.VAR_DRIVE.toString()) + ",id=drive"); config.addQemuOption("-device", "virtio-blk-pci,drive=drive"); - config.addQemuOption("-drive", varForm(VAR_SWAP) + ",id=swap"); + config.addQemuOption("-drive", varForm(OPTION_KEY.VAR_SWAP.toString()) + ",id=swap"); config.addQemuOption("-device", "virtio-blk-pci,drive=swap"); } diff --git a/src/org/tizen/emulator/manager/vms/option/CommonOption.java b/src/org/tizen/emulator/manager/vms/option/CommonOption.java index d5ae563..8f09775 100644 --- a/src/org/tizen/emulator/manager/vms/option/CommonOption.java +++ b/src/org/tizen/emulator/manager/vms/option/CommonOption.java @@ -42,14 +42,14 @@ public class CommonOption extends Option { throws VMLauncherException { // Add variables - config.addVariable(VAR_VMS_PATH, FilePathResources.getTizenVmsPath()); + config.addVariable(OPTION_KEY.VAR_VMS_PATH, FilePathResources.getTizenVmsPath()); // kernel log config.addKernelOption("console", "ttyS0"); - config.addVariable(VAR_KERNEL_LOG, varForm(VAR_VMS_PATH) - + File.separator + varForm(VAR_VM_NAME) + File.separator + config.addVariable(OPTION_KEY.VAR_KERNEL_LOG, varForm(OPTION_KEY.VAR_VMS_PATH.toString()) + + File.separator + varForm(OPTION_KEY.VAR_VM_NAME.toString()) + File.separator + "logs" + File.separator + "emulator.klog"); - config.addQemuOption("-chardev", "file,path=" + varForm(VAR_KERNEL_LOG) + config.addQemuOption("-chardev", "file,path=" + varForm(OPTION_KEY.VAR_KERNEL_LOG.toString()) + ",id=con0"); config.addQemuOption("-device isa-serial,chardev=con0"); config.addQemuOption("-device virtio-serial"); @@ -68,16 +68,16 @@ public class CommonOption extends Option { String emulatorPath = property.getPropertyValue().baseImage.getPlatform().getEmulatorPath(); // bios - config.addVariable(VAR_BIOS_PATH, FilePathResources.getEmulatorBiosPath(emulatorPath)); - config.addQemuOption("-L", varForm(VAR_BIOS_PATH)); + config.addVariable(OPTION_KEY.VAR_BIOS_PATH, FilePathResources.getEmulatorBiosPath(emulatorPath)); + config.addQemuOption("-L", varForm(OPTION_KEY.VAR_BIOS_PATH.toString())); // kernel image - config.addVariable(VAR_KERNEL, FilePathResources.getEmulatorKernelPath(emulatorPath) + config.addVariable(OPTION_KEY.VAR_KERNEL, FilePathResources.getEmulatorKernelPath(emulatorPath) + File.separator + "bzImage." + property.getArch().toString()); - config.addQemuOption("-kernel", varForm(VAR_KERNEL)); + config.addQemuOption("-kernel", varForm(OPTION_KEY.VAR_KERNEL.toString())); // kernel - config.addQemuOption("-append", varForm(VAR_APPEND)); + config.addQemuOption("-append", varForm(OPTION_KEY.VAR_APPEND.toString())); } diff --git a/src/org/tizen/emulator/manager/vms/option/DisplayOption.java b/src/org/tizen/emulator/manager/vms/option/DisplayOption.java index 676edd7..47004a4 100644 --- a/src/org/tizen/emulator/manager/vms/option/DisplayOption.java +++ b/src/org/tizen/emulator/manager/vms/option/DisplayOption.java @@ -53,17 +53,17 @@ public class DisplayOption extends Option { .getDensity().getValue(); if (skinPath != null) { - config.addVariable(VAR_SKIN_PATH, skinPath); + config.addVariable(OPTION_KEY.VAR_SKIN_PATH, skinPath); } - config.addVariable(VAR_RESOLUTION, width + "x" + height); - config.addVariable(VAR_VMS_PATH, FilePathResources.getTizenVmsPath()); + config.addVariable(OPTION_KEY.VAR_RESOLUTION, width + "x" + height); + config.addVariable(OPTION_KEY.VAR_VMS_PATH, FilePathResources.getTizenVmsPath()); - config.addSkinOption("skin.path", varForm(VAR_SKIN_PATH)); - config.addSkinOption("resolution", varForm(VAR_RESOLUTION)); - config.addSkinOption("vm.path", varForm(VAR_VMS_PATH) + File.separator - + varForm(VAR_VM_NAME)); + config.addSkinOption("skin.path", varForm(OPTION_KEY.VAR_SKIN_PATH.toString())); + config.addSkinOption("resolution", varForm(OPTION_KEY.VAR_RESOLUTION.toString())); + config.addSkinOption("vm.path", varForm(OPTION_KEY.VAR_VMS_PATH.toString()) + File.separator + + varForm(OPTION_KEY.VAR_VM_NAME.toString())); - config.addKernelOption("video", "LVDS-1:" + varForm(VAR_RESOLUTION) + config.addKernelOption("video", "LVDS-1:" + varForm(OPTION_KEY.VAR_RESOLUTION.toString()) + "-32@60"); config.addKernelOption("dpi", String.valueOf(dpi * 10)); diff --git a/src/org/tizen/emulator/manager/vms/option/LaunchConfig.java b/src/org/tizen/emulator/manager/vms/option/LaunchConfig.java index 8b5c988..48d1ddb 100644 --- a/src/org/tizen/emulator/manager/vms/option/LaunchConfig.java +++ b/src/org/tizen/emulator/manager/vms/option/LaunchConfig.java @@ -50,18 +50,18 @@ public class LaunchConfig { List skinOptions = new ArrayList(); List qemuOptions = new ArrayList(); List kernelOptions = new ArrayList(); - Map variables = new HashMap(); - Map varComment = new HashMap(); + Map variables = new HashMap(); + Map varComment = new HashMap(); public static String DEFAULT_VALUE = "[[VARIABLES]]"; public static String SKIN_OPTIONS = "[[SKIN_OPTIONS]]"; public static String QEMU_OPTIONS = "[[QEMU_OPTIONS]]"; - public void addVariable(String key, String value) { + public void addVariable(OPTION_KEY key, String value) { variables.put(key, value); } - public void addVariable(String key, String value, String comment) { + public void addVariable(OPTION_KEY key, String value, String comment) { if (comment != null && !comment.isEmpty()) { varComment.put(key, comment); } @@ -124,13 +124,16 @@ public class LaunchConfig { bw.write(DEFAULT_VALUE); bw.newLine(); String comment = null; - for (String str : variables.keySet()) { - if ( (comment = varComment.get(str)) != null) { + String var = null; + for (OPTION_KEY key : OPTION_KEY.values()) { + if ( (comment = varComment.get(key)) != null) { bw.write(comment); bw.newLine(); } - bw.write(str + "=" + variables.get(str)); - bw.newLine(); + if ((var = variables.get(key)) != null) { + bw.write(key.toString() + "=" + var); + bw.newLine(); + } } String kernelOption = ""; for (String str : kernelOptions) { @@ -138,7 +141,7 @@ public class LaunchConfig { kernelOption += (str + " "); } } - bw.write(Option.VAR_APPEND + "=\"" + kernelOption.trim() + "\""); + bw.write(OPTION_KEY.VAR_APPEND.toString() + "=\"" + kernelOption.trim() + "\""); bw.newLine(); // Write skin options. diff --git a/src/org/tizen/emulator/manager/vms/option/NetProxyOption.java b/src/org/tizen/emulator/manager/vms/option/NetProxyOption.java index aa26c6e..48eed0b 100644 --- a/src/org/tizen/emulator/manager/vms/option/NetProxyOption.java +++ b/src/org/tizen/emulator/manager/vms/option/NetProxyOption.java @@ -89,8 +89,8 @@ public class NetProxyOption extends Option { } if (proxyConfig != null) { - config.addVariable(VAR_NETWORK_PROXY, "\"" + proxyConfig + "\"", comment); - config.addKernelOption(varForm(VAR_NETWORK_PROXY)); + config.addVariable(OPTION_KEY.VAR_NETWORK_PROXY, "\"" + proxyConfig + "\"", comment); + config.addKernelOption(varForm(OPTION_KEY.VAR_NETWORK_PROXY.toString())); } } diff --git a/src/org/tizen/emulator/manager/vms/option/NetworkOption.java b/src/org/tizen/emulator/manager/vms/option/NetworkOption.java index f5a3ad1..597cc85 100644 --- a/src/org/tizen/emulator/manager/vms/option/NetworkOption.java +++ b/src/org/tizen/emulator/manager/vms/option/NetworkOption.java @@ -62,8 +62,8 @@ public class NetworkOption extends Option { config.addQemuOption("-netdev", "tap,id=net0,script=/etc/emulator-ifup.sh,downscript=no"); } netArgument = "virtio-net-pci,netdev=net0"; - config.addVariable(VAR_MAC, getMacAddr(isBridge, property)); - netArgument += ",mac=" + varForm(VAR_MAC); + config.addVariable(OPTION_KEY.VAR_MAC, getMacAddr(isBridge, property)); + netArgument += ",mac=" + varForm(OPTION_KEY.VAR_MAC.toString()); } else { config.addQemuOption("-netdev", "user,id=net0"); diff --git a/src/org/tizen/emulator/manager/vms/option/OPTION_KEY.java b/src/org/tizen/emulator/manager/vms/option/OPTION_KEY.java new file mode 100644 index 0000000..adc0cf9 --- /dev/null +++ b/src/org/tizen/emulator/manager/vms/option/OPTION_KEY.java @@ -0,0 +1,62 @@ +/* + * Emulator Manager + * + * Copyright (C) 2015 Samsung Electronics Co., Ltd. All rights reserved. + * + * Contact: + * JiHye Kim + * Minkee Lee + * SeokYeon Hwang + * Sangho Park + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * Contributors: + * - S-Core Co., Ltd + * + */ + +package org.tizen.emulator.manager.vms.option; + +public enum OPTION_KEY { + VAR_VM_NAME("vm_name"), + VAR_VMS_PATH("vms_path"), + VAR_SDK_PATH("sdk_path"), + VAR_DRIVE("drive"), + VAR_SWAP("swap"), + VAR_SKIN_PATH("skin_path"), + VAR_RESOLUTION("resolution"), + VAR_PROCESS_NUM("process_num"), + VAR_RAM("ram"), + VAR_MAX_POINT("max_point"), + VAR_SENSORS("sensors"), + VAR_JACKS("jacks"), + VAR_NETWORK_PROXY("network_proxy"), + VAR_MAC("mac"), + VAR_BIOS_PATH("bios_path"), + VAR_KERNEL("kernel"), + VAR_KERNEL_LOG("kernel_log"), + VAR_APPEND("append"); + + String variable; + OPTION_KEY(String var) { + this.variable = var; + } + + @Override + public String toString() { + return variable; + } +} diff --git a/src/org/tizen/emulator/manager/vms/option/Option.java b/src/org/tizen/emulator/manager/vms/option/Option.java index 34bc955..f66a193 100644 --- a/src/org/tizen/emulator/manager/vms/option/Option.java +++ b/src/org/tizen/emulator/manager/vms/option/Option.java @@ -37,26 +37,6 @@ import org.tizen.emulator.manager.vms.VMProperty; import org.tizen.emulator.manager.vms.helper.VMLauncherException; public abstract class Option implements IOption { - - public static String VAR_VM_NAME = "vm_name"; - public static String VAR_VMS_PATH = "vms_path"; - public static String VAR_SDK_PATH = "sdk_path"; - public static String VAR_DRIVE = "drive"; - public static String VAR_SWAP = "swap"; - public static String VAR_SKIN_PATH = "skin_path"; - public static String VAR_RESOLUTION = "resolution"; - public static String VAR_PROCESS_NUM = "process_num"; - public static String VAR_RAM = "ram"; - public static String VAR_MAX_POINT = "max_point"; - public static String VAR_SENSORS = "sensors"; - public static String VAR_JACKS = "jacks"; - public static String VAR_MAC = "mac"; - public static String VAR_BIOS_PATH = "bios_path"; - public static String VAR_KERNEL = "kernel"; - public static String VAR_KERNEL_LOG = "kernel_log"; - public static String VAR_APPEND = "append"; - public static String VAR_NETWORK_PROXY = "network_proxy"; - private static Map, IOption> instanceMap = new HashMap, IOption>(); public static IOption getInstance(Class type) { diff --git a/src/org/tizen/emulator/manager/vms/option/ProcessorOption.java b/src/org/tizen/emulator/manager/vms/option/ProcessorOption.java index 24da9df..98bc644 100644 --- a/src/org/tizen/emulator/manager/vms/option/ProcessorOption.java +++ b/src/org/tizen/emulator/manager/vms/option/ProcessorOption.java @@ -40,8 +40,8 @@ public class ProcessorOption extends Option { @Override public void getLaunchArgument(LaunchConfig config, VMProperty property) { - config.addVariable(VAR_PROCESS_NUM, String.valueOf(getCpuNum(property))); - config.addQemuOption("-smp", varForm(VAR_PROCESS_NUM)); + config.addVariable(OPTION_KEY.VAR_PROCESS_NUM, String.valueOf(getCpuNum(property))); + config.addQemuOption("-smp", varForm(OPTION_KEY.VAR_PROCESS_NUM.toString())); } @Override diff --git a/src/org/tizen/emulator/manager/vms/option/RamSizeOption.java b/src/org/tizen/emulator/manager/vms/option/RamSizeOption.java index 53f693e..fe37559 100644 --- a/src/org/tizen/emulator/manager/vms/option/RamSizeOption.java +++ b/src/org/tizen/emulator/manager/vms/option/RamSizeOption.java @@ -36,8 +36,8 @@ public class RamSizeOption extends Option { public void getLaunchArgument(LaunchConfig config, VMProperty property) { int ramSize = property.getConfiguration().getDevice().getRAM() .getSize().getValue(); - config.addVariable(VAR_RAM, String.valueOf(ramSize)); - config.addQemuOption("-m", varForm(VAR_RAM)); + config.addVariable(OPTION_KEY.VAR_RAM, String.valueOf(ramSize)); + config.addQemuOption("-m", varForm(OPTION_KEY.VAR_RAM.toString())); } } diff --git a/src/org/tizen/emulator/manager/vms/option/TouchPointOption.java b/src/org/tizen/emulator/manager/vms/option/TouchPointOption.java index acf5682..0a89be9 100644 --- a/src/org/tizen/emulator/manager/vms/option/TouchPointOption.java +++ b/src/org/tizen/emulator/manager/vms/option/TouchPointOption.java @@ -38,11 +38,11 @@ public class TouchPointOption extends Option { TouchType touchType = property.getConfiguration().getDevice() .getTouch(); if (touchType != null) { - config.addVariable(VAR_MAX_POINT, + config.addVariable(OPTION_KEY.VAR_MAX_POINT, String.valueOf(touchType.getMaxTouchPoint())); } config.addQemuOption("-device", "virtio-touchscreen-pci,max_point=" - + varForm(VAR_MAX_POINT)); + + varForm(OPTION_KEY.VAR_MAX_POINT.toString())); } } diff --git a/src/org/tizen/emulator/manager/vms/option/VMNameOption.java b/src/org/tizen/emulator/manager/vms/option/VMNameOption.java index 231ca89..1e82477 100644 --- a/src/org/tizen/emulator/manager/vms/option/VMNameOption.java +++ b/src/org/tizen/emulator/manager/vms/option/VMNameOption.java @@ -35,8 +35,8 @@ public class VMNameOption extends Option{ @Override public void getLaunchArgument(LaunchConfig config, VMProperty property) { - config.addVariable(VAR_VM_NAME, property.getPropertyValue().vmsName); - config.addKernelOption("vm_name", varForm(VAR_VM_NAME)); + config.addVariable(OPTION_KEY.VAR_VM_NAME, property.getPropertyValue().vmsName); + config.addKernelOption("vm_name", varForm(OPTION_KEY.VAR_VM_NAME.toString())); } } -- 2.7.4