Lior Vernia has uploaded a new change for review. Change subject: webadmin: Fixed tenant name bug ......................................................................
webadmin: Fixed tenant name bug Seems like I messed something up in ProviderModel, which caused the tenant name to not be retrieved from the database when editing a provider. This is fixed here, in a way that will hopefully render maintenance easier as further types of tenant-oriented providers are added. Change-Id: I42b58137af760f4fe59985b4b7c59460264fa232 Signed-off-by: Lior Vernia <lver...@redhat.com> --- M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/EditProviderModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/ProviderModel.java 2 files changed, 29 insertions(+), 16 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/74/17074/1 diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/EditProviderModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/EditProviderModel.java index 620463b..ae9a326 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/EditProviderModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/EditProviderModel.java @@ -9,6 +9,7 @@ import org.ovirt.engine.core.common.action.VdcActionType; import org.ovirt.engine.core.common.businessentities.OpenstackNetworkProviderProperties; import org.ovirt.engine.core.common.businessentities.Provider; +import org.ovirt.engine.core.common.businessentities.TenantProviderProperties; import org.ovirt.engine.core.common.businessentities.network.Network; import org.ovirt.engine.core.common.queries.IdQueryParameters; import org.ovirt.engine.core.common.queries.VdcQueryParametersBase; @@ -45,6 +46,10 @@ getUsername().setEntity(provider.getUsername()); getPassword().setEntity(provider.getPassword()); + if (provider.getAdditionalProperties() instanceof TenantProviderProperties) { + getTenantName().setEntity(((TenantProviderProperties) provider.getAdditionalProperties()).getTenantName()); + } + if (isTypeOpenStackNetwork()) { getNeutronAgentModel().init(((OpenstackNetworkProviderProperties) provider.getAdditionalProperties()). getAgentConfiguration()); diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/ProviderModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/ProviderModel.java index aea213b..684a5c1 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/ProviderModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/ProviderModel.java @@ -4,10 +4,10 @@ import org.ovirt.engine.core.common.action.ProviderParameters; import org.ovirt.engine.core.common.action.VdcActionType; import org.ovirt.engine.core.common.action.VdcReturnValueBase; -import org.ovirt.engine.core.common.businessentities.OpenstackImageProviderProperties; import org.ovirt.engine.core.common.businessentities.OpenstackNetworkProviderProperties; import org.ovirt.engine.core.common.businessentities.Provider; import org.ovirt.engine.core.common.businessentities.ProviderType; +import org.ovirt.engine.core.common.businessentities.TenantProviderProperties; import org.ovirt.engine.core.common.errors.VdcBllErrors; import org.ovirt.engine.core.common.queries.VdcQueryReturnValue; import org.ovirt.engine.core.compat.StringHelper; @@ -125,8 +125,9 @@ return (ProviderType) getType().getSelectedItem() == ProviderType.OPENSTACK_NETWORK; } - private boolean isTypeOpenStackImage() { - return (ProviderType) getType().getSelectedItem() == ProviderType.OPENSTACK_IMAGE; + private boolean isTypeTenantAware() { + ProviderType type = (ProviderType) getType().getSelectedItem(); + return type == ProviderType.OPENSTACK_NETWORK || type == ProviderType.OPENSTACK_IMAGE; } private String getDefaultUrl(ProviderType type) { @@ -175,9 +176,10 @@ getType().getSelectedItemChangedEvent().addListener(new IEventListener() { @Override public void eventRaised(Event ev, Object sender, EventArgs args) { + getTenantName().setIsAvailable(isTypeTenantAware()); + boolean providerNeutron = isTypeOpenStackNetwork(); getApiVersion().setIsAvailable(providerNeutron); - getTenantName().setIsAvailable(providerNeutron || isTypeOpenStackImage()); if (providerNeutron) { OpenstackNetworkProviderProperties properties = (OpenstackNetworkProviderProperties) provider.getAdditionalProperties(); @@ -240,23 +242,29 @@ getPluginNameForDisplayString((String) getPluginType().getSelectedItem())); properties.setAgentConfiguration(getNeutronAgentModel().flush()); provider.setAdditionalProperties(properties); - } else if (isTypeOpenStackImage()) { - OpenstackImageProviderProperties properties = new OpenstackImageProviderProperties(); - provider.setAdditionalProperties(properties); } boolean authenticationRequired = (Boolean) requiresAuthentication.getEntity(); provider.setRequiringAuthentication(authenticationRequired); if (authenticationRequired) { - provider.setUsername((String) username.getEntity()); - provider.setPassword((String) password.getEntity()); - - if (isTypeOpenStackNetwork()) { - ((OpenstackNetworkProviderProperties) provider.getAdditionalProperties()).setTenantName( - (String) getTenantName().getEntity()); - } else if (isTypeOpenStackImage()) { - ((OpenstackImageProviderProperties) provider.getAdditionalProperties()).setTenantName( - (String) getTenantName().getEntity()); + provider.setUsername((String) getUsername().getEntity()); + provider.setPassword((String) getPassword().getEntity()); + if (getTenantName().getIsAvailable()) { + TenantProviderProperties properties = (TenantProviderProperties) provider.getAdditionalProperties(); + if (properties == null) { + properties = new TenantProviderProperties(); + provider.setAdditionalProperties(properties); + } + properties.setTenantName((String) getTenantName().getEntity()); + } + } else { + provider.setUsername(null); + provider.setPassword(null); + if (getTenantName().getIsAvailable()) { + TenantProviderProperties properties = (TenantProviderProperties) provider.getAdditionalProperties(); + if (properties != null) { + properties.setTenantName(null); + } } } } -- To view, visit http://gerrit.ovirt.org/17074 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I42b58137af760f4fe59985b4b7c59460264fa232 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Lior Vernia <lver...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches