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 |