package org.molgenis.omx.plugins;
import org.molgenis.framework.db.Database;
import org.molgenis.framework.ui.PluginModel;
import org.molgenis.framework.ui.ScreenController;
import org.molgenis.util.Entity;
import org.molgenis.util.Tuple;
/**
* Import wizard controller
*/
public class ImportWizardController extends PluginModel<Entity>
{
private static final long serialVersionUID = 6673296137881226020L;
private ImportWizard importWizard;
public ImportWizardController(String name, ScreenController<?> parent)
{
super(name, parent);
importWizard = new ImportWizard();
}
public ImportWizard getWizard()
{
return importWizard;
}
@Override
public String getViewName()
{
return ImportWizard.class.getSimpleName();
}
@Override
public String getViewTemplate()
{
return ImportWizard.class.getName().replace('.', '/') + ".ftl";
}
@Override
public String getCustomHtmlHeaders()
{
StringBuilder s = new StringBuilder();
s.append("<link rel=\"stylesheet\" href=\"bootstrap/css/bootstrap.min.css\" type=\"text/css\" />");
s.append("<link rel=\"stylesheet\" href=\"bootstrap/css/bwizard.min.css\" type=\"text/css\" />");
s.append("<script type=\"text/javascript\" src=\"bootstrap/js/bootstrap.min.js\"></script>");
s.append("<script type=\"text/javascript\" src=\"bootstrap/js/bwizard.min.js\"></script>");
return s.toString();
}
public void handleRequest(Database db, Tuple request)
{
String action = request.getString("__action");
if (action == null) return;
importWizard.setErrorMessage(null);
importWizard.setValidationMessage(null);
importWizard.setSuccessMessage(null);
if (action.equals("next"))
{
importWizard.getCurrentPage().handleRequest(db, request);
if (importWizard.getErrorMessage() == null)
{
importWizard.next();
}
}
else if (action.equals("previous"))
{
importWizard.previous();
}
else if (action.equals("finish") || action.equals("cancel"))
{
importWizard = new ImportWizard();
}
}
@Override
public void reload(Database db)
{
}
}