1 package org.tigris.scarab.actions; 2 3 48 49 import org.apache.fulcrum.security.entity.User; 50 51 import org.apache.turbine.TemplateContext; 52 import org.apache.turbine.RunData; 53 import org.apache.turbine.modules.actions.TemplateSessionValidator; 54 55 import org.tigris.scarab.util.Log; 56 import org.tigris.scarab.util.ScarabConstants; 57 import org.tigris.scarab.tools.ScarabRequestTool; 58 import org.tigris.scarab.tools.ScarabLocalizationTool; 59 import org.tigris.scarab.tools.localization.L10NKeySet; 60 import org.tigris.scarab.tools.localization.L10NMessage; 61 import org.tigris.scarab.tools.localization.LocalizationKey; 62 63 69 public class ScarabSessionValidator extends TemplateSessionValidator 70 { 71 protected void processCounter(RunData data) 72 { 73 int userCounter = Integer.MAX_VALUE; 74 User user = data.getUser(); 75 if (user != null) 76 { 77 Integer i = (Integer ) user.getTemp(COUNTER); 78 if (i != null) 79 { 80 userCounter = i.intValue() - 1; 81 } 82 } 83 84 TemplateContext context = getTemplateContext(data); 85 ScarabLocalizationTool l10n = 86 (ScarabLocalizationTool) context.get(ScarabConstants.LOCALIZATION_TOOL); 87 88 LocalizationKey l10nKey = null; 89 90 if (null == user) 91 { 92 Log.get().warn("User object was null in session validator"); 93 l10nKey = L10NKeySet.LostSessionStateError; 94 } 95 else if (userCounter == Integer.MAX_VALUE) 96 { 97 Log.get().debug("Could not determine " + COUNTER + 98 ". This normally occurs during a session timeout."); 99 l10nKey = L10NKeySet.LostSessionStateError; 100 } 101 else if (data.getParameters().getInt(COUNTER) < userCounter) 102 { 103 l10nKey = L10NKeySet.ResubmitError; 104 } 105 106 if (l10nKey != null) 107 { 108 109 L10NMessage l10nMessage = new L10NMessage(l10nKey); 110 String msg = l10nMessage.getMessage(l10n); 111 ((ScarabRequestTool)context.get(ScarabConstants.SCARAB_REQUEST_TOOL)) 112 .setAlertMessage( msg ); 113 114 data.setAction(""); 115 setTarget(data, data.getParameters() 116 .getString(ScarabConstants.CANCEL_TEMPLATE, null)); 117 118 } 119 } 120 } 121 | Popular Tags |