KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > continuent > sequoia > controller > requestmanager > ParserThread


1 /**
2  * Sequoia: Database clustering technology.
3  * Copyright (C) 2002-2004 French National Institute For Research In Computer
4  * Science And Control (INRIA).
5  * Contact: sequoia@continuent.org
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  *
19  * Initial developer(s): Emmanuel Cecchet.
20  * Contributor(s): ______________________________________.
21  */

22
23 package org.continuent.sequoia.controller.requestmanager;
24
25 import java.sql.SQLException JavaDoc;
26
27 import org.continuent.sequoia.controller.requests.AbstractRequest;
28 import org.continuent.sequoia.controller.sql.schema.DatabaseSchema;
29
30 /**
31  * This thread is used to process request parsing in background.
32  *
33  * @author <a HREF="mailto:Emmanuel.Cecchet@inria.fr">Emmanuel Cecchet</a>
34  * @version 1.0
35  */

36 public class ParserThread extends Thread JavaDoc
37 {
38   private boolean isCaseSensitive;
39   private AbstractRequest request;
40   private DatabaseSchema dbs;
41   private int granularity;
42
43   /**
44    * Creates a new ParserThread
45    *
46    * @param request the request to parse
47    * @param dbs the database schema
48    * @param granularity the parsing granularity to use
49    * @param isCaseSensitive true if parsing is case sensitive
50    */

51   public ParserThread(AbstractRequest request, DatabaseSchema dbs,
52       int granularity, boolean isCaseSensitive)
53   {
54     this.request = request;
55     this.dbs = dbs;
56     this.granularity = granularity;
57     this.isCaseSensitive = isCaseSensitive;
58     start();
59   }
60
61   /**
62    * @see java.lang.Runnable#run()
63    */

64   public void run()
65   {
66     try
67     {
68       if (!request.isParsed())
69         request.parse(dbs, granularity, isCaseSensitive);
70     }
71     catch (SQLException JavaDoc e)
72     {
73       System.err.println("Error while parsing request (" + e + ")");
74     }
75   }
76
77 }
78
Popular Tags