KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jboss > portal > cms > slide > file > RMConfigurator


1 /*****************************************
2  * *
3  * JBoss Portal: The OpenSource Portal *
4  * *
5  * Distributable under LGPL license. *
6  * See terms of license at gnu.org. *
7  * *
8  *****************************************/

9 package org.jboss.portal.cms.slide.file;
10
11 import org.apache.commons.transaction.file.FileResourceManager;
12 import org.apache.commons.transaction.file.ResourceManagerException;
13 import org.apache.slide.util.logger.TxLogger;
14 import org.apache.slide.store.txfile.AbstractTxFileStoreService;
15
16 import java.util.Hashtable JavaDoc;
17
18 /**
19  * @author <a HREF="mailto:julien@jboss.org">Julien Viet</a>
20  * @version $Revision: 1.1 $
21  */

22 public abstract class RMConfigurator extends AbstractTxFileStoreService // Extends to have access to protected constants
23
{
24    public static FileResourceManager reconfigure(Hashtable JavaDoc parameters, AbstractTxFileStoreService service, FileResourceManager rm)
25    {
26       String JavaDoc debugString = (String JavaDoc)parameters.get(DEBUG_MODE_PARAMETER);
27       String JavaDoc urlEncodePathString = (String JavaDoc)parameters.get(URLENCODE_PATH_PARAMETER);
28
29       //
30
boolean debug = "true".equals(debugString);
31       boolean urlEncodePath = "true".equals(urlEncodePathString);
32       long defaultTransactionTimeout = rm.getDefaultTransactionTimeout();
33
34       //
35
rm = new FileResourceManager(
36          rm.getStoreDir(),
37          rm.getWorkDir(),
38          urlEncodePath,
39          new TxLogger(service.getLogger(), FileResourceManager.class.getName()),
40          debug)
41       {
42          public int getDefaultIsolationLevel()
43          {
44             return FileResourceManager.ISOLATION_LEVEL_READ_COMMITTED;
45          }
46          public void setIsolationLevel(Object JavaDoc o, int i) throws ResourceManagerException
47          {
48             super.setIsolationLevel(o, FileResourceManager.ISOLATION_LEVEL_READ_COMMITTED);
49          }
50       };
51
52       //
53
rm.setDefaultTransactionTimeout(defaultTransactionTimeout);
54       return rm;
55    }
56 }
57
Popular Tags