http://git-wip-us.apache.org/repos/asf/jclouds/blob/83b104d9/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/options/CreateNetworkBulkOptions.java ---------------------------------------------------------------------- diff --git a/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/options/CreateNetworkBulkOptions.java b/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/options/CreateNetworkBulkOptions.java deleted file mode 100644 index 7410839..0000000 --- a/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/options/CreateNetworkBulkOptions.java +++ /dev/null @@ -1,138 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.jclouds.openstack.neutron.v2_0.options; - -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Lists; -import org.jclouds.http.HttpRequest; -import org.jclouds.openstack.neutron.v2_0.domain.BulkNetwork; -import org.jclouds.openstack.neutron.v2_0.domain.NetworkType; -import org.jclouds.rest.MapBinder; -import org.jclouds.rest.binders.BindToJsonPayload; - -import javax.inject.Inject; -import java.util.Collection; -import java.util.List; -import java.util.Map; - -import static com.google.common.base.Preconditions.checkNotNull; -import static org.jclouds.openstack.neutron.v2_0.options.CreateNetworkOptions.CreateNetworkRequest; - -public class CreateNetworkBulkOptions implements MapBinder { - - @Inject - private BindToJsonPayload jsonBinder; - - public static Builder<?> builder() { - return new ConcreteBuilder(); - } - - public Builder<?> toBuilder() { - return new ConcreteBuilder().fromCreateNetworkOptions(this); - } - - public abstract static class Builder<T extends Builder<T>> { - protected abstract T self(); - - protected List<BulkNetwork> networks; - - /** - * @see org.jclouds.openstack.neutron.v2_0.options.CreateNetworkBulkOptions#getNetworks() - */ - public T networks(Collection<BulkNetwork> networks) { - this.networks = ImmutableList.copyOf(networks); - return self(); - } - - public CreateNetworkBulkOptions build() { - return new CreateNetworkBulkOptions(networks); - } - - public T fromCreateNetworkOptions(CreateNetworkBulkOptions in) { - return this.networks(in.getNetworks()); - } - } - - private static class ConcreteBuilder extends Builder<ConcreteBuilder> { - @Override - protected ConcreteBuilder self() { - return this; - } - } - - private final List<BulkNetwork> networks; - - protected CreateNetworkBulkOptions() { - this.networks = Lists.newArrayList(); - } - - public CreateNetworkBulkOptions(List<BulkNetwork> networks) { - this.networks = networks != null ? ImmutableList.copyOf(networks) : Lists.<BulkNetwork>newArrayList(); - } - - /** - * @return the list of networks to create - */ - public List<BulkNetwork> getNetworks() { - return networks; - } - - @Override - public <R extends HttpRequest> R bindToRequest(R request, Map<String, Object> postParams) { - List<CreateNetworkRequest> createNetworkRequests = Lists.newArrayList(); - - for (BulkNetwork network : this.networks) { - if (network.getNetworkType() != null) { - //Validations for each NetworkType - if (network.getNetworkType() == NetworkType.FLAT) { - checkNotNull(network.getPhysicalNetworkName(), "physicalNetworkName must be present when networkType=FLAT"); - } else if (network.getNetworkType() == NetworkType.VLAN) { - checkNotNull(network.getPhysicalNetworkName(), "physicalNetworkName must be present when networkType=VLAN"); - checkNotNull(network.getSegmentationId(), "segmentationId must be present when networkType=VLAN"); - } else if (network.getNetworkType() == NetworkType.GRE) { - checkNotNull(network.getSegmentationId(), "segmentationId must be present when NetworkType=GRE"); - } - } - - CreateNetworkRequest createNetworkRequest = new CreateNetworkRequest(); - if (network.getName() != null) - createNetworkRequest.name = network.getName(); - if (network.getAdminStateUp() != null) - createNetworkRequest.admin_state_up = network.getAdminStateUp(); - if (network.getExternal() != null) - createNetworkRequest.external = network.getExternal(); - if (network.getNetworkType() != null) - createNetworkRequest.networkType = network.getNetworkType().getValue(); - if (network.getPhysicalNetworkName() != null && (network.getNetworkType() == NetworkType.FLAT || network.getNetworkType() == NetworkType.VLAN)) - createNetworkRequest.physicalNetworkName = network.getPhysicalNetworkName(); - if (network.getSegmentationId() != null && (network.getNetworkType() == NetworkType.VLAN || network.getNetworkType() == NetworkType.GRE)) - createNetworkRequest.segmentationId = network.getSegmentationId(); - - createNetworkRequests.add(createNetworkRequest); - } - - return bindToRequest(request, ImmutableMap.of("networks", createNetworkRequests)); - } - - @Override - public <R extends HttpRequest> R bindToRequest(R request, Object input) { - return jsonBinder.bindToRequest(request, input); - } - -}
http://git-wip-us.apache.org/repos/asf/jclouds/blob/83b104d9/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/options/CreateNetworkOptions.java ---------------------------------------------------------------------- diff --git a/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/options/CreateNetworkOptions.java b/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/options/CreateNetworkOptions.java deleted file mode 100644 index f4237f5..0000000 --- a/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/options/CreateNetworkOptions.java +++ /dev/null @@ -1,240 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.jclouds.openstack.neutron.v2_0.options; - -import com.google.common.collect.ImmutableMap; -import com.google.gson.annotations.SerializedName; -import org.jclouds.http.HttpRequest; -import org.jclouds.openstack.neutron.v2_0.domain.NetworkType; -import org.jclouds.rest.MapBinder; -import org.jclouds.rest.binders.BindToJsonPayload; - -import javax.inject.Inject; -import java.util.Map; - -import static com.google.common.base.Preconditions.checkNotNull; - -public class CreateNetworkOptions implements MapBinder { - - @Inject - private BindToJsonPayload jsonBinder; - - public static Builder<?> builder() { - return new ConcreteBuilder(); - } - - public Builder<?> toBuilder() { - return new ConcreteBuilder().fromCreateNetworkOptions(this); - } - - public abstract static class Builder<T extends Builder<T>> { - protected abstract T self(); - - protected String name; - protected Boolean adminStateUp; - protected Boolean external; - protected NetworkType networkType; - protected String physicalNetworkName; - protected Integer segmentationId; - - /** - * @see org.jclouds.openstack.neutron.v2_0.options.CreateNetworkOptions#getName() - */ - public T name(String name) { - this.name = name; - return self(); - } - - /** - * @see org.jclouds.openstack.neutron.v2_0.options.CreateNetworkOptions#getAdminStateUp() - */ - public T adminStateUp(Boolean adminStateUp) { - this.adminStateUp = adminStateUp; - return self(); - } - - /** - * @see org.jclouds.openstack.neutron.v2_0.options.CreateNetworkOptions#getExternal() - */ - public T external(Boolean external) { - this.external = external; - return self(); - } - - /** - * @see org.jclouds.openstack.neutron.v2_0.options.CreateNetworkOptions#getNetworkType() - */ - public T networkType(NetworkType networkType) { - this.networkType = networkType; - return self(); - } - - /** - * @see org.jclouds.openstack.neutron.v2_0.options.CreateNetworkOptions#getPhysicalNetworkName() - */ - public T physicalNetworkName(String physicalNetworkName) { - this.physicalNetworkName = physicalNetworkName; - return self(); - } - - /** - * @see org.jclouds.openstack.neutron.v2_0.options.CreateNetworkOptions#getSegmentationId() - */ - public T segmentationId(Integer segmentationId) { - this.segmentationId = segmentationId; - return self(); - } - - public CreateNetworkOptions build() { - return new CreateNetworkOptions(name, adminStateUp, external, networkType, physicalNetworkName, segmentationId); - } - - public T fromCreateNetworkOptions(CreateNetworkOptions in) { - return this.name(in.getName()) - .adminStateUp(in.getAdminStateUp()) - .external(in.getExternal()) - .networkType(in.getNetworkType()) - .physicalNetworkName(in.getPhysicalNetworkName()) - .segmentationId(in.getSegmentationId()); - } - } - - private static class ConcreteBuilder extends Builder<ConcreteBuilder> { - @Override - protected ConcreteBuilder self() { - return this; - } - } - - protected static class CreateNetworkRequest { - protected String name; - protected Boolean admin_state_up; - @SerializedName("router:external") - protected Boolean external; - @SerializedName("provider:network_type") - protected String networkType; - @SerializedName("provider:physical_network") - protected String physicalNetworkName; - @SerializedName("provider:segmentation_id") - protected Integer segmentationId; - } - - private final String name; - private final Boolean adminStateUp; - private final Boolean external; - private final NetworkType networkType; - private final String physicalNetworkName; - private final Integer segmentationId; - - protected CreateNetworkOptions() { - this.name = null; - this.adminStateUp = null; - this.external = null; - this.networkType = null; - this.physicalNetworkName = null; - this.segmentationId = null; - } - - public CreateNetworkOptions(String name, Boolean adminStateUp, Boolean external, NetworkType networkType, String physicalNetworkName, Integer segmentationId) { - this.name = name; - this.adminStateUp = adminStateUp; - this.external = external; - this.networkType = networkType; - this.physicalNetworkName = physicalNetworkName; - this.segmentationId = segmentationId; - } - - /** - * @return the name of the network - */ - public String getName() { - return name; - } - - /** - * @return the administrative state of network. If false, the network does not forward packets. - */ - public Boolean getAdminStateUp() { - return adminStateUp; - } - - /** - * @return true if network is external, false if not - */ - public Boolean getExternal() { - return external; - } - - /** - * @return the type of the network - */ - public NetworkType getNetworkType() { - return networkType; - } - - /** - * @return the physical network name - */ - public String getPhysicalNetworkName() { - return physicalNetworkName; - } - - /** - * @return the segmentation id of the network - */ - public Integer getSegmentationId() { - return segmentationId; - } - - @Override - public <R extends HttpRequest> R bindToRequest(R request, Map<String, Object> postParams) { - if (this.networkType != null) { - //Validations for each NetworkType - if (this.networkType == NetworkType.FLAT) { - checkNotNull(this.physicalNetworkName, "physicalNetworkName must be present when networkType=FLAT"); - } else if (this.networkType == NetworkType.VLAN) { - checkNotNull(this.physicalNetworkName, "physicalNetworkName must be present when networkType=VLAN"); - checkNotNull(this.segmentationId, "segmentationId must be present when networkType=VLAN"); - } else if (this.networkType == NetworkType.GRE) { - checkNotNull(this.segmentationId, "segmentationId must be present when NetworkType=GRE"); - } - } - - CreateNetworkRequest createNetworkRequest = new CreateNetworkRequest(); - if (this.name != null) - createNetworkRequest.name = this.name; - if (this.adminStateUp != null) - createNetworkRequest.admin_state_up = this.adminStateUp; - if (this.external != null) - createNetworkRequest.external = this.external; - if (this.networkType != null) - createNetworkRequest.networkType = this.networkType.getValue(); - if (this.physicalNetworkName != null && (networkType == NetworkType.FLAT || networkType == NetworkType.VLAN)) - createNetworkRequest.physicalNetworkName = this.physicalNetworkName; - if (this.segmentationId != null && (networkType == NetworkType.VLAN || networkType == NetworkType.GRE)) - createNetworkRequest.segmentationId = this.segmentationId; - - return bindToRequest(request, ImmutableMap.of("network", createNetworkRequest)); - } - - @Override - public <R extends HttpRequest> R bindToRequest(R request, Object input) { - return jsonBinder.bindToRequest(request, input); - } - -} http://git-wip-us.apache.org/repos/asf/jclouds/blob/83b104d9/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/options/CreatePortBulkOptions.java ---------------------------------------------------------------------- diff --git a/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/options/CreatePortBulkOptions.java b/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/options/CreatePortBulkOptions.java deleted file mode 100644 index bbe473d..0000000 --- a/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/options/CreatePortBulkOptions.java +++ /dev/null @@ -1,133 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.jclouds.openstack.neutron.v2_0.options; - -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Lists; -import com.google.common.collect.Sets; -import org.jclouds.http.HttpRequest; -import org.jclouds.openstack.neutron.v2_0.domain.BulkPort; -import org.jclouds.openstack.neutron.v2_0.domain.IP; -import org.jclouds.rest.MapBinder; -import org.jclouds.rest.binders.BindToJsonPayload; - -import javax.inject.Inject; -import java.util.Collection; -import java.util.List; -import java.util.Map; - -import static com.google.common.base.Preconditions.checkNotNull; - -public class CreatePortBulkOptions implements MapBinder { - - @Inject - private BindToJsonPayload jsonBinder; - - public static Builder<?> builder() { - return new ConcreteBuilder(); - } - - public Builder<?> toBuilder() { - return new ConcreteBuilder().fromCreatePortBulkOptions(this); - } - - public abstract static class Builder<T extends Builder<T>> { - protected abstract T self(); - - protected List<BulkPort> ports; - - /** - * @see org.jclouds.openstack.neutron.v2_0.options.CreatePortBulkOptions#getPorts() - */ - public T ports(Collection<BulkPort> ports) { - this.ports = ImmutableList.copyOf(ports); - return self(); - } - - public CreatePortBulkOptions build() { - return new CreatePortBulkOptions(this.ports); - } - - public T fromCreatePortBulkOptions(CreatePortBulkOptions in) { - return this.ports(in.getPorts()); - } - } - - private static class ConcreteBuilder extends Builder<ConcreteBuilder> { - @Override - protected ConcreteBuilder self() { - return this; - } - } - - private final List<BulkPort> ports; - - protected CreatePortBulkOptions() { - this.ports = Lists.newArrayList(); - } - - public CreatePortBulkOptions(List<BulkPort> ports) { - this.ports = ports; - } - - /** - * @return the list of ports to create - */ - public List<BulkPort> getPorts() { - return ports; - } - - @Override - public <R extends HttpRequest> R bindToRequest(R request, Map<String, Object> postParams) { - List<CreatePortOptions.CreatePortRequest> createPortRequests = Lists.newArrayList(); - - for (BulkPort port : this.ports) { - CreatePortOptions.CreatePortRequest createPortRequest = new CreatePortOptions.CreatePortRequest(checkNotNull(port.getNetworkId(), "network id parameter not present")); - - if (port.getName() != null) - createPortRequest.name = port.getName(); - if (port.getAdminStateUp() != null) - createPortRequest.admin_state_up = port.getAdminStateUp(); - if (port.getDeviceId() != null) - createPortRequest.device_id = port.getDeviceId(); - if (port.getDeviceOwner() != null) - createPortRequest.device_owner = port.getDeviceOwner(); - if (port.getMacAddress() != null) - createPortRequest.mac_address = port.getMacAddress(); - if (!port.getFixedIps().isEmpty()) { - createPortRequest.fixed_ips = Sets.newHashSet(); - for (IP fixedIp : port.getFixedIps()) { - CreatePortOptions.CreatePortRequest.IP requestIp = new CreatePortOptions.CreatePortRequest.IP(); - requestIp.subnet_id = fixedIp.getSubnetId(); - requestIp.ip_address = fixedIp.getIpAddress(); - createPortRequest.fixed_ips.add(requestIp); - } - } - - createPortRequests.add(createPortRequest); - } - - return bindToRequest(request, ImmutableMap.of("ports", createPortRequests)); - } - - @Override - public <R extends HttpRequest> R bindToRequest(R request, Object input) { - return jsonBinder.bindToRequest(request, input); - } -} http://git-wip-us.apache.org/repos/asf/jclouds/blob/83b104d9/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/options/CreatePortOptions.java ---------------------------------------------------------------------- diff --git a/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/options/CreatePortOptions.java b/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/options/CreatePortOptions.java deleted file mode 100644 index 1903da2..0000000 --- a/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/options/CreatePortOptions.java +++ /dev/null @@ -1,241 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.jclouds.openstack.neutron.v2_0.options; - -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.ImmutableSet; -import com.google.common.collect.Sets; -import org.jclouds.http.HttpRequest; -import org.jclouds.openstack.neutron.v2_0.domain.IP; -import org.jclouds.rest.MapBinder; -import org.jclouds.rest.binders.BindToJsonPayload; - -import javax.inject.Inject; -import java.util.Map; -import java.util.Set; - -import static com.google.common.base.Preconditions.checkNotNull; - -public class CreatePortOptions implements MapBinder { - - @Inject - private BindToJsonPayload jsonBinder; - - public static Builder<?> builder() { - return new ConcreteBuilder(); - } - - public Builder<?> toBuilder() { - return new ConcreteBuilder().fromCreatePortOptions(this); - } - - public abstract static class Builder<T extends Builder<T>> { - protected abstract T self(); - - protected String name; - protected String deviceId; - protected String deviceOwner; - protected String macAddress; - protected Set<IP> fixedIps; - protected Boolean adminStateUp; - - /** - * @see org.jclouds.openstack.neutron.v2_0.options.CreatePortOptions#getName() - */ - public T name(String name) { - this.name = name; - return self(); - } - - /** - * @see org.jclouds.openstack.neutron.v2_0.options.CreatePortOptions#getDeviceId() - */ - public T deviceId(String deviceId) { - this.deviceId = deviceId; - return self(); - } - - /** - * @see org.jclouds.openstack.neutron.v2_0.options.CreatePortOptions#getDeviceOwner() - */ - public T deviceOwner(String deviceOwner) { - this.deviceOwner = deviceOwner; - return self(); - } - - /** - * @see org.jclouds.openstack.neutron.v2_0.options.CreatePortOptions#getMacAddress() - */ - public T macAddress(String macAddress) { - this.macAddress = macAddress; - return self(); - } - - /** - * @see org.jclouds.openstack.neutron.v2_0.options.CreatePortOptions#getFixedIps() - */ - public T fixedIps(Set<IP> fixedIps) { - this.fixedIps = fixedIps; - return self(); - } - - /** - * @see org.jclouds.openstack.neutron.v2_0.options.CreatePortOptions#getAdminStateUp() - */ - public T adminStateUp(Boolean adminStateUp) { - this.adminStateUp = adminStateUp; - return self(); - } - - public CreatePortOptions build() { - return new CreatePortOptions(name, deviceId, deviceOwner, macAddress, fixedIps, adminStateUp); - } - - public T fromCreatePortOptions(CreatePortOptions options) { - return this.name(options.getName()) - .deviceId(options.getDeviceId()) - .deviceOwner(options.getDeviceOwner()) - .macAddress(options.getMacAddress()) - .fixedIps(options.getFixedIps()) - .adminStateUp(options.getAdminStateUp()); - } - } - - private static class ConcreteBuilder extends Builder<ConcreteBuilder> { - @Override - protected ConcreteBuilder self() { - return this; - } - } - - protected static class CreatePortRequest { - protected String network_id; - protected String name; - protected String device_id; - protected String device_owner; - protected String mac_address; - protected Set<IP> fixed_ips; - protected Boolean admin_state_up; - - protected CreatePortRequest(String networkId) { - this.network_id = networkId; - } - - protected static final class IP { - protected String ip_address; - protected String subnet_id; - } - } - - private final String name; - private final String deviceId; - private final String deviceOwner; - private final String macAddress; - private final Set<IP> fixedIps; - private final Boolean adminStateUp; - - protected CreatePortOptions() { - this.name = null; - this.deviceId = null; - this.deviceOwner = null; - this.macAddress = null; - this.fixedIps = Sets.newHashSet(); - this.adminStateUp = null; - } - - public CreatePortOptions(String name, String deviceId, String deviceOwner, String macAddress, - Set<IP> fixedIps, Boolean adminStateUp) { - this.name = name; - this.deviceId = deviceId; - this.deviceOwner = deviceOwner; - this.macAddress = macAddress; - this.fixedIps = fixedIps != null ? ImmutableSet.copyOf(fixedIps) : Sets.<IP>newHashSet(); - this.adminStateUp = adminStateUp; - } - - public String getName() { - return name; - } - - /** - * @return the id of the device (e.g. server) which will use this port. - */ - public String getDeviceId() { - return deviceId; - } - - /** - * @return the entity (e.g.: dhcp agent) who will be using this port. - */ - public String getDeviceOwner() { - return deviceOwner; - } - - /** - * @return the mac address of this port - */ - public String getMacAddress() { - return macAddress; - } - - /** - * @return the set of fixed ips this port will get assigned - */ - public Set<IP> getFixedIps() { - return fixedIps; - } - - /** - * @return the administrative state of port. If false, port does not forward packets. - */ - public Boolean getAdminStateUp() { - return adminStateUp; - } - - @Override - public <R extends HttpRequest> R bindToRequest(R request, Map<String, Object> postParams) { - CreatePortRequest createPortRequest = new CreatePortRequest(checkNotNull(postParams.get("network_id"), "networkId not present").toString()); - - if (this.name != null) - createPortRequest.name = this.name; - if (this.deviceId != null) - createPortRequest.device_id = this.deviceId; - if (this.deviceOwner != null) - createPortRequest.device_owner = this.deviceOwner; - if (this.macAddress != null) - createPortRequest.mac_address = this.macAddress; - if (!this.fixedIps.isEmpty()) { - createPortRequest.fixed_ips = Sets.newHashSet(); - for (IP ip : this.fixedIps) { - CreatePortRequest.IP requestIp = new CreatePortRequest.IP(); - requestIp.subnet_id = ip.getSubnetId(); - requestIp.ip_address = ip.getIpAddress(); - createPortRequest.fixed_ips.add(requestIp); - } - } - if (this.adminStateUp != null) - createPortRequest.admin_state_up = this.adminStateUp; - - return bindToRequest(request, ImmutableMap.of("port", createPortRequest)); - } - - @Override - public <R extends HttpRequest> R bindToRequest(R request, Object input) { - return jsonBinder.bindToRequest(request, input); - } -} http://git-wip-us.apache.org/repos/asf/jclouds/blob/83b104d9/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/options/CreateRouterOptions.java ---------------------------------------------------------------------- diff --git a/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/options/CreateRouterOptions.java b/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/options/CreateRouterOptions.java deleted file mode 100644 index 7834953..0000000 --- a/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/options/CreateRouterOptions.java +++ /dev/null @@ -1,164 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.jclouds.openstack.neutron.v2_0.options; - -import com.google.common.collect.ImmutableMap; -import org.jclouds.http.HttpRequest; -import org.jclouds.openstack.neutron.v2_0.domain.ExternalGatewayInfo; -import org.jclouds.rest.MapBinder; -import org.jclouds.rest.binders.BindToJsonPayload; - -import javax.inject.Inject; -import java.util.Map; - -public class CreateRouterOptions implements MapBinder { - - @Inject - private BindToJsonPayload jsonBinder; - - public static Builder<?> builder() { - return new ConcreteBuilder(); - } - - public Builder<?> toBuilder() { - return new ConcreteBuilder().fromCreateRouterOptions(this); - } - - public abstract static class Builder<T extends Builder<T>> { - protected abstract T self(); - - protected String name; - protected Boolean adminStateUp; - protected ExternalGatewayInfo externalGatewayInfo; - - /** - * @see CreateRouterOptions#getName() - */ - public T name(String name) { - this.name = name; - return self(); - } - - /** - * @see CreateRouterOptions#getAdminStateUp() - */ - public T adminStateUp(Boolean adminStateUp) { - this.adminStateUp = adminStateUp; - return self(); - } - - /** - * @see CreateRouterOptions#getExternalGatewayInfo() - */ - public T externalGatewayInfo(ExternalGatewayInfo externalGatewayInfo) { - this.externalGatewayInfo = externalGatewayInfo; - return self(); - } - - public CreateRouterOptions build() { - return new CreateRouterOptions(name, adminStateUp, externalGatewayInfo); - } - - public T fromCreateRouterOptions(CreateRouterOptions options) { - return this.name(options.getName()) - .adminStateUp(options.getAdminStateUp()) - .externalGatewayInfo(options.getExternalGatewayInfo()); - } - } - - private static class ConcreteBuilder extends Builder<ConcreteBuilder> { - @Override - protected ConcreteBuilder self() { - return this; - } - } - - protected static class CreateRouterRequest { - protected String name; - protected Boolean admin_state_up; - protected ExternalGatewayInfo external_gateway_info; - - protected CreateRouterRequest() { - } - - protected static final class ExternalGatewayInfo { - protected String network_id; - - protected ExternalGatewayInfo(String network_id) { - this.network_id = network_id; - } - } - } - - protected String name; - protected Boolean adminStateUp; - protected ExternalGatewayInfo externalGatewayInfo; - - protected CreateRouterOptions() { - this.name = null; - this.adminStateUp = null; - this.externalGatewayInfo = null; - } - - public CreateRouterOptions(String name, Boolean adminStateUp, ExternalGatewayInfo externalGatewayInfo) { - this.name = name; - this.adminStateUp = adminStateUp; - this.externalGatewayInfo = externalGatewayInfo; - } - - /** - * @return the name for the router - */ - public String getName() { - return name; - } - - /** - * @return the administrative state of the router - */ - public Boolean getAdminStateUp() { - return adminStateUp; - } - - /** - * @return the external gateway info for the router - */ - public ExternalGatewayInfo getExternalGatewayInfo() { - return externalGatewayInfo; - } - - @Override - public <R extends HttpRequest> R bindToRequest(R request, Map<String, Object> postParams) { - CreateRouterRequest createRouterRequest = new CreateRouterRequest(); - - if (this.name != null) - createRouterRequest.name = this.name; - if (this.adminStateUp != null) - createRouterRequest.admin_state_up = this.adminStateUp; - if (this.externalGatewayInfo != null) - createRouterRequest.external_gateway_info = new CreateRouterRequest.ExternalGatewayInfo(this.externalGatewayInfo.getNetworkId()); - - return bindToRequest(request, ImmutableMap.of("router", createRouterRequest)); - } - - @Override - public <R extends HttpRequest> R bindToRequest(R request, Object input) { - return jsonBinder.bindToRequest(request, input); - } - -} http://git-wip-us.apache.org/repos/asf/jclouds/blob/83b104d9/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/options/CreateSubnetBulkOptions.java ---------------------------------------------------------------------- diff --git a/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/options/CreateSubnetBulkOptions.java b/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/options/CreateSubnetBulkOptions.java deleted file mode 100644 index ae85ad1..0000000 --- a/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/options/CreateSubnetBulkOptions.java +++ /dev/null @@ -1,139 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.jclouds.openstack.neutron.v2_0.options; - -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Lists; -import com.google.common.collect.Sets; -import org.jclouds.http.HttpRequest; -import org.jclouds.openstack.neutron.v2_0.domain.BulkSubnet; -import org.jclouds.openstack.neutron.v2_0.domain.HostRoute; -import org.jclouds.rest.MapBinder; -import org.jclouds.rest.binders.BindToJsonPayload; - -import javax.inject.Inject; -import java.util.Collection; -import java.util.List; -import java.util.Map; - -import static com.google.common.base.Preconditions.checkNotNull; - -public class CreateSubnetBulkOptions implements MapBinder { - - @Inject - private BindToJsonPayload jsonBinder; - - public static Builder<?> builder() { - return new ConcreteBuilder(); - } - - public Builder<?> toBuilder() { - return new ConcreteBuilder().fromCreateSubnetBulkOptions(this); - } - - public abstract static class Builder<T extends Builder<T>> { - protected abstract T self(); - - protected List<BulkSubnet> subnets; - - /** - * @see org.jclouds.openstack.neutron.v2_0.options.CreateSubnetBulkOptions#getSubnets() - */ - public T subnets(Collection<BulkSubnet> subnets) { - this.subnets = ImmutableList.copyOf(subnets); - return self(); - } - - public CreateSubnetBulkOptions build() { - return new CreateSubnetBulkOptions(this.subnets); - } - - public T fromCreateSubnetBulkOptions(CreateSubnetBulkOptions in) { - return this.subnets(in.getSubnets()); - } - } - - private static class ConcreteBuilder extends Builder<ConcreteBuilder> { - @Override - protected ConcreteBuilder self() { - return this; - } - } - - private final List<BulkSubnet> subnets; - - protected CreateSubnetBulkOptions() { - this.subnets = Lists.newArrayList(); - } - - public CreateSubnetBulkOptions(List<BulkSubnet> subnets) { - this.subnets = subnets != null ? ImmutableList.copyOf(subnets) : Lists.<BulkSubnet>newArrayList(); - } - - /** - * @return The list of subnets to create - */ - public List<BulkSubnet> getSubnets() { - return subnets; - } - - @Override - public <R extends HttpRequest> R bindToRequest(R request, Map<String, Object> postParams) { - List<CreateSubnetOptions.CreateSubnetRequest> createSubnetRequests = Lists.newArrayList(); - - for (BulkSubnet subnet : subnets) { - CreateSubnetOptions.CreateSubnetRequest createSubnetRequest = - new CreateSubnetOptions.CreateSubnetRequest( - checkNotNull(subnet.getNetworkId(), "network id parameter not present"), - checkNotNull(subnet.getIpVersion(), "ip version parameter not present"), - checkNotNull(subnet.getCidr(), "cidr parameter not present") - ); - - if (subnet.getName() != null) - createSubnetRequest.name = subnet.getName(); - if (!subnet.getAllocationPools().isEmpty()) - createSubnetRequest.allocation_pools = subnet.getAllocationPools(); - if (subnet.getGatewayIp() != null) - createSubnetRequest.gateway_ip = subnet.getGatewayIp(); - if (subnet.getEnableDhcp() != null) - createSubnetRequest.enable_dhcp = subnet.getEnableDhcp(); - if (!subnet.getDnsNameServers().isEmpty()) - createSubnetRequest.dns_nameservers = subnet.getDnsNameServers(); - if (!subnet.getHostRoutes().isEmpty()) { - createSubnetRequest.host_routes = Sets.newHashSet(); - for (HostRoute hostRoute : subnet.getHostRoutes()) { - CreateSubnetOptions.CreateSubnetRequest.HostRoute requestHostRoute = new CreateSubnetOptions.CreateSubnetRequest.HostRoute(); - requestHostRoute.destination = hostRoute.getDestinationCidr(); - requestHostRoute.nexthop = hostRoute.getNextHop(); - createSubnetRequest.host_routes.add(requestHostRoute); - } - } - - createSubnetRequests.add(createSubnetRequest); - } - - return bindToRequest(request, ImmutableMap.of("subnets", createSubnetRequests)); - } - - @Override - public <R extends HttpRequest> R bindToRequest(R request, Object input) { - return jsonBinder.bindToRequest(request, input); - } - -} http://git-wip-us.apache.org/repos/asf/jclouds/blob/83b104d9/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/options/CreateSubnetOptions.java ---------------------------------------------------------------------- diff --git a/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/options/CreateSubnetOptions.java b/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/options/CreateSubnetOptions.java deleted file mode 100644 index c562e06..0000000 --- a/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/options/CreateSubnetOptions.java +++ /dev/null @@ -1,256 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.jclouds.openstack.neutron.v2_0.options; - -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.ImmutableSet; -import com.google.common.collect.Sets; -import org.jclouds.http.HttpRequest; -import org.jclouds.openstack.neutron.v2_0.domain.AllocationPool; -import org.jclouds.openstack.neutron.v2_0.domain.HostRoute; -import org.jclouds.rest.MapBinder; -import org.jclouds.rest.binders.BindToJsonPayload; - -import javax.inject.Inject; -import java.util.Collection; -import java.util.Map; -import java.util.Set; - -import static com.google.common.base.Preconditions.checkNotNull; - -public class CreateSubnetOptions implements MapBinder { - - @Inject - private BindToJsonPayload jsonBinder; - - public static Builder<?> builder() { - return new ConcreteBuilder(); - } - - public Builder<?> toBuilder() { - return new ConcreteBuilder().fromCreateSubnetOptions(this); - } - - public abstract static class Builder<T extends Builder<T>> { - protected abstract T self(); - - protected String name; - protected Set<AllocationPool> allocationPools; - protected String gatewayIp; - protected Boolean enableDhcp; - protected Set<String> dnsNameServers; - protected Set<HostRoute> hostRoutes; - - /** - * @see org.jclouds.openstack.neutron.v2_0.options.CreateSubnetOptions#getName() - */ - public T name(String name) { - this.name = name; - return self(); - } - - /** - * @see org.jclouds.openstack.neutron.v2_0.options.CreateSubnetOptions#getAllocationPools() - */ - public T allocationPools(Collection<AllocationPool> allocationPools) { - this.allocationPools = ImmutableSet.copyOf(allocationPools); - return self(); - } - - /** - * @see org.jclouds.openstack.neutron.v2_0.options.CreateSubnetOptions#getGatewayIp() - */ - public T gatewayIp(String gatewayIp) { - this.gatewayIp = gatewayIp; - return self(); - } - - /** - * @see org.jclouds.openstack.neutron.v2_0.options.CreateSubnetOptions#getEnableDhcp() - */ - public T enableDhcp(Boolean enableDhcp) { - this.enableDhcp = enableDhcp; - return self(); - } - - /** - * @see org.jclouds.openstack.neutron.v2_0.options.CreateSubnetOptions#getDnsNameServers() - */ - public T dnsNameServers(Collection<String> dnsNameServers) { - this.dnsNameServers = ImmutableSet.copyOf(dnsNameServers); - return self(); - } - - /** - * @see org.jclouds.openstack.neutron.v2_0.options.CreateSubnetOptions#getHostRoutes() - */ - public T hostRoutes(Collection<HostRoute> hostRoutes) { - this.hostRoutes = ImmutableSet.copyOf(hostRoutes); - return self(); - } - - public CreateSubnetOptions build() { - return new CreateSubnetOptions(name, allocationPools, gatewayIp, enableDhcp, dnsNameServers, hostRoutes); - } - - public T fromCreateSubnetOptions(CreateSubnetOptions in) { - return this.name(in.getName()) - .allocationPools(in.getAllocationPools()) - .gatewayIp(in.getGatewayIp()) - .enableDhcp(in.getEnableDhcp()) - .dnsNameServers(in.getDnsNameServers()) - .hostRoutes(in.getHostRoutes()); - } - } - - private static class ConcreteBuilder extends Builder<ConcreteBuilder> { - @Override - protected ConcreteBuilder self() { - return this; - } - } - - protected static class CreateSubnetRequest { - protected String network_id; - protected Integer ip_version; - protected String cidr; - protected String name; - protected Set<AllocationPool> allocation_pools; - protected String gateway_ip; - protected Boolean enable_dhcp; - protected Set<String> dns_nameservers; - protected Set<HostRoute> host_routes; - - protected CreateSubnetRequest(String networkId, Integer ipVersion, String cidr) { - this.network_id = networkId; - this.ip_version = ipVersion; - this.cidr = cidr; - } - - protected static class HostRoute { - protected String destination; - protected String nexthop; - } - } - - private final String name; - private final Set<AllocationPool> allocationPools; - private final String gatewayIp; - private final Boolean enableDhcp; - private final Set<String> dnsNameServers; - private final Set<HostRoute> hostRoutes; - - protected CreateSubnetOptions() { - this.name = null; - this.allocationPools = Sets.newHashSet(); - this.gatewayIp = null; - this.enableDhcp = null; - this.dnsNameServers = Sets.newHashSet(); - this.hostRoutes = Sets.newHashSet(); - } - - public CreateSubnetOptions(String name, Set<AllocationPool> allocationPools, String gatewayIp, - Boolean enableDhcp, Set<String> dnsNameServers, Set<HostRoute> hostRoutes) { - this.name = name; - this.allocationPools = allocationPools != null ? ImmutableSet.copyOf(allocationPools) : Sets.<AllocationPool>newHashSet(); - this.gatewayIp = gatewayIp; - this.enableDhcp = enableDhcp; - this.dnsNameServers = dnsNameServers != null ? ImmutableSet.copyOf(dnsNameServers) : Sets.<String>newHashSet(); - this.hostRoutes = hostRoutes != null ? ImmutableSet.copyOf(hostRoutes) : Sets.<HostRoute>newHashSet(); - } - - /** - * @return the name for the subnet - */ - public String getName() { - return name; - } - - /** - * @return the sub-ranges of cidr which will be available for dynamic allocation to ports - */ - public Set<AllocationPool> getAllocationPools() { - return allocationPools; - } - - /** - * @return the default gateway which will be used by devices in this subnet - */ - public String getGatewayIp() { - return gatewayIp; - } - - /** - * @return true to enable DHCP, false to disable - */ - public Boolean getEnableDhcp() { - return enableDhcp; - } - - /** - * @return the set of DNS name servers to be used by hosts in this subnet. - */ - public Set<String> getDnsNameServers() { - return dnsNameServers; - } - - /** - * @return the set of routes that should be used by devices with IPs from this subnet - */ - public Set<HostRoute> getHostRoutes() { - return hostRoutes; - } - - @Override - public <R extends HttpRequest> R bindToRequest(R request, Map<String, Object> postParams) { - CreateSubnetRequest createSubnetRequest = - new CreateSubnetRequest( - checkNotNull(postParams.get("network_id"), "networkId not present").toString(), - Integer.parseInt(checkNotNull(postParams.get("ip_version"), "ipVersion not present").toString()), - checkNotNull(postParams.get("cidr"), "cidr not present").toString() - ); - - if (this.name != null) - createSubnetRequest.name = this.name; - if (!this.allocationPools.isEmpty()) - createSubnetRequest.allocation_pools = this.allocationPools; - if (this.gatewayIp != null) - createSubnetRequest.gateway_ip = this.gatewayIp; - if (this.enableDhcp != null) - createSubnetRequest.enable_dhcp = this.enableDhcp; - if (!this.dnsNameServers.isEmpty()) - createSubnetRequest.dns_nameservers = this.dnsNameServers; - if (!this.hostRoutes.isEmpty()) { - createSubnetRequest.host_routes = Sets.newHashSet(); - for (HostRoute hostRoute : this.hostRoutes) { - CreateSubnetRequest.HostRoute requestHostRoute = new CreateSubnetRequest.HostRoute(); - requestHostRoute.destination = hostRoute.getDestinationCidr(); - requestHostRoute.nexthop = hostRoute.getNextHop(); - createSubnetRequest.host_routes.add(requestHostRoute); - } - } - - return bindToRequest(request, ImmutableMap.of("subnet", createSubnetRequest)); - } - - @Override - public <R extends HttpRequest> R bindToRequest(R request, Object input) { - return jsonBinder.bindToRequest(request, input); - } - -} http://git-wip-us.apache.org/repos/asf/jclouds/blob/83b104d9/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/options/EmptyOptions.java ---------------------------------------------------------------------- diff --git a/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/options/EmptyOptions.java b/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/options/EmptyOptions.java deleted file mode 100644 index b5a3d9d..0000000 --- a/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/options/EmptyOptions.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.jclouds.openstack.neutron.v2_0.options; - -import com.google.inject.Inject; -import org.jclouds.http.HttpRequest; -import org.jclouds.rest.MapBinder; -import org.jclouds.rest.binders.BindToJsonPayload; - -import java.util.Map; - -/** - * This class is used for methods who don't need a wrapper around their JSON body - */ -public class EmptyOptions implements MapBinder { - - @Inject - private BindToJsonPayload jsonBinder; - - @Override - public <R extends HttpRequest> R bindToRequest(R request, Map<String, Object> postParams) { - return bindToRequest(request, (Object) postParams); - } - - @Override - public <R extends HttpRequest> R bindToRequest(R request, Object input) { - return jsonBinder.bindToRequest(request, input); - } - -} http://git-wip-us.apache.org/repos/asf/jclouds/blob/83b104d9/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/options/UpdateNetworkOptions.java ---------------------------------------------------------------------- diff --git a/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/options/UpdateNetworkOptions.java b/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/options/UpdateNetworkOptions.java deleted file mode 100644 index e794acf..0000000 --- a/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/options/UpdateNetworkOptions.java +++ /dev/null @@ -1,128 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.jclouds.openstack.neutron.v2_0.options; - -import com.google.common.collect.ImmutableMap; -import org.jclouds.http.HttpRequest; -import org.jclouds.rest.MapBinder; -import org.jclouds.rest.binders.BindToJsonPayload; - -import javax.inject.Inject; -import java.util.Map; - -public class UpdateNetworkOptions implements MapBinder { - - @Inject - private BindToJsonPayload jsonBinder; - - public static Builder<?> builder() { - return new ConcreteBuilder(); - } - - public Builder<?> toBuilder() { - return new ConcreteBuilder().fromUpdateNetworkOptions(this); - } - - public abstract static class Builder<T extends Builder<T>> { - protected abstract T self(); - - protected String name; - protected Boolean adminStateUp; - - /** - * @see org.jclouds.openstack.neutron.v2_0.options.UpdateNetworkOptions#getName() - */ - public T name(String name) { - this.name = name; - return self(); - } - - /** - * @see org.jclouds.openstack.neutron.v2_0.options.UpdateNetworkOptions#getAdminStateUp() - */ - public T adminStateUp(Boolean adminStateUp) { - this.adminStateUp = adminStateUp; - return self(); - } - - public UpdateNetworkOptions build() { - return new UpdateNetworkOptions(name, adminStateUp); - } - - public T fromUpdateNetworkOptions(UpdateNetworkOptions options) { - return this.name(options.getName()).adminStateUp(options.getAdminStateUp()); - } - } - - private static class ConcreteBuilder extends Builder<ConcreteBuilder> { - @Override - protected ConcreteBuilder self() { - return this; - } - } - - private static class UpdateNetworkRequest { - protected String name; - protected Boolean admin_state_up; - } - - private final String name; - private final Boolean adminStateUp; - - protected UpdateNetworkOptions() { - this.name = null; - this.adminStateUp = null; - } - - public UpdateNetworkOptions(String name, Boolean adminStateUp) { - this.name = name; - this.adminStateUp = adminStateUp; - } - - /** - * @return the new name for the network - */ - public String getName() { - return name; - } - - /** - * @return the new administrative state for the network. If false, the network does not forward packets. - */ - public boolean getAdminStateUp() { - return adminStateUp; - } - - @Override - public <R extends HttpRequest> R bindToRequest(R request, Map<String, Object> postParams) { - UpdateNetworkRequest updateNetworkRequest = new UpdateNetworkRequest(); - - if (this.name != null) - updateNetworkRequest.name = this.name; - if (this.adminStateUp != null) - updateNetworkRequest.admin_state_up = this.adminStateUp; - - return bindToRequest(request, ImmutableMap.of("network", updateNetworkRequest)); - } - - @Override - public <R extends HttpRequest> R bindToRequest(R request, Object input) { - return jsonBinder.bindToRequest(request, input); - } - -} http://git-wip-us.apache.org/repos/asf/jclouds/blob/83b104d9/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/options/UpdatePortOptions.java ---------------------------------------------------------------------- diff --git a/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/options/UpdatePortOptions.java b/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/options/UpdatePortOptions.java deleted file mode 100644 index dfbc820..0000000 --- a/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/options/UpdatePortOptions.java +++ /dev/null @@ -1,215 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.jclouds.openstack.neutron.v2_0.options; - -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.ImmutableSet; -import com.google.common.collect.Sets; -import org.jclouds.http.HttpRequest; -import org.jclouds.openstack.neutron.v2_0.domain.IP; -import org.jclouds.rest.MapBinder; -import org.jclouds.rest.binders.BindToJsonPayload; - -import javax.inject.Inject; -import java.util.Collection; -import java.util.Map; -import java.util.Set; - -public class UpdatePortOptions implements MapBinder { - - @Inject - private BindToJsonPayload jsonBinder; - - public static Builder<?> builder() { - return new ConcreteBuilder(); - } - - public Builder<?> toBuilder() { - return new ConcreteBuilder().fromUpdatePortOptions(this); - } - - public abstract static class Builder<T extends Builder<T>> { - protected abstract T self(); - - protected String name; - protected Boolean adminStateUp; - protected String deviceId; - protected String deviceOwner; - protected Set<IP> fixedIps; - - /** - * @see org.jclouds.openstack.neutron.v2_0.options.UpdatePortOptions#getName() - */ - public T name(String name) { - this.name = name; - return self(); - } - - /** - * @see org.jclouds.openstack.neutron.v2_0.options.UpdatePortOptions#getAdminStateUp() - */ - public T adminStateUp(Boolean adminStateUp) { - this.adminStateUp = adminStateUp; - return self(); - } - - /** - * @see org.jclouds.openstack.neutron.v2_0.options.UpdatePortOptions#getDeviceId() - */ - public T deviceId(String deviceId) { - this.deviceId = deviceId; - return self(); - } - - /** - * @see org.jclouds.openstack.neutron.v2_0.options.UpdatePortOptions#getDeviceOwner() - */ - public T deviceOwner(String deviceOwner) { - this.deviceOwner = deviceOwner; - return self(); - } - - /** - * @see org.jclouds.openstack.neutron.v2_0.options.UpdatePortOptions#getFixedIps() - */ - public T fixedIps(Collection<IP> fixedIps) { - this.fixedIps = ImmutableSet.copyOf(fixedIps); - return self(); - } - - public UpdatePortOptions build() { - return new UpdatePortOptions(name, adminStateUp, deviceId, deviceOwner, fixedIps); - } - - public T fromUpdatePortOptions(UpdatePortOptions options) { - return this.name(options.getName()) - .adminStateUp(options.getAdminStateUp()) - .deviceId(options.getDeviceId()) - .deviceOwner(options.getDeviceOwner()) - .fixedIps(options.getFixedIps()); - } - } - - private static class ConcreteBuilder extends Builder<ConcreteBuilder> { - @Override - protected ConcreteBuilder self() { - return this; - } - } - - private static class UpdatePortRequest { - protected String name; - protected Boolean admin_state_up; - protected String device_id; - protected String device_owner; - protected Set<IP> fixed_ips; - - private static class IP { - protected String ip_address; - protected String subnet_id; - } - } - - private final String name; - private final Boolean adminStateUp; - private final String deviceId; - private final String deviceOwner; - private final Set<IP> fixedIps; - - protected UpdatePortOptions() { - this.name = null; - this.adminStateUp = null; - this.deviceId = null; - this.deviceOwner = null; - this.fixedIps = Sets.newHashSet(); - } - - public UpdatePortOptions(String name, Boolean adminStateUp, String deviceId, String deviceOwner, Set<IP> fixedIps) { - this.name = name; - this.adminStateUp = adminStateUp; - this.deviceId = deviceId; - this.deviceOwner = deviceOwner; - this.fixedIps = fixedIps != null ? ImmutableSet.copyOf(fixedIps) : Sets.<IP>newHashSet(); - } - - /** - * @return the new name for the port - */ - public String getName() { - return name; - } - - /** - * @return the new administrative state for the port. If false, port does not forward packets. - */ - public Boolean getAdminStateUp() { - return adminStateUp; - } - - /** - * @return the new device id for the port - */ - public String getDeviceId() { - return deviceId; - } - - /** - * @return the new device owner for the port - */ - public String getDeviceOwner() { - return deviceOwner; - } - - /** - * @return a new set of fixed ips this port will get assigned - */ - public Set<IP> getFixedIps() { - return fixedIps; - } - - @Override - public <R extends HttpRequest> R bindToRequest(R request, Map<String, Object> postParams) { - UpdatePortRequest updatePortRequest = new UpdatePortRequest(); - - if (this.name != null) - updatePortRequest.name = this.name; - if (this.adminStateUp != null) - updatePortRequest.admin_state_up = this.adminStateUp; - if (this.deviceId != null) - updatePortRequest.device_id = this.deviceId; - if (this.deviceOwner != null) - updatePortRequest.device_owner = this.deviceOwner; - if (!this.fixedIps.isEmpty()) { - updatePortRequest.fixed_ips = Sets.newHashSet(); - for (IP fixedIp : this.fixedIps) { - UpdatePortRequest.IP requestIp = new UpdatePortRequest.IP(); - requestIp.ip_address = fixedIp.getIpAddress(); - requestIp.subnet_id = fixedIp.getSubnetId(); - updatePortRequest.fixed_ips.add(requestIp); - } - } - - return bindToRequest(request, ImmutableMap.of("port", updatePortRequest)); - } - - @Override - public <R extends HttpRequest> R bindToRequest(R request, Object input) { - return jsonBinder.bindToRequest(request, input); - } - -} http://git-wip-us.apache.org/repos/asf/jclouds/blob/83b104d9/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/options/UpdateRouterOptions.java ---------------------------------------------------------------------- diff --git a/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/options/UpdateRouterOptions.java b/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/options/UpdateRouterOptions.java deleted file mode 100644 index c614e91..0000000 --- a/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/options/UpdateRouterOptions.java +++ /dev/null @@ -1,164 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.jclouds.openstack.neutron.v2_0.options; - -import com.google.common.collect.ImmutableMap; -import org.jclouds.http.HttpRequest; -import org.jclouds.openstack.neutron.v2_0.domain.ExternalGatewayInfo; -import org.jclouds.rest.MapBinder; -import org.jclouds.rest.binders.BindToJsonPayload; - -import javax.inject.Inject; -import java.util.Map; - -public class UpdateRouterOptions implements MapBinder { - - @Inject - private BindToJsonPayload jsonBinder; - - public static Builder<?> builder() { - return new ConcreteBuilder(); - } - - public Builder<?> toBuilder() { - return new ConcreteBuilder().fromUpdateRouterOptions(this); - } - - public abstract static class Builder<T extends Builder<T>> { - protected abstract T self(); - - protected String name; - protected Boolean adminStateUp; - protected ExternalGatewayInfo externalGatewayInfo; - - /** - * @see UpdateRouterOptions#getName() - */ - public T name(String name) { - this.name = name; - return self(); - } - - /** - * @see UpdateRouterOptions#getAdminStateUp() - */ - public T adminStateUp(Boolean adminStateUp) { - this.adminStateUp = adminStateUp; - return self(); - } - - /** - * @see UpdateRouterOptions#getExternalGatewayInfo() - */ - public T externalGatewayInfo(ExternalGatewayInfo externalGatewayInfo) { - this.externalGatewayInfo = externalGatewayInfo; - return self(); - } - - public UpdateRouterOptions build() { - return new UpdateRouterOptions(name, adminStateUp, externalGatewayInfo); - } - - public T fromUpdateRouterOptions(UpdateRouterOptions options) { - return this.name(options.getName()) - .adminStateUp(options.getAdminStateUp()) - .externalGatewayInfo(options.getExternalGatewayInfo()); - } - } - - private static class ConcreteBuilder extends Builder<ConcreteBuilder> { - @Override - protected ConcreteBuilder self() { - return this; - } - } - - protected static class UpdateRouterRequest { - protected String name; - protected Boolean admin_state_up; - protected ExternalGatewayInfo external_gateway_info; - - protected UpdateRouterRequest() { - } - - protected static final class ExternalGatewayInfo { - protected String network_id; - - protected ExternalGatewayInfo(String network_id) { - this.network_id = network_id; - } - } - } - - protected String name; - protected Boolean adminStateUp; - protected ExternalGatewayInfo externalGatewayInfo; - - protected UpdateRouterOptions() { - this.name = null; - this.adminStateUp = null; - this.externalGatewayInfo = null; - } - - public UpdateRouterOptions(String name, Boolean adminStateUp, ExternalGatewayInfo externalGatewayInfo) { - this.name = name; - this.adminStateUp = adminStateUp; - this.externalGatewayInfo = externalGatewayInfo; - } - - /** - * @return the new name for the router - */ - public String getName() { - return name; - } - - /** - * @return the new administrative state for the router - */ - public Boolean getAdminStateUp() { - return adminStateUp; - } - - /** - * @return the new information on external gateway for the router - */ - public ExternalGatewayInfo getExternalGatewayInfo() { - return externalGatewayInfo; - } - - @Override - public <R extends HttpRequest> R bindToRequest(R request, Map<String, Object> postParams) { - UpdateRouterRequest updateRouterRequest = new UpdateRouterRequest(); - - if (this.name != null) - updateRouterRequest.name = this.name; - if (this.adminStateUp != null) - updateRouterRequest.admin_state_up = this.adminStateUp; - if (this.externalGatewayInfo != null) - updateRouterRequest.external_gateway_info = new UpdateRouterRequest.ExternalGatewayInfo(this.externalGatewayInfo.getNetworkId()); - - return bindToRequest(request, ImmutableMap.of("router", updateRouterRequest)); - } - - @Override - public <R extends HttpRequest> R bindToRequest(R request, Object input) { - return jsonBinder.bindToRequest(request, input); - } - -} http://git-wip-us.apache.org/repos/asf/jclouds/blob/83b104d9/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/options/UpdateSubnetOptions.java ---------------------------------------------------------------------- diff --git a/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/options/UpdateSubnetOptions.java b/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/options/UpdateSubnetOptions.java deleted file mode 100644 index 3f2ec26..0000000 --- a/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2_0/options/UpdateSubnetOptions.java +++ /dev/null @@ -1,215 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.jclouds.openstack.neutron.v2_0.options; - -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.ImmutableSet; -import com.google.common.collect.Sets; -import org.jclouds.http.HttpRequest; -import org.jclouds.openstack.neutron.v2_0.domain.HostRoute; -import org.jclouds.rest.MapBinder; -import org.jclouds.rest.binders.BindToJsonPayload; - -import javax.inject.Inject; -import java.util.Collection; -import java.util.Map; -import java.util.Set; - -public class UpdateSubnetOptions implements MapBinder { - - @Inject - private BindToJsonPayload jsonBinder; - - public static Builder<?> builder() { - return new ConcreteBuilder(); - } - - public Builder<?> toBuilder() { - return new ConcreteBuilder().fromUpdateSubnetOptions(this); - } - - public abstract static class Builder<T extends Builder<T>> { - protected abstract T self(); - - protected String name; - protected String gatewayIp; - protected Boolean enableDhcp; - protected Set<String> dnsNameServers; - protected Set<HostRoute> hostRoutes; - - /** - * @see org.jclouds.openstack.neutron.v2_0.options.UpdateSubnetOptions#getName() - */ - public T name(String name) { - this.name = name; - return self(); - } - - /** - * @see org.jclouds.openstack.neutron.v2_0.options.UpdateSubnetOptions#getGatewayIp() - */ - public T gatewayIp(String gatewayIp) { - this.gatewayIp = gatewayIp; - return self(); - } - - /** - * @see org.jclouds.openstack.neutron.v2_0.options.UpdateSubnetOptions#getEnableDhcp() - */ - public T enableDhcp(Boolean enableDhcp) { - this.enableDhcp = enableDhcp; - return self(); - } - - /** - * @see org.jclouds.openstack.neutron.v2_0.options.UpdateSubnetOptions#getDnsNameServers() - */ - public T dnsNameServers(Collection<String> dnsNameServers) { - this.dnsNameServers = ImmutableSet.copyOf(dnsNameServers); - return self(); - } - - /** - * @see org.jclouds.openstack.neutron.v2_0.options.UpdateSubnetOptions#getHostRoutes() - */ - public T hostRoutes(Collection<HostRoute> hostRoutes) { - this.hostRoutes = ImmutableSet.copyOf(hostRoutes); - return self(); - } - - public UpdateSubnetOptions build() { - return new UpdateSubnetOptions(name, gatewayIp, enableDhcp, dnsNameServers, hostRoutes); - } - - public T fromUpdateSubnetOptions(UpdateSubnetOptions in) { - return this.name(in.getName()) - .gatewayIp(in.getGatewayIp()) - .enableDhcp(in.getEnableDhcp()) - .dnsNameServers(in.getDnsNameServers()) - .hostRoutes(in.getHostRoutes()); - } - } - - private static class ConcreteBuilder extends Builder<ConcreteBuilder> { - @Override - protected ConcreteBuilder self() { - return this; - } - } - - private static class UpdateSubnetRequest { - protected String name; - protected String gateway_ip; - protected Boolean enable_dhcp; - protected Set<String> dns_nameservers; - protected Set<HostRoute> host_routes; - - private static class HostRoute { - protected String destination; - protected String nexthop; - } - } - - private final String name; - private final String gatewayIp; - private final Boolean enableDhcp; - private final Set<String> dnsNameServers; - private final Set<HostRoute> hostRoutes; - - protected UpdateSubnetOptions() { - this.name = null; - this.gatewayIp = null; - this.enableDhcp = null; - this.dnsNameServers = Sets.newHashSet(); - this.hostRoutes = Sets.newHashSet(); - } - - public UpdateSubnetOptions(String name, String gatewayIp, Boolean enableDhcp, Set<String> dnsNameServers, Set<HostRoute> hostRoutes) { - this.name = name; - this.gatewayIp = gatewayIp; - this.enableDhcp = enableDhcp; - this.dnsNameServers = dnsNameServers != null ? ImmutableSet.copyOf(dnsNameServers) : Sets.<String>newHashSet(); - this.hostRoutes = hostRoutes != null ? ImmutableSet.copyOf(hostRoutes) : Sets.<HostRoute>newHashSet(); - } - - /** - * @return the new name for the subnet - */ - public String getName() { - return name; - } - - /** - * @return the new default gateway used by devices in this subnet - */ - public String getGatewayIp() { - return gatewayIp; - } - - /** - * @return true if DHCP is enabled for this subnet, false if not - */ - public Boolean getEnableDhcp() { - return enableDhcp; - } - - /** - * @return the new set of DNS name servers used by hosts in this subnet - */ - public Set<String> getDnsNameServers() { - return dnsNameServers; - } - - /** - * @return the new set of routes that should be used by devices with IPs from this subnet - */ - public Set<HostRoute> getHostRoutes() { - return hostRoutes; - } - - @Override - public <R extends HttpRequest> R bindToRequest(R request, Map<String, Object> postParams) { - UpdateSubnetRequest updateSubnetRequest = new UpdateSubnetRequest(); - - if (this.name != null) - updateSubnetRequest.name = this.name; - if (this.gatewayIp != null) - updateSubnetRequest.gateway_ip = this.gatewayIp; - if (this.enableDhcp != null) - updateSubnetRequest.enable_dhcp = this.enableDhcp; - if (!this.dnsNameServers.isEmpty()) - updateSubnetRequest.dns_nameservers = this.dnsNameServers; - if (!this.hostRoutes.isEmpty()) { - updateSubnetRequest.host_routes = Sets.newHashSet(); - for (HostRoute hostRoute : this.hostRoutes) { - UpdateSubnetRequest.HostRoute requestHostRoute = new UpdateSubnetRequest.HostRoute(); - requestHostRoute.destination = hostRoute.getDestinationCidr(); - requestHostRoute.nexthop = hostRoute.getNextHop(); - updateSubnetRequest.host_routes.add(requestHostRoute); - } - } - - return bindToRequest(request, ImmutableMap.of("subnet", updateSubnetRequest)); - } - - @Override - public <R extends HttpRequest> R bindToRequest(R request, Object input) { - return jsonBinder.bindToRequest(request, input); - } - -} http://git-wip-us.apache.org/repos/asf/jclouds/blob/83b104d9/apis/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2_0/NeutronApiMetadataTest.java ---------------------------------------------------------------------- diff --git a/apis/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2_0/NeutronApiMetadataTest.java b/apis/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2_0/NeutronApiMetadataTest.java deleted file mode 100644 index db3019c..0000000 --- a/apis/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2_0/NeutronApiMetadataTest.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.jclouds.openstack.neutron.v2_0; - -import com.google.common.collect.ImmutableSet; -import com.google.common.reflect.TypeToken; -import org.jclouds.View; -import org.jclouds.apis.internal.BaseApiMetadataTest; -import org.testng.annotations.Test; - -@Test(groups = "unit", testName = "NeutronApiMetadataTest") -public class NeutronApiMetadataTest extends BaseApiMetadataTest { - public NeutronApiMetadataTest() { - super(new NeutronApiMetadata(), ImmutableSet.<TypeToken<? extends View>>of()); - } -}
