Commit 851cdc51 authored by stancakapost's avatar stancakapost
Browse files

- copies also .xsd .xml files to outputFolder

- output processed file names
parent 1cccaced
Loading
Loading
Loading
Loading
+32 −3
Original line number Original line Diff line number Diff line
@@ -7,7 +7,9 @@ import java.io.FileOutputStream;
import java.io.IOException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.OutputStreamWriter;
import java.nio.channels.FileChannel;
import java.util.ArrayList;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Properties;
import java.util.Properties;


public class TestMacroProcessor {
public class TestMacroProcessor {
@@ -32,16 +34,43 @@ public class TestMacroProcessor {
	public void run(File inputPath, File outputPath) throws IOException {
	public void run(File inputPath, File outputPath) throws IOException {
		ArrayList<File> files = new ArrayList<File>();
		ArrayList<File> files = new ArrayList<File>();
		visitAllFiles(inputPath, files, ".ttcn_");
		visitAllFiles(inputPath, files, ".ttcn_");
		visitAllFiles(inputPath, files, ".xsd");
		visitAllFiles(inputPath, files, ".xml");
		Collections.sort(files);
		
		
		for (File inputFile : files) {
		for (File inputFile : files) {
			runForFile(inputFile, inputPath, outputPath);
			runForFile(inputFile, inputPath, outputPath);
		}
		}
		System.out.println("Processed "+files.size()+" file(s) and stored to folder\n"+outputPath);
	}
	}


	public void runForFile(File inputFile, File inputPath, File outputPath) throws IOException {
	public void runForFile(File inputFile, File inputPath, File outputPath) throws IOException {
		try {
			File targetFile = computeTargetFileName(inputFile, inputPath, outputPath);
			File targetFile = computeTargetFileName(inputFile, inputPath, outputPath);
			targetFile.getParentFile().mkdirs();
			targetFile.getParentFile().mkdirs();
			if (inputFile.getName().endsWith(".ttcn_")) {
				replaceInFile(inputFile, targetFile);
				replaceInFile(inputFile, targetFile);
			} else {
				copyFile(inputFile, targetFile);
			}
		} finally {
			System.out.println("Processed file: "+inputFile);
		}
	}

	public static void copyFile(File in, File out) throws IOException {
		FileChannel inChannel = new FileInputStream(in).getChannel();
		FileChannel outChannel = new FileOutputStream(out).getChannel();
		try {
			inChannel.transferTo(0, inChannel.size(), outChannel);
		} catch (IOException e) {
			throw e;
		} finally {
			if (inChannel != null)
				inChannel.close();
			if (outChannel != null)
				outChannel.close();
		}
	}
	}


	/**
	/**