@@ -26,12 +26,14 @@ public final class AresSecurityConfiguration {
2626 private final Set <PackageRule > whitelistedPackages ;
2727 private final Set <PackageRule > trustedPackages ;
2828 private final TrustScope threadTrustScope ;
29+ private final Set <String > allowedThreadsInThreadGroup ;
2930
3031 AresSecurityConfiguration (Optional <Class <?>> testClass , Optional <Method > testMethod , Path executionPath , // NOSONAR
3132 Collection <String > whitelistedClassNames , Optional <Collection <PathRule >> whitelistedPaths ,
3233 Collection <PathRule > blacklistedPaths , Set <Integer > allowedLocalPorts , OptionalInt allowLocalPortsAbove ,
3334 Set <Integer > excludedLocalPorts , OptionalInt allowedThreadCount , Set <PackageRule > blacklistedPackages ,
34- Set <PackageRule > whitelistedPackages , Set <PackageRule > trustedPackages , TrustScope threadTrustScope ) {
35+ Set <PackageRule > whitelistedPackages , Set <PackageRule > trustedPackages , TrustScope threadTrustScope ,
36+ Set <String > allowedThreadsInThreadGroup ) {
3537 this .testClass = Objects .requireNonNull (testClass );
3638 this .testMethod = Objects .requireNonNull (testMethod );
3739 this .executionPath = executionPath .toAbsolutePath ();
@@ -46,6 +48,7 @@ public final class AresSecurityConfiguration {
4648 this .whitelistedPackages = Set .copyOf (whitelistedPackages );
4749 this .trustedPackages = Set .copyOf (trustedPackages );
4850 this .threadTrustScope = threadTrustScope ;
51+ this .allowedThreadsInThreadGroup = allowedThreadsInThreadGroup ;
4952 }
5053
5154 public Optional <Class <?>> testClass () {
@@ -104,6 +107,10 @@ public TrustScope threadTrustScope() {
104107 return threadTrustScope ;
105108 }
106109
110+ public Set <String > getAllowedThreadsInThreadGroup () {
111+ return allowedThreadsInThreadGroup ;
112+ }
113+
107114 @ Override
108115 public boolean equals (Object obj ) {
109116 if (this == obj )
@@ -122,24 +129,27 @@ public boolean equals(Object obj) {
122129 && Objects .equals (blacklistedPaths , other .blacklistedPaths )
123130 && Objects .equals (blacklistedPackages , other .blacklistedPackages )
124131 && Objects .equals (whitelistedPackages , other .whitelistedPackages )
125- && Objects .equals (threadTrustScope , other .threadTrustScope );
132+ && Objects .equals (threadTrustScope , other .threadTrustScope )
133+ && Objects .equals (allowedThreadsInThreadGroup , other .allowedThreadsInThreadGroup );
126134 }
127135
128136 @ Override
129137 public int hashCode () {
130138 return Objects .hash (executionPath , testClass , testMethod , whitelistedClassNames , allowedThreadCount ,
131- whitelistedPaths , blacklistedPaths , blacklistedPackages , whitelistedPackages , threadTrustScope );
139+ whitelistedPaths , blacklistedPaths , blacklistedPackages , whitelistedPackages , threadTrustScope ,
140+ allowedThreadsInThreadGroup );
132141 }
133142
134143 @ Override
135144 public String toString () {
136145 return String .format ("AresSecurityConfiguration [whitelistedClassNames=%s, executionPath=%s," //$NON-NLS-1$
137146 + " testClass=%s, testMethod=%s, whitelistedPaths=%s, blacklistedPaths=%s, allowedLocalPorts=%s," //$NON-NLS-1$
138147 + " allowLocalPortsAbove=%s, excludedLocalPorts=%s, allowedThreadCount=%s," //$NON-NLS-1$
139- + " blacklistedPackages=%s, whitelistedPackages=%s, trustedPackages=%s, threadTrustScope=%s]" , //$NON-NLS-1$
148+ + " blacklistedPackages=%s, whitelistedPackages=%s, trustedPackages=%s, threadTrustScope=%s," //$NON-NLS-1$
149+ + " allowedThreadsInThreadGroup=%b]" , //$NON-NLS-1$
140150 whitelistedClassNames , executionPath , testClass , testMethod , whitelistedPaths , blacklistedPaths ,
141151 allowedLocalPorts , allowLocalPortsAbove , excludedLocalPorts , allowedThreadCount , blacklistedPackages ,
142- whitelistedPackages , trustedPackages , threadTrustScope );
152+ whitelistedPackages , trustedPackages , threadTrustScope , allowedThreadsInThreadGroup );
143153 }
144154
145155 public String shortDesc () {
0 commit comments