You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by cz...@apache.org on 2003/07/14 21:09:00 UTC

cvs commit: cocoon-2.1/src/java/org/apache/cocoon/components/store/impl DefaultStore.java

cziegeler    2003/07/14 12:09:00

  Modified:    src/java/org/apache/cocoon/components/store/impl
                        DefaultStore.java
  Log:
  Cleaning up code
  
  Revision  Changes    Path
  1.2       +45 -50    cocoon-2.1/src/java/org/apache/cocoon/components/store/impl/DefaultStore.java
  
  Index: DefaultStore.java
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/java/org/apache/cocoon/components/store/impl/DefaultStore.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- DefaultStore.java	17 Mar 2003 09:49:31 -0000	1.1
  +++ DefaultStore.java	14 Jul 2003 19:09:00 -0000	1.2
  @@ -57,7 +57,6 @@
   import com.coyotegulch.jisp.IndexedObjectDatabase;
   import com.coyotegulch.jisp.KeyNotFound;
   
  -import org.apache.avalon.framework.activity.Initializable;
   import org.apache.avalon.framework.context.Context;
   import org.apache.avalon.framework.context.ContextException;
   import org.apache.avalon.framework.context.Contextualizable;
  @@ -83,16 +82,11 @@
       implements org.apache.excalibur.store.Store,
                  Contextualizable,
                  ThreadSafe,
  -               Initializable,
                  Parameterizable {
   
  -    protected File m_workDir;
  -    protected File m_cacheDir;
  -
  -    private File m_databaseFile;
  -    private File m_indexFile;
  -    private int m_Order;
  -
  +    /** The context containing the work and the cache directory */
  +    protected Context context;
  +    
       /**
        * Contextualize the Component
        *
  @@ -100,8 +94,7 @@
        * @exception  ContextException
        */
       public void contextualize(final Context context) throws ContextException {
  -        this.m_workDir = (File)context.get(Constants.CONTEXT_WORK_DIR);
  -        this.m_cacheDir = (File)context.get(Constants.CONTEXT_CACHE_DIR);
  +        this.context = context;
       }
   
       /**
  @@ -118,79 +111,81 @@
        * @param params the configuration paramters
        * @exception  ParameterException
        */
  -     public void parameterize(Parameters params) throws ParameterException {
  -
  +    public void parameterize(Parameters params) throws ParameterException {
  +        
  +        // get the directory to use
           try {
  +            final File workDir = (File)context.get(Constants.CONTEXT_WORK_DIR);
               if (params.getParameterAsBoolean("use-cache-directory", false)) {
  +                final File cacheDir = (File)context.get(Constants.CONTEXT_CACHE_DIR);
                   if (getLogger().isDebugEnabled()) {
  -                    getLogger().debug("Using cache directory: " + m_cacheDir);
  +                    getLogger().debug("Using cache directory: " + cacheDir);
                   }
  -                setDirectory(m_cacheDir);
  +                this.setDirectory(cacheDir);
               } else if (params.getParameterAsBoolean("use-work-directory", false)) {
                   if (getLogger().isDebugEnabled()) {
  -                    getLogger().debug("Using work directory: " + m_workDir);
  +                    getLogger().debug("Using work directory: " + workDir);
                   }
  -                setDirectory(m_workDir);
  +                this.setDirectory(workDir);
               } else if (params.getParameter("directory", null) != null) {
                   String dir = params.getParameter("directory");
  -                dir = IOUtils.getContextFilePath(m_workDir.getPath(), dir);
  +                dir = IOUtils.getContextFilePath(workDir.getPath(), dir);
                   if (getLogger().isDebugEnabled()) {
                       getLogger().debug("Using directory: " + dir);
                   }
  -                setDirectory(new File(dir));
  +                this.setDirectory(new File(dir));
               } else {
                   try {
                       // Default
  -                    setDirectory(m_workDir);
  +                    this.setDirectory(workDir);
                   } catch (IOException e) {
                       // Ignored
                   }
               }
  +        } catch (ContextException ce) {
  +            throw new ParameterException("Unable to get directory information from context.", ce);
           } catch (IOException e) {
               throw new ParameterException("Unable to set directory", e);
           }
   
  -        String databaseName = params.getParameter("datafile", "cocoon.dat");
  -        String indexName = params.getParameter("m_indexFile", "cocoon.idx");
  -        m_Order = params.getParameterAsInteger("order", 301);
  +        // get store configuration
  +        final String databaseName = params.getParameter("datafile", "cocoon.dat");
  +        final String indexName = params.getParameter("m_indexFile", "cocoon.idx");
  +        final int order = params.getParameterAsInteger("order", 301);
           if (getLogger().isDebugEnabled()) {
               getLogger().debug("Database file name = " + databaseName);
               getLogger().debug("Index file name = " + indexName);
  -            getLogger().debug("Order=" + m_Order);
  +            getLogger().debug("Order=" + order);
           }
   
  -        this.m_databaseFile = new File(m_directoryFile, databaseName);
  -        m_indexFile = new File(m_directoryFile, indexName);
  -    }
  +        // open index and dat file
  +        final File databaseFile = new File(m_directoryFile, databaseName);
  +        final File indexFile = new File(m_directoryFile, indexName);
   
  -    /**
  -     * Initialize the Component
  -     */
  -    public void initialize() {
           if (getLogger().isDebugEnabled()) {
  -            getLogger().debug("initialize() JispFilesystemStore");
  +            getLogger().debug("Initializing JispFilesystemStore");
           }
  -
           try {
  -            if (m_databaseFile.exists()) {
  -                if (getLogger().isDebugEnabled()) {
  -                    getLogger().debug("initialize(): Datafile exists");
  -                }
  -                m_Database = new IndexedObjectDatabase(m_databaseFile.toString(), false);
  -                m_Index = new BTreeIndex(m_indexFile.toString());
  -                m_Database.attachIndex(m_Index);
  -            } else {
  -                if (getLogger().isDebugEnabled()) {
  -                    getLogger().debug("initialize(): Datafile does not exist");
  -                }
  -                m_Database = new IndexedObjectDatabase(m_databaseFile.toString(), false);
  -                m_Index = new BTreeIndex(m_indexFile.toString(),
  -                                        m_Order, new JispStringKey(), false);
  -                m_Database.attachIndex(m_Index);
  +            final boolean databaseExists = databaseFile.exists();
  +            if (getLogger().isDebugEnabled()) {
  +                getLogger().debug("Datafile exists: " + databaseExists);
               }
  +            super.m_Database = new IndexedObjectDatabase(databaseFile.toString(), !databaseExists);
  +            // TODO: change to getNullKey when updating to latest store
  +            super.m_Index = new BTreeIndex(indexFile.toString(),
  +                                            order, new JispStringKey(), false);
  +            super.m_Database.attachIndex(super.m_Index);
           } catch (KeyNotFound ignore) {
           } catch (Exception e) {
  -            getLogger().error("initialize(..) Exception", e);
  +            getLogger().error("Exception during initialization of jisp store.", e);
           }
       }
  +
  +    /* (non-Javadoc)
  +     * @see org.apache.avalon.framework.activity.Initializable#initialize()
  +     */
  +    public void initialize() throws Exception {
  +        // TODO  Remove this when we update to latest store
  +    }
  +
   }