CIB JCoMod technical documentation (EN)

5. Quick start

5.14. JCoMod Wrapper example for CIB runshell: Calling the native CIB runshell from JAVA for a CIB merge mixing run

package de.cib.sample.comod;
import de.cib.comod.RunshellProcess;
import java.io.File;
import java.io.IOException;

boolean doMergeRunshellProcess() {

		// neuen Runshell-Prozess starten
		String t_Workspace = new String("\home\user\");
		// cibrshux ist die CIB runshell unter Linux/Unix
		RunshellProcess runshell = new RunshellProcess("./bin/cibrshux");
		runshell.addArgument(RunshellProcess.COMMAND_MERGE+"a./templates");
		runshell.addArgument(RunshellProcess.COMMAND_MERGE+"q./Data");
		runshell.addArgument(RunshellProcess.COMMAND_MERGE+"'l!merge.log'");
		runshell.addArgument(RunshellProcess.COMMAND_MERGE+"iTest.rtf");
		runshell.addArgument(RunshellProcess.COMMAND_MERGE +"'o!output.rtf'");
		runshell.addArgument(RunshellProcess.COMMAND_MERGE+"s");
		runshell.addArgument(RunshellProcess.COMMAND_MERGE+"-old-compare");
		runshell.addArgument(RunshellProcess.COMMAND_MERGE+"dTest.csv");
		runshell.addArgument(RunshellProcess.COMMAND_MERGE+"@1");
		try
		{
			// Pfad zu den Libraries angeben und Prozess starten
			runshell.executeAndWait(new File(t_Workspace));
		}
		catch(IOException io)
		{
			System.out.println("Beim Mischen mit CIB merge "+
			"ist eine Exception aufgetreten.");
			return false;
		}
		catch(InterruptedException inter)
		{
			System.out.println("Beim Mischen mit CIB merge "+
			"ist eine Exception aufgetreten.");
			return false;
		}
	// Fehlerbehandlung der CIB runshell
	int error = cibRunShell.getExitCode();
	if (error != 0) {
		System.out.println("CIB merge-Fehler: " + error + 
		"bei der Ausführung von " + cibRunShell.getCommandLine() + 
		";");
		return false;
	}
	return true;
}