Mike Kolesnik has uploaded a new change for review.

Change subject: engine: Add validations to provider commands
......................................................................

engine: Add validations to provider commands

Added validations to the Add/Update/Remove commands for providers.

Change-Id: I09d2b74718f8d04e5f28fd622658ff11636ee74e
Signed-off-by: Mike Kolesnik <[email protected]>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/AddProviderCommand.java
A 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/ProviderValidator.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/RemoveProviderCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/UpdateProviderCommand.java
A 
backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/provider/ProviderValidatorTest.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/Provider.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/VdcBllMessages.java
M backend/manager/modules/dal/src/main/resources/bundles/AppErrors.properties
M 
frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/AppErrors.java
M 
frontend/webadmin/modules/userportal-gwtp/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties
M 
frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties
11 files changed, 205 insertions(+), 4 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/62/12362/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/AddProviderCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/AddProviderCommand.java
index f3d6862..50a0d5f 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/AddProviderCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/AddProviderCommand.java
@@ -8,7 +8,10 @@
 import org.ovirt.engine.core.common.VdcObjectType;
 import org.ovirt.engine.core.common.action.ProviderParameters;
 import org.ovirt.engine.core.common.businessentities.ActionGroup;
+import org.ovirt.engine.core.common.businessentities.Provider;
+import org.ovirt.engine.core.common.validation.group.CreateEntity;
 import org.ovirt.engine.core.compat.Guid;
+import org.ovirt.engine.core.dal.VdcBllMessages;
 
 @SuppressWarnings("serial")
 public class AddProviderCommand<P extends ProviderParameters> extends 
CommandBase<P> {
@@ -21,11 +24,21 @@
         super(parameters);
     }
 
+    private Provider getProvider() {
+        return getParameters().getProvider();
+    }
+
+    @Override
+    protected boolean canDoAction() {
+        ProviderValidator validator = new ProviderValidator(getProvider());
+        return validate(validator.nameAvailable());
+    }
+
     @Override
     protected void executeCommand() {
-        getParameters().getProvider().setId(Guid.NewGuid());
-        
getDbFacade().getNetworkProviderDao().save(getParameters().getProvider());
-        
getReturnValue().setActionReturnValue(getParameters().getProvider().getId());
+        getProvider().setId(Guid.NewGuid());
+        getDbFacade().getNetworkProviderDao().save(getProvider());
+        getReturnValue().setActionReturnValue(getProvider().getId());
         setSucceeded(true);
     }
 
@@ -36,4 +49,15 @@
                 ActionGroup.CREATE_STORAGE_POOL));
     }
 
+    @Override
+    protected void setActionMessageParameters() {
+        addCanDoActionMessage(VdcBllMessages.VAR__ACTION__ADD);
+        addCanDoActionMessage(VdcBllMessages.VAR__TYPE__PROVIDER);
+    }
+
+    @Override
+    protected List<Class<?>> getValidationGroups() {
+        addValidationGroup(CreateEntity.class);
+        return super.getValidationGroups();
+    }
 }
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/ProviderValidator.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/ProviderValidator.java
new file mode 100644
index 0000000..fbf8892
--- /dev/null
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/ProviderValidator.java
@@ -0,0 +1,26 @@
+package org.ovirt.engine.core.bll.provider;
+
+import org.ovirt.engine.core.bll.ValidationResult;
+import org.ovirt.engine.core.common.businessentities.Provider;
+import org.ovirt.engine.core.dal.VdcBllMessages;
+import org.ovirt.engine.core.dal.dbbroker.DbFacade;
+import org.ovirt.engine.core.dao.network.NetworkProviderDao;
+
+public class ProviderValidator {
+
+    private Provider provider;
+
+    public ProviderValidator(Provider provider) {
+        this.provider = provider;
+    }
+
+    protected NetworkProviderDao getNetworkProviderDao() {
+        return DbFacade.getInstance().getNetworkProviderDao();
+    }
+
+    public ValidationResult nameAvailable() {
+        return getNetworkProviderDao().getByName(provider.getName()) == null
+                ? ValidationResult.VALID
+                : new 
ValidationResult(VdcBllMessages.ACTION_TYPE_FAILED_NAME_ALREADY_USED);
+    }
+}
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/RemoveProviderCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/RemoveProviderCommand.java
index b09f745..d62504c 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/RemoveProviderCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/RemoveProviderCommand.java
@@ -8,7 +8,9 @@
 import org.ovirt.engine.core.common.VdcObjectType;
 import org.ovirt.engine.core.common.action.ProviderParameters;
 import org.ovirt.engine.core.common.businessentities.ActionGroup;
+import org.ovirt.engine.core.common.validation.group.RemoveEntity;
 import org.ovirt.engine.core.compat.Guid;
+import org.ovirt.engine.core.dal.VdcBllMessages;
 
 @SuppressWarnings("serial")
 public class RemoveProviderCommand<P extends ProviderParameters> extends 
CommandBase<P> {
@@ -33,4 +35,16 @@
                 VdcObjectType.System,
                 ActionGroup.CREATE_STORAGE_POOL));
     }
+
+    @Override
+    protected void setActionMessageParameters() {
+        addCanDoActionMessage(VdcBllMessages.VAR__ACTION__REMOVE);
+        addCanDoActionMessage(VdcBllMessages.VAR__TYPE__PROVIDER);
+    }
+
+    @Override
+    protected List<Class<?>> getValidationGroups() {
+        addValidationGroup(RemoveEntity.class);
+        return super.getValidationGroups();
+    }
 }
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/UpdateProviderCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/UpdateProviderCommand.java
index 04f801c..43b040a 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/UpdateProviderCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/UpdateProviderCommand.java
@@ -8,7 +8,10 @@
 import org.ovirt.engine.core.common.VdcObjectType;
 import org.ovirt.engine.core.common.action.ProviderParameters;
 import org.ovirt.engine.core.common.businessentities.ActionGroup;
+import org.ovirt.engine.core.common.businessentities.Provider;
+import org.ovirt.engine.core.common.validation.group.UpdateEntity;
 import org.ovirt.engine.core.compat.Guid;
+import org.ovirt.engine.core.dal.VdcBllMessages;
 
 @SuppressWarnings("serial")
 public class UpdateProviderCommand<P extends ProviderParameters> extends 
CommandBase<P> {
@@ -21,9 +24,24 @@
         super(parameters);
     }
 
+    private Provider getProvider() {
+        return getParameters().getProvider();
+    }
+
+    @Override
+    protected boolean canDoAction() {
+        ProviderValidator validator = new ProviderValidator(getProvider());
+        Provider oldProvider = 
getDbFacade().getNetworkProviderDao().get(getProvider().getId());
+        return nameKept(oldProvider) || validate(validator.nameAvailable());
+    }
+
+    private boolean nameKept(Provider oldProvider) {
+        return oldProvider.getName().equals(getProvider().getName());
+    }
+
     @Override
     protected void executeCommand() {
-        
getDbFacade().getNetworkProviderDao().update(getParameters().getProvider());
+        getDbFacade().getNetworkProviderDao().update(getProvider());
         setSucceeded(true);
     }
 
@@ -33,4 +51,16 @@
                 VdcObjectType.System,
                 ActionGroup.CREATE_STORAGE_POOL));
     }
+
+    @Override
+    protected void setActionMessageParameters() {
+        addCanDoActionMessage(VdcBllMessages.VAR__ACTION__UPDATE);
+        addCanDoActionMessage(VdcBllMessages.VAR__TYPE__PROVIDER);
+    }
+
+    @Override
+    protected List<Class<?>> getValidationGroups() {
+        addValidationGroup(UpdateEntity.class);
+        return super.getValidationGroups();
+    }
 }
diff --git 
a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/provider/ProviderValidatorTest.java
 
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/provider/ProviderValidatorTest.java
new file mode 100644
index 0000000..5654ee3
--- /dev/null
+++ 
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/provider/ProviderValidatorTest.java
@@ -0,0 +1,59 @@
+package org.ovirt.engine.core.bll.provider;
+
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.Spy;
+import org.mockito.runners.MockitoJUnitRunner;
+import org.ovirt.engine.core.bll.ValidationResult;
+import org.ovirt.engine.core.common.businessentities.Provider;
+import org.ovirt.engine.core.dal.VdcBllMessages;
+import org.ovirt.engine.core.dao.network.NetworkProviderDao;
+
+@RunWith(MockitoJUnitRunner.class)
+public class ProviderValidatorTest {
+
+    private Provider provider = createProvider("provider");
+
+    @Mock
+    private NetworkProviderDao networkProviderDao;
+
+    @Spy
+    private ProviderValidator validator = new ProviderValidator(provider);
+
+    @Before
+    public void setup() {
+        doReturn(networkProviderDao).when(validator).getNetworkProviderDao();
+    }
+
+    @Test
+    public void nameAvailable() throws Exception {
+        
when(networkProviderDao.getByName(provider.getName())).thenReturn(null);
+        assertEquals(ValidationResult.VALID, validator.nameAvailable());
+    }
+
+    @Test
+    public void nameAvailableCaseSensitive() throws Exception {
+        
when(networkProviderDao.getByName(provider.getName())).thenReturn(null);
+        assertEquals(ValidationResult.VALID, validator.nameAvailable());
+    }
+
+    @Test
+    public void nameNotAvailable() throws Exception {
+        Provider otherProvider = createProvider(provider.getName());
+        
when(networkProviderDao.getByName(provider.getName())).thenReturn(otherProvider);
+        assertEquals(VdcBllMessages.ACTION_TYPE_FAILED_NAME_ALREADY_USED, 
validator.nameAvailable().getMessage());
+    }
+
+    private Provider createProvider(String name) {
+        Provider p = mock(Provider.class);
+        when(p.getName()).thenReturn(name);
+        return p;
+    }
+}
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/Provider.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/Provider.java
index bacea0b..a34b837 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/Provider.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/Provider.java
@@ -1,17 +1,27 @@
 package org.ovirt.engine.core.common.businessentities;
 
+import javax.validation.constraints.NotNull;
+
+import org.ovirt.engine.core.common.validation.annotation.ValidName;
+import org.ovirt.engine.core.common.validation.group.CreateEntity;
+import org.ovirt.engine.core.common.validation.group.RemoveEntity;
+import org.ovirt.engine.core.common.validation.group.UpdateEntity;
 import org.ovirt.engine.core.compat.Guid;
 
 public class Provider extends IVdcQueryable implements BusinessEntity<Guid> {
 
     private static final long serialVersionUID = 8279455368568715758L;
 
+    @NotNull(message = "VALIDATION_ID_NULL", groups = { UpdateEntity.class, 
RemoveEntity.class })
     private Guid id;
 
+    @NotNull(message = "VALIDATION_NAME_NULL", groups = { CreateEntity.class, 
UpdateEntity.class })
+    @ValidName(message = "VALIDATION_NAME_INVALID", groups = { 
CreateEntity.class, UpdateEntity.class })
     private String name;
 
     private String description;
 
+    @NotNull(message = "VALIDATION_URL_NULL", groups = { CreateEntity.class, 
UpdateEntity.class })
     private String apiAddress;
 
     public String getName() {
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/VdcBllMessages.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/VdcBllMessages.java
index a300786..319eff9 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/VdcBllMessages.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/VdcBllMessages.java
@@ -20,6 +20,7 @@
     VAR__TYPE__INTERFACE,
     VAR__TYPE__NETWORK,
     VAR__TYPE__NETWORKS,
+    VAR__TYPE__PROVIDER,
     VAR__TYPE__VM_DISK,
     VAR__TYPE__BOOKMARK,
     VAR__TYPE__VM_TICKET,
@@ -77,6 +78,7 @@
 
     ACTION_LIST_CANNOT_BE_EMPTY,
     ACTION_TYPE_FAILED_NAME_ALREADY_USED,
+    ACTION_TYPE_FAILED_URL_INVALID,
     ACTION_TYPE_FAILED_VM_MAX_RESOURCE_EXEEDED,
     ACTION_TYPE_FAILED_VM_IN_PREVIEW,
     ACTION_TYPE_FAILED_DISKS_LOCKED,
diff --git 
a/backend/manager/modules/dal/src/main/resources/bundles/AppErrors.properties 
b/backend/manager/modules/dal/src/main/resources/bundles/AppErrors.properties
index b8343cd..53bcaac 100644
--- 
a/backend/manager/modules/dal/src/main/resources/bundles/AppErrors.properties
+++ 
b/backend/manager/modules/dal/src/main/resources/bundles/AppErrors.properties
@@ -210,6 +210,7 @@
 VAR__ENTITIES__HOSTS=$entities hosts
 VAR__TYPE__NETWORK=$type Network
 VAR__TYPE__NETWORKS=$type Networks
+VAR__TYPE__PROVIDER=$type provider
 VAR__TYPE__VM=$type VM
 VAR__ENTITIES__VMS=$entities virtual machines
 VAR__TYPE__QUOTA=$type Quota
@@ -341,6 +342,7 @@
 VDS_GROUP_CANNOT_DO_ACTION_NAME_IN_USE=Cannot ${action} Cluster. Cluster name 
is already in use.
 NETWORK_NAME_ALREADY_EXISTS=Cannot ${action} ${type}. Network name already 
exists.
 ACTION_TYPE_FAILED_NAME_ALREADY_USED=Cannot ${action} ${type}. The ${type} 
name is already in use. please choose a unique name and try again.
+ACTION_TYPE_FAILED_URL_INVALID=Cannot ${action} ${type}. The URL is not valid, 
please enter a valid URL and try again.
 ACTION_TYPE_FAILED_STORAGE_CONNECTION_NOT_EXIST=Cannot ${action} ${type}. 
Storage connection doesn't exist.
 ACTION_TYPE_FAILED_STORAGE_CONNECTION_WRONG_PARAMETERS_FOR_STORAGE_TYPE=Cannot 
${action} ${type}. Connection parameters are invalid for this storage type.
 ACTION_TYPE_FAILED_STORAGE_DOMAIN_NOT_EXIST=Cannot ${action} ${type}. Storage 
Domain doesn't exist.
@@ -606,6 +608,10 @@
 VALIDATION_DISK_IMAGE_DESCRIPTION_MAX=Snapshot description must not exceed 
4000 characters
 VALIDATION.DATA_CENTER.DESCRIPTION.INVALID="Data Center description must be 
formed of ASCII charis only"
 VALIDATION.DATA_CENTER.NAME.INVALID=Data Center name must be formed of 
alphanumeric characters, numbers or "-_"
+VALIDATION_ID_NULL=ID is required.
+VALIDATION_NAME_NULL=Name is required.
+VALIDATION_NAME_INVALID=Name must be formed of alphanumeric characters, 
numbers or "-_".
+VALIDATION_URL_NULL=URL is required.
 VALIDATION.VMINTERFACE.MACADDRESS=MAC Address must be in the following format: 
XX:XX:XX:XX:XX:XX, (XX=0-9 or A-F)
 VALIDATION.EVENTS.EMAIL_FORMAT=email format is not valid
 VALIDATION_INVALID_CORRELATION_ID=The correlation ID must be formed of 
"a-z0-9A-Z" or "-_"
diff --git 
a/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/AppErrors.java
 
b/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/AppErrors.java
index 42b5178..56ac45c 100644
--- 
a/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/AppErrors.java
+++ 
b/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/AppErrors.java
@@ -564,6 +564,9 @@
     @DefaultStringValue("$type Network")
     String VAR__TYPE__NETWORK();
 
+    @DefaultStringValue("$type provider")
+    String VAR__TYPE__PROVIDER();
+
     @DefaultStringValue("$type VM")
     String VAR__TYPE__VM();
 
@@ -959,6 +962,9 @@
 
     @DefaultStringValue("Cannot ${action} ${type}. The ${type} name is already 
in use. please choose a unique name and try again.")
     String ACTION_TYPE_FAILED_NAME_ALREADY_USED();
+
+    @DefaultStringValue("Cannot ${action} ${type}. The URL is not valid, 
please enter a valid URL and try again.")
+    String ACTION_TYPE_FAILED_URL_INVALID();
 
     @DefaultStringValue("Cannot ${action} ${type}. Storage connection doesn't 
exist.")
     String ACTION_TYPE_FAILED_STORAGE_CONNECTION_NOT_EXIST();
@@ -1635,6 +1641,18 @@
     @DefaultStringValue("Data Center name must be formed of \"a-z0-9A-Z\" or 
\"-_\"")
     String VALIDATION_DATA_CENTER_NAME_INVALID();
 
+    @DefaultStringValue("ID is required.")
+    String VALIDATION_ID_NULL();
+
+    @DefaultStringValue("Name is required.")
+    String VALIDATION_NAME_NULL();
+
+    @DefaultStringValue("Name must be formed of alphanumeric characters, 
numbers or \"-_\".")
+    String VALIDATION_NAME_INVALID();
+
+    @DefaultStringValue("URL is required.")
+    String VALIDATION_URL_NULL();
+
     @DefaultStringValue("Quota name must be formed of \"a-z0-9A-Z\" and 
\"-_\"")
     String VALIDATION_QUOTA_NAME_INVALID();
 
diff --git 
a/frontend/webadmin/modules/userportal-gwtp/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties
 
b/frontend/webadmin/modules/userportal-gwtp/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties
index 2ce7a33..fec4211 100644
--- 
a/frontend/webadmin/modules/userportal-gwtp/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties
+++ 
b/frontend/webadmin/modules/userportal-gwtp/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties
@@ -209,6 +209,7 @@
 VAR__ENTITIES__HOSTS=$entities hosts
 VAR__TYPE__NETWORK=$type Network
 VAR__TYPE__NETWORKS=$type Networks
+VAR__TYPE__PROVIDER=$type provider
 VAR__TYPE__VM=$type VM
 VAR__ENTITIES__VMS=$entities virtual machines
 VAR__TYPE__QUOTA=$type Quota
@@ -337,6 +338,7 @@
 VDS_GROUP_CANNOT_DO_ACTION_NAME_IN_USE=Cannot ${action} Cluster. Cluster name 
is already in use.
 NETWORK_NAME_ALREADY_EXISTS=Cannot ${action} ${type}. Network name already 
exists.
 ACTION_TYPE_FAILED_NAME_ALREADY_USED=Cannot ${action} ${type}. The ${type} 
name is already in use. please choose a unique name and try again.
+ACTION_TYPE_FAILED_URL_INVALID=Cannot ${action} ${type}. The URL is not valid, 
please enter a valid URL and try again.
 ACTION_TYPE_FAILED_STORAGE_CONNECTION_NOT_EXIST=Cannot ${action} ${type}. 
Storage connection doesn't exist.
 ACTION_TYPE_FAILED_STORAGE_CONNECTION_WRONG_PARAMETERS_FOR_STORAGE_TYPE=Cannot 
${action} ${type}. Connection parameters are invalid for this storage type.
 ACTION_TYPE_FAILED_STORAGE_DOMAIN_NOT_EXIST=Cannot ${action} ${type}. Storage 
Domain doesn't exist.
@@ -603,6 +605,10 @@
 VALIDATION_DISK_IMAGE_DESCRIPTION_MAX=Snapshot description must not exceed 
4000 characters
 VALIDATION_DATA_CENTER_DESCRIPTION_INVALID="Data Center description must be 
formed of ASCII charis only"
 VALIDATION_DATA_CENTER_NAME_INVALID=Data Center name must be formed of 
"a-z0-9A-Z" or "-_"
+VALIDATION_ID_NULL=ID is required.
+VALIDATION_NAME_NULL=Name is required.
+VALIDATION_NAME_INVALID=Name must be formed of alphanumeric characters, 
numbers or "-_".
+VALIDATION_URL_NULL=URL is required.
 VALIDATION_VMINTERFACE_MACADDRESS=MAC Address must be in the following format: 
XX:XX:XX:XX:XX:XX, (XX=0-9 or A-F)
 VALIDATION_EVENTS_EMAIL_FORMAT=email format is not valid
 VALIDATION_INVALID_CORRELATION_ID=The correlation ID must be formed of 
"a-z0-9A-Z" or "-_"
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties
 
b/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties
index 88cba16..fc91bff 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties
+++ 
b/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties
@@ -207,6 +207,7 @@
 VAR__ENTITIES__HOSTS=$entities hosts
 VAR__TYPE__NETWORK=$type Network
 VAR__TYPE__NETWORKS=$type Networks
+VAR__TYPE__PROVIDER=$type provider
 VAR__TYPE__VM=$type VM
 VAR__ENTITIES__VMS=$entities virtual machines
 VAR__TYPE__QUOTA=$type Quota
@@ -335,6 +336,7 @@
 VDS_GROUP_CANNOT_DO_ACTION_NAME_IN_USE=Cannot ${action} Cluster. Cluster name 
is already in use.
 NETWORK_NAME_ALREADY_EXISTS=Cannot ${action} ${type}. Network name already 
exists.
 ACTION_TYPE_FAILED_NAME_ALREADY_USED=Cannot ${action} ${type}. The ${type} 
name is already in use. please choose a unique name and try again.
+ACTION_TYPE_FAILED_URL_INVALID=Cannot ${action} ${type}. The URL is not valid, 
please enter a valid URL and try again.
 ACTION_TYPE_FAILED_STORAGE_CONNECTION_NOT_EXIST=Cannot ${action} ${type}. 
Storage connection doesn't exist.
 ACTION_TYPE_FAILED_STORAGE_CONNECTION_WRONG_PARAMETERS_FOR_STORAGE_TYPE=Cannot 
${action} ${type}. Connection parameters are invalid for this storage type.
 ACTION_TYPE_FAILED_STORAGE_DOMAIN_NOT_EXIST=Cannot ${action} ${type}. Storage 
Domain doesn't exist.
@@ -602,6 +604,10 @@
 VALIDATION.STORAGE_DOMAIN.DESCRIPTION.MAX=Storage Domain description must not 
exceed 4000 characters
 VALIDATION_DATA_CENTER_DESCRIPTION_INVALID="Data Center description must be 
formed of ASCII charis only"
 VALIDATION_DATA_CENTER_NAME_INVALID=Data Center name must be formed of 
"a-z0-9A-Z" or "-_"
+VALIDATION_ID_NULL=ID is required.
+VALIDATION_NAME_NULL=Name is required.
+VALIDATION_NAME_INVALID=Name must be formed of alphanumeric characters, 
numbers or "-_".
+VALIDATION_URL_NULL=URL is required.
 VALIDATION_QUOTA_NAME_INVALID=Quota name must be formed of "a-z0-9A-Z" and "-_"
 VALIDATION_VM_NETWORK_MAC_ADDRESS_INVALID=MAC address must be in format 
"HH:HH:HH:HH:HH:HH" where H is a hexadecimal character (either a digit or A-F, 
case is insignificant).
 VALIDATION_VM_NETWORK_MAC_ADDRESS_NOT_NULL=MAC address is required.


--
To view, visit http://gerrit.ovirt.org/12362
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I09d2b74718f8d04e5f28fd622658ff11636ee74e
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Mike Kolesnik <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to