diff --git a/pom.xml b/pom.xml
index 2d11916126..06ca1fe642 100644
--- a/pom.xml
+++ b/pom.xml
@@ -122,16 +122,10 @@
3.6.1
-
- org.apache.commons
- commons-lang3
- 3.20.0
-
-
org.apache.commons
commons-text
- 1.15.0
+ 1.15.0
@@ -203,7 +197,7 @@
j4ml
- j4ml-neuroph
+ j4ml-neuroph
0.9-SNAPSHOT
@@ -281,6 +275,18 @@
0.40
+
+
+ org.apache.commons
+ commons-lang3
+ 3.20.0
+
+
diff --git a/reconstruction/alert/pom.xml b/reconstruction/alert/pom.xml
index c4baa62486..f6badbc8dd 100644
--- a/reconstruction/alert/pom.xml
+++ b/reconstruction/alert/pom.xml
@@ -22,11 +22,6 @@
org.apache.commons
commons-math3
-
- org.apache.commons
- commons-lang3
- compile
-
org.jlab.clas
clas-reco
diff --git a/reconstruction/alert/src/main/java/org/jlab/rec/alert/AI/TrackCandidatesGenerator.java b/reconstruction/alert/src/main/java/org/jlab/rec/alert/AI/TrackCandidatesGenerator.java
index e121b28862..8cfb5b5f80 100644
--- a/reconstruction/alert/src/main/java/org/jlab/rec/alert/AI/TrackCandidatesGenerator.java
+++ b/reconstruction/alert/src/main/java/org/jlab/rec/alert/AI/TrackCandidatesGenerator.java
@@ -1,8 +1,8 @@
package org.jlab.rec.alert.AI;
-import org.apache.commons.lang3.mutable.MutableBoolean;
-
-import java.util.*;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.concurrent.atomic.AtomicBoolean;
/**
* The TrackConstruction class is responsible for constructing all possible track
@@ -81,18 +81,18 @@ private double mod(double x, double y) {
* @param number_of_track_candidates The current count of track candidates.
* @return A list of all possible combinations of integers from {@code v1} and {@code v2}.
*/
- private ArrayList> cartesianProduct(ArrayList> v1, ArrayList v2, MutableBoolean too_much_track_candidates, int number_of_track_candidates) {
+ private ArrayList> cartesianProduct(ArrayList> v1, ArrayList v2, AtomicBoolean too_much_track_candidates, int number_of_track_candidates) {
ArrayList> result = new ArrayList<>();
for (ArrayList i : v1) {
- if (too_much_track_candidates.booleanValue()) break;
+ if (too_much_track_candidates.get()) break;
for (int j : v2) {
- if (too_much_track_candidates.booleanValue()) break;
+ if (too_much_track_candidates.get()) break;
ArrayList n = new ArrayList<>(i);
n.add(j);
result.add(n);
if (number_of_track_candidates + result.size() >= MAX_NUMBER_OF_TRACK_CANDIDATES) {
- too_much_track_candidates.setValue(true);
+ too_much_track_candidates.set(true);
break;
}
}
@@ -155,8 +155,7 @@ else if (interClusters.get(all_superpreclusters.get(i)).getPreclusters().get(0).
superpreclusters_s5.add(all_superpreclusters.get(i));
}
- MutableBoolean too_much_track_candidates = new MutableBoolean(); // Need to be a mutable boolean to be able to change it in the cartesian_product method
- too_much_track_candidates.setFalse();
+ AtomicBoolean too_much_track_candidates = new AtomicBoolean(false); // Needs to be mutable so cartesianProduct can set it
// Find all possible combinations of superpreclusters on different superlayers
ArrayList> combinations_s1_s2 = cartesianProduct(new ArrayList<>(List.of(superpreclusters_s1)), superpreclusters_s2, too_much_track_candidates, number_of_track_candidates);
@@ -166,7 +165,7 @@ else if (interClusters.get(all_superpreclusters.get(i)).getPreclusters().get(0).
// Keep track of the number of track candidates
number_of_track_candidates += combinations_s1_s2_s3_s4_s5.size();
- if (too_much_track_candidates.booleanValue()) sucess = false; // If the number of track candidates exceeds the maximum limit, set success to false
+ if (too_much_track_candidates.get()) sucess = false; // If the number of track candidates exceeds the maximum limit, set success to false
// Add all track candidates to the list of all track candidates
// And switch back from index to superprecluster