using System;
using System.Collections;
using ThoughtWorks.CruiseControl.Core;
using ThoughtWorks.CruiseControl.Core.Sourcecontrol;
using ThoughtWorks.CruiseControl.Core.Sourcecontrol.Perforce;
using ThoughtWorks.CruiseControl.Core.Tasks;
using ThoughtWorks.CruiseControl.WebDashboard.MVC;
using ThoughtWorks.CruiseControl.WebDashboard.MVC.View;
namespace ThoughtWorks.CruiseControl.WebDashboard.Plugins.AddProject{
// public class AddProjectViewBuilder
// {
// private readonly Type[] SourceControlTypesAvailable = new Type[] { typeof(P4), typeof(Cvs), typeof(FileSourceControl)};
// private readonly Type[] BuilderTypesAvailable = new Type[] { typeof(NAntBuilder), typeof(CommandLineBuilder)};
//
// private readonly IVelocityViewGenerator velocityViewGenerator;
//
// public AddProjectViewBuilder(IVelocityViewGenerator velocityViewGenerator)
// {
// this.velocityViewGenerator = velocityViewGenerator;
// }
//
// public IView BuildView(AddEditProjectModel model)
// {
// Hashtable velocityContext = new Hashtable();
// velocityContext["model"] = model;
// velocityContext["MergeFiles"] = GetMergeFiles(model.Project);
// velocityContext["SourceControlTypes"] = GetPickableTypes(SourceControlTypesAvailable, model.Project.SourceControl);
// velocityContext["SourceControlDetails"] = GetChildView(model.Project.SourceControl).HtmlFragment;
// velocityContext["BuilderTypes"] = GetPickableTypes(BuilderTypesAvailable, model.Project.Builder);
// velocityContext["BuilderDetails"] = GetChildView(model.Project.Builder).HtmlFragment;
//
// return velocityViewGenerator.GenerateView("AddProject.vm", velocityContext);
// }
//
// private string GetMergeFiles(Project project)
// {
// string mergefiles = "";
// foreach (ITask task in project.Tasks)
// {
// if (task is MergeFilesTask)
// {
// mergefiles = ((MergeFilesTask) task).MergeFilesForPresentation;
// }
// }
// return mergefiles;
// }
//
// private IList GetPickableTypes(Type[] availableTypes, object currentSelection)
// {
// ArrayList types = new ArrayList();
// foreach(Type type in availableTypes)
// {
// NameAndSelected nameAndSelected = new NameAndSelected(type.Name);
// if (currentSelection.GetType() == type)
// {
// nameAndSelected.Selected = true;
// }
// types.Add(nameAndSelected);
// }
// return types;
// }
//
// private IView GetChildView(object child)
// {
// Hashtable context = new Hashtable();
// context["model"] = child;
// return velocityViewGenerator.GenerateView(string.Format("EditProject{0}.vm", child.GetType().Name), context);
// }
// }
}
|