1 6 package com.nightlabs.ipanema.person.preferences; 7 8 import java.util.ArrayList ; 9 import java.util.HashMap ; 10 import java.util.Iterator ; 11 import java.util.List ; 12 import java.util.Map ; 13 14 import com.nightlabs.config.Config; 15 import com.nightlabs.config.ConfigException; 16 import com.nightlabs.config.ConfigModule; 17 import com.nightlabs.config.InitException; 18 import com.nightlabs.ipanema.person.PersonStruct; 19 20 23 public class PersonStructOrderConfigModule extends ConfigModule { 24 27 public static class PersonStructOrderMapEntry { 28 public PersonStructOrderMapEntry() { 29 } 30 31 private String key; 32 private int priority; 33 34 public String getKey() { 35 return key; 36 } 37 public void setKey(String key) { 38 this.key = key; 39 } 40 public int getPriority() { 41 return priority; 42 } 43 public void setPriority(int priority) { 44 this.priority = priority; 45 } 46 } 47 48 51 public PersonStructOrderConfigModule() { 52 super(); 53 } 54 55 public void init() throws InitException { 56 super.init(); 57 } 58 59 private List structBlockDisplayOrderList; 60 61 66 public List getStructBlockDisplayOrderList() { 67 if (structBlockDisplayOrder != null) { 68 for (Iterator iter = structBlockDisplayOrder().entrySet().iterator(); iter.hasNext();) { 69 if (structBlockDisplayOrderList == null) 70 structBlockDisplayOrderList = new ArrayList (); 71 Map.Entry entry = (Map.Entry ) iter.next(); 72 PersonStructOrderMapEntry listEntry = new PersonStructOrderMapEntry(); 73 listEntry.setKey((String )entry.getKey()); 74 listEntry.setPriority(((Integer )entry.getValue()).intValue()); 75 structBlockDisplayOrderList.add(listEntry); 76 } 77 } 78 if (structBlockDisplayOrderList == null) 79 structBlockDisplayOrderList = new ArrayList (); 80 81 return structBlockDisplayOrderList; 82 } 83 87 public void setStructBlockDisplayOrderList(List structBlockDisplayOrderList) { 88 this.structBlockDisplayOrderList = structBlockDisplayOrderList; 89 setChanged(); 90 } 91 92 private List structFieldDisplayOrderList; 93 94 99 public List getStructFieldDisplayOrderList() { 100 if (structFieldDisplayOrder != null) { 101 for (Iterator iter = structFieldDisplayOrder().entrySet().iterator(); iter.hasNext();) { 102 if (structFieldDisplayOrderList == null) 103 structFieldDisplayOrderList = new ArrayList (); 104 Map.Entry entry = (Map.Entry ) iter.next(); 105 PersonStructOrderMapEntry listEntry = new PersonStructOrderMapEntry(); 106 listEntry.setKey((String )entry.getKey()); 107 listEntry.setPriority(((Integer )entry.getValue()).intValue()); 108 structFieldDisplayOrderList.add(listEntry); 109 } 110 } 111 if (structFieldDisplayOrderList == null) 112 structFieldDisplayOrderList = new ArrayList (); 113 114 return structFieldDisplayOrderList; 115 } 116 120 public void setStructFieldDisplayOrderList(List structFieldDisplayOrderList) { 121 this.structFieldDisplayOrderList = structFieldDisplayOrderList; 122 setChanged(); 123 } 124 125 129 private Map structBlockDisplayOrder; 130 131 137 public Map structBlockDisplayOrder() { 138 if (structBlockDisplayOrder == null) { 139 if (structBlockDisplayOrderList != null) { 140 structBlockDisplayOrder = new HashMap (); 141 for (Iterator iter = structBlockDisplayOrderList.iterator(); iter.hasNext();) { 142 PersonStructOrderMapEntry entry = (PersonStructOrderMapEntry) iter.next(); 143 structBlockDisplayOrder.put(entry.getKey(),new Integer (entry.getPriority())); 144 } 145 } 146 else 147 structBlockDisplayOrder = getDefaultStructBlockDisplayOrder(); 148 setChanged(); 149 } 150 return structBlockDisplayOrder; 151 } 152 153 public void setStructBlockDisplayOrder(Map displayOrder) { 154 this.structBlockDisplayOrder = displayOrder; 155 } 156 157 158 162 private Map structFieldDisplayOrder; 163 164 171 public Map structFieldDisplayOrder() { 172 if (structFieldDisplayOrder == null) { 173 if (structFieldDisplayOrderList != null) { 174 structFieldDisplayOrder = new HashMap (); 175 for (Iterator iter = structFieldDisplayOrderList.iterator(); iter.hasNext();) { 176 PersonStructOrderMapEntry entry = (PersonStructOrderMapEntry) iter.next(); 177 structFieldDisplayOrder.put(entry.getKey(),new Integer (entry.getPriority())); 178 } 179 } 180 else 181 structFieldDisplayOrder = getDefaultStructFieldDisplayOrder(); 182 } 183 return structFieldDisplayOrder; 184 } 185 186 public void setStructFieldDisplayOrder(Map displayOrder) { 187 this.structFieldDisplayOrder = displayOrder; 188 setChanged(); 189 } 190 191 private Map getDefaultStructBlockDisplayOrder() { 192 Map result = new HashMap (); 193 result.put(PersonStruct.PERSONALDATA.getPrimaryKey(),new Integer (0)); 194 result.put(PersonStruct.POSTADDRESS.getPrimaryKey(),new Integer (1)); 195 result.put(PersonStruct.PHONE.getPrimaryKey(),new Integer (2)); 196 result.put(PersonStruct.INTERNET.getPrimaryKey(),new Integer (3)); 197 result.put(PersonStruct.FAX.getPrimaryKey(),new Integer (4)); 198 result.put(PersonStruct.CREDITCARD.getPrimaryKey(),new Integer (5)); 199 result.put(PersonStruct.COMMENT.getPrimaryKey(),new Integer (6)); 200 return result; 201 } 202 203 private Map getDefaultStructFieldDisplayOrder() { 204 Map result = new HashMap (); 205 return result; 206 } 207 208 private static PersonStructOrderConfigModule sharedInstance; 209 210 215 public static PersonStructOrderConfigModule getSharedInstance() { 216 if (sharedInstance == null) { 217 try { 218 sharedInstance = ((PersonStructOrderConfigModule)Config.sharedInstance().createConfigModule(PersonStructOrderConfigModule.class)); 219 } catch (ConfigException e) { 220 IllegalStateException ill = new IllegalStateException ("Error creating ConfigModule"); 221 ill.initCause(e); 222 throw ill; 223 } 224 } 225 return sharedInstance; 226 } 227 228 } 229 | Popular Tags |