KickJava   Java API By Example, From Geeks To Geeks.

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


1 package org.sapia.regis.prevayler;
2
3 import java.io.ByteArrayInputStream JavaDoc;
4 import java.util.Date JavaDoc;
5 import java.util.Properties JavaDoc;
6
7 import org.prevayler.Transaction;
8 import org.sapia.regis.Node;
9 import org.sapia.regis.Path;
10 import org.sapia.regis.RWNode;
11 import org.sapia.regis.loader.RegistryConfigLoader;
12
13 public class TxLoad implements Transaction{
14   
15   static final long serialVersionUID = 1L;
16   private Path path;
17   private String JavaDoc xmlConf;
18   private Properties JavaDoc props;
19   
20   public TxLoad(Path path, String JavaDoc xmlConf, Properties JavaDoc props){
21     if(path == null){
22       this.path = Path.parse(Node.ROOT_NAME);
23     }
24     else{
25       this.path = path;
26     }
27     this.xmlConf = xmlConf;
28     this.props = props;
29   }
30   
31   public void executeOn(Object JavaDoc arg0, Date JavaDoc arg1){
32     Node root = (Node)arg0;
33     RegistryConfigLoader loader = new RegistryConfigLoader((RWNode)root.getChild(path));
34     try{
35       if(props == null)
36         loader.load(new ByteArrayInputStream JavaDoc(this.xmlConf.getBytes()));
37       else
38         loader.load(new ByteArrayInputStream JavaDoc(this.xmlConf.getBytes()), props);
39     }catch(Exception JavaDoc e){
40       throw new RuntimeException JavaDoc("Could not load configuration", e);
41     }
42   }
43
44 }
45
Popular Tags