Skip to content

Commit ebb4ac3

Browse files
Merge pull request #115 from ls1intum/chore/fix-checkstyle-violations
style: fix all checkstyle violations
2 parents a754181 + 5e2b332 commit ebb4ac3

111 files changed

Lines changed: 1057 additions & 635 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

src/main/java/de/tum/cit/ase/ares/api/AresConfiguration.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
* @version 1.0.0
1414
*/
1515
@API(status = Status.MAINTAINED)
16-
public class AresConfiguration {
16+
public final class AresConfiguration {
1717

1818
private AresConfiguration() {
1919
}

src/main/java/de/tum/cit/ase/ares/api/Main.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,14 @@
22

33
import java.nio.file.Path;
44

5+
import de.tum.cit.ase.ares.api.localization.Messages;
56
import de.tum.cit.ase.ares.api.policy.SecurityPolicyReaderAndDirector;
67

7-
public class Main {
8+
public final class Main {
9+
private Main() {
10+
throw new SecurityException(Messages.localized("security.general.utility.initialization", "Main"));
11+
}
12+
813
public static void main(String[] args) {
914
SecurityPolicyReaderAndDirector securityPolicyReaderAndDirector = new SecurityPolicyReaderAndDirector(
1015
Path.of("/Users", "markuspaulsen", "Documents", "Ares2", "src", "main", "resources",

src/main/java/de/tum/cit/ase/ares/api/PathActionLevel.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,18 @@ public boolean isBelowOrEqual(PathActionLevel other) {
2020
}
2121

2222
public static PathActionLevel getLevelOf(String actions) {
23-
if (actions.contains("execute")) //$NON-NLS-1$
23+
if (actions.contains("execute")) { //$NON-NLS-1$
2424
return EXECUTE;
25-
if (actions.contains("delete")) //$NON-NLS-1$
25+
}
26+
if (actions.contains("delete")) { //$NON-NLS-1$
2627
return DELETE;
27-
if (actions.contains("write")) //$NON-NLS-1$
28+
}
29+
if (actions.contains("write")) { //$NON-NLS-1$
2830
return WRITE;
29-
if (actions.contains("readlink")) //$NON-NLS-1$
31+
}
32+
if (actions.contains("readlink")) { //$NON-NLS-1$
3033
return READLINK;
34+
}
3135
return READ;
3236
}
3337
}

src/main/java/de/tum/cit/ase/ares/api/PathType.java

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -166,8 +166,9 @@ public boolean isPatternRecursive(String pathPattern) {
166166

167167
private static Path relativizeSafe(Path any, int offset) {
168168
var path = any.normalize().toAbsolutePath();
169-
if (!Objects.equals(path.getRoot(), CURRENT_PATH.getRoot()))
169+
if (!Objects.equals(path.getRoot(), CURRENT_PATH.getRoot())) {
170170
return path;
171+
}
171172
return CURRENT_PATH_HIERARCHY.get(offset).relativize(path).normalize();
172173
}
173174

@@ -183,18 +184,21 @@ private GlobNormalizationResult(String globPattern) {
183184
String cleaned;
184185
cleaned = GLOB_SINGLE_DOT_ELIMINATION.matcher(globPattern).replaceAll(""); //$NON-NLS-1$
185186
Matcher m;
186-
while ((m = GLOB_DOUBLE_DOT_ELIMINATION.matcher(cleaned)).find())
187+
while ((m = GLOB_DOUBLE_DOT_ELIMINATION.matcher(cleaned)).find()) {
187188
cleaned = m.replaceAll(""); //$NON-NLS-1$
189+
}
188190
var offset = 0;
189191
while (cleaned.startsWith("..")) { //$NON-NLS-1$
190-
if (cleaned.length() == 2)
192+
if (cleaned.length() == 2) {
191193
cleaned = ""; //$NON-NLS-1$
192-
else
194+
} else {
193195
cleaned = cleaned.substring(3);
196+
}
194197
offset++;
195198
}
196-
if (offset >= CURRENT_PATH_HIERARCHY.size())
199+
if (offset >= CURRENT_PATH_HIERARCHY.size()) {
197200
throw new IllegalArgumentException("relative glob pattern for current path requires offset " + offset); //$NON-NLS-1$
201+
}
198202
this.relativeOffset = offset;
199203
this.normalizedGlobPattern = cleaned;
200204
}

src/main/java/de/tum/cit/ase/ares/api/TestUtils.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,9 @@ public static void privilegedFail(String message) {
6161

6262
public static ThreadGroup getRootThreadGroup() {
6363
ThreadGroup group = Thread.currentThread().getThreadGroup();
64-
for (ThreadGroup tg = group; tg != null; tg = group.getParent())
64+
for (ThreadGroup tg = group; tg != null; tg = group.getParent()) {
6565
group = tg;
66+
}
6667
return group;
6768
}
6869
}

src/main/java/de/tum/cit/ase/ares/api/aop/java/JavaAOPTestCase.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -376,6 +376,13 @@ public void executeAOPTestCase(@Nonnull String architectureMode, @Nonnull String
376376
"threadClassAllowedToBeCreated",
377377
threadCreationExtractor.getPermittedThreadClasses().toArray(String[]::new))
378378
.forEach((k, v) -> JavaAOPTestCase.setJavaAdviceSettingValue(k, v, architectureMode, aopMode));
379+
// The cases above are exhaustive over JavaAOPTestCaseSupported today, so this
380+
// branch is only reachable once a new kind of test case is added. Failing here
381+
// rather than silently applying no advice settings keeps that mistake loud: a
382+
// test case whose settings were never written would run unguarded.
383+
default -> throw new IllegalStateException(
384+
"Ares Security Error (Reason: Ares-Code; Stage: Execution): No advice settings are defined for the security test case "
385+
+ aopTestCaseSupported + ".");
379386
}
380387
}
381388
// </editor-fold>

src/main/java/de/tum/cit/ase/ares/api/aop/java/JavaAOPTestCaseSettings.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
* @version 2.0.0
1818
* @since 2.0.0
1919
*/
20-
public class JavaAOPTestCaseSettings {
20+
public final class JavaAOPTestCaseSettings {
2121

2222
/**
2323
* Lock object for synchronizing access to all security-related settings.

src/main/java/de/tum/cit/ase/ares/api/aop/java/instrumentation/JavaInstrumentationAgent.java

Lines changed: 31 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
* This class is the entry point for the Java instrumentation agent. It installs
2929
* the agent builder for the different types of file operations.
3030
*/
31-
public class JavaInstrumentationAgent {
31+
public final class JavaInstrumentationAgent {
3232

3333
private JavaInstrumentationAgent() {
3434
throw new SecurityException(JavaInstrumentationAdviceAbstractToolbox
@@ -56,48 +56,58 @@ public static void premain(String agentArgs, Instrumentation inst) {
5656
java.lang.StackWalker walker = java.lang.StackWalker.getInstance();
5757
walker.walk(stream -> stream.limit(1L).count());
5858

59-
installAgentBuilder(inst, unsafeFactory, JavaInstrumentationPointcutDefinitions.methodsWhichCanReadFiles,
59+
installAgentBuilder(inst, unsafeFactory, JavaInstrumentationPointcutDefinitions.METHODS_WHICH_CAN_READ_FILES,
6060
JavaInstrumentationBindingDefinitions::createReadPathMethodBinding);
61-
installAgentBuilder(inst, unsafeFactory, JavaInstrumentationPointcutDefinitions.methodsWhichCanOverwriteFiles,
61+
installAgentBuilder(inst, unsafeFactory,
62+
JavaInstrumentationPointcutDefinitions.METHODS_WHICH_CAN_OVERWRITE_FILES,
6263
JavaInstrumentationBindingDefinitions::createOverwritePathMethodBinding);
63-
installAgentBuilder(inst, unsafeFactory, JavaInstrumentationPointcutDefinitions.methodsWhichCanCreateFiles,
64+
installAgentBuilder(inst, unsafeFactory, JavaInstrumentationPointcutDefinitions.METHODS_WHICH_CAN_CREATE_FILES,
6465
JavaInstrumentationBindingDefinitions::createCreatePathMethodBinding);
65-
installAgentBuilder(inst, unsafeFactory, JavaInstrumentationPointcutDefinitions.methodsWhichCanExecuteFiles,
66+
installAgentBuilder(inst, unsafeFactory, JavaInstrumentationPointcutDefinitions.METHODS_WHICH_CAN_EXECUTE_FILES,
6667
JavaInstrumentationBindingDefinitions::createExecutePathMethodBinding);
67-
installAgentBuilder(inst, unsafeFactory, JavaInstrumentationPointcutDefinitions.methodsWhichCanDeleteFiles,
68+
installAgentBuilder(inst, unsafeFactory, JavaInstrumentationPointcutDefinitions.METHODS_WHICH_CAN_DELETE_FILES,
6869
JavaInstrumentationBindingDefinitions::createDeletePathMethodBinding);
69-
installAgentBuilder(inst, unsafeFactory, JavaInstrumentationPointcutDefinitions.methodsWhichCanCreateThreads,
70+
installAgentBuilder(inst, unsafeFactory,
71+
JavaInstrumentationPointcutDefinitions.METHODS_WHICH_CAN_CREATE_THREADS,
7072
JavaInstrumentationBindingDefinitions::createCreateThreadMethodBinding);
71-
installAgentBuilder(inst, unsafeFactory, JavaInstrumentationPointcutDefinitions.methodsWhichCanExecuteCommands,
73+
installAgentBuilder(inst, unsafeFactory,
74+
JavaInstrumentationPointcutDefinitions.METHODS_WHICH_CAN_EXECUTE_COMMANDS,
7275
JavaInstrumentationBindingDefinitions::createExecuteCommandMethodBinding);
73-
installAgentBuilder(inst, unsafeFactory, JavaInstrumentationPointcutDefinitions.methodsWhichCanConnectToNetwork,
76+
installAgentBuilder(inst, unsafeFactory,
77+
JavaInstrumentationPointcutDefinitions.METHODS_WHICH_CAN_CONNECT_TO_NETWORK,
7478
JavaInstrumentationBindingDefinitions::createConnectNetworkMethodBinding);
75-
installAgentBuilder(inst, unsafeFactory, JavaInstrumentationPointcutDefinitions.methodsWhichCanSendToNetwork,
79+
installAgentBuilder(inst, unsafeFactory,
80+
JavaInstrumentationPointcutDefinitions.METHODS_WHICH_CAN_SEND_TO_NETWORK,
7681
JavaInstrumentationBindingDefinitions::createSendNetworkMethodBinding);
7782
installAgentBuilder(inst, unsafeFactory,
78-
JavaInstrumentationPointcutDefinitions.methodsWhichCanReceiveFromNetwork,
83+
JavaInstrumentationPointcutDefinitions.METHODS_WHICH_CAN_RECEIVE_FROM_NETWORK,
7984
JavaInstrumentationBindingDefinitions::createReceiveNetworkMethodBinding);
8085

81-
installAgentBuilder(inst, unsafeFactory, JavaInstrumentationPointcutDefinitions.methodsWhichCanReadFiles,
86+
installAgentBuilder(inst, unsafeFactory, JavaInstrumentationPointcutDefinitions.METHODS_WHICH_CAN_READ_FILES,
8287
JavaInstrumentationBindingDefinitions::createReadPathConstructorBinding);
83-
installAgentBuilder(inst, unsafeFactory, JavaInstrumentationPointcutDefinitions.methodsWhichCanOverwriteFiles,
88+
installAgentBuilder(inst, unsafeFactory,
89+
JavaInstrumentationPointcutDefinitions.METHODS_WHICH_CAN_OVERWRITE_FILES,
8490
JavaInstrumentationBindingDefinitions::createOverwritePathConstructorBinding);
85-
installAgentBuilder(inst, unsafeFactory, JavaInstrumentationPointcutDefinitions.methodsWhichCanCreateFiles,
91+
installAgentBuilder(inst, unsafeFactory, JavaInstrumentationPointcutDefinitions.METHODS_WHICH_CAN_CREATE_FILES,
8692
JavaInstrumentationBindingDefinitions::createCreatePathConstructorBinding);
87-
installAgentBuilder(inst, unsafeFactory, JavaInstrumentationPointcutDefinitions.methodsWhichCanExecuteFiles,
93+
installAgentBuilder(inst, unsafeFactory, JavaInstrumentationPointcutDefinitions.METHODS_WHICH_CAN_EXECUTE_FILES,
8894
JavaInstrumentationBindingDefinitions::createExecutePathConstructorBinding);
89-
installAgentBuilder(inst, unsafeFactory, JavaInstrumentationPointcutDefinitions.methodsWhichCanDeleteFiles,
95+
installAgentBuilder(inst, unsafeFactory, JavaInstrumentationPointcutDefinitions.METHODS_WHICH_CAN_DELETE_FILES,
9096
JavaInstrumentationBindingDefinitions::createDeletePathConstructorBinding);
91-
installAgentBuilder(inst, unsafeFactory, JavaInstrumentationPointcutDefinitions.methodsWhichCanCreateThreads,
97+
installAgentBuilder(inst, unsafeFactory,
98+
JavaInstrumentationPointcutDefinitions.METHODS_WHICH_CAN_CREATE_THREADS,
9299
JavaInstrumentationBindingDefinitions::createCreateThreadConstructorBinding);
93-
installAgentBuilder(inst, unsafeFactory, JavaInstrumentationPointcutDefinitions.methodsWhichCanExecuteCommands,
100+
installAgentBuilder(inst, unsafeFactory,
101+
JavaInstrumentationPointcutDefinitions.METHODS_WHICH_CAN_EXECUTE_COMMANDS,
94102
JavaInstrumentationBindingDefinitions::createExecuteCommandConstructorBinding);
95-
installAgentBuilder(inst, unsafeFactory, JavaInstrumentationPointcutDefinitions.methodsWhichCanConnectToNetwork,
103+
installAgentBuilder(inst, unsafeFactory,
104+
JavaInstrumentationPointcutDefinitions.METHODS_WHICH_CAN_CONNECT_TO_NETWORK,
96105
JavaInstrumentationBindingDefinitions::createConnectNetworkConstructorBinding);
97-
installAgentBuilder(inst, unsafeFactory, JavaInstrumentationPointcutDefinitions.methodsWhichCanSendToNetwork,
106+
installAgentBuilder(inst, unsafeFactory,
107+
JavaInstrumentationPointcutDefinitions.METHODS_WHICH_CAN_SEND_TO_NETWORK,
98108
JavaInstrumentationBindingDefinitions::createSendNetworkConstructorBinding);
99109
installAgentBuilder(inst, unsafeFactory,
100-
JavaInstrumentationPointcutDefinitions.methodsWhichCanReceiveFromNetwork,
110+
JavaInstrumentationPointcutDefinitions.METHODS_WHICH_CAN_RECEIVE_FROM_NETWORK,
101111
JavaInstrumentationBindingDefinitions::createReceiveNetworkConstructorBinding);
102112
}
103113

src/main/java/de/tum/cit/ase/ares/api/aop/java/instrumentation/advice/JavaInstrumentationAdviceAbstractToolbox.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -333,9 +333,9 @@ static boolean isClassLoadingInProgress() {
333333
Iterator<StackWalker.StackFrame> iterator = frames.iterator();
334334
while (iterator.hasNext()) {
335335
String className = iterator.next().getClassName();
336-
if (className.startsWith("jdk.internal.loader.") || className.equals("java.lang.ClassLoader")
337-
|| className.equals("java.security.SecureClassLoader")
338-
|| className.equals("java.net.URLClassLoader")) {
336+
if (className.startsWith("jdk.internal.loader.") || "java.lang.ClassLoader".equals(className)
337+
|| "java.security.SecureClassLoader".equals(className)
338+
|| "java.net.URLClassLoader".equals(className)) {
339339
return Boolean.TRUE;
340340
}
341341
}
@@ -385,9 +385,9 @@ static boolean isProjectSourcesFinderInProgress() {
385385
* architecture test setup.
386386
*/
387387
private static boolean isTrustedSetupUtility(@Nonnull String className) {
388-
return className.equals("de.tum.cit.ase.ares.api.util.ProjectSourcesFinder")
389-
|| className.equals("de.tum.cit.ase.ares.api.structural.testutils.ClassNameScanner")
390-
|| className.equals("de.tum.cit.ase.ares.api.util.FileTools");
388+
return "de.tum.cit.ase.ares.api.util.ProjectSourcesFinder".equals(className)
389+
|| "de.tum.cit.ase.ares.api.structural.testutils.ClassNameScanner".equals(className)
390+
|| "de.tum.cit.ase.ares.api.util.FileTools".equals(className);
391391
}
392392
// </editor-fold>
393393

src/main/java/de/tum/cit/ase/ares/api/aop/java/instrumentation/advice/JavaInstrumentationAdviceCommandSystemToolbox.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -691,7 +691,7 @@ private static void checkCommandSystemInteractionImpl(@Nonnull String action, @N
691691
// <editor-fold desc="Get information from settings">
692692
@Nullable
693693
final String aopMode = getValueFromSettings("aopMode");
694-
if (aopMode == null || aopMode.isEmpty() || !aopMode.equals("INSTRUMENTATION")) {
694+
if (aopMode == null || aopMode.isEmpty() || !"INSTRUMENTATION".equals(aopMode)) {
695695
return;
696696
}
697697
@Nullable

0 commit comments

Comments
 (0)