1919import java .net .Proxy ;
2020import java .util .ArrayList ;
2121import java .util .Arrays ;
22+ import java .util .Collection ;
2223import java .util .Collections ;
2324import java .util .HashSet ;
2425import java .util .List ;
@@ -262,12 +263,7 @@ private Bugsnag createBugsnag() {
262263 bugsnag .setRedactedKeys (redactedKeys .toArray (new String [0 ]));
263264 }
264265
265- Pattern [] discardPatterns = new Pattern [discardClasses .size ()];
266- int idx = 0 ;
267- for (String pattern : discardClasses ) {
268- discardPatterns [idx ++] = Pattern .compile (pattern );
269- }
270- bugsnag .setDiscardClasses (discardPatterns );
266+ bugsnag .setDiscardClasses (compileDiscardPatterns (discardClasses ));
271267
272268 if (!enabledReleaseStages .isEmpty ()) {
273269 bugsnag .setEnabledReleaseStages (enabledReleaseStages .toArray (new String [0 ]));
@@ -298,6 +294,21 @@ public boolean onError(Report report) {
298294 return bugsnag ;
299295 }
300296
297+ /**
298+ * Compiles a collection of pattern strings into an array of Pattern objects.
299+ *
300+ * @param patternStrings the collection of pattern strings to compile
301+ * @return an array of compiled Pattern objects
302+ */
303+ private Pattern [] compileDiscardPatterns (Collection <String > patternStrings ) {
304+ Pattern [] patterns = new Pattern [patternStrings .size ()];
305+ int idx = 0 ;
306+ for (String pattern : patternStrings ) {
307+ patterns [idx ++] = Pattern .compile (pattern );
308+ }
309+ return patterns ;
310+ }
311+
301312 /**
302313 * Add a callback to execute code before/after every notification to Bugsnag.
303314 *
@@ -417,12 +428,7 @@ public void setDiscardClass(String discardClass) {
417428 this .discardClasses .add (discardClass );
418429
419430 if (bugsnag != null ) {
420- Pattern [] discardPatterns = new Pattern [this .discardClasses .size ()];
421- int idx = 0 ;
422- for (String pattern : this .discardClasses ) {
423- discardPatterns [idx ++] = Pattern .compile (pattern );
424- }
425- bugsnag .setDiscardClasses (discardPatterns );
431+ bugsnag .setDiscardClasses (compileDiscardPatterns (this .discardClasses ));
426432 }
427433 }
428434
@@ -433,12 +439,7 @@ public void setDiscardClasses(String discardClasses) {
433439 this .discardClasses .addAll (split (discardClasses ));
434440
435441 if (bugsnag != null ) {
436- Pattern [] discardPatterns = new Pattern [this .discardClasses .size ()];
437- int idx = 0 ;
438- for (String pattern : this .discardClasses ) {
439- discardPatterns [idx ++] = Pattern .compile (pattern );
440- }
441- bugsnag .setDiscardClasses (discardPatterns );
442+ bugsnag .setDiscardClasses (compileDiscardPatterns (this .discardClasses ));
442443 }
443444 }
444445
0 commit comments