package org.molgenis.matrix.ui.manager;
import java.io.PrintWriter;
import org.molgenis.util.Tuple;
public class RequestHandler
{
public static void handle(MatrixManagerModel screenModel, Tuple request, PrintWriter out) throws Exception
{
String action = request.getString("__action");
if (action.equals("download_visible"))
{
throw new UnsupportedOperationException("Download visible to csv not supported");
// screenModel.getBrowser().getModel().getSubMatrix().writeToCsvWriter(out);
// FIXME: close 'out'?
}
else if (action.equals("download_all"))
{
throw new UnsupportedOperationException("Download all to csv not supported");
// screenModel.getBrowser().getModel().getInstance().writeToCsvWriter(out);
// FIXME: close 'out'?
}
else if (action.equals("refresh"))
{
// screenModel.setSelectedData(null);
}
else if (action.equals("changeSubmatrixSize"))
{
screenModel.getBrowser().update();
}
else if (action.startsWith("filter"))
{
screenModel.getBrowser().applyFilters(request);
// TODO: Save filters in screenModel !!
}
else if (action.equals("moveRight"))
{
screenModel.getBrowser().moveRight();
}
else if (action.equals("moveLeft"))
{
screenModel.getBrowser().moveLeft();
}
else if (action.equals("moveDown"))
{
screenModel.getBrowser().moveDown();
}
else if (action.equals("moveUp"))
{
screenModel.getBrowser().moveUp();
}
else if (action.equals("moveFarRight"))
{
screenModel.getBrowser().moveFarRight();
}
else if (action.equals("moveFarLeft"))
{
screenModel.getBrowser().moveFarLeft();
}
else if (action.equals("moveFarDown"))
{
screenModel.getBrowser().moveFarDown();
}
else if (action.equals("moveFarUp"))
{
screenModel.getBrowser().moveFarUp();
}
else
{
throw new Exception("Action '" + action + "' unknown.");
}
}
}