Skip to content

Commit 75791c3

Browse files
authored
Add ValidationHelper class (#366)
* add validation helper * use stream
1 parent 898096f commit 75791c3

File tree

3 files changed

+29
-2
lines changed

3 files changed

+29
-2
lines changed

org-code-javabuilder/lib/src/main/java/org/code/javabuilder/ValidationRunner.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import java.lang.reflect.Method;
44
import java.net.URLClassLoader;
55
import java.util.List;
6+
import java.util.stream.Collectors;
67
import org.code.javabuilder.util.ProjectLoadUtils;
78
import org.code.protocol.*;
89
import org.code.validation.support.NeighborhoodTracker;
@@ -47,9 +48,15 @@ public boolean run(URLClassLoader urlClassLoader)
4748

4849
private void setUpForValidation(URLClassLoader urlClassLoader) throws UserInitiatedException {
4950
Method mainMethod = ProjectLoadUtils.findMainMethod(urlClassLoader, this.projectFiles);
51+
List<String> classNames =
52+
this.projectFiles
53+
.stream()
54+
.map(projectFile -> projectFile.getClassName())
55+
.collect(Collectors.toList());
5056
JavabuilderContext.getInstance()
5157
.register(
5258
ValidationProtocol.class,
53-
new ValidationProtocol(mainMethod, new NeighborhoodTracker(), new SystemOutTracker()));
59+
new ValidationProtocol(
60+
mainMethod, new NeighborhoodTracker(), new SystemOutTracker(), classNames));
5461
}
5562
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package org.code.validation;
2+
3+
import java.util.List;
4+
import org.code.protocol.JavabuilderContext;
5+
import org.code.validation.support.ValidationProtocol;
6+
7+
public class ValidationHelper {
8+
public static List<String> getClassNames() {
9+
ValidationProtocol protocolInstance =
10+
(ValidationProtocol) JavabuilderContext.getInstance().get(ValidationProtocol.class);
11+
return protocolInstance.getUserClassNames();
12+
}
13+
}

org-code-javabuilder/validation/src/main/java/org/code/validation/support/ValidationProtocol.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,17 @@ public class ValidationProtocol extends JavabuilderSharedObject {
1111
private final Method mainMethod;
1212
private final NeighborhoodTracker neighborhoodTracker;
1313
private final SystemOutTracker systemOutTracker;
14+
private final List<String> userClassNames;
1415

1516
public ValidationProtocol(
1617
Method mainMethod,
1718
NeighborhoodTracker neighborhoodTracker,
18-
SystemOutTracker systemOutTracker) {
19+
SystemOutTracker systemOutTracker,
20+
List<String> userClassNames) {
1921
this.mainMethod = mainMethod;
2022
this.neighborhoodTracker = neighborhoodTracker;
2123
this.systemOutTracker = systemOutTracker;
24+
this.userClassNames = userClassNames;
2225
}
2326

2427
public NeighborhoodLog getNeighborhoodLog() {
@@ -54,4 +57,8 @@ public void invokeMainMethod() {
5457
throw new ValidationRuntimeException(ExceptionKey.ERROR_RUNNING_MAIN, cause);
5558
}
5659
}
60+
61+
public List<String> getUserClassNames() {
62+
return this.userClassNames;
63+
}
5764
}

0 commit comments

Comments
 (0)