package org.webpieces.router.impl.ctx; import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.Set; import org.webpieces.ctx.api.FlashSub; import org.webpieces.router.impl.params.ObjectTranslator; public class FlashImpl extends FlashScopeImpl implements FlashSub { public static String COOKIE_NAME = CookieScopeImpl.COOKIE_NAME_PREFIX+"Flash"; public FlashImpl(ObjectTranslator objectTranslator) { super(objectTranslator); } public void saveFormParams(Map<String, List<String>> fields, Set<String> secureFieldNames) { for(Entry<String, List<String>> entry : fields.entrySet()) { String key = entry.getKey(); if(!secureFieldNames.contains(key)) { List<String> value = entry.getValue(); if(value.size() == 1) put(key, value.get(0)); else put(key, form(value)); } } } private String form(List<String> values) { String result = ""; String seperator = ""; for(String val : values) { result += seperator + val; if(seperator.equals("")) seperator = ","; } return result; } @Override public String getName() { return COOKIE_NAME; } public boolean hasMessage() { return containsKey("_message"); } public void setMessage(String msg) { put("_message", msg); } public String getMessage() { return get("_message"); } @Override public String getError() { return get("_error"); } @Override public void setError(String msg) { put("_error", msg); } @Override public void setShowEditPopup(boolean b) { put("_showEditPopup", b+""); } @Override public boolean isShowEditPopup() { String str = get("_showEditPopup"); if(str == null) return false; return Boolean.parseBoolean(str); } }