From e5527a7fb76c349803c31c32e7eab06f4c10cd08 Mon Sep 17 00:00:00 2001 From: Minkee Lee Date: Tue, 2 Feb 2016 13:52:25 +0900 Subject: [PATCH] template: convert old template Convert old template to common template structure. It is needed to find specific item in template. Change-Id: Ia3ad5657e86cd32287963c075596b615ed9d9c05 Signed-off-by: Minkee Lee --- .../tizen/emulator/manager/template/ITemplate.java | 2 + .../tizen/emulator/manager/template/Template1.java | 69 +++++++++++++++++++++- .../tizen/emulator/manager/template/Template2.java | 6 ++ .../emulator/manager/template/TemplateLoader.java | 6 ++ 4 files changed, 82 insertions(+), 1 deletion(-) diff --git a/src/org/tizen/emulator/manager/template/ITemplate.java b/src/org/tizen/emulator/manager/template/ITemplate.java index 1ed2406..9191505 100644 --- a/src/org/tizen/emulator/manager/template/ITemplate.java +++ b/src/org/tizen/emulator/manager/template/ITemplate.java @@ -33,6 +33,7 @@ package org.tizen.emulator.manager.template; import java.util.List; import org.tizen.emulator.manager.plugin.EMPlugin; +import org.tizen.emulator.manager.template.renewal.VMTemplate; import org.tizen.emulator.manager.ui.detail.item.IViewItem; import org.tizen.emulator.manager.vms.option.IOption; @@ -44,4 +45,5 @@ public interface ITemplate { public void setXMLObject(Object obj); public Object getXMLObject(); public boolean isValidTemplate(); + public VMTemplate convertTemplate(); } diff --git a/src/org/tizen/emulator/manager/template/Template1.java b/src/org/tizen/emulator/manager/template/Template1.java index 880f581..b084c57 100644 --- a/src/org/tizen/emulator/manager/template/Template1.java +++ b/src/org/tizen/emulator/manager/template/Template1.java @@ -35,11 +35,20 @@ import java.util.List; import org.tizen.emulator.manager.plugin.EMPlugin; import org.tizen.emulator.manager.plugin.PluginStringResources; +import org.tizen.emulator.manager.template.renewal.VMItem; +import org.tizen.emulator.manager.template.renewal.VMItemGroup; +import org.tizen.emulator.manager.template.renewal.VMItemOption; +import org.tizen.emulator.manager.template.renewal.VMTemplate; import org.tizen.emulator.manager.ui.detail.item.IItemListFactory; import org.tizen.emulator.manager.ui.detail.item.IViewItem; +import org.tizen.emulator.manager.ui.renewal.item.ItemName; +import org.tizen.emulator.manager.ui.renewal.item.OptionName; import org.tizen.emulator.manager.vms.option.IOption; import org.tizen.emulator.manager.vms.option.IOptionFactory; +import org.tizen.emulator.manager.vms.xml.template.Item; import org.tizen.emulator.manager.vms.xml.template.ItemList; +import org.tizen.emulator.manager.vms.xml.template.Option; + public class Template1 implements ITemplate { @@ -70,7 +79,6 @@ public class Template1 implements ITemplate { } } - @Override public List makeOptionList(EMPlugin plugin) { if (template != null && plugin != null) { @@ -113,5 +121,64 @@ public class Template1 implements ITemplate { return true; } + @Override + public VMTemplate convertTemplate() { + VMTemplate vmTemplate = new VMTemplate(); + + // set image name, profile + vmTemplate.setImageName(template.getImage()); + vmTemplate.setProfile(template.getProfile()); + + // check item group + VMItemGroup vmItemGroup = new VMItemGroup(); + vmItemGroup.setName(ItemName.GROUP_DEFAULT); + addItems(vmItemGroup, template.getPropertyList().getItem()); + addItems(vmItemGroup, template.getDeviceList().getItem()); + vmTemplate.getVmItemGroups().add(vmItemGroup); + + return vmTemplate; + } + + private void addItems(VMItemGroup group, List itemList){ + boolean isExperimental = false; + for (Item item : itemList) { + if(item.getName().equals(OptionName.EXPERIMENTAL)) { + isExperimental = true; // This affects to next all-items. + } + group.getItems().add(convertItem(item, isExperimental)); + } + } + + private VMItem convertItem(Item item, boolean isExperimental) { + VMItem vmItem = new VMItem(); + vmItem.setName(item.getName()); + vmItem.setTitle(item.getTitle()); + vmItem.setType(item.getType()); + + // check options + for (Option option : item.getOption()) { + VMItemOption vmOption = new VMItemOption(); + vmOption.setName(option.getName()); + vmOption.setValue(option.getValue()); + vmItem.getOptions().add(vmOption); + } + + // set experimental + if (isExperimental) { + VMItemOption vmOption = new VMItemOption(); + vmOption.setName(OptionName.EXPERIMENTAL); + vmOption.setValue(OptionName.VALUE_TRUE); + vmItem.getOptions().add(vmOption); + } + + // check sub items + for (Item subItem : item.getItem()) { + vmItem.getSubItems().add(convertItem(subItem, false)); + } + return vmItem; + } + + + } diff --git a/src/org/tizen/emulator/manager/template/Template2.java b/src/org/tizen/emulator/manager/template/Template2.java index f3e3b8c..cad2c0b 100644 --- a/src/org/tizen/emulator/manager/template/Template2.java +++ b/src/org/tizen/emulator/manager/template/Template2.java @@ -34,6 +34,7 @@ import java.util.ArrayList; import java.util.List; import org.tizen.emulator.manager.plugin.EMPlugin; +import org.tizen.emulator.manager.template.renewal.VMTemplate; import org.tizen.emulator.manager.ui.detail.item.IViewItem; import org.tizen.emulator.manager.vms.option.IOption; import org.tizen.emulator.manager.vms.xml.template.v2.ItemList; @@ -101,4 +102,9 @@ public class Template2 implements ITemplate { return true; } + @Override + public VMTemplate convertTemplate() { + return new VMTemplate(); + } + } diff --git a/src/org/tizen/emulator/manager/template/TemplateLoader.java b/src/org/tizen/emulator/manager/template/TemplateLoader.java index af8fff5..ac7be05 100644 --- a/src/org/tizen/emulator/manager/template/TemplateLoader.java +++ b/src/org/tizen/emulator/manager/template/TemplateLoader.java @@ -48,6 +48,7 @@ import org.tizen.emulator.manager.platform.Platform; import org.tizen.emulator.manager.platform.PlatformStringResources; import org.tizen.emulator.manager.resources.FilePathResources; import org.tizen.emulator.manager.resources.StringResources; +import org.tizen.emulator.manager.template.renewal.VMTemplate; import org.tizen.emulator.manager.vms.VMProperty; import org.tizen.emulator.manager.vms.xml.template.ItemList; @@ -170,9 +171,14 @@ public class TemplateLoader { } platform.getItemTemplateList().add(template); + // add VMTemplate list + VMTemplate vmTemplate = template.convertTemplate(); + platform.getTemplateList().add(vmTemplate); + // setting default item list if (f.getName().contains(PlatformStringResources.STANDARD)) { platform.setDefaultItemTemplate(template); + platform.setDefaultTemplate(vmTemplate); } } -- 2.7.4