tabular-data-expression-widget/src/main/java/org/gcube/portlets/user/td/expressionwidget/server/ExpressionSession.java

105 lines
3.4 KiB
Java

/**
*
*/
package org.gcube.portlets.user.td.expressionwidget.server;
import javax.servlet.http.HttpSession;
import org.gcube.data.analysis.tabulardata.service.operation.Task;
import org.gcube.portlets.user.td.gwtservice.shared.tr.column.FilterColumnSession;
import org.gcube.portlets.user.td.gwtservice.shared.tr.column.ReplaceColumnByExpressionSession;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
*
* @author "Giancarlo Panichi" <a
* href="mailto:g.panichi@isti.cnr.it">g.panichi@isti.cnr.it</a>
*
*/
public class ExpressionSession {
protected static final String COLUMN_FILTER_SESSION = "COLUMN_FILTER_SESSION";
protected static final String COLUMN_FILTER_SESSION_TASK = "COLUMN_FILTER_SESSION_TASK";
protected static final String REPLACE_COLUMN_BY_EXPRESSION_SESSION = "REPLACE_COLUMN_BY_EXPRESSION_SESSION";
protected static Logger logger = LoggerFactory.getLogger(ExpressionSession.class);
public static FilterColumnSession getColumnFilterSession(
HttpSession httpSession) {
FilterColumnSession columnFilterSession = (FilterColumnSession) httpSession
.getAttribute(COLUMN_FILTER_SESSION);
if (columnFilterSession != null) {
return columnFilterSession;
} else {
columnFilterSession = new FilterColumnSession();
httpSession.setAttribute(COLUMN_FILTER_SESSION,
columnFilterSession);
return columnFilterSession;
}
}
public static void setColumnFilterSession(HttpSession httpSession,
FilterColumnSession columnFilterSession) {
FilterColumnSession cf = (FilterColumnSession) httpSession
.getAttribute(COLUMN_FILTER_SESSION);
if (cf != null) {
httpSession.removeAttribute(COLUMN_FILTER_SESSION);
}
httpSession.setAttribute(COLUMN_FILTER_SESSION,
columnFilterSession);
}
public static ReplaceColumnByExpressionSession getReplaceColumnByExpressionSession(
HttpSession httpSession) {
ReplaceColumnByExpressionSession replaceColumnByExpressionSession = (ReplaceColumnByExpressionSession) httpSession
.getAttribute(REPLACE_COLUMN_BY_EXPRESSION_SESSION);
if (replaceColumnByExpressionSession != null) {
return replaceColumnByExpressionSession;
} else {
replaceColumnByExpressionSession = new ReplaceColumnByExpressionSession();
httpSession.setAttribute(REPLACE_COLUMN_BY_EXPRESSION_SESSION,
replaceColumnByExpressionSession);
return replaceColumnByExpressionSession;
}
}
public static void setReplaceColumnByExpressionSession(HttpSession httpSession,
ReplaceColumnByExpressionSession replaceColumnByExpressionSession) {
ReplaceColumnByExpressionSession rce = (ReplaceColumnByExpressionSession) httpSession
.getAttribute(REPLACE_COLUMN_BY_EXPRESSION_SESSION);
if (rce != null) {
httpSession.removeAttribute(REPLACE_COLUMN_BY_EXPRESSION_SESSION);
}
httpSession.setAttribute(REPLACE_COLUMN_BY_EXPRESSION_SESSION,
replaceColumnByExpressionSession);
}
public static Task getColumnFilterTask(HttpSession httpSession) {
Task monitor = (Task) httpSession.getAttribute(COLUMN_FILTER_SESSION_TASK);
if (monitor == null) {
logger.error("CHANGE_THE_COLUMN_LABEL_TASK was not acquired");
}
return monitor;
}
public static void setColumnFilterTask(HttpSession httpSession,
Task task) {
Task monitor = (Task) httpSession.getAttribute(COLUMN_FILTER_SESSION_TASK);
if (monitor != null)
httpSession.removeAttribute(COLUMN_FILTER_SESSION_TASK);
httpSession.setAttribute(COLUMN_FILTER_SESSION_TASK, task);
}
}