File Source: WriteToIndexOperation.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 /* Created on Aug 12, 2003 */
19 package org.apache.roller.weblogger.business.search.operations;
20
21 import org.apache.commons.logging.Log;
22 import org.apache.commons.logging.LogFactory;
23 import org.apache.roller.weblogger.business.search.IndexManagerImpl;
24
25 /**
26 * An operation that writes to index.
27 * @author Mindaugas Idzelis (min@idzelis.com)
28 */
29 public abstract class WriteToIndexOperation extends IndexOperation {
30
31 public WriteToIndexOperation(IndexManagerImpl mgr) {
/*
P/P * Method: void org.apache.roller.weblogger.business.search.operations.WriteToIndexOperation(IndexManagerImpl)
*
* Postconditions:
* this.manager == mgr
* init'ed(this.manager)
*/
32 super(mgr);
33 }
34
/*
P/P * Method: org.apache.roller.weblogger.business.search.operations.WriteToIndexOperation__static_init
*
* Presumptions:
* org.apache.commons.logging.LogFactory:getFactory(...)@35 != null
*
* Postconditions:
* init'ed(mLogger)
*/
35 private static Log mLogger =
36 LogFactory.getFactory().getInstance(WriteToIndexOperation.class);
37
38 public void run() {
39 try {
/*
P/P * Method: void run()
*
* Preconditions:
* mLogger != null
* this.manager != null
* this.manager.rwl != null
*
* Presumptions:
* EDU.oswego.cs.dl.util.concurrent.ReadWriteLock:writeLock(...)@40 != null
* EDU.oswego.cs.dl.util.concurrent.ReadWriteLock:writeLock(...)@47 != null
*
* Postconditions:
* this.manager.reader == null
*/
40 manager.getReadWriteLock().writeLock().acquire();
41 mLogger.debug("Starting search index operation");
42 doRun();
43 mLogger.debug("Search index operation complete");
44 } catch (InterruptedException e) {
45 mLogger.error("Error acquiring write lock on index", e);
46 } finally {
47 manager.getReadWriteLock().writeLock().release();
48 }
49 manager.resetSharedReader();
50 }
51 }
SofCheck Inspector Build Version : 2.18479
| WriteToIndexOperation.java |
2009-Jan-02 14:24:58 |
| WriteToIndexOperation.class |
2009-Sep-04 03:12:31 |