/**
* The contents of this file are subject to the Mozilla Public License
* Version 1.1 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
* License for the specific language governing rights and limitations under
* the License.
*
* The Original Code is OpenELIS code.
*
* Copyright (C) The Minnesota Department of Health. All Rights Reserved.
*/
package us.mn.state.health.lims.result.valueholder;
import javax.servlet.http.HttpSession;
import us.mn.state.health.lims.common.action.IActionConstants;
/**
* @author benzd1
* bugzilla 2053
*/
public class ResultsEntryRoutingSwitchSessionHandler implements IActionConstants {
public static void switchOn(int routingSwitch, HttpSession session) {
ResultsEntryRoutingSwitch resultsEntryRoutingSwitch = null;
if (session.getAttribute(RESULTS_ENTRY_ROUTING_SWITCH) != null) {
resultsEntryRoutingSwitch = (ResultsEntryRoutingSwitch)session.getAttribute(RESULTS_ENTRY_ROUTING_SWITCH);
} else {
resultsEntryRoutingSwitch = new ResultsEntryRoutingSwitch();
}
switch (routingSwitch) {
case RESULTS_ENTRY_ROUTING_FROM_BATCH_RESULTS_VERIFICATION:
resultsEntryRoutingSwitch.setBatchResultsVerificationSwitch(true);
resultsEntryRoutingSwitch.setQaEntryEntrySwitch(false);
//bugzilla 2504
resultsEntryRoutingSwitch.setQaEntryEntryLineListingSwitch(false);
break;
case RESULTS_ENTRY_ROUTING_FROM_QAEVENTS_ENTRY:
resultsEntryRoutingSwitch.setBatchResultsVerificationSwitch(false);
resultsEntryRoutingSwitch.setQaEntryEntrySwitch(true);
resultsEntryRoutingSwitch.setQaEntryEntryLineListingSwitch(false);
break;
case RESULTS_ENTRY_ROUTING_FROM_QAEVENTS_ENTRY_LINELISTING:
resultsEntryRoutingSwitch.setBatchResultsVerificationSwitch(false);
resultsEntryRoutingSwitch.setQaEntryEntrySwitch(false);
resultsEntryRoutingSwitch.setQaEntryEntryLineListingSwitch(true);
break;
default: //System.out.println("An error occurred with QaEventRoutingSwitchSessionHandler switchOn(" + routingSwitch + ")");
}
session.setAttribute(RESULTS_ENTRY_ROUTING_SWITCH, resultsEntryRoutingSwitch);
}
public static void switchOff(int routingSwitch, HttpSession session) {
ResultsEntryRoutingSwitch resultsEntryRoutingSwitch = null;
if (session.getAttribute(RESULTS_ENTRY_ROUTING_SWITCH) != null) {
resultsEntryRoutingSwitch = (ResultsEntryRoutingSwitch)session.getAttribute(RESULTS_ENTRY_ROUTING_SWITCH);
} else {
resultsEntryRoutingSwitch = new ResultsEntryRoutingSwitch();
}
switch (routingSwitch) {
case RESULTS_ENTRY_ROUTING_FROM_BATCH_RESULTS_VERIFICATION:
resultsEntryRoutingSwitch.setBatchResultsVerificationSwitch(false);
//also remove session attributes
session.setAttribute(RESULTS_ENTRY_ROUTING_FROM_BATCH_RESULTS_VERIFICATION_PARAM_ACCESSION_NUMBER, null);
session.setAttribute(RESULTS_ENTRY_ROUTING_FROM_BATCH_RESULTS_VERIFICATION_PARAM_TEST_ID, null);
session.setAttribute(RESULTS_ENTRY_ROUTING_FROM_BATCH_RESULTS_VERIFICATION_PARAM_TEST_SECTION_ID, null);
break;
case RESULTS_ENTRY_ROUTING_FROM_QAEVENTS_ENTRY:
resultsEntryRoutingSwitch.setQaEntryEntrySwitch(false);
break;
case RESULTS_ENTRY_ROUTING_FROM_QAEVENTS_ENTRY_LINELISTING:
resultsEntryRoutingSwitch.setQaEntryEntryLineListingSwitch(false);
break;
default: //System.out.println("An error occurred with QaEventRoutingSwitchSessionHandler switchOff(" + routingSwitch + ")");
}
session.setAttribute(RESULTS_ENTRY_ROUTING_SWITCH, resultsEntryRoutingSwitch);
}
public static void switchAllOff(HttpSession session) {
ResultsEntryRoutingSwitch resultsEntryRoutingSwitch = null;
if (session.getAttribute(RESULTS_ENTRY_ROUTING_SWITCH) != null) {
resultsEntryRoutingSwitch = (ResultsEntryRoutingSwitch)session.getAttribute(RESULTS_ENTRY_ROUTING_SWITCH);
} else {
resultsEntryRoutingSwitch = new ResultsEntryRoutingSwitch();
}
resultsEntryRoutingSwitch.setBatchResultsVerificationSwitch(false);
resultsEntryRoutingSwitch.setQaEntryEntrySwitch(false);
resultsEntryRoutingSwitch.setQaEntryEntryLineListingSwitch(false);
session.setAttribute(RESULTS_ENTRY_ROUTING_SWITCH, resultsEntryRoutingSwitch);
}
public static boolean isSwitchOn(int routingSwitch, HttpSession session){
ResultsEntryRoutingSwitch resultsEntryRoutingSwitch = null;
if (session.getAttribute(RESULTS_ENTRY_ROUTING_SWITCH) != null) {
resultsEntryRoutingSwitch = (ResultsEntryRoutingSwitch)session.getAttribute(RESULTS_ENTRY_ROUTING_SWITCH);
} else {
return false;
}
switch (routingSwitch) {
case RESULTS_ENTRY_ROUTING_FROM_BATCH_RESULTS_VERIFICATION:
if (resultsEntryRoutingSwitch.isBatchResultsVerificationSwitch()) return true;
else return false;
case RESULTS_ENTRY_ROUTING_FROM_QAEVENTS_ENTRY:
if (resultsEntryRoutingSwitch.isQaEntryEntrySwitch()) return true;
else return false;
case RESULTS_ENTRY_ROUTING_FROM_QAEVENTS_ENTRY_LINELISTING:
if (resultsEntryRoutingSwitch.isQaEntryEntryLineListingSwitch()) return true;
else return false;
default: //System.out.println("An error occurred with QaEventRoutingSwitchSessionHandler isSwitchOn(" + routingSwitch + ")");
return false;
}
}
}