File Source: ReadFromIndexOperation.java

     1  /*
     2   * Licensed to the Apache Software Foundation (ASF) under one or more
     3   *  contributor license agreements.  The ASF licenses this file to You
     4   * under the Apache License, Version 2.0 (the "License"); you may not
     5   * use this file except in compliance with the License.
     6   * You may obtain a copy of the License at
     7   *
     8   *     http://www.apache.org/licenses/LICENSE-2.0
     9   *
    10   * Unless required by applicable law or agreed to in writing, software
    11   * distributed under the License is distributed on an "AS IS" BASIS,
    12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    13   * See the License for the specific language governing permissions and
    14   * limitations under the License.  For additional information regarding
    15   * copyright in this work, please see the NOTICE file in the top level
    16   * directory of this distribution.
    17   */
    18  package org.apache.roller.weblogger.business.search.operations;
    19  
    20  import org.apache.commons.logging.Log;
    21  import org.apache.commons.logging.LogFactory;
    22  import org.apache.roller.weblogger.business.search.IndexManagerImpl;
    23  
    24  /**
    25   * @author aim4min
    26   */
    27  public abstract class ReadFromIndexOperation extends IndexOperation {
    28      public ReadFromIndexOperation(IndexManagerImpl mgr) {
                 /* 
    P/P           *  Method: void org.apache.roller.weblogger.business.search.operations.ReadFromIndexOperation(IndexManagerImpl)
                  * 
                  *  Postconditions:
                  *    this.manager == mgr
                  *    init'ed(this.manager)
                  */
    29          super(mgr);
    30      }
    31      
             /* 
    P/P       *  Method: org.apache.roller.weblogger.business.search.operations.ReadFromIndexOperation__static_init
              * 
              *  Presumptions:
              *    org.apache.commons.logging.LogFactory:getFactory(...)@32 != null
              * 
              *  Postconditions:
              *    init'ed(mLogger)
              */
    32      private static Log mLogger = LogFactory.getFactory().getInstance(
    33              ReadFromIndexOperation.class);
    34      
    35      public final void run() {
    36          try {
                     /* 
    P/P               *  Method: void run()
                      * 
                      *  Preconditions:
                      *    this.manager != null
                      *    this.manager.rwl != null
                      *    (soft) mLogger != null
                      *    (soft) init'ed(this.manager.reader)
                      *    (soft) org/apache/roller/weblogger/business/search/IndexManagerImpl.mLogger != null
                      *    (soft) init'ed(org/apache/roller/weblogger/business/search/operations/SearchOperation.SEARCH_FIELDS)
                      *    (soft) init'ed(org/apache/roller/weblogger/business/search/operations/SearchOperation.SORTER)
                      *    (soft) org/apache/roller/weblogger/business/search/operations/SearchOperation.mLogger != null
                      *    (soft) init'ed(this.category)
                      *    (soft) init'ed(this.manager.fRAMindex)
                      *    ...
                      * 
                      *  Presumptions:
                      *    EDU.oswego.cs.dl.util.concurrent.ReadWriteLock:readLock(...)@37 != null
                      *    EDU.oswego.cs.dl.util.concurrent.ReadWriteLock:readLock(...)@42 != null
                      * 
                      *  Postconditions:
                      *    init'ed(this.manager.reader)
                      *    possibly_updated(this.parseError)
                      *    possibly_updated(this.searchresults)
                      */
    37              manager.getReadWriteLock().readLock().acquire();
    38              doRun();
    39          } catch (InterruptedException e) {
    40              mLogger.info("Error acquiring read lock on index", e);
    41          } finally {
    42              manager.getReadWriteLock().readLock().release();
    43          }
    44      }
    45      
    46  }








SofCheck Inspector Build Version : 2.18479
ReadFromIndexOperation.java 2009-Jan-02 14:25:40
ReadFromIndexOperation.class 2009-Sep-04 03:12:31