//# 0 errors, 117 messages
//#
/*
    //#ReadFromIndexOperation.java:1:1: class: org.apache.roller.weblogger.business.search.operations.ReadFromIndexOperation
 * Licensed to the Apache Software Foundation (ASF) under one or more
 *  contributor license agreements.  The ASF licenses this file to You
 * under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.  For additional information regarding
 * copyright in this work, please see the NOTICE file in the top level
 * directory of this distribution.
 */
package org.apache.roller.weblogger.business.search.operations;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.roller.weblogger.business.search.IndexManagerImpl;

/**
 * @author aim4min
 */
public abstract class ReadFromIndexOperation extends IndexOperation {
    public ReadFromIndexOperation(IndexManagerImpl mgr) {
        super(mgr);
    //#ReadFromIndexOperation.java:29: method: void org.apache.roller.weblogger.business.search.operations.ReadFromIndexOperation.org.apache.roller.weblogger.business.search.operations.ReadFromIndexOperation(IndexManagerImpl)
    //#input(void org.apache.roller.weblogger.business.search.operations.ReadFromIndexOperation(IndexManagerImpl)): mgr
    //#input(void org.apache.roller.weblogger.business.search.operations.ReadFromIndexOperation(IndexManagerImpl)): this
    //#output(void org.apache.roller.weblogger.business.search.operations.ReadFromIndexOperation(IndexManagerImpl)): this.manager
    //#post(void org.apache.roller.weblogger.business.search.operations.ReadFromIndexOperation(IndexManagerImpl)): this.manager == mgr
    //#post(void org.apache.roller.weblogger.business.search.operations.ReadFromIndexOperation(IndexManagerImpl)): init'ed(this.manager)
    }
    //#ReadFromIndexOperation.java:30: end of method: void org.apache.roller.weblogger.business.search.operations.ReadFromIndexOperation.org.apache.roller.weblogger.business.search.operations.ReadFromIndexOperation(IndexManagerImpl)
    
    private static Log mLogger = LogFactory.getFactory().getInstance(
    //#ReadFromIndexOperation.java:32: method: org.apache.roller.weblogger.business.search.operations.ReadFromIndexOperation.org.apache.roller.weblogger.business.search.operations.ReadFromIndexOperation__static_init
    //#ReadFromIndexOperation.java:32: Warning: method not available
    //#    -- call on LogFactory org.apache.commons.logging.LogFactory:getFactory()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.business.search.operations.ReadFromIndexOperation
    //#    method: org.apache.roller.weblogger.business.search.operations.ReadFromIndexOperation__static_init
    //#    unanalyzed callee: LogFactory org.apache.commons.logging.LogFactory:getFactory()
    //#ReadFromIndexOperation.java:32: Warning: method not available
    //#    -- call on Log org.apache.commons.logging.LogFactory:getInstance(Class)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.business.search.operations.ReadFromIndexOperation
    //#    method: org.apache.roller.weblogger.business.search.operations.ReadFromIndexOperation__static_init
    //#    unanalyzed callee: Log org.apache.commons.logging.LogFactory:getInstance(Class)
    //#output(org.apache.roller.weblogger.business.search.operations.ReadFromIndexOperation__static_init): __Descendant_Table[org/apache/roller/weblogger/business/search/operations/ReadFromIndexOperation]
    //#output(org.apache.roller.weblogger.business.search.operations.ReadFromIndexOperation__static_init): __Dispatch_Table.beginDeleting()Lorg/apache/lucene/index/IndexReader;
    //#output(org.apache.roller.weblogger.business.search.operations.ReadFromIndexOperation__static_init): __Dispatch_Table.beginWriting()Lorg/apache/lucene/index/IndexWriter;
    //#output(org.apache.roller.weblogger.business.search.operations.ReadFromIndexOperation__static_init): __Dispatch_Table.doRun()V
    //#output(org.apache.roller.weblogger.business.search.operations.ReadFromIndexOperation__static_init): __Dispatch_Table.endDeleting()V
    //#output(org.apache.roller.weblogger.business.search.operations.ReadFromIndexOperation__static_init): __Dispatch_Table.endWriting()V
    //#output(org.apache.roller.weblogger.business.search.operations.ReadFromIndexOperation__static_init): __Dispatch_Table.getDocument(Lorg/apache/roller/weblogger/pojos/WeblogEntry;)Lorg/apache/lucene/document/Document;
    //#output(org.apache.roller.weblogger.business.search.operations.ReadFromIndexOperation__static_init): __Dispatch_Table.run()V
    //#output(org.apache.roller.weblogger.business.search.operations.ReadFromIndexOperation__static_init): mLogger
    //#output(org.apache.roller.weblogger.business.search.operations.ReadFromIndexOperation__static_init): org/apache/roller/weblogger/business/search/operations/IndexOperation.__Descendant_Table[org/apache/roller/weblogger/business/search/operations/ReadFromIndexOperation]
    //#presumption(org.apache.roller.weblogger.business.search.operations.ReadFromIndexOperation__static_init): org.apache.commons.logging.LogFactory:getFactory(...)@32 != null
    //#post(org.apache.roller.weblogger.business.search.operations.ReadFromIndexOperation__static_init): __Descendant_Table[org/apache/roller/weblogger/business/search/operations/ReadFromIndexOperation] == &__Dispatch_Table
    //#post(org.apache.roller.weblogger.business.search.operations.ReadFromIndexOperation__static_init): org/apache/roller/weblogger/business/search/operations/IndexOperation.__Descendant_Table[org/apache/roller/weblogger/business/search/operations/ReadFromIndexOperation] == &__Dispatch_Table
    //#post(org.apache.roller.weblogger.business.search.operations.ReadFromIndexOperation__static_init): __Dispatch_Table.beginDeleting()Lorg/apache/lucene/index/IndexReader; == &org/apache/roller/weblogger/business/search/operations/IndexOperation.beginDeleting
    //#post(org.apache.roller.weblogger.business.search.operations.ReadFromIndexOperation__static_init): __Dispatch_Table.beginWriting()Lorg/apache/lucene/index/IndexWriter; == &org/apache/roller/weblogger/business/search/operations/IndexOperation.beginWriting
    //#post(org.apache.roller.weblogger.business.search.operations.ReadFromIndexOperation__static_init): __Dispatch_Table.doRun()V == &org/apache/roller/weblogger/business/search/operations/IndexOperation.doRun
    //#post(org.apache.roller.weblogger.business.search.operations.ReadFromIndexOperation__static_init): __Dispatch_Table.endDeleting()V == &org/apache/roller/weblogger/business/search/operations/IndexOperation.endDeleting
    //#post(org.apache.roller.weblogger.business.search.operations.ReadFromIndexOperation__static_init): __Dispatch_Table.endWriting()V == &org/apache/roller/weblogger/business/search/operations/IndexOperation.endWriting
    //#post(org.apache.roller.weblogger.business.search.operations.ReadFromIndexOperation__static_init): __Dispatch_Table.getDocument(Lorg/apache/roller/weblogger/pojos/WeblogEntry;)Lorg/apache/lucene/document/Document; == &org/apache/roller/weblogger/business/search/operations/IndexOperation.getDocument
    //#post(org.apache.roller.weblogger.business.search.operations.ReadFromIndexOperation__static_init): __Dispatch_Table.run()V == &run
    //#post(org.apache.roller.weblogger.business.search.operations.ReadFromIndexOperation__static_init): init'ed(mLogger)
    //#ReadFromIndexOperation.java:32: end of method: org.apache.roller.weblogger.business.search.operations.ReadFromIndexOperation.org.apache.roller.weblogger.business.search.operations.ReadFromIndexOperation__static_init
            ReadFromIndexOperation.class);
    
    public final void run() {
        try {
            manager.getReadWriteLock().readLock().acquire();
    //#ReadFromIndexOperation.java:37: method: void org.apache.roller.weblogger.business.search.operations.ReadFromIndexOperation.run()
    //#ReadFromIndexOperation.java:37: Warning: method not available
    //#    -- call on Sync EDU.oswego.cs.dl.util.concurrent.ReadWriteLock:readLock()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.business.search.operations.ReadFromIndexOperation
    //#    method: void run()
    //#    unanalyzed callee: Sync EDU.oswego.cs.dl.util.concurrent.ReadWriteLock:readLock()
    //#ReadFromIndexOperation.java:37: Warning: method not available
    //#    -- call on void EDU.oswego.cs.dl.util.concurrent.Sync:acquire()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.business.search.operations.ReadFromIndexOperation
    //#    method: void run()
    //#    unanalyzed callee: void EDU.oswego.cs.dl.util.concurrent.Sync:acquire()
    //#ReadFromIndexOperation.java:37: Warning: suspicious precondition
    //#    the precondition for this.__Tag is not a contiguous range of values
    //#    severity: SUPPRESSED
    //#    class: org.apache.roller.weblogger.business.search.operations.ReadFromIndexOperation
    //#    method: void run()
    //#    suspicious precondition index: [10]
    //#    Attribs:  Soft
    //#input(void run()): __Descendant_Table[org/apache/roller/weblogger/business/search/operations/ReadFromIndexOperation]
    //#input(void run()): __Descendant_Table[org/apache/roller/weblogger/business/search/operations/SearchOperation]
    //#input(void run()): __Descendant_Table[others]
    //#input(void run()): __Dispatch_Table.doRun()V
    //#input(void run()): mLogger
    //#input(void run()): org/apache/roller/weblogger/business/search/IndexManagerImpl.__Descendant_Table[org/apache/roller/weblogger/business/search/IndexManagerImpl]
    //#input(void run()): org/apache/roller/weblogger/business/search/IndexManagerImpl.__Descendant_Table[others]
    //#input(void run()): org/apache/roller/weblogger/business/search/IndexManagerImpl.__Dispatch_Table.getFSDirectory(Z)Lorg/apache/lucene/store/Directory;
    //#input(void run()): org/apache/roller/weblogger/business/search/IndexManagerImpl.__Dispatch_Table.getIndexDirectory()Lorg/apache/lucene/store/Directory;
    //#input(void run()): org/apache/roller/weblogger/business/search/IndexManagerImpl.__Dispatch_Table.getReadWriteLock()LEDU/oswego/cs/dl/util/concurrent/ReadWriteLock;
    //#input(void run()): org/apache/roller/weblogger/business/search/IndexManagerImpl.__Dispatch_Table.getSharedIndexReader()Lorg/apache/lucene/index/IndexReader;
    //#input(void run()): org/apache/roller/weblogger/business/search/IndexManagerImpl.mLogger
    //#input(void run()): org/apache/roller/weblogger/business/search/operations/SearchOperation.SEARCH_FIELDS
    //#input(void run()): org/apache/roller/weblogger/business/search/operations/SearchOperation.SORTER
    //#input(void run()): org/apache/roller/weblogger/business/search/operations/SearchOperation.__Dispatch_Table.doRun()V
    //#input(void run()): org/apache/roller/weblogger/business/search/operations/SearchOperation.mLogger
    //#input(void run()): this
    //#input(void run()): this.__Tag
    //#input(void run()): this.category
    //#input(void run()): this.manager
    //#input(void run()): this.manager.__Tag
    //#input(void run()): this.manager.fRAMindex
    //#input(void run()): this.manager.indexDir
    //#input(void run()): this.manager.reader
    //#input(void run()): this.manager.rwl
    //#input(void run()): this.manager.useRAMIndex
    //#input(void run()): this.term
    //#input(void run()): this.websiteHandle
    //#output(void run()): this.manager.reader
    //#output(void run()): this.parseError
    //#output(void run()): this.searchresults
    //#pre[12] (void run()): this.manager != null
    //#pre[16] (void run()): this.manager.rwl != null
    //#pre[1] (void run()): (soft) mLogger != null
    //#pre[2] (void run()): (soft) init'ed(this.manager.reader)
    //#pre[5] (void run()): (soft) org/apache/roller/weblogger/business/search/IndexManagerImpl.mLogger != null
    //#pre[6] (void run()): (soft) init'ed(org/apache/roller/weblogger/business/search/operations/SearchOperation.SEARCH_FIELDS)
    //#pre[7] (void run()): (soft) init'ed(org/apache/roller/weblogger/business/search/operations/SearchOperation.SORTER)
    //#pre[8] (void run()): (soft) org/apache/roller/weblogger/business/search/operations/SearchOperation.mLogger != null
    //#pre[10] (void run()): (soft) this.__Tag in {org/apache/roller/weblogger/business/search/operations/ReadFromIndexOperation, org/apache/roller/weblogger/business/search/operations/SearchOperation}
    //#pre[11] (void run()): (soft) init'ed(this.category)
    //#pre[13] (void run()): (soft) this.manager.__Tag == org/apache/roller/weblogger/business/search/IndexManagerImpl
    //#pre[14] (void run()): (soft) init'ed(this.manager.fRAMindex)
    //#pre[15] (void run()): (soft) init'ed(this.manager.indexDir)
    //#pre[17] (void run()): (soft) init'ed(this.manager.useRAMIndex)
    //#pre[18] (void run()): (soft) init'ed(this.term)
    //#pre[19] (void run()): (soft) init'ed(this.websiteHandle)
    //#presumption(void run()): EDU.oswego.cs.dl.util.concurrent.ReadWriteLock:readLock(...)@37 != null
    //#presumption(void run()): EDU.oswego.cs.dl.util.concurrent.ReadWriteLock:readLock(...)@42 != null
    //#presumption(void run()): EDU.oswego.cs.dl.util.concurrent.ReadWriteLock:readLock(...)@42 != null
    //#post(void run()): init'ed(this.manager.reader)
    //#post(void run()): possibly_updated(this.parseError)
    //#post(void run()): possibly_updated(this.searchresults)
    //#unanalyzed(void run()): Effects-of-calling:getSharedIndexReader
    //#unanalyzed(void run()): Effects-of-calling:org.apache.lucene.search.IndexSearcher
    //#unanalyzed(void run()): Effects-of-calling:org.apache.lucene.analysis.standard.StandardAnalyzer
    //#unanalyzed(void run()): Effects-of-calling:org.apache.lucene.queryParser.MultiFieldQueryParser:parse
    //#unanalyzed(void run()): Effects-of-calling:getTerm
    //#unanalyzed(void run()): Effects-of-calling:org.apache.lucene.search.BooleanQuery
    //#unanalyzed(void run()): Effects-of-calling:org.apache.lucene.search.BooleanQuery:add
    //#unanalyzed(void run()): Effects-of-calling:org.apache.lucene.search.TermQuery
    //#unanalyzed(void run()): Effects-of-calling:org.apache.lucene.search.IndexSearcher:search
    //#unanalyzed(void run()): Effects-of-calling:java.lang.Throwable:__curr_excep_obj
    //#unanalyzed(void run()): Effects-of-calling:org.apache.commons.logging.Log:error
    //#unanalyzed(void run()): Effects-of-calling:java.io.IOException:getMessage
    //#unanalyzed(void run()): Effects-of-calling:org.apache.lucene.queryParser.ParseException:getMessage
    //#unanalyzed(void run()): Effects-of-calling:org.apache.lucene.store.FSDirectory:getDirectory
    //#unanalyzed(void run()): Effects-of-calling:getIndexDirectory
    //#unanalyzed(void run()): Effects-of-calling:org.apache.lucene.index.IndexReader:open
    //#unanalyzed(void run()): Effects-of-calling:getAnalyzer
    //#unanalyzed(void run()): Effects-of-calling:java.io.StringReader
    //#unanalyzed(void run()): Effects-of-calling:org.apache.lucene.analysis.Analyzer:tokenStream
    //#unanalyzed(void run()): Effects-of-calling:org.apache.lucene.analysis.TokenStream:next
    //#unanalyzed(void run()): Effects-of-calling:org.apache.lucene.analysis.Token:termText
    //#unanalyzed(void run()): Effects-of-calling:org.apache.lucene.index.Term
            doRun();
        } catch (InterruptedException e) {
            mLogger.info("Error acquiring read lock on index", e);
    //#ReadFromIndexOperation.java:40: Warning: method not available
    //#    -- call on void org.apache.commons.logging.Log:info(Object, Throwable)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.business.search.operations.ReadFromIndexOperation
    //#    method: void run()
    //#    unanalyzed callee: void org.apache.commons.logging.Log:info(Object, Throwable)
        } finally {
            manager.getReadWriteLock().readLock().release();
    //#ReadFromIndexOperation.java:42: Warning: method not available
    //#    -- call on Sync EDU.oswego.cs.dl.util.concurrent.ReadWriteLock:readLock()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.business.search.operations.ReadFromIndexOperation
    //#    method: void run()
    //#    unanalyzed callee: Sync EDU.oswego.cs.dl.util.concurrent.ReadWriteLock:readLock()
    //#ReadFromIndexOperation.java:42: Warning: method not available
    //#    -- call on void EDU.oswego.cs.dl.util.concurrent.Sync:release()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.business.search.operations.ReadFromIndexOperation
    //#    method: void run()
    //#    unanalyzed callee: void EDU.oswego.cs.dl.util.concurrent.Sync:release()
        }
    }
    //#ReadFromIndexOperation.java:44: end of method: void org.apache.roller.weblogger.business.search.operations.ReadFromIndexOperation.run()
    
}
    //#ReadFromIndexOperation.java:: end of class: org.apache.roller.weblogger.business.search.operations.ReadFromIndexOperation
