This is an automated email from the ASF dual-hosted git repository.
orpiske pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/main by this push:
new cd32a0b (chores) Simplifies map access/put logic (#5676)
cd32a0b is described below
commit cd32a0beac86a30699c12c4bc43096ea7efa98ad
Author: Otavio Rodolfo Piske <[email protected]>
AuthorDate: Wed Jun 16 16:10:43 2021 +0200
(chores) Simplifies map access/put logic (#5676)
Use computeIfAbsent, computeIfPresent and putIfAbsent to simplify code
conditionally operating on Maps.
---
.../atmosphere/websocket/WebsocketComponent.java | 6 +--
.../apache/camel/component/bean/MethodInfo.java | 6 +--
.../format/factories/DefaultFactoryRegistry.java | 7 +--
.../apache/camel/component/cmis/CMISProducer.java | 9 ++--
.../camel/http/common/DefaultHttpBinding.java | 4 +-
.../camel/http/common/DefaultHttpRegistry.java | 7 +--
.../milo/server/internal/CamelNamespace.java | 8 +---
.../component/olingo2/api/impl/Olingo2AppImpl.java | 5 +-
.../component/optaplanner/OptaPlannerEndpoint.java | 7 +--
.../camel/component/quartz/QuartzComponent.java | 6 +--
.../salesforce/api/dto/composite/SObjectNode.java | 6 +--
.../java/org/apache/camel/maven/GenerateMojo.java | 7 +--
.../apache/camel/language/xpath/XPathBuilder.java | 6 +--
.../camel/catalog/PropertiesValidationResult.java | 53 +++++++++-------------
14 files changed, 41 insertions(+), 96 deletions(-)
diff --git
a/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketComponent.java
b/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketComponent.java
index 062399d..7336776 100644
---
a/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketComponent.java
+++
b/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketComponent.java
@@ -48,11 +48,7 @@ public class WebsocketComponent extends ServletComponent {
WebSocketStore getWebSocketStore(String name) {
WebSocketStore store;
synchronized (stores) {
- store = stores.get(name);
- if (store == null) {
- store = new MemoryWebSocketStore();
- stores.put(name, store);
- }
+ store = stores.computeIfAbsent(name, k -> new
MemoryWebSocketStore());
}
return store;
}
diff --git
a/components/camel-bean/src/main/java/org/apache/camel/component/bean/MethodInfo.java
b/components/camel-bean/src/main/java/org/apache/camel/component/bean/MethodInfo.java
index 7dc62ba..811292f 100644
---
a/components/camel-bean/src/main/java/org/apache/camel/component/bean/MethodInfo.java
+++
b/components/camel-bean/src/main/java/org/apache/camel/component/bean/MethodInfo.java
@@ -214,9 +214,9 @@ public class MethodInfo {
for (Annotation a : method.getAnnotations()) {
// favour existing annotation so only add if not exists
Class<?> at = a.annotationType();
- if (!annotations.containsKey(at)) {
- annotations.put(at, a);
- }
+
+ annotations.putIfAbsent(at, a);
+
aep |= at == Pattern.class || at == InOnly.class || at
== InOut.class;
}
}
diff --git
a/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/format/factories/DefaultFactoryRegistry.java
b/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/format/factories/DefaultFactoryRegistry.java
index 5be1904..45d4672 100644
---
a/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/format/factories/DefaultFactoryRegistry.java
+++
b/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/format/factories/DefaultFactoryRegistry.java
@@ -123,11 +123,6 @@ public final class DefaultFactoryRegistry implements
FactoryRegistry {
}
private List<FormatFactoryInterface> getByClass(Class<?> clazz) {
- List<FormatFactoryInterface> result = classBasedFactories.get(clazz);
- if (result == null) {
- result = new ArrayList<>();
- classBasedFactories.put(clazz, result);
- }
- return result;
+ return classBasedFactories.computeIfAbsent(clazz, k -> new
ArrayList<>());
}
}
diff --git
a/components/camel-cmis/src/main/java/org/apache/camel/component/cmis/CMISProducer.java
b/components/camel-cmis/src/main/java/org/apache/camel/component/cmis/CMISProducer.java
index 4ae0c95..cccc3ae 100644
---
a/components/camel-cmis/src/main/java/org/apache/camel/component/cmis/CMISProducer.java
+++
b/components/camel-cmis/src/main/java/org/apache/camel/component/cmis/CMISProducer.java
@@ -520,9 +520,8 @@ public class CMISProducer extends DefaultProducer {
}
private Folder storeFolder(Folder parentFolder, Map<String, Object>
cmisProperties) throws Exception {
- if (!cmisProperties.containsKey(PropertyIds.OBJECT_TYPE_ID)) {
- cmisProperties.put(PropertyIds.OBJECT_TYPE_ID,
CamelCMISConstants.CMIS_FOLDER);
- }
+ cmisProperties.putIfAbsent(PropertyIds.OBJECT_TYPE_ID,
CamelCMISConstants.CMIS_FOLDER);
+
LOG.debug("Creating folder with properties: {}", cmisProperties);
return parentFolder.createFolder(cmisProperties);
}
@@ -530,9 +529,7 @@ public class CMISProducer extends DefaultProducer {
private Document storeDocument(
Folder parentFolder, Map<String, Object> cmisProperties,
ContentStream contentStream, String versioning)
throws Exception {
- if (!cmisProperties.containsKey(PropertyIds.OBJECT_TYPE_ID)) {
- cmisProperties.put(PropertyIds.OBJECT_TYPE_ID,
CamelCMISConstants.CMIS_DOCUMENT);
- }
+ cmisProperties.putIfAbsent(PropertyIds.OBJECT_TYPE_ID,
CamelCMISConstants.CMIS_DOCUMENT);
VersioningState versioningState = VersioningState.NONE;
diff --git
a/components/camel-http-common/src/main/java/org/apache/camel/http/common/DefaultHttpBinding.java
b/components/camel-http-common/src/main/java/org/apache/camel/http/common/DefaultHttpBinding.java
index bb40022..17bae00 100644
---
a/components/camel-http-common/src/main/java/org/apache/camel/http/common/DefaultHttpBinding.java
+++
b/components/camel-http-common/src/main/java/org/apache/camel/http/common/DefaultHttpBinding.java
@@ -140,9 +140,7 @@ public class DefaultHttpBinding implements HttpBinding {
headers.put(Exchange.HTTP_URI, request.getRequestURI());
headers.put(Exchange.HTTP_PATH, rawPath);
// only set content type if not already extracted
- if (!headers.containsKey(Exchange.CONTENT_TYPE)) {
- headers.put(Exchange.CONTENT_TYPE, request.getContentType());
- }
+ headers.computeIfAbsent(Exchange.CONTENT_TYPE, k ->
request.getContentType());
if (LOG.isTraceEnabled()) {
LOG.trace("HTTP method {}", request.getMethod());
diff --git
a/components/camel-http-common/src/main/java/org/apache/camel/http/common/DefaultHttpRegistry.java
b/components/camel-http-common/src/main/java/org/apache/camel/http/common/DefaultHttpRegistry.java
index bae3564..371691a 100644
---
a/components/camel-http-common/src/main/java/org/apache/camel/http/common/DefaultHttpRegistry.java
+++
b/components/camel-http-common/src/main/java/org/apache/camel/http/common/DefaultHttpRegistry.java
@@ -46,12 +46,7 @@ public class DefaultHttpRegistry implements HttpRegistry {
* Lookup or create a new registry if none exists with the given name
*/
public static synchronized HttpRegistry getHttpRegistry(String name) {
- HttpRegistry answer = registries.get(name);
- if (answer == null) {
- answer = new DefaultHttpRegistry();
- registries.put(name, answer);
- }
- return answer;
+ return registries.computeIfAbsent(name, k -> new
DefaultHttpRegistry());
}
/**
diff --git
a/components/camel-milo/src/main/java/org/apache/camel/component/milo/server/internal/CamelNamespace.java
b/components/camel-milo/src/main/java/org/apache/camel/component/milo/server/internal/CamelNamespace.java
index def4cc5..924f2da 100644
---
a/components/camel-milo/src/main/java/org/apache/camel/component/milo/server/internal/CamelNamespace.java
+++
b/components/camel-milo/src/main/java/org/apache/camel/component/milo/server/internal/CamelNamespace.java
@@ -110,12 +110,8 @@ public class CamelNamespace extends ManagedNamespace {
public CamelServerItem getOrAddItem(final String itemId) {
synchronized (this) {
- CamelServerItem item = this.itemMap.get(itemId);
- if (item == null) {
- item = new CamelServerItem(itemId, getNodeContext(),
getNamespaceIndex(), this.itemsObject);
- this.itemMap.put(itemId, item);
- }
- return item;
+ return this.itemMap.computeIfAbsent(itemId,
+ k -> new CamelServerItem(itemId, getNodeContext(),
getNamespaceIndex(), this.itemsObject));
}
}
diff --git
a/components/camel-olingo2/camel-olingo2-api/src/main/java/org/apache/camel/component/olingo2/api/impl/Olingo2AppImpl.java
b/components/camel-olingo2/camel-olingo2-api/src/main/java/org/apache/camel/component/olingo2/api/impl/Olingo2AppImpl.java
index 4af8c9d..ee5faaf 100644
---
a/components/camel-olingo2/camel-olingo2-api/src/main/java/org/apache/camel/component/olingo2/api/impl/Olingo2AppImpl.java
+++
b/components/camel-olingo2/camel-olingo2-api/src/main/java/org/apache/camel/component/olingo2/api/impl/Olingo2AppImpl.java
@@ -956,9 +956,8 @@ public final class Olingo2AppImpl implements Olingo2App {
if (null != charset) {
headers.put(HttpHeaders.ACCEPT_CHARSET,
charset.name().toLowerCase());
}
- if (!headers.containsKey(HttpHeaders.CONTENT_TYPE)) {
- headers.put(HttpHeaders.CONTENT_TYPE, getContentType());
- }
+
+ headers.computeIfAbsent(HttpHeaders.CONTENT_TYPE, k ->
getContentType());
// add request headers
headers.putAll(batchRequest.getHeaders());
diff --git
a/components/camel-optaplanner/src/main/java/org/apache/camel/component/optaplanner/OptaPlannerEndpoint.java
b/components/camel-optaplanner/src/main/java/org/apache/camel/component/optaplanner/OptaPlannerEndpoint.java
index 9cbd487..984c457 100644
---
a/components/camel-optaplanner/src/main/java/org/apache/camel/component/optaplanner/OptaPlannerEndpoint.java
+++
b/components/camel-optaplanner/src/main/java/org/apache/camel/component/optaplanner/OptaPlannerEndpoint.java
@@ -57,12 +57,7 @@ public class OptaPlannerEndpoint extends DefaultEndpoint {
protected Solver<Object> getOrCreateSolver(String solverId) {
synchronized (SOLVERS) {
- Solver<Object> solver = SOLVERS.get(solverId);
- if (solver == null) {
- solver = createSolver();
- SOLVERS.put(solverId, solver);
- }
- return solver;
+ return SOLVERS.computeIfAbsent(solverId, k -> createSolver());
}
}
diff --git
a/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java
b/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java
index 00295d9..42a4c7a 100644
---
a/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java
+++
b/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java
@@ -475,11 +475,7 @@ public class QuartzComponent extends DefaultComponent
implements ExtendedStartup
// Set camel job counts to zero. We needed this to prevent shutdown in
case there are multiple Camel contexts
// that has not completed yet, and the last one with job counts to
zero will eventually shutdown.
- AtomicInteger number = (AtomicInteger)
quartzContext.get(QuartzConstants.QUARTZ_CAMEL_JOBS_COUNT);
- if (number == null) {
- number = new AtomicInteger();
- quartzContext.put(QuartzConstants.QUARTZ_CAMEL_JOBS_COUNT, number);
- }
+ quartzContext.computeIfAbsent(QuartzConstants.QUARTZ_CAMEL_JOBS_COUNT,
k -> new AtomicInteger());
}
private SchedulerContext storeCamelContextInQuartzContext() throws
SchedulerException {
diff --git
a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/composite/SObjectNode.java
b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/composite/SObjectNode.java
index 0e851d8..527e07a 100644
---
a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/composite/SObjectNode.java
+++
b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/composite/SObjectNode.java
@@ -253,11 +253,7 @@ public final class SObjectNode implements Serializable {
}
SObjectNode addChild(final String labelPlural, final SObjectNode node) {
- List<SObjectNode> children = records.get(labelPlural);
- if (children == null) {
- children = new ArrayList<>();
- records.put(labelPlural, children);
- }
+ List<SObjectNode> children = records.computeIfAbsent(labelPlural, k ->
new ArrayList<>());
children.add(node);
diff --git
a/components/camel-salesforce/camel-salesforce-maven-plugin/src/main/java/org/apache/camel/maven/GenerateMojo.java
b/components/camel-salesforce/camel-salesforce-maven-plugin/src/main/java/org/apache/camel/maven/GenerateMojo.java
index 648c6c8..bcc2113 100644
---
a/components/camel-salesforce/camel-salesforce-maven-plugin/src/main/java/org/apache/camel/maven/GenerateMojo.java
+++
b/components/camel-salesforce/camel-salesforce-maven-plugin/src/main/java/org/apache/camel/maven/GenerateMojo.java
@@ -286,12 +286,7 @@ public class GenerateMojo extends AbstractSalesforceMojo {
public String variableName(final String given) {
final String base = StringUtils.uncapitalize(given);
-
- AtomicInteger counter = varNames.get(base);
- if (counter == null) {
- counter = new AtomicInteger();
- varNames.put(base, counter);
- }
+ AtomicInteger counter = varNames.computeIfAbsent(base, k -> new
AtomicInteger());
return base + counter.incrementAndGet();
}
diff --git
a/components/camel-xpath/src/main/java/org/apache/camel/language/xpath/XPathBuilder.java
b/components/camel-xpath/src/main/java/org/apache/camel/language/xpath/XPathBuilder.java
index 054926e..6bde4d2 100644
---
a/components/camel-xpath/src/main/java/org/apache/camel/language/xpath/XPathBuilder.java
+++
b/components/camel-xpath/src/main/java/org/apache/camel/language/xpath/XPathBuilder.java
@@ -989,10 +989,8 @@ public class XPathBuilder extends ServiceSupport
}
// add to map
- if (!map.containsKey(prefix)) {
- map.put(prefix, new HashSet<String>());
- }
- map.get(prefix).add(namespaces.item(i).getNodeValue());
+ map.computeIfAbsent(prefix, k -> new HashSet<>())
+ .add(namespaces.item(i).getNodeValue());
}
LOG.info("Namespaces discovered in message: {}.", map);
diff --git
a/core/camel-api/src/main/java/org/apache/camel/catalog/PropertiesValidationResult.java
b/core/camel-api/src/main/java/org/apache/camel/catalog/PropertiesValidationResult.java
index 15ffb20..6bc9b60 100644
---
a/core/camel-api/src/main/java/org/apache/camel/catalog/PropertiesValidationResult.java
+++
b/core/camel-api/src/main/java/org/apache/camel/catalog/PropertiesValidationResult.java
@@ -133,14 +133,17 @@ abstract class PropertiesValidationResult implements
Serializable {
}
}
+ private String computeErrors(String value) {
+ errors++;
+ return value;
+ }
+
public void addInvalidEnum(String name, String value) {
if (invalidEnum == null) {
invalidEnum = new LinkedHashMap<>();
}
- if (!invalidEnum.containsKey(name)) {
- invalidEnum.put(name, value);
- errors++;
- }
+
+ invalidEnum.computeIfAbsent(name, k -> computeErrors(value));
}
public void addInvalidEnumChoices(String name, String[] choices) {
@@ -161,70 +164,56 @@ abstract class PropertiesValidationResult implements
Serializable {
if (invalidReference == null) {
invalidReference = new LinkedHashMap<>();
}
- if (!invalidReference.containsKey(name)) {
- invalidReference.put(name, value);
- errors++;
- }
+
+ invalidReference.computeIfAbsent(name, k -> computeErrors(value));
}
public void addInvalidMap(String name, String value) {
if (invalidMap == null) {
invalidMap = new LinkedHashMap<>();
}
- if (!invalidMap.containsKey(name)) {
- invalidMap.put(name, value);
- errors++;
- }
+
+ invalidMap.computeIfAbsent(name, k -> computeErrors(value));
}
public void addInvalidArray(String name, String value) {
if (invalidArray == null) {
invalidArray = new LinkedHashMap<>();
}
- if (!invalidArray.containsKey(name)) {
- invalidArray.put(name, value);
- errors++;
- }
+
+ invalidArray.computeIfAbsent(name, k -> computeErrors(value));
}
public void addInvalidBoolean(String name, String value) {
if (invalidBoolean == null) {
invalidBoolean = new LinkedHashMap<>();
}
- if (!invalidBoolean.containsKey(name)) {
- invalidBoolean.put(name, value);
- errors++;
- }
+
+ invalidBoolean.computeIfAbsent(name, k -> computeErrors(value));
}
public void addInvalidInteger(String name, String value) {
if (invalidInteger == null) {
invalidInteger = new LinkedHashMap<>();
}
- if (!invalidInteger.containsKey(name)) {
- invalidInteger.put(name, value);
- errors++;
- }
+
+ invalidInteger.computeIfAbsent(name, k -> computeErrors(value));
}
public void addInvalidNumber(String name, String value) {
if (invalidNumber == null) {
invalidNumber = new LinkedHashMap<>();
}
- if (!invalidNumber.containsKey(name)) {
- invalidNumber.put(name, value);
- errors++;
- }
+
+ invalidNumber.computeIfAbsent(name, k -> computeErrors(value));
}
public void addInvalidDuration(String name, String value) {
if (invalidDuration == null) {
invalidDuration = new LinkedHashMap<>();
}
- if (!invalidDuration.containsKey(name)) {
- invalidDuration.put(name, value);
- errors++;
- }
+
+ invalidDuration.computeIfAbsent(name, k -> computeErrors(value));
}
public void addDefaultValue(String name, String value) {