Mike Kolesnik has uploaded a new change for review.

Change subject: core: Add provider additional properties
......................................................................

core: Add provider additional properties

The additional properties can change by provider type, so adding them as
a field in the Provider entity.
The first type of additional properties will be the
MultiTenantProviderProperties which add a tenant name that is specific
to providers that have multi-tenancy, such as OpenStack providers.

Change-Id: Id9b51387a1bb7e4fb520ba53428ae82d9705e809
Signed-off-by: Mike Kolesnik <mkole...@redhat.com>
---
A backend/manager/dbscripts/upgrade/03_03_0190_add_tenant_to_providers.sql
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/SearchQuery.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/AddProviderCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/ProviderProxyFactory.java
M 
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
M 
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/action/ProviderParameters.java
A 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/MultiTenantProviderProperties.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/dao/provider/ProviderDao.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/provider/ProviderDaoDbFacadeImpl.java
M 
backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/provider/ProviderDaoTest.java
M backend/manager/modules/dal/src/test/resources/fixtures.xml
M 
frontend/webadmin/modules/gwt-common/src/main/resources/org/ovirt/engine/core/Common.gwt.xml
16 files changed, 172 insertions(+), 35 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/71/15371/1

diff --git 
a/backend/manager/dbscripts/upgrade/03_03_0190_add_tenant_to_providers.sql 
b/backend/manager/dbscripts/upgrade/03_03_0190_add_tenant_to_providers.sql
new file mode 100644
index 0000000..54a8795
--- /dev/null
+++ b/backend/manager/dbscripts/upgrade/03_03_0190_add_tenant_to_providers.sql
@@ -0,0 +1 @@
+select fn_db_add_column('providers', 'tenant_name', 'VARCHAR(128)');
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/SearchQuery.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/SearchQuery.java
index 5e39b09..116e681 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/SearchQuery.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/SearchQuery.java
@@ -263,7 +263,7 @@
         return genericSearch(getDbFacade().getNetworkViewDao(), true, null);
     }
 
-    private List<Provider> searchProviders() {
+    private List<Provider<?>> searchProviders() {
         return genericSearch(getDbFacade().getProviderDao(), true, null);
     }
 
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 5fc0c42..4937759 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
@@ -24,7 +24,7 @@
         super(parameters);
     }
 
-    private Provider getProvider() {
+    private Provider<?> getProvider() {
         return getParameters().getProvider();
     }
 
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/ProviderProxyFactory.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/ProviderProxyFactory.java
index ccb1ae5..fb0f5cd 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/ProviderProxyFactory.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/ProviderProxyFactory.java
@@ -20,7 +20,7 @@
      *            The provider to create the proxy for.
      * @return The proxy for communicating with the provider
      */
-    public <P extends ProviderProxy> P create(Provider provider) {
+    public <P extends ProviderProxy> P create(Provider<?> provider) {
         return (P) null;
     }
 
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
index 2eeae68..6b4813b 100644
--- 
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
@@ -8,9 +8,9 @@
 
 public class ProviderValidator {
 
-    private Provider provider;
+    private Provider<?> provider;
 
-    public ProviderValidator(Provider provider) {
+    public ProviderValidator(Provider<?> provider) {
         this.provider = provider;
     }
 
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 b891fbb1..ff1caf6 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
@@ -17,7 +17,7 @@
 
 public class RemoveProviderCommand<P extends ProviderParameters> extends 
CommandBase<P> {
 
-    private Provider deletedProvider;
+    private Provider<?> deletedProvider;
 
     public RemoveProviderCommand(Guid commandId) {
         super(commandId);
@@ -27,7 +27,7 @@
         super(parameters);
     }
 
-    private Provider getDeletedProvider() {
+    private Provider<?> getDeletedProvider() {
         if (deletedProvider == null) {
             deletedProvider = 
getProviderDao().get(getParameters().getProvider().getId());
         }
@@ -36,7 +36,7 @@
     }
 
     public String getProviderName() {
-        Provider provider = getDeletedProvider();
+        Provider<?> provider = getDeletedProvider();
         return provider == null ? null : provider.getName();
     }
 
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 c80ef9d..af60cf9 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
@@ -20,7 +20,7 @@
 public class UpdateProviderCommand<P extends ProviderParameters> extends 
CommandBase<P>
         implements RenamedEntityInfoProvider {
 
-    private Provider oldProvider;
+    private Provider<?> oldProvider;
 
     public UpdateProviderCommand(Guid commandId) {
         super(commandId);
@@ -30,11 +30,11 @@
         super(parameters);
     }
 
-    private Provider getProvider() {
+    private Provider<?> getProvider() {
         return getParameters().getProvider();
     }
 
-    private Provider getOldProvider() {
+    private Provider<?> getOldProvider() {
         if (oldProvider == null) {
             oldProvider = getProviderDao().get(getProvider().getId());
         }
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
index 83e0882..583c5b6 100644
--- 
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
@@ -14,13 +14,14 @@
 import org.mockito.Spy;
 import org.mockito.runners.MockitoJUnitRunner;
 import org.ovirt.engine.core.common.businessentities.Provider;
+import 
org.ovirt.engine.core.common.businessentities.Provider.AdditionalProperties;
 import org.ovirt.engine.core.dal.VdcBllMessages;
 import org.ovirt.engine.core.dao.provider.ProviderDao;
 
 @RunWith(MockitoJUnitRunner.class)
 public class ProviderValidatorTest {
 
-    private Provider provider = createProvider("provider");
+    private Provider<AdditionalProperties> provider = 
createProvider("provider");
 
     @Mock
     private ProviderDao providerDao;
@@ -51,14 +52,16 @@
     }
 
     @Test
+    @SuppressWarnings("unchecked")
     public void nameNotAvailable() throws Exception {
-        Provider otherProvider = createProvider(provider.getName());
-        
when(providerDao.getByName(provider.getName())).thenReturn(otherProvider);
+        Provider<AdditionalProperties> otherProvider = 
createProvider(provider.getName());
+        when((Provider<AdditionalProperties>) 
providerDao.getByName(provider.getName())).thenReturn(otherProvider);
         assertThat(validator.nameAvailable(), 
failsWith(VdcBllMessages.ACTION_TYPE_FAILED_NAME_ALREADY_USED));
     }
 
-    private Provider createProvider(String name) {
-        Provider p = mock(Provider.class);
+    @SuppressWarnings("unchecked")
+    private Provider<AdditionalProperties> createProvider(String name) {
+        Provider<AdditionalProperties> 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/action/ProviderParameters.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/ProviderParameters.java
index cf4a131..76d0915 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/ProviderParameters.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/ProviderParameters.java
@@ -9,20 +9,20 @@
     private static final long serialVersionUID = 308877238353433739L;
 
     @Valid
-    private Provider provider;
+    private Provider<?> provider;
 
     public ProviderParameters() {
     }
 
-    public ProviderParameters(Provider provider) {
+    public ProviderParameters(Provider<?> provider) {
         this.provider = provider;
     }
 
-    public Provider getProvider() {
+    public Provider<?> getProvider() {
         return provider;
     }
 
-    public void setProvider(Provider provider) {
+    public void setProvider(Provider<?> provider) {
         this.provider = provider;
     }
 }
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/MultiTenantProviderProperties.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/MultiTenantProviderProperties.java
new file mode 100644
index 0000000..52e6196
--- /dev/null
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/MultiTenantProviderProperties.java
@@ -0,0 +1,62 @@
+package org.ovirt.engine.core.common.businessentities;
+
+import 
org.ovirt.engine.core.common.businessentities.Provider.AdditionalProperties;
+
+public class MultiTenantProviderProperties implements AdditionalProperties {
+
+    private static final long serialVersionUID = 573702404083234015L;
+
+    private String tenantName;
+
+    public MultiTenantProviderProperties() {
+    }
+
+    public MultiTenantProviderProperties(String tenantName) {
+        this.tenantName = tenantName;
+    }
+
+    public String getTenantName() {
+        return tenantName;
+    }
+
+    public void setTenantName(String tenantName) {
+        this.tenantName = tenantName;
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((getTenantName() == null) ? 0 : 
getTenantName().hashCode());
+        return result;
+    }
+
+    @Override
+    public boolean equals(Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if (obj == null) {
+            return false;
+        }
+        if (!(obj instanceof MultiTenantProviderProperties)) {
+            return false;
+        }
+        MultiTenantProviderProperties other = (MultiTenantProviderProperties) 
obj;
+        if (getTenantName() == null) {
+            if (other.getTenantName() != null) {
+                return false;
+            }
+        } else if (!getTenantName().equals(other.getTenantName())) {
+            return false;
+        }
+        return true;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder builder = new StringBuilder();
+        builder.append("MultiTenantProviderProperties 
[tenantName=").append(getTenantName()).append("]");
+        return builder.toString();
+    }
+}
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 69eb59f..9c53e64 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,7 +1,11 @@
 package org.ovirt.engine.core.common.businessentities;
 
+import java.io.Serializable;
+
+import javax.validation.Valid;
 import javax.validation.constraints.NotNull;
 
+import 
org.ovirt.engine.core.common.businessentities.Provider.AdditionalProperties;
 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;
@@ -12,8 +16,11 @@
  * A provider can provide external services to be consumed by the system.<br>
  * The provider will be responsible for managing the provided services, and 
the interaction with it would be done
  * through an API which will be accessible via the URL.
+ *
+ * @param P
+ *            The type of additional properties this provider holds.
  */
-public class Provider extends IVdcQueryable implements BusinessEntity<Guid>, 
Nameable {
+public class Provider<P extends AdditionalProperties> extends IVdcQueryable 
implements BusinessEntity<Guid>, Nameable {
 
     private static final long serialVersionUID = 8279455368568715758L;
 
@@ -37,6 +44,9 @@
     private String username;
 
     private String password;
+
+    @Valid
+    private P additionalProperties;
 
     @Override
     public String getName() {
@@ -105,6 +115,14 @@
         this.password = password;
     }
 
+    public P getAdditionalProperties() {
+        return additionalProperties;
+    }
+
+    public void setAdditionalProperties(P additionalProperties) {
+        this.additionalProperties = additionalProperties;
+    }
+
     @Override
     public Object getQueryableId() {
         return getId();
@@ -122,6 +140,7 @@
         result = prime * result + ((getType() == null) ? 0 : 
getType().hashCode());
         result = prime * result + ((getUrl() == null) ? 0 : 
getUrl().hashCode());
         result = prime * result + ((getUsername() == null) ? 0 : 
getUsername().hashCode());
+        result = prime * result + ((getAdditionalProperties() == null) ? 0 : 
getAdditionalProperties().hashCode());
         return result;
     }
 
@@ -136,7 +155,7 @@
         if (!(obj instanceof Provider)) {
             return false;
         }
-        Provider other = (Provider) obj;
+        Provider<?> other = (Provider<?>) obj;
         if (isRequiringAuthentication() != other.isRequiringAuthentication()) {
             return false;
         }
@@ -185,6 +204,13 @@
         } else if (!getUsername().equals(other.getUsername())) {
             return false;
         }
+        if (getAdditionalProperties() == null) {
+            if (other.getAdditionalProperties() != null) {
+                return false;
+            }
+        } else if 
(!getAdditionalProperties().equals(other.getAdditionalProperties())) {
+            return false;
+        }
         return true;
     }
 
@@ -207,7 +233,15 @@
                 .append(getUsername())
                 .append(", password=")
                 .append(getPassword() == null ? null : "******")
+                .append(", additionalProperties=")
+                .append(getAdditionalProperties())
                 .append("]");
         return builder.toString();
     }
+
+    /**
+     * Tag interface for classes that add additional properties to providers.
+     */
+    public static interface AdditionalProperties extends Serializable {
+    }
 }
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/provider/ProviderDao.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/provider/ProviderDao.java
index 3c8088c..8b9c474 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/provider/ProviderDao.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/provider/ProviderDao.java
@@ -5,7 +5,7 @@
 import org.ovirt.engine.core.dao.GenericDao;
 import org.ovirt.engine.core.dao.SearchDAO;
 
-public interface ProviderDao extends GenericDao<Provider, Guid>, 
SearchDAO<Provider> {
+public interface ProviderDao extends GenericDao<Provider<?>, Guid>, 
SearchDAO<Provider<?>> {
 
     /**
      * Query for the provider by name.
@@ -14,5 +14,5 @@
      *            The name of the provider.
      * @return The provider, or <code>null</code> if not found.
      */
-    Provider getByName(String name);
+    Provider<?> getByName(String name);
 }
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/provider/ProviderDaoDbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/provider/ProviderDaoDbFacadeImpl.java
index b2811a8..bbbfd86 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/provider/ProviderDaoDbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/provider/ProviderDaoDbFacadeImpl.java
@@ -4,7 +4,9 @@
 import java.sql.SQLException;
 import java.util.List;
 
+import 
org.ovirt.engine.core.common.businessentities.MultiTenantProviderProperties;
 import org.ovirt.engine.core.common.businessentities.Provider;
+import 
org.ovirt.engine.core.common.businessentities.Provider.AdditionalProperties;
 import org.ovirt.engine.core.common.businessentities.ProviderType;
 import org.ovirt.engine.core.common.utils.EnumUtils;
 import org.ovirt.engine.core.compat.Guid;
@@ -13,14 +15,32 @@
 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
 import org.springframework.jdbc.core.simple.ParameterizedRowMapper;
 
-public class ProviderDaoDbFacadeImpl extends 
DefaultGenericDaoDbFacade<Provider, Guid> implements ProviderDao {
+public class ProviderDaoDbFacadeImpl extends 
DefaultGenericDaoDbFacade<Provider<?>, Guid> implements ProviderDao {
 
     public ProviderDaoDbFacadeImpl() {
         super("Provider");
     }
 
     @Override
-    protected MapSqlParameterSource createFullParametersMapper(Provider 
entity) {
+    protected MapSqlParameterSource createFullParametersMapper(Provider<?> 
entity) {
+        MapSqlParameterSource mapper = 
createBaseProviderParametersMapper(entity);
+
+        if (entity.getAdditionalProperties() != null) {
+            switch (entity.getType()) {
+            case OPENSTACK_NETWORK:
+                MultiTenantProviderProperties properties =
+                        (MultiTenantProviderProperties) 
entity.getAdditionalProperties();
+                mapper.addValue("tenant_name", properties.getTenantName());
+                break;
+            default:
+                break;
+            }
+        }
+
+        return mapper;
+    }
+
+    protected MapSqlParameterSource 
createBaseProviderParametersMapper(Provider<?> entity) {
         return createIdParameterMapper(entity.getId())
                 .addValue("name", entity.getName())
                 .addValue("description", entity.getDescription())
@@ -37,18 +57,18 @@
     }
 
     @Override
-    protected ParameterizedRowMapper<Provider> createEntityRowMapper() {
+    protected ParameterizedRowMapper<Provider<?>> createEntityRowMapper() {
         return ProviderRowMapper.INSTANCE;
     }
 
     @Override
-    public Provider getByName(String name) {
+    public Provider<?> getByName(String name) {
         return getCallsHandler().executeRead("GetProviderByName",
                 createEntityRowMapper(),
                 getCustomMapSqlParameterSource().addValue("name", name));
     }
 
-    private static class ProviderRowMapper implements 
ParameterizedRowMapper<Provider> {
+    private static class ProviderRowMapper implements 
ParameterizedRowMapper<Provider<?>> {
 
         public final static ProviderRowMapper INSTANCE = new 
ProviderRowMapper();
 
@@ -56,8 +76,8 @@
         }
 
         @Override
-        public Provider mapRow(ResultSet rs, int index) throws SQLException {
-            Provider entity = new Provider();
+        public Provider<?> mapRow(ResultSet rs, int index) throws SQLException 
{
+            Provider<AdditionalProperties> entity = new 
Provider<AdditionalProperties>();
             entity.setId(Guid.createGuidFromString(rs.getString("id")));
             entity.setName(rs.getString("name"));
             entity.setDescription(rs.getString("description"));
@@ -66,12 +86,25 @@
             entity.setRequiringAuthentication(rs.getBoolean("auth_required"));
             entity.setUsername(rs.getString("auth_username"));
             
entity.setPassword(DbFacadeUtils.decryptPassword(rs.getString("auth_password")));
+            entity.setAdditionalProperties(mapAdditionalProperties(rs, 
entity));
+
             return entity;
+        }
+
+        private AdditionalProperties mapAdditionalProperties(ResultSet rs, 
Provider<?> entity) throws SQLException {
+            switch (entity.getType()) {
+            case OPENSTACK_NETWORK:
+                MultiTenantProviderProperties properties = new 
MultiTenantProviderProperties();
+                properties.setTenantName(rs.getString("tenant_name"));
+                return properties;
+            default:
+                return null;
+            }
         }
     }
 
     @Override
-    public List<Provider> getAllWithQuery(String query) {
+    public List<Provider<?>> getAllWithQuery(String query) {
         return jdbcTemplate.query(query, ProviderRowMapper.INSTANCE);
     }
 }
diff --git 
a/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/provider/ProviderDaoTest.java
 
b/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/provider/ProviderDaoTest.java
index f0ecec4..4282a8e 100644
--- 
a/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/provider/ProviderDaoTest.java
+++ 
b/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/provider/ProviderDaoTest.java
@@ -6,16 +6,17 @@
 
 import org.junit.Test;
 import org.ovirt.engine.core.common.businessentities.Provider;
+import 
org.ovirt.engine.core.common.businessentities.Provider.AdditionalProperties;
 import org.ovirt.engine.core.common.businessentities.ProviderType;
 import org.ovirt.engine.core.compat.Guid;
 import org.ovirt.engine.core.dao.BaseGenericDaoTestCase;
 import org.ovirt.engine.core.dao.FixturesTool;
 
-public class ProviderDaoTest extends BaseGenericDaoTestCase<Guid, Provider, 
ProviderDao> {
+public class ProviderDaoTest extends BaseGenericDaoTestCase<Guid, Provider<?>, 
ProviderDao> {
 
     @Override
-    protected Provider generateNewEntity() {
-        Provider provider = new Provider();
+    protected Provider<?> generateNewEntity() {
+        Provider<AdditionalProperties> provider = new 
Provider<AdditionalProperties>();
         provider.setId(generateNonExistingId());
         provider.setName("brovider");
         provider.setUrl("http://brovider.com/";);
diff --git a/backend/manager/modules/dal/src/test/resources/fixtures.xml 
b/backend/manager/modules/dal/src/test/resources/fixtures.xml
index 07c5098..1256e83 100644
--- a/backend/manager/modules/dal/src/test/resources/fixtures.xml
+++ b/backend/manager/modules/dal/src/test/resources/fixtures.xml
@@ -672,6 +672,7 @@
         <column>auth_required</column>
         <column>auth_username</column>
         <column>auth_password</column>
+        <column>tenant_name</column>
         <row>
             <value>1115c1c6-cb15-4832-b2a4-023770607111</value>
             <value>provider</value>
@@ -681,6 +682,7 @@
             <value>false</value>
             <null/>
             <null/>
+            <value>bubu</value>
         </row>
     </table>
 
diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/resources/org/ovirt/engine/core/Common.gwt.xml
 
b/frontend/webadmin/modules/gwt-common/src/main/resources/org/ovirt/engine/core/Common.gwt.xml
index c0f11c7..acf5e55 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/resources/org/ovirt/engine/core/Common.gwt.xml
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/resources/org/ovirt/engine/core/Common.gwt.xml
@@ -37,6 +37,7 @@
                <include name="common/businessentities/Nameable.java" />
                <include name="common/businessentities/Provider.java" />
                <include name="common/businessentities/ProviderType.java" />
+               <include 
name="common/businessentities/MultiTenantProviderProperties.java" />
 
                <!-- Network business entities -->
                <include 
name="common/businessentities/network/VdsNetworkInterface.java" />


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Id9b51387a1bb7e4fb520ba53428ae82d9705e809
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Mike Kolesnik <mkole...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to