KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > opensymphony > user > provider > file > SerializableUsersCache


1 /*
2  * Copyright (c) 2002-2003 by OpenSymphony
3  * All rights reserved.
4  */

5 package com.opensymphony.user.provider.file;
6
7 import org.apache.commons.logging.Log;
8 import org.apache.commons.logging.LogFactory;
9
10 import java.io.File JavaDoc;
11 import java.io.FileOutputStream JavaDoc;
12 import java.io.ObjectInputStream JavaDoc;
13 import java.io.ObjectOutputStream JavaDoc;
14 import java.io.Serializable JavaDoc;
15
16
17 class SerializableUsersCache extends FileUsersCache implements Serializable JavaDoc {
18     //~ Static fields/initializers /////////////////////////////////////////////
19

20     private static final Log log = LogFactory.getLog(SerializableUsersCache.class);
21
22     //~ Constructors ///////////////////////////////////////////////////////////
23

24     public SerializableUsersCache(String JavaDoc storeFile, String JavaDoc storeFileType) {
25         super(storeFile, storeFileType);
26         load();
27     }
28
29     //~ Methods ////////////////////////////////////////////////////////////////
30

31     public boolean load() {
32         try {
33             ObjectInputStream JavaDoc ois = new ObjectInputStream JavaDoc(getInputStreamFromStoreFile());
34             SerializableUsersCache u = (SerializableUsersCache) ois.readObject();
35
36             users = u.users;
37
38             return true;
39         } catch (Exception JavaDoc e) {
40             log.fatal("cannot load from file " + storeFile + ". Create a new blank store.", e);
41         }
42
43         return false;
44     }
45
46     public boolean store() {
47         try {
48             FileOutputStream JavaDoc fos = new FileOutputStream JavaDoc(new File JavaDoc(storeFile));
49             ObjectOutputStream JavaDoc oos = new ObjectOutputStream JavaDoc(fos);
50             oos.writeObject(this);
51             fos.close();
52
53             return true;
54         } catch (Exception JavaDoc e) {
55             log.fatal("cannot store in file " + storeFile + ".", e);
56         }
57
58         return false;
59     }
60 }
61
Popular Tags