Skip to content

Commit 7fb20fc

Browse files
committed
externalize common checks to a utility file
1 parent 8260e0e commit 7fb20fc

File tree

3 files changed

+50
-8
lines changed

3 files changed

+50
-8
lines changed

api/src/main/java/org/apache/cloudstack/api/command/admin/network/CreateNetworkOfferingCmd.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,10 @@
6161
import static com.cloud.network.Network.Service.UserData;
6262
import static com.cloud.network.Network.Service.Firewall;
6363

64+
import static org.apache.cloudstack.api.command.utils.OfferingUtils.isNetrisNatted;
65+
import static org.apache.cloudstack.api.command.utils.OfferingUtils.isNetrisRouted;
66+
import static org.apache.cloudstack.api.command.utils.OfferingUtils.isNsxWithoutLb;
67+
6468
@APICommand(name = "createNetworkOffering", description = "Creates a network offering.", responseObject = NetworkOfferingResponse.class, since = "3.0.0",
6569
requestHasSensitiveInfo = false, responseHasSensitiveInfo = false)
6670
public class CreateNetworkOfferingCmd extends BaseCmd {
@@ -297,8 +301,7 @@ public List<String> getSupportedServices() {
297301
SourceNat.getName(),
298302
PortForwarding.getName()));
299303
}
300-
if (getNsxSupportsLbService() || (provider != null && provider.equalsIgnoreCase("Netris") &&
301-
NetworkOffering.NetworkMode.NATTED.name().equalsIgnoreCase(getNetworkMode()))) {
304+
if (getNsxSupportsLbService() || (provider != null && isNetrisNatted(getProvider(), getNetworkMode()))) {
302305
services.add(Lb.getName());
303306
}
304307
if (Boolean.TRUE.equals(forVpc)) {
@@ -411,8 +414,7 @@ private void getServiceProviderMapForExternalProvider(Map<String, List<String>>
411414
else if (NetworkOffering.NetworkMode.NATTED.name().equalsIgnoreCase(getNetworkMode()) || NetworkACL.getName().equalsIgnoreCase(service)) {
412415
serviceProviderMap.put(service, List.of(provider));
413416
}
414-
if (("Nsx".equalsIgnoreCase(provider) && !getNsxSupportsLbService()) ||
415-
("Netris".equalsIgnoreCase(provider) && NetworkOffering.NetworkMode.ROUTED.name().equalsIgnoreCase(getNetworkMode()))) {
417+
if (isNsxWithoutLb(getProvider(), getNsxSupportsLbService()) || isNetrisRouted(getProvider(), getNetworkMode())) {
416418
serviceProviderMap.remove(Lb.getName());
417419
}
418420
}

api/src/main/java/org/apache/cloudstack/api/command/admin/vpc/CreateVPCOfferingCmd.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,10 @@
6262
import static com.cloud.network.Network.Service.UserData;
6363
import static com.cloud.network.Network.Service.Gateway;
6464

65+
import static org.apache.cloudstack.api.command.utils.OfferingUtils.isNetrisNatted;
66+
import static org.apache.cloudstack.api.command.utils.OfferingUtils.isNetrisRouted;
67+
import static org.apache.cloudstack.api.command.utils.OfferingUtils.isNsxWithoutLb;
68+
6569
@APICommand(name = "createVPCOffering", description = "Creates VPC offering", responseObject = VpcOfferingResponse.class,
6670
requestHasSensitiveInfo = false, responseHasSensitiveInfo = false)
6771
public class CreateVPCOfferingCmd extends BaseAsyncCreateCmd {
@@ -194,8 +198,7 @@ public List<String> getSupportedServices() {
194198
if (NetworkOffering.NetworkMode.ROUTED.name().equalsIgnoreCase(getNetworkMode())) {
195199
supportedServices.add(Gateway.getName());
196200
}
197-
if (getNsxSupportsLbService() || (provider != null && provider.equalsIgnoreCase("Netris") &&
198-
NetworkOffering.NetworkMode.NATTED.name().equalsIgnoreCase(getNetworkMode()))) {
201+
if (getNsxSupportsLbService() || isNetrisNatted(getProvider(), getNetworkMode())) {
199202
supportedServices.add(Lb.getName());
200203
}
201204
}
@@ -260,8 +263,7 @@ else if (NetworkOffering.NetworkMode.NATTED.name().equalsIgnoreCase(getNetworkMo
260263
serviceProviderMap.put(service, List.of(provider));
261264
}
262265
}
263-
if (("Nsx".equalsIgnoreCase(provider) && !getNsxSupportsLbService()) ||
264-
("Netris".equalsIgnoreCase(provider) && NetworkOffering.NetworkMode.ROUTED.name().equalsIgnoreCase(getNetworkMode()))) {
266+
if ((isNsxWithoutLb(getProvider(), getNsxSupportsLbService())) || isNetrisRouted(getProvider(), getNetworkMode())) {
265267
serviceProviderMap.remove(Lb.getName());
266268
}
267269
}
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
// Licensed to the Apache Software Foundation (ASF) under one
2+
// or more contributor license agreements. See the NOTICE file
3+
// distributed with this work for additional information
4+
// regarding copyright ownership. The ASF licenses this file
5+
// to you under the Apache License, Version 2.0 (the
6+
// "License"); you may not use this file except in compliance
7+
// with the License. You may obtain a copy of the License at
8+
//
9+
// http://www.apache.org/licenses/LICENSE-2.0
10+
//
11+
// Unless required by applicable law or agreed to in writing,
12+
// software distributed under the License is distributed on an
13+
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14+
// KIND, either express or implied. See the License for the
15+
// specific language governing permissions and limitations
16+
// under the License.
17+
package org.apache.cloudstack.api.command.utils;
18+
19+
import com.cloud.offering.NetworkOffering;
20+
21+
public class OfferingUtils {
22+
23+
private OfferingUtils() {
24+
}
25+
26+
public static boolean isNetrisNatted(String provider, String networkMode) {
27+
return "Netris".equalsIgnoreCase(provider) &&
28+
NetworkOffering.NetworkMode.NATTED.name().equalsIgnoreCase(networkMode);
29+
}
30+
31+
public static boolean isNsxWithoutLb(String provider, boolean nsxSupportsLbService) {
32+
return "Nsx".equalsIgnoreCase(provider) && !nsxSupportsLbService;
33+
}
34+
35+
public static boolean isNetrisRouted(String provider, String networkMode) {
36+
return "Netris".equalsIgnoreCase(provider) && NetworkOffering.NetworkMode.ROUTED.name().equalsIgnoreCase(networkMode);
37+
}
38+
}

0 commit comments

Comments
 (0)