@@ -80,10 +80,10 @@ private ProcessArtifactResult<Void> processArtifacts(List<ProjectArtifact> proje
8080 ProjectArtifactType artifactType = projectArtifact .getArtifactType ();
8181 switch (artifactType ) {
8282 case SOURCE_CODE :
83- writeSourceCode (projectArtifact , projectPath );
83+ writeCode (projectArtifact , projectPath , false );
8484 break ;
8585 case TEST_CODE :
86- writeTestCode (projectArtifact , projectPath );
86+ writeCode (projectArtifact , projectPath , true );
8787 break ;
8888 case MAVEN_DEPENDENCIES :
8989 writeMavenDependencies (projectArtifact , projectPath , terminalMessage );
@@ -110,29 +110,24 @@ private ProcessArtifactResult<Void> processArtifacts(List<ProjectArtifact> proje
110110 return processArtifactResult ;
111111 }
112112
113- private void writeSourceCode (ProjectArtifact projectArtifact , Path projectPath ) throws IOException {
113+ private void writeCode (ProjectArtifact projectArtifact , Path projectPath , boolean isTest ) throws IOException {
114114 String packageName = this .calculatePackageForArtifact (projectArtifact );
115115 ClassNameExtractor classNameExtractor = new ClassNameExtractor ();
116116 Optional <String > className = classNameExtractor .extractClassName (projectArtifact .getText ());
117117 if (className .isPresent ()) {
118- Path output = createSourceFile (projectPath , packageName , className .get () + ".java" );
118+ Path output = createCodeFile (projectPath , packageName , className .get () + ".java" , isTest );
119119 try (Writer writer = new BufferedWriter (new FileWriter (output .toFile ()))) {
120120 writer .write (projectArtifact .getText ());
121121 }
122122 }
123123 }
124124
125- private void writeTestCode (ProjectArtifact projectArtifact , Path projectPath ) throws IOException {
126- // TODO parameterize better to reduce code duplication
127- String packageName = this .calculatePackageForArtifact (projectArtifact );
128- ClassNameExtractor classNameExtractor = new ClassNameExtractor ();
129- Optional <String > className = classNameExtractor .extractClassName (projectArtifact .getText ());
130- if (className .isPresent ()) {
131- Path output = createTestFile (projectPath , packageName , className .get () + ".java" );
132- try (Writer writer = new BufferedWriter (new FileWriter (output .toFile ()))) {
133- writer .write (projectArtifact .getText ());
134- }
135- }
125+ private Path createCodeFile (Path projectPath , String packageName , String fileName , boolean isTest )
126+ throws IOException {
127+ Path sourceFile = isTest ? resolveTestFile (projectPath , packageName , fileName )
128+ : resolveSourceFile (projectPath , packageName , fileName );
129+ createFile (sourceFile );
130+ return sourceFile ;
136131 }
137132
138133 private void writeMavenDependencies (ProjectArtifact projectArtifact , Path projectPath ,
@@ -276,18 +271,6 @@ private static String extractFilenameFromComment(String content) {
276271 return null ;
277272 }
278273
279- private Path createSourceFile (Path projectPath , String packageName , String fileName ) throws IOException {
280- Path sourceFile = resolveSourceFile (projectPath , packageName , fileName );
281- createFile (sourceFile );
282- return sourceFile ;
283- }
284-
285- private Path createTestFile (Path projectPath , String packageName , String fileName ) throws IOException {
286- Path sourceFile = resolveTestFile (projectPath , packageName , fileName );
287- createFile (sourceFile );
288- return sourceFile ;
289- }
290-
291274 public Path resolveSourceFile (Path projectPath , String packageName , String fileName ) {
292275 Path sourceDirectory = projectPath .resolve ("src" ).resolve ("main" ).resolve ("java" );
293276 return resolvePackage (sourceDirectory , packageName ).resolve (fileName );
0 commit comments