KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > sapia > regis > prevayler > PrevaylerRegistry


1 package org.sapia.regis.prevayler;
2
3 import java.io.File JavaDoc;
4 import java.io.IOException JavaDoc;
5 import java.rmi.RemoteException JavaDoc;
6 import java.util.Properties JavaDoc;
7
8 import org.prevayler.Prevayler;
9 import org.prevayler.PrevaylerFactory;
10 import org.sapia.regis.Configurable;
11 import org.sapia.regis.Node;
12 import org.sapia.regis.Path;
13 import org.sapia.regis.RegisSession;
14 import org.sapia.regis.Registry;
15 import org.sapia.regis.impl.NodeImpl;
16 import org.sapia.regis.util.Utils;
17
18 public class PrevaylerRegistry implements Registry, Configurable{
19   
20   private NodeImpl _root = new NodeImpl(null, Node.ROOT_NAME);
21   private Prevayler _prevayler;
22   
23   private static RegisSession SESSION = new PrevaylerSession();
24   
25   PrevaylerRegistry(String JavaDoc prevalenceBase, boolean deleteOnStartup) throws Exception JavaDoc{
26     if(deleteOnStartup){
27       File JavaDoc f = new File JavaDoc(prevalenceBase);
28       if(f.exists()){
29         Utils.deleteRecurse(f);
30       }
31       f.mkdirs();
32     }
33     _prevayler = PrevaylerFactory.createPrevayler(_root, prevalenceBase);
34   }
35   
36   public Node getRoot() {
37     try{
38       return (Node)_prevayler.execute(new QueryGetRoot());
39     }catch(Exception JavaDoc e){
40       throw new RuntimeException JavaDoc("Could not get root", e);
41     }
42   }
43   
44   public RegisSession open() {
45     return SESSION;
46   }
47
48   public void close() {
49     try{
50       _prevayler.close();
51     }catch(IOException JavaDoc e){
52       //noop
53
}
54   }
55   
56   public void load(Path nodePath, String JavaDoc username, String JavaDoc password, String JavaDoc xmlConf, Properties JavaDoc props) throws RemoteException JavaDoc, Exception JavaDoc {
57     TxLoad load = new TxLoad(nodePath, xmlConf, props);
58     _prevayler.execute(load);
59   }
60   
61   public void syncLoad(Path nodePath, String JavaDoc username, String JavaDoc password, String JavaDoc xmlConf, Properties JavaDoc props) throws RemoteException JavaDoc, Exception JavaDoc {
62   }
63   
64 }
65
Popular Tags