Skip to content

Commit 7e84e54

Browse files
committed
chore: bump plugin-api to 4.1.13
1 parent f96fb15 commit 7e84e54

7 files changed

Lines changed: 45 additions & 68 deletions

File tree

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>org.ligoj.api</groupId>
77
<artifactId>plugin-parent</artifactId>
8-
<version>4.1.12</version>
8+
<version>4.1.13</version>
99
<relativePath/>
1010
</parent>
1111

src/main/java/org/ligoj/app/plugin/prov/aws/ProvAwsTerraformService.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import org.apache.commons.io.IOUtils;
77
import org.apache.commons.io.output.FileWriterWithEncoding;
88
import org.apache.commons.lang3.ObjectUtils;
9-
import org.apache.commons.lang3.StringUtils;
9+
import org.apache.commons.lang3.Strings;
1010
import org.ligoj.app.model.Subscription;
1111
import org.ligoj.app.plugin.prov.model.AbstractQuote;
1212
import org.ligoj.app.plugin.prov.model.ProvLocation;
@@ -333,7 +333,7 @@ private void writeRegionInstances(final TerraformContext context) throws IOExcep
333333
.add("type", instance.getPrice().getType().getName()).add("name", instance.getName())
334334
.add("spot-price", String.valueOf(instance.getMaxVariableCost()))
335335
.add("min", String.valueOf(instance.getMinQuantity()))
336-
.add("max", String.valueOf(ObjectUtils.defaultIfNull(instance.getMaxQuantity(), 10)))
336+
.add("max", String.valueOf(ObjectUtils.getIfNull(instance.getMaxQuantity(), 10)))
337337
.add("root-device", getEbsDevices(instance, true, 0, 1)).add("user-data", getUserData(instance))
338338
.add("ebs-devices", getEbsDevices(instance, entry.getKey() == InstanceMode.AUTO_SCALING, 1,
339339
instance.getStorages().size()));
@@ -445,15 +445,15 @@ private void templateFromTo(final TerraformContext context, final String from, f
445445
private String replace(String source, String... replaces) {
446446
var result = source;
447447
for (var index = 0; index < replaces.length; index += 2) {
448-
result = StringUtils.replace(result, replaces[index], replaces[index + 1]);
448+
result = Strings.CS.replace(result, replaces[index], replaces[index + 1]);
449449
}
450450
return result;
451451
}
452452

453453
private String replace(String source, final TerraformContext context) {
454454
var result = source;
455455
for (final var entry : context.getContext().entrySet()) {
456-
result = StringUtils.replace(cleanupMd(result), cleanupMd(String.format("{{%s}}", entry.getKey())), cleanupMd(entry.getValue()));
456+
result = Strings.CS.replace(cleanupMd(result), cleanupMd(String.format("{{%s}}", entry.getKey())), cleanupMd(entry.getValue()));
457457
}
458458
return result;
459459
}
@@ -471,7 +471,7 @@ private InstanceMode toMode(final ProvQuoteInstance instance) {
471471
}
472472

473473
// Single EC2 but with a price condition
474-
if (ObjectUtils.defaultIfNull(instance.getMaxVariableCost(), 0d) > 0) {
474+
if (ObjectUtils.getIfNull(instance.getMaxVariableCost(), 0d) > 0) {
475475
return InstanceMode.EPHEMERAL;
476476
}
477477
// Single EC2

src/main/java/org/ligoj/app/plugin/prov/aws/auth/AWS4SignerBase.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import org.apache.commons.codec.digest.HmacUtils;
1616
import org.apache.commons.codec.net.URLCodec;
1717
import org.apache.commons.lang3.StringUtils;
18+
import org.apache.commons.lang3.Strings;
1819
import org.ligoj.bootstrap.core.resource.TechnicalException;
1920

2021
/**
@@ -84,7 +85,7 @@ protected String getCanonicalRequest(final String path, final String method, fin
8485
*/
8586
protected String getCanonicalizedResourcePath(final String path) {
8687
try {
87-
return StringUtils.prependIfMissing(urlCodec.encode(StringUtils.trimToEmpty(path)).replace("%2F", "/"),
88+
return Strings.CS.prependIfMissing(urlCodec.encode(StringUtils.trimToEmpty(path)).replace("%2F", "/"),
8889
"/");
8990
} catch (final EncoderException e) {
9091
throw new TechnicalException("Error during resource path encoding", e);

src/main/java/org/ligoj/app/plugin/prov/aws/catalog/vm/AbstractAwsPriceImportVm.java

Lines changed: 20 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -3,27 +3,9 @@
33
*/
44
package org.ligoj.app.plugin.prov.aws.catalog.vm;
55

6-
import java.io.BufferedReader;
7-
import java.io.IOException;
8-
import java.io.InputStreamReader;
9-
import java.net.URI;
10-
import java.net.URISyntaxException;
11-
import java.util.Arrays;
12-
import java.util.Collection;
13-
import java.util.Comparator;
14-
import java.util.Map;
15-
import java.util.Objects;
16-
import java.util.function.Function;
17-
import java.util.regex.Pattern;
18-
import java.util.stream.Collectors;
19-
import java.util.stream.Stream;
20-
216
import jakarta.annotation.PostConstruct;
22-
23-
import org.apache.commons.lang3.ArrayUtils;
24-
import org.apache.commons.lang3.ObjectUtils;
25-
import org.apache.commons.lang3.RegExUtils;
26-
import org.apache.commons.lang3.StringUtils;
7+
import lombok.extern.slf4j.Slf4j;
8+
import org.apache.commons.lang3.*;
279
import org.ligoj.app.plugin.prov.aws.catalog.AbstractAwsImport;
2810
import org.ligoj.app.plugin.prov.aws.catalog.AbstractLocalContext;
2911
import org.ligoj.app.plugin.prov.aws.catalog.AwsPriceRegion;
@@ -36,21 +18,22 @@
3618
import org.ligoj.app.plugin.prov.catalog.AbstractUpdateContext;
3719
import org.ligoj.app.plugin.prov.catalog.Co2Data;
3820
import org.ligoj.app.plugin.prov.catalog.ImportCatalog;
39-
import org.ligoj.app.plugin.prov.model.AbstractInstanceType;
40-
import org.ligoj.app.plugin.prov.model.AbstractQuoteVm;
41-
import org.ligoj.app.plugin.prov.model.AbstractTermPrice;
42-
import org.ligoj.app.plugin.prov.model.AbstractTermPriceVm;
43-
import org.ligoj.app.plugin.prov.model.ProvInstancePrice;
44-
import org.ligoj.app.plugin.prov.model.ProvInstancePriceTerm;
45-
import org.ligoj.app.plugin.prov.model.ProvLocation;
46-
import org.ligoj.app.plugin.prov.model.ProvStoragePrice;
47-
import org.ligoj.app.plugin.prov.model.Rate;
21+
import org.ligoj.app.plugin.prov.model.*;
4822
import org.ligoj.bootstrap.core.curl.CurlProcessor;
4923
import org.springframework.transaction.annotation.Isolation;
5024
import org.springframework.transaction.annotation.Propagation;
5125
import org.springframework.transaction.annotation.Transactional;
5226

53-
import lombok.extern.slf4j.Slf4j;
27+
import java.io.BufferedReader;
28+
import java.io.IOException;
29+
import java.io.InputStreamReader;
30+
import java.net.URI;
31+
import java.net.URISyntaxException;
32+
import java.util.*;
33+
import java.util.function.Function;
34+
import java.util.regex.Pattern;
35+
import java.util.stream.Collectors;
36+
import java.util.stream.Stream;
5437

5538
/**
5639
* The computing part of AWS catalog import.
@@ -209,7 +192,7 @@ protected void copy(final X context, final C csv, final T t) {
209192
resolveBaseline(context, t);
210193

211194
// Convert GiB to MiB, and rounded
212-
final var memoryStr = StringUtils.removeEndIgnoreCase(csv.getMemory(), " GiB").replace(",", "");
195+
final var memoryStr = Strings.CI.removeEnd(csv.getMemory(), " GiB").replace(",", "");
213196
t.setRam((int) Math.round(Double.parseDouble(memoryStr) * 1024d));
214197

215198
// Rating
@@ -283,7 +266,7 @@ protected final T installInstanceType(final X context, final C csv) {
283266
return n;
284267
}, previous -> {
285268
final var type = context.getLocalTypes().computeIfAbsent(previous.getCode(),
286-
code -> ObjectUtils.defaultIfNull(context.getTRepository().findBy("code", code), previous));
269+
code -> ObjectUtils.getIfNull(context.getTRepository().findBy("code", code), previous));
287270

288271
// Update the statistics only once
289272
return copyAsNeeded(context, type, t -> copy(context, csv, t), context.getTRepository());
@@ -358,12 +341,12 @@ protected ProvInstancePriceTerm installInstancePriceTerm(final X context, final
358341
RegExUtils.replaceAll(csv.getPurchaseOption(), "([a-z])Upfront", "$1 Upfront"), "No\\s*Upfront"));
359342
t.setName(Arrays
360343
.stream(new String[] { csv.getTermType(),
361-
StringUtils.replace(csv.getLeaseContractLength(), " ", ""), name,
362-
StringUtils.trimToNull(StringUtils.remove(csv.getOfferingClass(), "standard")) })
344+
Strings.CS.replace(csv.getLeaseContractLength(), " ", ""), name,
345+
StringUtils.trimToNull(Strings.CS.remove(csv.getOfferingClass(), "standard")) })
363346
.filter(Objects::nonNull).collect(Collectors.joining(", ")));
364-
t.setReservation(StringUtils.containsIgnoreCase(term.getName(), "reserved")); // ODCR not yet managed of
347+
t.setReservation(Strings.CI.contains(term.getName(), "reserved")); // ODCR not yet managed of
365348
t.setConvertibleType(
366-
!term.getReservation() || StringUtils.containsIgnoreCase(term.getName(), "convertible"));
349+
!term.getReservation() || Strings.CI.contains(term.getName(), "convertible"));
367350

368351
// Only for OD term
369352
t.setConvertibleFamily(!t.getReservation());
@@ -388,7 +371,7 @@ protected ProvInstancePriceTerm newTermAsNeeded(final X context, final String co
388371
newTerm.setCode(k);
389372
return newTerm;
390373
}, sharedTerm -> context.getLocalPriceTerms().computeIfAbsent(sharedTerm.getCode(),
391-
c -> ObjectUtils.defaultIfNull(iptRepository.findBy("code", c), sharedTerm)));
374+
c -> ObjectUtils.getIfNull(iptRepository.findBy("code", c), sharedTerm)));
392375
}
393376

394377
/**

src/main/java/org/ligoj/app/plugin/prov/aws/catalog/vm/ec2/AwsPriceImportEc2.java

Lines changed: 10 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -3,35 +3,27 @@
33
*/
44
package org.ligoj.app.plugin.prov.aws.catalog.vm.ec2;
55

6-
import java.io.BufferedReader;
7-
import java.io.IOException;
8-
import java.util.HashMap;
9-
import java.util.Map;
10-
import java.util.regex.Pattern;
11-
126
import jakarta.annotation.PostConstruct;
13-
7+
import lombok.extern.slf4j.Slf4j;
148
import org.apache.commons.lang3.ObjectUtils;
159
import org.apache.commons.lang3.StringUtils;
10+
import org.apache.commons.lang3.Strings;
1611
import org.ligoj.app.plugin.prov.aws.ProvAwsPluginResource;
1712
import org.ligoj.app.plugin.prov.aws.catalog.AwsPriceImportBase;
1813
import org.ligoj.app.plugin.prov.aws.catalog.UpdateContext;
1914
import org.ligoj.app.plugin.prov.aws.catalog.vm.AbstractAwsPriceImportVmOs;
20-
import org.ligoj.app.plugin.prov.model.ProvInstancePrice;
21-
import org.ligoj.app.plugin.prov.model.ProvInstancePriceTerm;
22-
import org.ligoj.app.plugin.prov.model.ProvInstanceType;
23-
import org.ligoj.app.plugin.prov.model.ProvLocation;
24-
import org.ligoj.app.plugin.prov.model.ProvQuoteInstance;
25-
import org.ligoj.app.plugin.prov.model.ProvStoragePrice;
26-
import org.ligoj.app.plugin.prov.model.ProvTenancy;
27-
import org.ligoj.app.plugin.prov.model.VmOs;
15+
import org.ligoj.app.plugin.prov.model.*;
2816
import org.ligoj.bootstrap.core.SpringUtils;
2917
import org.springframework.stereotype.Component;
3018
import org.springframework.transaction.annotation.Isolation;
3119
import org.springframework.transaction.annotation.Propagation;
3220
import org.springframework.transaction.annotation.Transactional;
3321

34-
import lombok.extern.slf4j.Slf4j;
22+
import java.io.BufferedReader;
23+
import java.io.IOException;
24+
import java.util.HashMap;
25+
import java.util.Map;
26+
import java.util.regex.Pattern;
3527

3628
/**
3729
* The provisioning price service for AWS. Manage install or update of prices.
@@ -183,7 +175,7 @@ private void installSpotPrices(final LocalEc2Context context, final AwsEc2SpotPr
183175
final var region = context.getRegion();
184176
final var type = context.getLocalTypes().get(json.getName());
185177
final var baseCode = TERM_SPOT_CODE + "-" + region.getName() + "-" + type.getName() + "-";
186-
json.getOsPrices().stream().filter(op -> !StringUtils.startsWithIgnoreCase(op.getPrices().get("USD"), "N/A"))
178+
json.getOsPrices().stream().filter(op -> !Strings.CI.startsWith(op.getPrices().get("USD"), "N/A"))
187179
.peek(op -> op.setOs(op.getName().equals("mswin") ? VmOs.WINDOWS : VmOs.LINUX))
188180
.filter(op -> isEnabledOs(context, op.getOs())).forEach(op -> {
189181

@@ -213,7 +205,7 @@ protected CsvForBeanEc2 newReader(final BufferedReader reader) throws IOExceptio
213205
@Override
214206
protected void copy(final AwsEc2Price csv, final ProvInstancePrice p) {
215207
super.copy(csv, p);
216-
final var software = ObjectUtils.defaultIfNull(csv.getSoftware(), "");
208+
final var software = ObjectUtils.getIfNull(csv.getSoftware(), "");
217209
p.setSoftware(StringUtils.trimToNull(mapSoftware.computeIfAbsent(software, String::toUpperCase)));
218210
p.setTenancy(ProvTenancy.valueOf(StringUtils.upperCase(csv.getTenancy())));
219211
}

src/main/java/org/ligoj/app/plugin/prov/aws/catalog/vm/fargate/AwsPriceImportFargate.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
import lombok.extern.slf4j.Slf4j;
77
import org.apache.commons.lang3.ObjectUtils;
8-
import org.apache.commons.lang3.StringUtils;
8+
import org.apache.commons.lang3.Strings;
99
import org.ligoj.app.plugin.prov.aws.catalog.AwsPriceImportBase;
1010
import org.ligoj.app.plugin.prov.aws.catalog.UpdateContext;
1111
import org.ligoj.app.plugin.prov.aws.catalog.vm.AbstractAwsPriceImportVmOs;
@@ -205,7 +205,7 @@ private ProvContainerPrice newPrice(final LocalFargateContext context, final Aws
205205
return copyAsNeeded(context, price,
206206
p -> copy(context, csv, p,
207207
installInstanceType(context, cpu, ram,
208-
StringUtils.containsIgnoreCase(csv.getUsageType(), "arm") ? "arm" : null),
208+
Strings.CI.contains(csv.getUsageType(), "arm") ? "arm" : null),
209209
installInstancePriceTerm(context, csv)));
210210
}
211211

@@ -342,7 +342,7 @@ private void installSpotPrices(final UpdateContext gContext, final ProvLocation
342342
private void installFargatePrice(final LocalFargateContext context, final AwsFargatePrice csvCpu,
343343
final double costRam, final double costCpu) {
344344
CPU_TO_RAM.forEach((cpu, ramGbA) -> {
345-
final var os = StringUtils.containsIgnoreCase(csvCpu.getUsageType(), "windows") ? VmOs.WINDOWS : VmOs.LINUX;
345+
final var os = Strings.CI.contains(csvCpu.getUsageType(), "windows") ? VmOs.WINDOWS : VmOs.LINUX;
346346
if (os == VmOs.WINDOWS && (cpu < 1d || cpu >= 8)) {
347347
// This CPU configuration is not supported for Windows
348348
return;

src/main/java/org/ligoj/app/plugin/prov/aws/catalog/vm/rds/AwsPriceImportRds.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import java.util.stream.Collectors;
1212

1313
import org.apache.commons.lang3.StringUtils;
14+
import org.apache.commons.lang3.Strings;
1415
import org.ligoj.app.plugin.prov.aws.ProvAwsPluginResource;
1516
import org.ligoj.app.plugin.prov.aws.catalog.UpdateContext;
1617
import org.ligoj.app.plugin.prov.aws.catalog.vm.AbstractAwsPriceImportVm;
@@ -167,7 +168,7 @@ private ProvStorageType installStorageType(final LocalRdsContext context, final
167168

168169
// Merge the updated statistics
169170
return copyAsNeeded(context, type, t -> {
170-
final var ssd = StringUtils.contains(csv.getStorage(), "SSD");
171+
final var ssd = Strings.CS.contains(csv.getStorage(), "SSD");
171172
t.setName(type.getCode());
172173
t.setDescription(csv.getVolume());
173174
t.setMinimal(toInteger(csv.getSizeMin()));
@@ -187,14 +188,14 @@ protected void copy(final AwsRdsPrice csv, final ProvDatabasePrice p) {
187188

188189
@Override
189190
protected Rate getRate(final String type, final AwsRdsPrice csv, final String name) {
190-
return super.getRate(type, csv, StringUtils.replaceOnce(name, "db\\.", ""));
191+
return super.getRate(type, csv, Strings.CS.replaceOnce(name, "db\\.", ""));
191192
}
192193

193194
@Override
194195
protected Co2Data getCo2(final AbstractUpdateContext context, final String type) {
195196
if (!context.getCo2DataSet().containsKey(type)) {
196197
// Try to resolve the type without the "db." prefix
197-
return super.getCo2(context, StringUtils.removeStart(type, "db."));
198+
return super.getCo2(context, Strings.CS.removeStart(type, "db."));
198199
}
199200
return super.getCo2(context, type);
200201
}

0 commit comments

Comments
 (0)