dialog: do name checking & auto-generation.
authorminkee.lee <minkee.lee@samsung.com>
Thu, 22 Oct 2015 08:13:03 +0000 (17:13 +0900)
committerSeokYeon Hwang <syeon.hwang@samsung.com>
Fri, 23 Oct 2015 08:34:29 +0000 (17:34 +0900)
- show error if name is invalid.
- generate name when create/clone device-template.

Change-Id: Ie92257a95ede57fb69050baca776b9af61796ff8
Signed-off-by: minkee.lee <minkee.lee@samsung.com>
13 files changed:
resource/strings/uimessages.properties
src/org/tizen/emulator/manager/ui/renewal/dialog/Dialog.java
src/org/tizen/emulator/manager/ui/renewal/dialog/ModifyDialog.java
src/org/tizen/emulator/manager/ui/renewal/item/modify/common/ComboItem.java
src/org/tizen/emulator/manager/ui/renewal/item/modify/common/ModifyDialogItem.java
src/org/tizen/emulator/manager/ui/renewal/item/modify/common/NameItem.java
src/org/tizen/emulator/manager/ui/renewal/item/modify/common/TextInputBoxItem.java
src/org/tizen/emulator/manager/ui/renewal/item/modify/comp/PropertyValue.java
src/org/tizen/emulator/manager/ui/renewal/item/modify/vm/DeviceTemplateItem.java
src/org/tizen/emulator/manager/ui/renewal/widgets/ComboBox.java
src/org/tizen/emulator/manager/ui/renewal/widgets/NinePatchBox.java
src/org/tizen/emulator/manager/ui/renewal/widgets/TextInputBox.java
src/org/tizen/emulator/manager/vms/helper/HelperClass.java

index f7ff21c..be0ab56 100644 (file)
@@ -112,7 +112,7 @@ VMNameViewItem.NameError.2=Same name already exists\!
 VMNameViewItem.NameError.3=If you do not need this VM(
 VMNameViewItem.NameError.4=), delete VM folder.
 VMNameViewItem.NameError.5=VM folder path: 
-VMNameViewItem.NameError.6=Please input VM name.
+VMNameViewItem.NameError.6=Please input name.
 VMsMainView.FailedToCreate.0=Failed to create Emulator (
 VMsMainView.FailedToDelete.0=Failed to delete Emulator (
 VMsMainView.FailedToExportAs.0=Failed to export as base image (
index b5bfec1..45be579 100644 (file)
@@ -209,4 +209,18 @@ public class Dialog {
                }
        }
 
+       public boolean isCloneMode() {
+               if (mode == DIALOG_MODE.CLONE) {
+                       return true;
+               }
+               return false;
+       }
+
+       public boolean isModifyMode() {
+               if (mode == DIALOG_MODE.MODIFY) {
+                       return true;
+               }
+               return false;
+       }
+
 }
index 897d5fb..b30d4be 100644 (file)
@@ -138,10 +138,10 @@ public class ModifyDialog extends Dialog {
 
        public void checkValid() {
                boolean isOKButtonEnable = true;
+
                for (ModifyDialogItem dialogItem : itemList) {
                        if (!dialogItem.isValid()) {
                                isOKButtonEnable = false;
-                               break;
                        }
                }
 
index 25d6572..198271c 100644 (file)
@@ -35,11 +35,8 @@ import java.util.List;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.layout.FormAttachment;
 import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.layout.FormLayout;
-import org.eclipse.swt.widgets.Canvas;
 import org.eclipse.swt.widgets.Event;
 import org.eclipse.swt.widgets.Listener;
-import org.tizen.emulator.manager.renewal.resources.ImageResources;
 import org.tizen.emulator.manager.ui.renewal.item.modify.comp.ModifyItem;
 import org.tizen.emulator.manager.ui.renewal.widgets.ComboBox;
 
@@ -99,48 +96,16 @@ public abstract class ComboItem extends ModifyDialogItem {
                return comboBox.getSelectedData();
        }
 
-       public void setItemState(boolean isError, int contentRight, String msg) {
-               // change combobox border
-               comboBox.setError(isError);
-
-               if (isError) {
-                       // show error icon
-                       if (stateIconCanvas == null || stateIconCanvas.isDisposed()) {
-                               stateIconCanvas = new Canvas(item.getBody(), SWT.NONE);
-                               stateIconCanvas.setBackgroundImage(ImageResources.ICON_STATE_ERROR.getImage());
-                       }
-                       int width = ERROR_ICON_SIZE, height = ERROR_ICON_SIZE;
-                       FormData data = new FormData(width, height);
-                       int left = contentRight + ERROR_ICON_SPACING;
-                       data.left = new FormAttachment(0, left);
-                       data.top = new FormAttachment(0, (item.getItemHeight() - height) / 2);
-                       stateIconCanvas.setLayoutData(data);
-                       stateIconCanvas.setToolTipText(msg);
-                       stateIconCanvas.moveAbove(null);
-
-               } else {
-                       if (stateIconCanvas == null || stateIconCanvas.isDisposed()) {
-                               return;
-                       }
-                       // hide error icon
-                       FormData data = new FormData(0, 0);
-                       stateIconCanvas.setLayoutData(data);
-                       item.getBody().layout(true,true);
-
-               }
 
+       @Override
+       public void changeWidgetState(boolean isError) {
+               comboBox.setError(isError);
        }
 
 
        protected void createCombo(ModifyItem item, int width) {
-//             item.setBodyLayoutDefault();
-//
-//             // create combo widget
-//             GridData data = new GridData(width, COMBO_HEIGHT);
-//             data.grabExcessVerticalSpace = true;
-//             data.verticalAlignment = SWT.CENTER;
-
-               item.getBody().setLayout(new FormLayout());
+
+               item.setBodyLayoutForm();
                FormData data = new FormData();
                data.left = new FormAttachment(0, ModifyItem.BODY_MARGIN_LEFT);
                data.top = new FormAttachment(0, ModifyItem.WIDGET_TOP);
index abc8b21..3c6b078 100644 (file)
@@ -31,6 +31,9 @@
 
 package org.tizen.emulator.manager.ui.renewal.item.modify.common;
 
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.FormAttachment;
+import org.eclipse.swt.layout.FormData;
 import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.widgets.Canvas;
 import org.tizen.emulator.manager.renewal.resources.ImageResources;
@@ -163,4 +166,46 @@ public abstract class ModifyDialogItem implements IModifyDialogItem {
        public int getHeight() {
                return item.getHeight();
        }
+
+
+       public void changeWidgetState(boolean isError) {
+               // Override this.
+               // In this function, you change widget in item to error state.
+               // For example, change border color red of combobox, input text box.
+       }
+
+       /** This change item's state : error or normal */
+       public void changeItemState(boolean isError, int contentRight, String msg) {
+               changeWidgetState(isError);
+               changeStateIcon(isError, ModifyItem.BODY_MARGIN_LEFT + contentRight, msg);
+       }
+
+       public void changeStateIcon(boolean isError, int contentRight, String msg) {
+               if (isError) {
+                       // show error icon
+                       if (stateIconCanvas == null || stateIconCanvas.isDisposed()) {
+                               stateIconCanvas = new Canvas(item.getBody(), SWT.NONE);
+                               stateIconCanvas.setBackgroundImage(ImageResources.ICON_STATE_ERROR.getImage());
+                       }
+                       int width = ERROR_ICON_SIZE, height = ERROR_ICON_SIZE;
+                       FormData data = new FormData(width, height);
+                       int left = contentRight + ERROR_ICON_SPACING;
+                       data.left = new FormAttachment(0, left);
+                       data.top = new FormAttachment(0, (item.getItemHeight() - height) / 2);
+                       stateIconCanvas.setLayoutData(data);
+                       stateIconCanvas.setToolTipText(msg);
+                       stateIconCanvas.moveAbove(null);
+
+               } else {
+                       if (stateIconCanvas == null || stateIconCanvas.isDisposed()) {
+                               return;
+                       }
+                       // hide error icon
+                       FormData data = new FormData(0, 0);
+                       stateIconCanvas.setLayoutData(data);
+               }
+
+               item.getBody().layout(true,true);
+       }
+
 }
index d28fd5e..13392dc 100644 (file)
 package org.tizen.emulator.manager.ui.renewal.item.modify.common;
 
 import org.eclipse.swt.widgets.Composite;
+import org.tizen.emulator.manager.logging.EMLogger;
 import org.tizen.emulator.manager.renewal.resources.ImageResources;
+import org.tizen.emulator.manager.resources.StringResources;
+import org.tizen.emulator.manager.ui.Messages;
 import org.tizen.emulator.manager.ui.renewal.item.modify.comp.PropertyValue;
+import org.tizen.emulator.manager.vms.VMProperty;
+import org.tizen.emulator.manager.vms.helper.HelperClass;
 
 public class NameItem extends TextInputBoxItem {
 
@@ -56,7 +61,15 @@ public class NameItem extends TextInputBoxItem {
                if (value == null) {
                        return;
                }
-               this.value = value.getName();
+               if (getDialog().isCreateMode()) {
+                       this.value = value.getDefaultName();
+
+               } else if (getDialog().isCloneMode()){
+                       this.value = value.getCloneName();
+
+               } else {
+                       this.value = value.getName();
+               }
        }
 
        @Override
@@ -65,6 +78,7 @@ public class NameItem extends TextInputBoxItem {
                        return;
                }
                textInputBox.setText(value);
+               textInputBox.selectAllText();
 
        }
 
@@ -79,10 +93,29 @@ public class NameItem extends TextInputBoxItem {
 
        @Override
        public boolean isValid() {
-               if (value == null || value.isEmpty()) {
-                       return false;
+               if (!getDialog().isCreateMode()) {
+                       return true;
+               }
+
+               boolean isValid = true;
+               if (getDialog().isModifyMode()) {
+                       return true;
+               }
+
+               String msg = "";
+               if (getDialog().getPropertyValue().isTemplateValue()) {
+                       msg = checkTemplateName(value);
+
+               } else {
+                       msg = checkVMName(value);
+               }
+
+               if (!msg.isEmpty()) {
+                       isValid = false;
                }
-               return true;
+
+               changeItemState(!isValid, INPUT_BOX_WIDTH, msg);
+               return isValid;
        }
 
 
@@ -97,4 +130,43 @@ public class NameItem extends TextInputBoxItem {
                return new NameItem(getName(), getTitle());
        }
 
+
+       public static String checkVMName(String newName) {
+               String errorMsg = ""; //$NON-NLS-1$
+               VMProperty prop = null;
+
+               if (newName.length() > VMProperty.MAX_NAME_LEN) {
+                       errorMsg = Messages.getString("VMNameViewItem.NameError.0"); //$NON-NLS-1$
+
+               } else if (!HelperClass.checkString(newName)) {
+                       errorMsg = Messages.getString("VMNameViewItem.NameError.1"); //$NON-NLS-1$
+
+               } else if ((prop = HelperClass.checkDupulicateName(newName)) != null) {
+                       errorMsg = Messages.getString("VMNameViewItem.NameError.2"); //$NON-NLS-1$
+                       EMLogger.getLogger().info(Messages.getString("VMNameViewItem.NameError.3") + newName + Messages.getString("VMNameViewItem.NameError.4") //$NON-NLS-1$ //$NON-NLS-2$
+                               + StringResources.NEW_LINE + Messages.getString("VMNameViewItem.NameError.5") + prop.getPropertyFile().getAbsolutePath()); //$NON-NLS-1$
+
+               } else if (newName.isEmpty()) {
+                       errorMsg = Messages.getString("VMNameViewItem.NameError.6"); //$NON-NLS-1$
+               }
+
+               return errorMsg;
+       }
+
+       public static String checkTemplateName(String newName) {
+               String errorMsg = "";
+
+               if (newName.length() > VMProperty.MAX_NAME_LEN) {
+                       errorMsg = Messages.getString("VMNameViewItem.NameError.0"); //$NON-NLS-1$
+
+               } else if (HelperClass.checkDuplicateTemplateName(newName) != null) {
+                       errorMsg = Messages.getString("VMNameViewItem.NameError.2"); //$NON-NLS-1$
+
+               } else if (newName.isEmpty()) {
+                       errorMsg = Messages.getString("VMNameViewItem.NameError.6"); //$NON-NLS-1$
+               }
+
+               return errorMsg;
+       }
+
 }
index 094b181..f2dfdb5 100644 (file)
@@ -34,7 +34,8 @@ package org.tizen.emulator.manager.ui.renewal.item.modify.common;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.ModifyEvent;
 import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.FormAttachment;
+import org.eclipse.swt.layout.FormData;
 import org.eclipse.swt.widgets.Canvas;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Text;
@@ -77,7 +78,7 @@ public abstract class TextInputBoxItem extends ModifyDialogItem {
 
 
        protected void makeBody(int textBoxWidth) {
-               item.setBodyLayoutDefault();
+               item.setBodyLayoutForm();
 
                if (getDialog().getDialogMode() == DIALOG_MODE.MODIFY
                                || getDialog().getDialogMode() == DIALOG_MODE.DETAIL) {
@@ -89,15 +90,15 @@ public abstract class TextInputBoxItem extends ModifyDialogItem {
 
        // for create mode
        private void createTextBox(int textBoxWidth) {
-               GridData data = new GridData();
-               data.heightHint = ModifyItem.WIDGET_HEIGHT;
-               data.widthHint = textBoxWidth;
-               data.grabExcessVerticalSpace = true;
-               data.verticalAlignment = SWT.CENTER;
+               FormData data = new FormData(textBoxWidth, ModifyItem.WIDGET_HEIGHT);
+               data.top = new FormAttachment(0, (item.getHeight() - ModifyItem.WIDGET_HEIGHT) / 2);
+               data.left = new FormAttachment(0, ModifyItem.BODY_MARGIN_LEFT);
+
                textInputBox = new TextInputBox(item.getBody(), SWT.NONE);
                textInputBox.setLayoutData(data);
 
                textInputBox.setText(value);
+               textInputBox.selectAllText();
                addTextListener();
        }
 
@@ -115,13 +116,23 @@ public abstract class TextInputBoxItem extends ModifyDialogItem {
 
        private void createTextLabel() {
                // init canvas;
-               GridData data = new GridData();
-               data.heightHint = getHeight() - ModifyItem.LINE_WIDTH;
-               data.horizontalAlignment = SWT.FILL;
-               data.grabExcessHorizontalSpace = true;
-               Canvas canvas = new Canvas(item.getBody(), SWT.NONE);
-               canvas.setLayoutData(data);
-
-               WidgetHelper.drawText(canvas, value, SWT.NONE);
+               Canvas detailCanvas = new Canvas(item.getBody(), SWT.NONE);
+
+               FormData data = new FormData();
+               data.top = new FormAttachment(0, 0);
+               data.left = new FormAttachment(0, ModifyItem.BODY_MARGIN_LEFT);
+               data.bottom = new FormAttachment(100, -ModifyItem.LINE_WIDTH);
+               data.right = new FormAttachment(100, 0);
+
+               detailCanvas.setLayoutData(data);
+
+               WidgetHelper.drawText(detailCanvas, value, SWT.NONE);
+       }
+
+       @Override
+       public void changeWidgetState(boolean isError) {
+               if (getDialog().isCreateMode()) {
+                       textInputBox.setError(isError);
+               }
        }
 }
index 3f76bcb..90d3382 100644 (file)
@@ -45,6 +45,7 @@ import org.tizen.emulator.manager.platform.Skin;
 import org.tizen.emulator.manager.vms.RESOLUTION;
 import org.tizen.emulator.manager.vms.SKIN_SHAPE;
 import org.tizen.emulator.manager.vms.VMPropertyValue;
+import org.tizen.emulator.manager.vms.helper.HelperClass;
 import org.tizen.emulator.manager.vms.xml.OptionType;
 import org.tizen.emulator.manager.vms.xml.SubOptionType;
 
@@ -424,6 +425,22 @@ public class PropertyValue {
                }
        }
 
+       public String getDefaultName() {
+               if (isTemplateValue()) {
+                       return HelperClass.getDefaultTemplateName(templateValue);
+               } else if (isVMValue()) {
+                       return HelperClass.getDefaultVMName(vmValue);
+               }
+               return "";
+       }
+
+       public String getCloneName() {
+               if (isTemplateValue()) {
+                       return HelperClass.getCloneTemplateName(templateValue);
+               }
+               return "";
+       }
+
 //     public
 /*
        public RESOLUTION getResolution() {
index 395092e..e4d24ad 100644 (file)
@@ -37,7 +37,6 @@ import org.tizen.emulator.manager.platform.Profile;
 import org.tizen.emulator.manager.platform.ProfileList;
 import org.tizen.emulator.manager.ui.renewal.item.modify.common.ComboItem;
 import org.tizen.emulator.manager.ui.renewal.item.modify.common.ModifyDialogItem;
-import org.tizen.emulator.manager.ui.renewal.item.modify.comp.ModifyItem;
 import org.tizen.emulator.manager.ui.renewal.item.modify.comp.PropertyValue;
 import org.tizen.emulator.manager.ui.renewal.item.modify.comp.SubTreeModifyItem;
 import org.tizen.emulator.manager.ui.renewal.item.modify.comp.TreeItemTitle;
@@ -160,7 +159,8 @@ public class DeviceTemplateItem extends ComboItem {
                        isValid = false;
                        msg = "Please select device-template.";
                }
-               setItemState(!isValid, ModifyItem.BODY_MARGIN_LEFT + COMBO_WIDTH, msg);
+
+               changeItemState(!isValid, COMBO_WIDTH, msg);
 
                return isValid;
 
index efe1471..59b7f23 100644 (file)
@@ -279,19 +279,6 @@ public class ComboBox extends NinePatchBox {
        }
 
 
-       public void setError(boolean isError) {
-               if (isError) {
-                       setState(WSTATE.ERROR);
-
-               } else {
-                       // TODO is enough ?
-                       setState(WSTATE.NORMAL);
-               }
-               redraw();
-       }
-
-
-
 
        private void addMouseListener() {
                Listener mouseListener = new Listener() {
index ca447bf..d125484 100644 (file)
@@ -74,6 +74,10 @@ public abstract class NinePatchBox extends Canvas{
                addDisposeListener();
        }
 
+       public boolean isErrorState() {
+               return state == WSTATE.ERROR;
+       }
+
 
        private void addPaintListener() {
                this.addPaintListener(new PaintListener() {
@@ -124,6 +128,18 @@ public abstract class NinePatchBox extends Canvas{
                });
        }
 
+       public void setError(boolean isError) {
+               if (isError) {
+                       setState(WSTATE.ERROR);
+
+               } else {
+                       // TODO is enough ?
+                       setState(WSTATE.NORMAL);
+               }
+               redraw();
+       }
+
+
 
 
 
index 6d69b42..3ebb06f 100644 (file)
@@ -101,6 +101,10 @@ public class TextInputBox extends NinePatchBox{
                return text.getText();
        }
 
+       public void selectAllText() {
+               text.selectAll();
+       }
+
        private void initBox() {
                GridLayout layout = new GridLayout();
                layout.marginHeight = TEXT_MARGIN_HEIGHT;
@@ -134,12 +138,18 @@ public class TextInputBox extends NinePatchBox{
 
                        @Override
                        public void focusLost(FocusEvent arg0) {
+                               if (isErrorState()) {
+                                       return;
+                               }
                                setState(WSTATE.NORMAL);
                                redraw();
                        }
 
                        @Override
                        public void focusGained(FocusEvent arg0) {
+                               if (isErrorState()) {
+                                       return;
+                               }
                                setState(WSTATE.SELECTED);
                                redraw();
                        }
@@ -152,6 +162,9 @@ public class TextInputBox extends NinePatchBox{
 
                        @Override
                        public void handleEvent(Event e) {
+                               if (isErrorState()) {
+                                       return;
+                               }
                                if (getState() == WSTATE.SELECTED) {
                                        return;
                                }
@@ -238,6 +251,17 @@ public class TextInputBox extends NinePatchBox{
                                ImageResources.TEXT_INPUT_BOX_NORMAL_B,
                                ImageResources.TEXT_INPUT_BOX_NORMAL_LB,
                                ImageResources.TEXT_INPUT_BOX_NORMAL_L);
+
+               ninePatchResourceMap.setImages(WSTATE.ERROR, ColorResources.WHITE,
+                               ColorResources.WHITE,
+                               ImageResources.INPUT_BOX_ERROR_LT,
+                               ImageResources.INPUT_BOX_ERROR_T,
+                               ImageResources.INPUT_BOX_ERROR_RT,
+                               ImageResources.INPUT_BOX_ERROR_R,
+                               ImageResources.INPUT_BOX_ERROR_RB,
+                               ImageResources.INPUT_BOX_ERROR_B,
+                               ImageResources.INPUT_BOX_ERROR_LB,
+                               ImageResources.INPUT_BOX_ERROR_L);
        }
 
 
index b4f7043..847e226 100644 (file)
@@ -40,16 +40,22 @@ import java.net.Inet6Address;
 import java.net.InetAddress;
 import java.net.NetworkInterface;
 import java.net.SocketException;
+import java.text.SimpleDateFormat;
 import java.util.Arrays;
+import java.util.Date;
 import java.util.Enumeration;
 import java.util.List;
 import java.util.logging.Level;
 
 import org.tizen.emulator.manager.EmulatorManager;
+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.ui.MainDialog;
 import org.tizen.emulator.manager.vms.EmulatorVMList;
 import org.tizen.emulator.manager.vms.VMProperty;
+import org.tizen.emulator.manager.vms.VMPropertyValue;
 
 public class HelperClass {
 
@@ -88,6 +94,28 @@ public class HelperClass {
                return null;
        }
 
+
+       public static DeviceTemplate checkDuplicateTemplateName(String t) {
+               boolean isWindows = false;
+               if (EmulatorManager.isWin()) {
+                       isWindows = true;
+                       t = t.toLowerCase();
+               }
+               DeviceTemplate[] list = DeviceTemplateList.getDeviceTemplateList(true);
+               for (DeviceTemplate template : list) {
+                       if (isWindows ) {
+                               if (template.getValue().getName().toLowerCase().equals(t)) {
+                                       return template;
+                               }
+                       } else {
+                               if (template.getValue().getName().equals(t)) {
+                                       return template;
+                               }
+                       }
+               }
+               return null;
+       }
+
        public static boolean isPathAvaliable(String path) {
                if (path != null) {
                        File partFile = new File(path+".part"); //$NON-NLS-1$
@@ -290,5 +318,59 @@ public class HelperClass {
                }
        }
 
+       // Generate template name automatically.
+       // ex) "mobile(1)"
+       public static String getDefaultTemplateName(DeviceTemplateValue value) {
+               String prefix = value.getProfile();
+               prefix += "(";
+
+               String newName;
+               int count=1;
+               do {
+                       newName = prefix + Integer.toString(count++) + ")";
+               } while (checkDuplicateTemplateName(newName) != null);
+
+               return newName;
+       }
+
+       public static String getCloneTemplateName(DeviceTemplateValue value) {
+               // remove (??) in the end of name.
+               String prefix = value.getName().replaceAll("\\([0-9]*\\)$", "");
+               prefix += "(";
+
+               String newName;
+               int count=2;
+               do {
+                       newName = prefix + Integer.toString(count++) + ")";
+               } while (checkDuplicateTemplateName(newName) != null);
+
+               return newName;
+       }
+
+
+       public static String getDefaultVMName(VMPropertyValue value) {
+               StringBuilder sb = new StringBuilder();
+               sb.append(value.baseImage.getProfile().substring(0,1).toLowerCase());
+               if (!value.baseImage.isStandard()) {
+                       sb.append("c"); //$NON-NLS-1$
+               }
+               sb.append("-"); //$NON-NLS-1$
+
+               SimpleDateFormat formatter = new SimpleDateFormat ("MMdd"); //$NON-NLS-1$
+               Date currentTime = new Date( );
+               String timeStr = formatter.format(currentTime);
+               sb.append(timeStr);
+               sb.append("-"); //$NON-NLS-1$
+
+               int count=1;
+               String prefix = sb.toString();
+               StringBuilder vmName = null;
+               do {
+                       vmName = new StringBuilder();
+                       vmName.append(prefix).append(Integer.toString(count++));
+               } while (HelperClass.checkDupulicateName(vmName.toString()) != null) ;
+
+               return vmName.toString();
+       }
 }