From 25fd7d40a91bf4a8ac579c0d64c30c9ef07be89e Mon Sep 17 00:00:00 2001 From: "jihye424.kim" Date: Tue, 16 Jun 2015 13:12:18 +0900 Subject: [PATCH] Item List: modify making item list function - add 'find item' function Change-Id: Iad89d917b41b181d0373ef3401b2ae0f78667285 Signed-off-by: jihye424.kim --- .../emulator/manager/ui/detail/DetailViewPage.java | 3 - .../emulator/manager/ui/detail/PInfoViewPage.java | 7 +- .../manager/ui/detail/PModifyViewPage.java | 6 +- .../ui/detail/item/CommonItemListFactory.java | 379 +++++++-------------- .../manager/ui/detail/item/IItemListFactory.java | 4 +- 5 files changed, 134 insertions(+), 265 deletions(-) diff --git a/src/org/tizen/emulator/manager/ui/detail/DetailViewPage.java b/src/org/tizen/emulator/manager/ui/detail/DetailViewPage.java index e684562..64a03c7 100644 --- a/src/org/tizen/emulator/manager/ui/detail/DetailViewPage.java +++ b/src/org/tizen/emulator/manager/ui/detail/DetailViewPage.java @@ -297,9 +297,6 @@ public abstract class DetailViewPage { class ViewItemList { ExtensionItem exItem; Composite comp; -// ArrayList itemList; -// ArrayList itemList; -// ArrayList itemList; Platform platform; String imageName; boolean isCustom; diff --git a/src/org/tizen/emulator/manager/ui/detail/PInfoViewPage.java b/src/org/tizen/emulator/manager/ui/detail/PInfoViewPage.java index 56a50fd..d948d85 100644 --- a/src/org/tizen/emulator/manager/ui/detail/PInfoViewPage.java +++ b/src/org/tizen/emulator/manager/ui/detail/PInfoViewPage.java @@ -339,17 +339,16 @@ class InfoViewItemList extends ViewItemList{ InfoViewItemList(ExtensionItem item, Composite parent, ItemList template, Platform platform, String imageName, boolean isCustom) { super(item, platform, imageName, isCustom); - makeItemList(parent, template, isCustom); + makeItemList(parent, template); initItemList(parent); } - private void makeItemList(Composite parent, ItemList templateList, boolean isCustom) { + private void makeItemList(Composite parent, ItemList templateList) { IItemListFactory f = (IItemListFactory)(exItem.getInstance()); itemList = new ArrayList(); if (f != null) { - f.makeItemList(itemList, templateList, isCustom); + f.makeItemList(itemList, templateList); } -// itemList = f.getInfoItemList(deviceItemList); } private void initItemList(Composite parent){ diff --git a/src/org/tizen/emulator/manager/ui/detail/PModifyViewPage.java b/src/org/tizen/emulator/manager/ui/detail/PModifyViewPage.java index 0dc7691..07df900 100644 --- a/src/org/tizen/emulator/manager/ui/detail/PModifyViewPage.java +++ b/src/org/tizen/emulator/manager/ui/detail/PModifyViewPage.java @@ -478,18 +478,18 @@ class ModifyViewItemList extends ViewItemList{ ModifyViewItemList(ExtensionItem item, PModifyViewPage page, ItemList template ,Platform platform, String imageName, boolean isCustom) { super(item, platform, imageName, isCustom); - makeItemList(page, template, isCustom); + makeItemList(template); initItemList(page); } - private void makeItemList(PModifyViewPage page, ItemList deviceItemList, boolean isCustom) { + private void makeItemList(ItemList deviceItemList) { if (exItem == null) { // TODO } else { IItemListFactory f = (IItemListFactory)(exItem.createInstance()); itemList = new ArrayList(); if (f != null) { - f.makeItemList(itemList, deviceItemList, isCustom); + f.makeItemList(itemList, deviceItemList); } } } diff --git a/src/org/tizen/emulator/manager/ui/detail/item/CommonItemListFactory.java b/src/org/tizen/emulator/manager/ui/detail/item/CommonItemListFactory.java index 8bf2d68..192f195 100644 --- a/src/org/tizen/emulator/manager/ui/detail/item/CommonItemListFactory.java +++ b/src/org/tizen/emulator/manager/ui/detail/item/CommonItemListFactory.java @@ -32,17 +32,23 @@ package org.tizen.emulator.manager.ui.detail.item; -import java.util.ArrayList; -import java.util.HashSet; import java.util.List; -import java.util.Set; import org.tizen.emulator.manager.EmulatorManager; +import org.tizen.emulator.manager.EmulatorManager.ManagerModeType; import org.tizen.emulator.manager.ui.detail.item.property.BaseImageViewItem; +import org.tizen.emulator.manager.ui.detail.item.property.CameraViewItem; import org.tizen.emulator.manager.ui.detail.item.property.DisplayViewItem; import org.tizen.emulator.manager.ui.detail.item.property.FileShareViewItem; import org.tizen.emulator.manager.ui.detail.item.property.HWSupportViewItem; import org.tizen.emulator.manager.ui.detail.item.property.MaxTouchViewItem; +import org.tizen.emulator.manager.ui.detail.item.property.NetConnectTypeViewItem; +import org.tizen.emulator.manager.ui.detail.item.property.NetDnsViewItem; +import org.tizen.emulator.manager.ui.detail.item.property.NetIPInfoViewItem; +import org.tizen.emulator.manager.ui.detail.item.property.NetMacViewItem; +import org.tizen.emulator.manager.ui.detail.item.property.NetProxyViewItem; +import org.tizen.emulator.manager.ui.detail.item.property.NetTapDeviceViewItem; +import org.tizen.emulator.manager.ui.detail.item.property.NetTapDeviceViewItemWin; import org.tizen.emulator.manager.ui.detail.item.property.ProcessorViewItem; import org.tizen.emulator.manager.ui.detail.item.property.RamSizeItem; import org.tizen.emulator.manager.ui.detail.item.property.SuspendSupportViewItem; @@ -53,9 +59,9 @@ import org.tizen.emulator.manager.ui.detail.item.template.FileViewItem; import org.tizen.emulator.manager.ui.detail.item.template.LabelViewItem; import org.tizen.emulator.manager.ui.detail.item.template.OnOffViewItem; import org.tizen.emulator.manager.ui.detail.item.template.TextViewItem; +import org.tizen.emulator.manager.vms.helper.CheckingRunningEmulator; import org.tizen.emulator.manager.vms.xml.template.DeviceList; 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.ObjectFactory; import org.tizen.emulator.manager.vms.xml.template.Option; import org.tizen.emulator.manager.vms.xml.template.PropertyList; @@ -78,309 +84,178 @@ public abstract class CommonItemListFactory implements IItemListFactory{ public static String ITEM_NET_IP_INFO = "netIpInfo"; public static String ITEM_NET_DNS = "netDns"; public static String ITEM_NET_MAC = "netMac"; + public static String ITEM_EXPERIMENTAL = "experimental"; public static String ITEM_CAMERA = "camera"; public static ObjectFactory factory = new ObjectFactory(); - // Override if need. - public void makePropertyItemList(List list, PropertyList propertyList, - String profile, boolean isStandard) { - if (propertyList != null) { - @SuppressWarnings("unchecked") - List itemList = (List)list; - List propertyItemList = propertyList.getItem(); - LineLabelViewItem currentLineLabel = null; // Top categorizing item + protected LineLabelViewItem currentLineLabel = null; // Top categorizing item + protected boolean isExperimentalLabel = false; - for (Item item : propertyItemList) { - String type = item.getType(); - String itemName = item.getName(); + // Override if need + public IViewItem findPropertyItem(Item item) { + if (item == null) { + return null; + } - if (type.equals(ItemType.LINE_LABEL.getName())) { // Top categorizing item - currentLineLabel = new LineLabelViewItem(item); - itemList.add(currentLineLabel); - continue; - } + String type = item.getType(); + String itemName = item.getName(); - if (checkExperimental(item) && !EmulatorManager.isInhouseMode()) { - continue; - } + if (type.equals(ItemType.LINE_LABEL.getName())) { // Top categorizing item + currentLineLabel = new LineLabelViewItem(item); + return currentLineLabel; + } - if (itemName.equals(ITEM_VM_NAME)) { - itemList.add(new VMNameViewItem(item, currentLineLabel)); + if (itemName.equals(ITEM_VM_NAME)) { + return new VMNameViewItem(item, currentLineLabel); - } else if (itemName.equals(ITEM_BASE_IMAGE)) { - itemList.add(new BaseImageViewItem(item, currentLineLabel)); + } else if (itemName.equals(ITEM_BASE_IMAGE)) { + return new BaseImageViewItem(item, currentLineLabel); - } else if (itemName.equals(ITEM_DISPLAY)) { - itemList.add(new DisplayViewItem(item, currentLineLabel)); + } else if (itemName.equals(ITEM_DISPLAY)) { + return new DisplayViewItem(item, currentLineLabel); - } else if (itemName.equals(ITEM_PROCESSORS)) { - itemList.add(new ProcessorViewItem(item, currentLineLabel)); + } else if (itemName.equals(ITEM_PROCESSORS)) { + return new ProcessorViewItem(item, currentLineLabel); - } else if (itemName.equals(ITEM_RAM_SIZE)) { - itemList.add(new RamSizeItem(item, currentLineLabel)); + } else if (itemName.equals(ITEM_RAM_SIZE)) { + return new RamSizeItem(item, currentLineLabel); - } else if (itemName.equals(ITEM_MAX_TOUCH)) { - itemList.add(new MaxTouchViewItem(item, currentLineLabel)); + } else if (itemName.equals(ITEM_MAX_TOUCH)) { + return new MaxTouchViewItem(item, currentLineLabel); - } else if (itemName.equals(ITEM_SUSPEND_SUPPORT)) { - itemList.add(new SuspendSupportViewItem(item, currentLineLabel)); + } else if (itemName.equals(ITEM_FILE_SHARE)) { + return new FileShareViewItem(item, currentLineLabel); - } else if (itemName.equals(ITEM_FILE_SHARE)) { - itemList.add(new FileShareViewItem(item, currentLineLabel)); + } else if (itemName.equals(ITEM_HW_SUPPORT)) { + return new HWSupportViewItem(item, currentLineLabel); + + } else if (itemName.equals(ITEM_SUSPEND_SUPPORT)) { + return new SuspendSupportViewItem(item, currentLineLabel); - } else if (itemName.equals(ITEM_HW_SUPPORT)) { - itemList.add(new HWSupportViewItem(item, currentLineLabel)); - } - } } + + return null; } // Override if need - public void makeDeviceItemList(List list, DeviceList deviceList) { - - if (deviceList != null) { - @SuppressWarnings("unchecked") - List itemList = (List)list; - List deviceItemList = deviceList.getItem(); - LineLabelViewItem currentLineLabel = null; // Top categorizing item + public IViewItem findDeviceItem (Item item) { + if (item == null) { + return null; + } - for (Item item : deviceItemList) { - String type = item.getType(); + String name = item.getName(); + String type = item.getType(); - if (type.equals(ItemType.LINE_LABEL.getName())) { // Top categorizing item + if (name.equals(CheckingRunningEmulator.OPTION_VIEWER)) { + if (EmulatorManager.isLinux()) { + return new LabelViewItem(item, currentLineLabel); + } + } else if (type.equals(ItemType.LINE_LABEL.getName())) { // Top categorizing item + if (name.equals(ITEM_EXPERIMENTAL)) { + isExperimentalLabel = true; + if (EmulatorManager.getManagerMode() == ManagerModeType.INHOUSE_MODE) { currentLineLabel = new LineLabelViewItem(item); - itemList.add(currentLineLabel); - - } else if (type.equals(ItemType.TOGGLE.getName())) { - itemList.add(new OnOffViewItem(item, currentLineLabel)); - - } else if (type.equals(ItemType.LABEL.getName())) { - itemList.add(new LabelViewItem(item, currentLineLabel)); - - } else if (type.equals(ItemType.COMBO.getName())) { - itemList.add(new ComboViewItem(item, currentLineLabel)); - - } else if (type.equals(ItemType.FILE.getName())) { - itemList.add(new FileViewItem(item, currentLineLabel)); - - } else if (type.equals(ItemType.CHECK_LABEL.getName())) { - itemList.add(new CheckLabelViewItem(item, currentLineLabel)); - - } else if (type.equals(ItemType.TEXT.getName())) { - itemList.add(new TextViewItem(item, currentLineLabel)); + return currentLineLabel; } + } else { + currentLineLabel = new LineLabelViewItem(item); + isExperimentalLabel = false; + return currentLineLabel; } - } - } + } else if (name.equals(ITEM_NET_CONNECT_TYPE)) { + return new NetConnectTypeViewItem(item, currentLineLabel); - // Override if need - public void makeCustomDeviceItemList(List list, List templateList) { - if (templateList == null || templateList.size() == 0 ) { - return; - } + } else if (name.equals(ITEM_NET_TAP_DEVICE)) { + if (EmulatorManager.isWin()) { + return new NetTapDeviceViewItemWin(item, currentLineLabel); - if (templateList.size() == 1) { - ItemList item = templateList.get(0); - makePropertyItemList(list, item.getPropertyList(), item.getProfile(), false); - makeDeviceItemList(list, item.getDeviceList()); - return; - } + } else { + return new NetTapDeviceViewItem(item, currentLineLabel); - // Make union set - if (templateList.size() > 1) { - ItemList base = cloneTemplate(templateList.get(0)); - for (int i=1 ; i < templateList.size() ; i++) { - addToBase(base,templateList.get(i)); } - makePropertyItemList(list, base.getPropertyList(), base.getProfile(), false); - makeDeviceItemList(list, base.getDeviceList()); - } - } + } else if (name.equals(ITEM_NET_PROXY)) { + return new NetProxyViewItem(item, currentLineLabel); - private void addToBase(ItemList base, ItemList newOne) { - // Property list add - PropertyList newPropertyList = newOne.getPropertyList(); - PropertyList basePropertyList = base.getPropertyList(); - if (newPropertyList != null) { - if (basePropertyList == null) { - basePropertyList = factory.createPropertyList(); - base.setPropertyList(basePropertyList); - } - for (Item newItem : newPropertyList.getItem()) { - boolean itemExistInBase = false; - for (Item baseItem : basePropertyList.getItem()) { - if (baseItem.getName().equals(newItem.getName())) { - itemExistInBase = true; - joinItem(baseItem, newItem); - } - } - if (!itemExistInBase) { - basePropertyList.getItem().add(cloneItem(newItem)); - } - } - } + } else if (name.equals(ITEM_NET_IP_INFO)) { + return new NetIPInfoViewItem(item, currentLineLabel); - // Device list add - DeviceList newDeviceList = newOne.getDeviceList(); - DeviceList baseDeviceList = base.getDeviceList(); - if (newDeviceList != null) { - if (baseDeviceList == null) { - baseDeviceList = factory.createDeviceList(); - base.setDeviceList(baseDeviceList); - } - for (Item newItem : newDeviceList.getItem()) { - boolean itemExistInBase = false; - for (Item baseItem : baseDeviceList.getItem()) { - if (baseItem.getName().equals(newItem.getName())) { - itemExistInBase = true; - joinItem(baseItem, newItem); - } - } - if (!itemExistInBase) { - baseDeviceList.getItem().add(cloneItem(newItem)); - } - } - } - } + } else if (name.equals(ITEM_NET_DNS)) { + return new NetDnsViewItem(item, currentLineLabel); + } else if (name.equals(ITEM_NET_MAC)) { + return new NetMacViewItem(item, currentLineLabel); - private void joinItem(Item baseItem, Item newItem) { - // join sub items - for (Item newSub : newItem.getItem()) { - boolean itemExistInBase = false; - for (Item baseSub : baseItem.getItem()) { - if (baseSub.getName().equals(newSub.getName())) { - itemExistInBase = true; - joinItem(baseSub, newSub); - } - } - if (!itemExistInBase) { - baseItem.getItem().add(cloneItem(newSub)); - } - } - // join options - for (Option newOption : newItem.getOption()) { - boolean optionExistInBase = false; - for (Option baseOption : baseItem.getOption()) { - if (baseOption.getName().equals(newOption.getName())) { - optionExistInBase = true; - if (isListOption(baseOption, newOption)) { - joinOption(baseOption, newOption); - } - } - } + } else if (name.equals(ITEM_CAMERA)) { + return new CameraViewItem(item, currentLineLabel); - if (!optionExistInBase) { - baseItem.getOption().add(cloneOption(newOption)); - } - } + } else if (type.equals(ItemType.TOGGLE.getName())) { + return new OnOffViewItem(item, currentLineLabel); - } + } else if (type.equals(ItemType.LABEL.getName())) { + return new LabelViewItem(item, currentLineLabel); - private void joinOption(Option baseOption, Option newOption) { - baseOption.setValue(joinCommaString(baseOption.getValue(), newOption.getValue())); - } + } else if (type.equals(ItemType.COMBO.getName())) { + return new ComboViewItem(item, currentLineLabel); + } else if (type.equals(ItemType.FILE.getName())) { + return new FileViewItem(item, currentLineLabel); - private String joinCommaString(String base, String newOne) { - List optionList = new ArrayList(); - if (base != null) { - String[] split = base.split(","); - for (String str : split) { - optionList.add(str.trim()); - } - } - if (newOne != null) { - String[] split = newOne.split(","); - for (String str : split) { - optionList.add(str.trim()); - } - } + } else if (type.equals(ItemType.CHECK_LABEL.getName())) { + return new CheckLabelViewItem(item, currentLineLabel); - if (optionList.size() > 0) { - Set optionSet = new HashSet(); - optionSet.addAll(optionList); - optionList.clear(); - optionList.addAll(optionSet); -// Collections.sort(optionList); - StringBuilder sb = new StringBuilder(); - - for (int i=0 ; i list, PropertyList propertyList) { if (propertyList != null) { - PropertyList newPropertyList = factory.createPropertyList(); - newTemplate.setPropertyList(newPropertyList); + @SuppressWarnings("unchecked") + List itemList = (List)list; + List propertyItemList = propertyList.getItem(); + currentLineLabel = null; + IViewItem viewItem; - for (Item item : propertyList.getItem()) { - newPropertyList.getItem().add(cloneItem(item)); + for (Item item : propertyItemList) { + if (checkExperimental(item) + && EmulatorManager.getManagerMode() != ManagerModeType.INHOUSE_MODE) { + continue; + } + viewItem = findPropertyItem(item); + if (viewItem != null) { + itemList.add(viewItem); + } } } + } - // clone device list. - DeviceList deviceList = template.getDeviceList(); + // Override if need + public void makeDeviceItemList(List list, DeviceList deviceList) { if (deviceList != null) { - DeviceList newDeviceList = factory.createDeviceList(); - newTemplate.setDeviceList(newDeviceList); + @SuppressWarnings("unchecked") + List itemList = (List)list; + List deviceItemList = deviceList.getItem(); + currentLineLabel = null; + isExperimentalLabel = false; + IViewItem viewItem; - for (Item item : deviceList.getItem()) { - newDeviceList.getItem().add(cloneItem(item)); + for (Item item : deviceItemList) { + if (isExperimentalLabel + && EmulatorManager.getManagerMode() != ManagerModeType.INHOUSE_MODE) { + continue; + } + viewItem = findDeviceItem(item); + if (viewItem != null) { + itemList.add(viewItem); + } } } - - return newTemplate; - } - - private Item cloneItem(Item item) { - Item newItem = factory.createItem(); - newItem.setType(item.getType()); - newItem.setName(item.getName()); - newItem.setTitle(item.getTitle()); - - for (Option option : item.getOption()) { - newItem.getOption().add(cloneOption(option)); - } - - for (Item subItem : item.getItem()) { - newItem.getItem().add(cloneItem(subItem)); - } - - return newItem; - } - - private Option cloneOption(Option option) { - Option newOption = factory.createOption(); - newOption.setName(option.getName()); - newOption.setValue(option.getValue()); - return newOption; - } - - private boolean isListOption(Option baseOption, Option newOption) { - if (baseOption.getName().equals(OptionType.COMBO_LIST.getName()) - && newOption.getName().equals(OptionType.COMBO_LIST.getName())) { - return true; - } - - return false; } private boolean checkExperimental(Item item) { diff --git a/src/org/tizen/emulator/manager/ui/detail/item/IItemListFactory.java b/src/org/tizen/emulator/manager/ui/detail/item/IItemListFactory.java index d2550a2..43e1829 100644 --- a/src/org/tizen/emulator/manager/ui/detail/item/IItemListFactory.java +++ b/src/org/tizen/emulator/manager/ui/detail/item/IItemListFactory.java @@ -34,7 +34,5 @@ import java.util.List; import org.tizen.emulator.manager.vms.xml.template.ItemList; public interface IItemListFactory { - - public void makeItemList(List itemList, ItemList template, boolean isCustom); - public void makeCustomItemList(List itemList, List templateList); + public void makeItemList(List itemList, ItemList template); } -- 2.7.4