mirror of https://github.com/apache/jclouds.git
Change List to Set in CreateServerOptions and Server
This commit is contained in:
parent
61ff64c8ce
commit
9090625b78
|
@ -19,11 +19,11 @@
|
|||
package org.jclouds.openstack.nova.domain;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.common.collect.Maps;
|
||||
import com.google.common.collect.Sets;
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
|
||||
/**
|
||||
|
@ -56,7 +56,7 @@ public class Server extends Resource {
|
|||
* needed when creating a server to specify a set of groups
|
||||
*/
|
||||
@SerializedName(value="security_groups")
|
||||
private List<SecurityGroup> securityGroups = Lists.newArrayList();
|
||||
private Set<SecurityGroup> securityGroups = Sets.newHashSet();
|
||||
|
||||
private Date created;
|
||||
private Date updated;
|
||||
|
@ -213,11 +213,11 @@ public class Server extends Resource {
|
|||
this.keyName = keyName;
|
||||
}
|
||||
|
||||
public List<SecurityGroup> getSecurityGroups() {
|
||||
public Set<SecurityGroup> getSecurityGroups() {
|
||||
return securityGroups;
|
||||
}
|
||||
|
||||
public void setSecurityGroups(List<SecurityGroup> securityGroups) {
|
||||
public void setSecurityGroups(Set<SecurityGroup> securityGroups) {
|
||||
this.securityGroups = securityGroups;
|
||||
}
|
||||
|
||||
|
|
|
@ -25,6 +25,7 @@ import static com.google.common.base.Preconditions.checkState;
|
|||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.Set;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
|
@ -37,6 +38,7 @@ import org.jclouds.rest.binders.BindToJsonPayload;
|
|||
import com.google.common.collect.ImmutableMap;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.common.collect.Maps;
|
||||
import com.google.common.collect.Sets;
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
|
||||
/**
|
||||
|
@ -80,7 +82,7 @@ public class CreateServerOptions implements MapBinder {
|
|||
List<File> personality;
|
||||
String key_name;
|
||||
@SerializedName(value="security_groups")
|
||||
List<SecurityGroup> securityGroups;
|
||||
Set<SecurityGroup> securityGroups;
|
||||
|
||||
private ServerRequest(String name, String imageRef, String flavorRef) {
|
||||
this.name = name;
|
||||
|
@ -92,7 +94,7 @@ public class CreateServerOptions implements MapBinder {
|
|||
|
||||
private Map<String, String> metadata = Maps.newHashMap();
|
||||
private List<File> files = Lists.newArrayList();
|
||||
private List<String> securityGroups = Lists.newArrayList();
|
||||
private Set<String> securityGroups = Sets.newHashSet();
|
||||
private String keyName;
|
||||
|
||||
@Override
|
||||
|
@ -107,7 +109,7 @@ public class CreateServerOptions implements MapBinder {
|
|||
if (keyName != null)
|
||||
server.key_name = keyName;
|
||||
if (securityGroups.size() > 0) {
|
||||
server.securityGroups = Lists.newArrayList();
|
||||
server.securityGroups = Sets.newHashSet();
|
||||
for (String groupName : securityGroups) {
|
||||
SecurityGroup group = new SecurityGroup();
|
||||
group.setName(groupName);
|
||||
|
|
|
@ -86,7 +86,7 @@ public class CreateServerOptionsTest {
|
|||
HttpRequest request = buildRequest(options);
|
||||
assertEquals(
|
||||
request.getPayload().getRawContent(),
|
||||
"{\"server\":{\"name\":\"foo\",\"imageRef\":\"1\",\"flavorRef\":\"2\",\"security_groups\":[{\"id\":0,\"name\":\"mygroup\"},{\"id\":0,\"name\":\"myothergroup\"}]}}");
|
||||
"{\"server\":{\"name\":\"foo\",\"imageRef\":\"1\",\"flavorRef\":\"2\",\"security_groups\":[{\"id\":0,\"name\":\"myothergroup\"},{\"id\":0,\"name\":\"mygroup\"}]}}");
|
||||
}
|
||||
|
||||
private void assertFile(HttpRequest request) {
|
||||
|
|
Loading…
Reference in New Issue