diff options
author | Jim Hahn <jrh3@att.com> | 2021-02-17 15:23:38 -0500 |
---|---|---|
committer | Jim Hahn <jrh3@att.com> | 2021-02-18 17:47:55 +0000 |
commit | b6977d2f7ce64ece732ac1a1a0525dac972d7ccf (patch) | |
tree | 4966f5aa4737b0fef8241989eb216cce7fbe9294 /context/context-management/src/main | |
parent | 4e05982e36aa66b83fa0ee44b9631412442c3969 (diff) |
Fix sonars in apex-pdp
Addressed the following issues:
- initialize mocks before use
- use parameterized queries
- Random() is not secure
- provide parameterized type for generics
- unused imports
- constructor visibility
- use compute() instead of containsKey()/put()
- make final fields static
- rename constants to all upper case
- no assert() in Thread.run() methods
- nested try
- nested if/else
- too many break/continue
- use try-with-resources
- repeatable annotations
- overlapping characters in reg ex
- hashcode is not sufficient in compareTo()
- need equals() with compareTo()
- make class an interface
- use parameterized test
- multiple calls in assert()
- log or re-throw
- use different type of lambda
- use parameterized logging
- use StringBuilder instead of concatenation
- use StandardCharsets.UTF_8
Issue-ID: POLICY-2906
Change-Id: I2cf8c885e3e22c2c6cbe6403a34906928afad022
Signed-off-by: Jim Hahn <jrh3@att.com>
Diffstat (limited to 'context/context-management/src/main')
2 files changed, 8 insertions, 8 deletions
diff --git a/context/context-management/src/main/java/org/onap/policy/apex/context/impl/distribution/AbstractDistributor.java b/context/context-management/src/main/java/org/onap/policy/apex/context/impl/distribution/AbstractDistributor.java index 1d73f58f1..3444f9342 100644 --- a/context/context-management/src/main/java/org/onap/policy/apex/context/impl/distribution/AbstractDistributor.java +++ b/context/context-management/src/main/java/org/onap/policy/apex/context/impl/distribution/AbstractDistributor.java @@ -2,6 +2,7 @@ * ============LICENSE_START======================================================= * Copyright (C) 2016-2018 Ericsson. All rights reserved. * Modifications Copyright (C) 2019 Nordix Foundation. + * Modifications Copyright (C) 2021 AT&T Intellectual Property. All rights reserved. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -74,7 +75,7 @@ public abstract class AbstractDistributor implements Distributor { /** * Create an instance of an abstract Context Distributor. */ - public AbstractDistributor() { + protected AbstractDistributor() { LOGGER.entry("AbstractContextDistributor()"); LOGGER.exit("AbstractContextDistributor()"); } diff --git a/context/context-management/src/main/java/org/onap/policy/apex/context/impl/locking/AbstractLockManager.java b/context/context-management/src/main/java/org/onap/policy/apex/context/impl/locking/AbstractLockManager.java index a2bd45ccc..4eb878b1c 100644 --- a/context/context-management/src/main/java/org/onap/policy/apex/context/impl/locking/AbstractLockManager.java +++ b/context/context-management/src/main/java/org/onap/policy/apex/context/impl/locking/AbstractLockManager.java @@ -1,6 +1,7 @@ /*- * ============LICENSE_START======================================================= * Copyright (C) 2016-2018 Ericsson. All rights reserved. + * Modifications Copyright (C) 2021 AT&T Intellectual Property. All rights reserved. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -166,14 +167,12 @@ public abstract class AbstractLockManager implements LockManager { */ private ReadWriteLock getLock(final String lockTypeKey, final String lockKey, final boolean createMode) throws ContextException { - // Check if we have a lock type map for this lock type yet - if (!lockMaps.containsKey(lockTypeKey)) { - // Create a lock type map for the lock type - lockMaps.put(lockTypeKey, Collections.synchronizedMap(new HashMap<String, ReadWriteLock>())); - } + // Find or create a map for the lock type + Map<String, ReadWriteLock> lockTypeMap = lockMaps.computeIfAbsent(lockTypeKey, + unusedKey -> Collections.synchronizedMap(new HashMap<String, ReadWriteLock>())); // Find or create a lock in the lock map - ReadWriteLock lock = lockMaps.get(lockTypeKey).get(lockKey); + ReadWriteLock lock = lockTypeMap.get(lockKey); if (lock != null) { return lock; } @@ -191,7 +190,7 @@ public abstract class AbstractLockManager implements LockManager { lock = getReentrantReadWriteLock(lockTypeKey + "_" + lockKey); // Add the lock to the lock map - lockMaps.get(lockTypeKey).put(lockKey, lock); + lockTypeMap.put(lockKey, lock); if (LOGGER.isTraceEnabled()) { LOGGER.trace("created lock {}_{}", lockTypeKey, lockKey); |