From b5222873ca728776014cedf94b34458c5ed49b45 Mon Sep 17 00:00:00 2001
From: Adam Knapp <knappadam5@gmail.com>
Date: Wed, 23 Dec 2020 15:19:25 +0100
Subject: [PATCH] createDir moved to titan.common

Signed-off-by: Adam Knapp <knappadam5@gmail.com>
---
 .../eclipse/titan/common/utils/FileUtils.java | 20 +++++++++++
 .../compiler/ProjectSourceCompiler.java       | 33 ++++---------------
 .../wizards/NewTITANJavaProjectWizard.java    |  3 +-
 3 files changed, 29 insertions(+), 27 deletions(-)

diff --git a/org.eclipse.titan.common/src/org/eclipse/titan/common/utils/FileUtils.java b/org.eclipse.titan.common/src/org/eclipse/titan/common/utils/FileUtils.java
index 4bf810dc9b..195dfc2aa7 100644
--- a/org.eclipse.titan.common/src/org/eclipse/titan/common/utils/FileUtils.java
+++ b/org.eclipse.titan.common/src/org/eclipse/titan/common/utils/FileUtils.java
@@ -10,6 +10,10 @@ package org.eclipse.titan.common.utils;
 import java.io.File;
 import java.io.IOException;
 
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.NullProgressMonitor;
 import org.eclipse.titan.common.logging.ErrorReporter;
 
 public final class FileUtils {
@@ -46,4 +50,20 @@ public final class FileUtils {
 	private static boolean deleteIfExists(final File file) {
 		return file.exists() && !file.delete();
 	}
+	
+	/**
+	 * RECURSIVE
+	 * Creates full directory path
+	 * @param aFolder directory to create
+	 * @throws CoreException
+	 */
+	public static void createDir( final IFolder aFolder ) throws CoreException {
+		if (!aFolder.exists()) {
+			final IContainer parent = aFolder.getParent();
+			if (parent instanceof IFolder) {
+				createDir( (IFolder) parent );
+			}
+			aFolder.create( true, true, new NullProgressMonitor() );
+		}
+	}
 }
diff --git a/org.eclipse.titan.designer/src/org/eclipse/titan/designer/compiler/ProjectSourceCompiler.java b/org.eclipse.titan.designer/src/org/eclipse/titan/designer/compiler/ProjectSourceCompiler.java
index 34b2ecc200..0a5c4f4ec5 100644
--- a/org.eclipse.titan.designer/src/org/eclipse/titan/designer/compiler/ProjectSourceCompiler.java
+++ b/org.eclipse.titan.designer/src/org/eclipse/titan/designer/compiler/ProjectSourceCompiler.java
@@ -16,14 +16,13 @@ import java.net.UnknownHostException;
 import java.text.MessageFormat;
 import java.util.Set;
 
-import org.eclipse.core.resources.IContainer;
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.IFolder;
 import org.eclipse.core.resources.IMarker;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.IResource;
 import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.titan.common.utils.FileUtils;
 import org.eclipse.titan.designer.GeneralConstants;
 import org.eclipse.titan.designer.AST.MarkerHandler;
 import org.eclipse.titan.designer.AST.Module;
@@ -75,7 +74,7 @@ public final class ProjectSourceCompiler {
 
 	public static void generateSourceFolder(final IProject project) throws CoreException {
 		final IFolder folder = project.getFolder( getGeneratedRoot(project) );
-		createDir( folder );
+		FileUtils.createDir( folder );
 	}
 
 	/**
@@ -137,7 +136,7 @@ public final class ProjectSourceCompiler {
 		
 		final IFolder folder = project.getFolder( getGeneratedRoot(project) );
 		final IFile file = folder.getFile( aModule.getName() + ".java");
-		createDir( folder );
+		FileUtils.createDir( folder );
 
 		//write to file if changed
 		final String content = sourceCode.toString();
@@ -165,7 +164,7 @@ public final class ProjectSourceCompiler {
 	public static void generateGeneratedPackageInfo(final IProject project) throws CoreException {
 		final IFolder folder = project.getFolder( getGeneratedRoot(project) );
 		final IFile file = folder.getFile( "package-info.java");
-		createDir( folder );
+		FileUtils.createDir( folder );
 
 		final StringBuilder contentBuilder = new StringBuilder();
 
@@ -214,7 +213,7 @@ public final class ProjectSourceCompiler {
 	public static void generateUserProvidedPackageInfo(final IProject project) throws CoreException {
 		final IFolder folder = project.getFolder( getUserProvidedRoot(project) );
 		final IFile file = folder.getFile( "package-info.java");
-		createDir( folder );
+		FileUtils.createDir( folder );
 
 		final StringBuilder contentBuilder = new StringBuilder();
 
@@ -264,7 +263,7 @@ public final class ProjectSourceCompiler {
 	public static void generateSingleMain(final IProject project, final Set<String> knownModuleNames) throws CoreException {
 		final IFolder folder = project.getFolder( getGeneratedRoot(project) );
 		final IFile file = folder.getFile( "Single_main.java");
-		createDir( folder );
+		FileUtils.createDir( folder );
 
 		final StringBuilder contentBuilder = new StringBuilder();
 
@@ -337,7 +336,7 @@ public final class ProjectSourceCompiler {
 	public static void generateParallelMain(final IProject project, final Set<String> knownModuleNames) throws CoreException {
 		final IFolder folder = project.getFolder( getGeneratedRoot(project) );
 		final IFile file = folder.getFile( "Parallel_main.java");
-		createDir( folder );
+		FileUtils.createDir( folder );
 
 		final StringBuilder contentBuilder = new StringBuilder();
 
@@ -431,24 +430,6 @@ public final class ProjectSourceCompiler {
 		return result;
 	}
 
-
-	//TODO: move it into titan.common
-	/**
-	 * RECURSIVE
-	 * Creates full directory path
-	 * @param aFolder directory to create
-	 * @throws CoreException
-	 */
-	public static void createDir( final IFolder aFolder ) throws CoreException {
-		if (!aFolder.exists()) {
-			final IContainer parent = aFolder.getParent();
-			if (parent instanceof IFolder) {
-				createDir( (IFolder) parent );
-			}
-			aFolder.create( true, true, new NullProgressMonitor() );
-		}
-	}
-
 	/**
 	 * Builds header part of the java source file.
 	 * <ul>
diff --git a/org.eclipse.titan.designer/src/org/eclipse/titan/designer/wizards/NewTITANJavaProjectWizard.java b/org.eclipse.titan.designer/src/org/eclipse/titan/designer/wizards/NewTITANJavaProjectWizard.java
index 9e04dc0ff8..b9048c254a 100644
--- a/org.eclipse.titan.designer/src/org/eclipse/titan/designer/wizards/NewTITANJavaProjectWizard.java
+++ b/org.eclipse.titan.designer/src/org/eclipse/titan/designer/wizards/NewTITANJavaProjectWizard.java
@@ -37,6 +37,7 @@ import org.eclipse.jdt.core.IJavaProject;
 import org.eclipse.jdt.core.JavaCore;
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.titan.common.logging.ErrorReporter;
+import org.eclipse.titan.common.utils.FileUtils;
 import org.eclipse.titan.designer.Activator;
 import org.eclipse.titan.designer.compiler.ProjectSourceCompiler;
 import org.eclipse.titan.designer.core.TITANNature;
@@ -264,7 +265,7 @@ public class NewTITANJavaProjectWizard extends BasicNewResourceWizard implements
 	
 	private void createUserProvidedPackageFolder() throws CoreException {
 		final IFolder folder = newProject.getFolder(getUserProvidedRoot(newProject));
-		ProjectSourceCompiler.createDir(folder);
+		FileUtils.createDir(folder);
 	}
 
 	@Override
-- 
GitLab