Base Image: add checking base iamge name routine
authorjihye424.kim <jihye424.kim@samsung.com>
Mon, 26 Oct 2015 06:07:53 +0000 (15:07 +0900)
committerjihye424.kim <jihye424.kim@samsung.com>
Thu, 29 Oct 2015 02:55:54 +0000 (11:55 +0900)
- check base image name
-- max length of name is 30
-- duplicate name is not allowed

Change-Id: I77faecf4813471c2850f7c1718e2e4f8462f8c32
Signed-off-by: jihye424.kim <jihye424.kim@samsung.com>
src/org/tizen/emulator/manager/platform/BaseImage.java
src/org/tizen/emulator/manager/ui/renewal/item/modify/common/NameItem.java
src/org/tizen/emulator/manager/vms/helper/HelperClass.java

index bc3f9f5..ae5fbec 100644 (file)
@@ -46,6 +46,7 @@ import org.tizen.emulator.manager.template.ITemplate;
 import org.tizen.emulator.manager.vms.SKIN_SHAPE;
 import org.tizen.emulator.manager.vms.VMProperty;
 import org.tizen.emulator.manager.vms.VMProperty.Architecture;
+import org.tizen.emulator.manager.vms.helper.HelperClass;
 import org.tizen.emulator.manager.vms.option.IOption;
 
 public class BaseImage {
@@ -146,13 +147,13 @@ public class BaseImage {
                }
 
                // check duplicate name
-//             int i = 1;
-//             String temp = imageName;
-//             while (HelperClass.checkDuplicateBaseImageName(temp) != null) {
-//                     temp = imageName + "(" + i + ")";
-//                     i++;
-//             }
-//             imageName = temp;
+               int i = 1;
+               String temp = imageName;
+               while (HelperClass.checkDuplicateBaseImageName(temp) != null) {
+                       temp = imageName + "(" + i + ")";
+                       i++;
+               }
+               imageName = temp;
 
                settingProperty(platform);
                loadTemplate();
index be1cc62..5daa87c 100644 (file)
@@ -34,6 +34,7 @@ import java.io.File;
 
 import org.eclipse.swt.widgets.Composite;
 import org.tizen.emulator.manager.logging.EMLogger;
+import org.tizen.emulator.manager.platform.BaseImage;
 import org.tizen.emulator.manager.renewal.resources.ImageResources;
 import org.tizen.emulator.manager.resources.StringResources;
 import org.tizen.emulator.manager.ui.Messages;
@@ -176,8 +177,23 @@ public class NameItem extends TextInputBoxItem {
        }
 
        public static String checkBaseImageName(String newName) {
-               // TODO
-               return "";
+               String errorMsg = "";
+
+               if (newName.length() > 30) {
+                       errorMsg = "Max length of name is 30";
+               } else if (newName.isEmpty()) {
+                       errorMsg = "Please, input base image name";
+               } else {
+                       BaseImage image = HelperClass.checkDuplicateBaseImageName(newName);
+                       if (image != null) {
+                               errorMsg = "Same name already exist!"
+                                               + StringResources.NEW_LINE
+                                               + newName + " ( " + image.getPlatformName() + " )"
+                                               + StringResources.NEW_LINE
+                                               + "Path: " + image.getPath();
+                       }
+               }
+               return errorMsg;
        }
 
        @Override
index c1e855d..e490d1c 100644 (file)
@@ -52,6 +52,8 @@ import org.tizen.emulator.manager.devices.DeviceTemplate;
 import org.tizen.emulator.manager.devices.DeviceTemplateList;
 import org.tizen.emulator.manager.devices.DeviceTemplateValue;
 import org.tizen.emulator.manager.logging.EMLogger;
+import org.tizen.emulator.manager.platform.BaseImage;
+import org.tizen.emulator.manager.platform.baseimage.CustomBaseImageLoader;
 import org.tizen.emulator.manager.ui.MainDialog;
 import org.tizen.emulator.manager.vms.EmulatorVMList;
 import org.tizen.emulator.manager.vms.VMProperty;
@@ -116,6 +118,25 @@ public class HelperClass {
                return null;
        }
 
+       public static BaseImage checkDuplicateBaseImageName(String name) {
+               if (EmulatorManager.isWin()) {
+                       name = name.toLowerCase();
+               }
+
+               for (BaseImage image : CustomBaseImageLoader.getCustomBsaeImageList(false)) {
+                       if (EmulatorManager.isWin()) {
+                               if (image.getName().toLowerCase().equals(name)) {
+                                       return image;
+                               }
+                       } else {
+                               if (image.getName().equals(name)) {
+                                       return image;
+                               }
+                       }
+               }
+               return null;
+       }
+
        public static boolean isAvailablePath(String path) {
                if (path != null) {
                        File partFile = new File(path+".part"); //$NON-NLS-1$