private AdditionalProperties mapAdditionalProperties(ResultSet rs, Provider<?> entity) throws SQLException { switch (entity.getType()) { case EXTERNAL_NETWORK: case OPENSTACK_NETWORK: OpenstackNetworkProviderProperties networkProperties = new OpenstackNetworkProviderProperties(); mapOpenStackProperties(rs, networkProperties); networkProperties.setReadOnly(rs.getBoolean("read_only")); networkProperties.setAutoSync(rs.getBoolean("auto_sync")); networkProperties.setPluginType(rs.getString("plugin_type")); networkProperties.setAgentConfiguration(SerializationFactory.getDeserializer() .deserialize(rs.getString("agent_configuration"), AgentConfiguration.class)); return networkProperties; case OPENSTACK_IMAGE: OpenStackImageProviderProperties imageProperties = new OpenStackImageProviderProperties(); mapOpenStackProperties(rs, imageProperties); return imageProperties; case OPENSTACK_VOLUME: OpenStackVolumeProviderProperties volumeProperties = new OpenStackVolumeProviderProperties(); mapOpenStackProperties(rs, volumeProperties); return volumeProperties; case VMWARE: return SerializationFactory.getDeserializer().deserialize(rs.getString("additional_properties"), VmwareVmProviderProperties.class); case KVM: return SerializationFactory.getDeserializer().deserialize(rs.getString("additional_properties"), KVMVmProviderProperties.class); case XEN: return SerializationFactory.getDeserializer().deserialize(rs.getString("additional_properties"), XENVmProviderProperties.class); default: return null; } }
entity.setPluginType(mapPluginType(model.getPluginType())); entity.setPluginType(model.getExternalPluginType());
provider.setAdditionalProperties(properties); properties.setPluginType(NetworkProviderPluginTranslator. getPluginNameForDisplayString(getPluginType().getSelectedItem()));
@Override protected Provider<?> generateNewEntity() { Provider<AdditionalProperties> provider = new Provider<>(); provider.setId(generateNonExistingId()); provider.setName("brovider"); provider.setUrl("http://brovider.com/"); provider.setType(ProviderType.OPENSTACK_NETWORK); OpenstackNetworkProviderProperties additionalProperties = new OpenstackNetworkProviderProperties(); additionalProperties.setReadOnly(Boolean.FALSE); additionalProperties.setTenantName("10ant"); additionalProperties.setUserDomainName("userTomain"); additionalProperties.setProjectName("browject"); additionalProperties.setProjectDomainName("browjjectTomain"); additionalProperties.setPluginType(OpenstackNetworkPluginType.OPEN_VSWITCH.name()); provider.setAdditionalProperties(additionalProperties); provider.setAuthUrl("http://keystone-server:35357/v2.0/"); return provider; }