package Win32.win_cvs;

import com.urbancode.pagelet.*;
import java.io.*;
import java.util.*;
import com.urbancode.anthill.ProjectProperties;	// line 1
import com.urbancode.anthill.adapter.*;	// line 2
import com.urbancode.anthill.Anthill;	// line 3

public class getWorkingProject_pgl implements Template {



	public void service(Map context, Writer out) throws Throwable {

		PageletFactory pageletFactory = (PageletFactory) context.get(PageletFactory.PAGELET_FACTORY_CONTEXT_KEY);

		Anthill anthill = Anthill.getAnthill();
ProjectProperties pp = (ProjectProperties)context.get("Properties");
ProfileRepositoryAdapter ra = (ProfileRepositoryAdapter)context.get("Adapter");

String branchName = pp.getProperty(CVSRepositoryAdapter.BRANCH_KEY);
String module = pp.getProperty(CVSRepositoryAdapter.MODULE_KEY);
String cvsroot = pp.getProperty(CVSRepositoryAdapter.ROOT_KEY);

String workDirectory = anthill.getAnthillRootDir().getAbsolutePath() +
		       File.separator + pp.getProperty(CVSRepositoryAdapter.WORK_DIR_KEY);
String branchString = "";

String version = (String)context.get("Version");

if ((branchName != null) && (!branchName.equals(""))) {
	workDirectory+=File.separator + branchName;
}

File workFile = new File(workDirectory);
if (!workFile.exists()) {
	workFile.mkdirs();
}
workDirectory = workFile.getAbsolutePath();	// line 28
		out.write("cmd /x/c cd /d ");	// line 28
		out.write(String.valueOf(workDirectory));	// line 29
		out.write(" &&");	// line 29
		out.write("\n");	// line 29
		if ((branchName != null) && (!branchName.trim().equals(""))) {
    branchString+=" -r " + branchName.trim();
}
else {
    if ((version != null) && (!version.trim().equals(""))) {
        branchString+=" -r " + version.trim();
    } 
}	// line 40
		out.write("cvs -d ");	// line 40
		out.write(String.valueOf(cvsroot));	// line 41
		out.write(" checkout -A");	// line 41
		out.write(String.valueOf(branchString));	// line 41
		out.write(" ");	// line 41
		out.write(String.valueOf(module));	// line 41
		out.write(" ");	// line 41
		out.write("\n");	// line 41
	}
}