Changeset 30071
- Timestamp:
- 02/12/08 15:20:48 (9 months ago)
- Files:
-
- org.nuxeo.runtime/branches/1.4/nuxeo-runtime/src/main/java/org/nuxeo/runtime/api/login/SecurityDomain.java (modified) (3 diffs)
- org.nuxeo.runtime/branches/1.4/nuxeo-runtime/src/test/java/org/nuxeo/runtime/TestSecurityDomain.java (copied) (copied from org.nuxeo.runtime/trunk/nuxeo-runtime/src/test/java/org/nuxeo/runtime/TestSecurityDomain.java)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
org.nuxeo.runtime/branches/1.4/nuxeo-runtime/src/main/java/org/nuxeo/runtime/api/login/SecurityDomain.java
r27651 r30071 20 20 package org.nuxeo.runtime.api.login; 21 21 22 import java.io.IOException; 23 import java.io.ObjectInputStream; 24 import java.io.ObjectOutputStream; 25 import java.io.Serializable; 22 26 import java.util.ArrayList; 27 import java.util.HashMap; 23 28 import java.util.List; 29 import java.util.Map; 24 30 25 31 import javax.security.auth.Subject; … … 39 45 */ 40 46 @XObject("domain") 41 public class SecurityDomain { 47 public class SecurityDomain implements Serializable { 48 49 private static final long serialVersionUID = 5770889355854831093L; 42 50 43 51 @XNode("@name") 44 52 private String name; 45 53 46 private AppConfigurationEntry[] entries;54 private transient AppConfigurationEntry[] entries; 47 55 48 56 public SecurityDomain() { … … 154 162 } 155 163 164 165 @SuppressWarnings("unchecked") 166 private void readObject(ObjectInputStream in) 167 throws ClassNotFoundException, IOException { 168 in.defaultReadObject(); 169 // read app config entries 170 int size = in.readInt(); 171 entries = new AppConfigurationEntry[size]; 172 for (int i=0; i<size; i++) { 173 String name = (String)in.readObject(); 174 String ctrlFlag = (String)in.readObject(); 175 LoginModuleControlFlag flag = controlFlagFromString(ctrlFlag); 176 Map<String, ?> opts = (Map<String, ?>)in.readObject(); 177 entries[i] = new AppConfigurationEntry(name, flag, opts); 178 } 179 } 180 181 private void writeObject(ObjectOutputStream out) throws IOException { 182 out.defaultWriteObject(); 183 // write app config entries 184 if (entries == null) { 185 out.writeInt(0); 186 } else { 187 out.writeInt(entries.length); 188 for (int i=0; i<entries.length; i++) { 189 AppConfigurationEntry entry = entries[i]; 190 out.writeObject(entry.getLoginModuleName()); 191 out.writeObject(controlFlagToString(entry.getControlFlag())); 192 Map<String,?> opts = entry.getOptions(); 193 if (!(opts instanceof Serializable)) { 194 opts = new HashMap<String, Object>(opts); 195 } 196 out.writeObject(opts); 197 } 198 } 199 } 200 156 201 }
