1 33 34 package com.icesoft.faces.utils; 35 36 import com.icesoft.faces.component.ext.HtmlPanelGroup; 37 import com.icesoft.faces.component.panelpositioned.PanelPositionedValue; 38 39 import javax.faces.context.FacesContext; 40 import java.util.HashMap ; 41 import java.util.List ; 42 import java.util.Map ; 43 44 48 public class DnDCache implements java.io.Serializable { 49 50 private static final String SESSION_KEY = "Icesoft_DnDCache_Key"; 51 52 53 private Map dragValues = new HashMap (); 54 private Map dropValues = new HashMap (); 55 private Map positionedPanelValues = new HashMap (); 56 57 private DnDCache() { 58 } 59 60 61 public static DnDCache getInstance(FacesContext context, boolean encoding) { 62 String viewId = context.getViewRoot().getViewId(); 63 Map map = context.getExternalContext().getSessionMap(); 64 DnDCache cache = (DnDCache) map.get(SESSION_KEY); 65 if (cache == null) { 66 cache = new DnDCache(); 67 map.put(SESSION_KEY, cache); 68 } 69 return cache; 70 } 71 72 73 public void put(String id, HtmlPanelGroup uiComponent, 74 FacesContext context) { 75 dragValues.put(id, uiComponent.getDragValue()); 76 dropValues.put(id, uiComponent.getDropValue()); 77 } 78 79 public Object getDropValue(String id) { 80 return dropValues.get(id); 81 } 82 83 public Object getDragValue(String id) { 84 return dragValues.get(id); 85 } 86 87 88 public void putPositionPanelValue(String id, List list, int index) { 89 positionedPanelValues.put(id, new PanelPositionedValue(list, index)); 90 } 91 92 public PanelPositionedValue getPositionedPanelValue(String id) { 93 return (PanelPositionedValue) positionedPanelValues.get(id); 94 } 95 96 97 } 98 | Popular Tags |