01: /*
02: ItsNat Java Web Application Framework
03: Copyright (C) 2007 Innowhere Software Services S.L., Spanish Company
04: Author: Jose Maria Arranz Santamaria
05:
06: This program is free software: you can redistribute it and/or modify
07: it under the terms of the GNU Affero General Public License as published by
08: the Free Software Foundation, either version 3 of the License, or
09: (at your option) any later version. See the GNU Affero General Public
10: License for more details. See the copy of the GNU Affero General Public License
11: included in this program. If not, see <http://www.gnu.org/licenses/>.
12: */
13:
14: package org.itsnat.impl.core.request;
15:
16: import org.itsnat.core.ItsNatException;
17: import org.itsnat.impl.core.*;
18: import org.itsnat.impl.core.response.ResponseLoadScriptImpl;
19:
20: /**
21: *
22: * @author jmarranz
23: */
24: public class RequestLoadScriptImpl extends RequestImpl {
25: protected String docId;
26:
27: /**
28: * Creates a new instance of RequestNormalLoadDocImpl
29: */
30: public RequestLoadScriptImpl(String docId,
31: ItsNatServletRequestImpl itsNatRequest) {
32: super (itsNatRequest);
33:
34: this .docId = docId;
35: }
36:
37: public void process() {
38: ItsNatSessionImpl session = itsNatRequest
39: .getItsNatSessionImpl();
40: ItsNatDocumentImpl itsNatDoc = session
41: .getItsNatDocumentImplById(docId);
42:
43: synchronized (itsNatDoc) // Sólo un hilo puede acceder al mismo documento
44: {
45: itsNatRequest.setItsNatDocument(itsNatDoc);
46:
47: try {
48: ResponseLoadScriptImpl response = new ResponseLoadScriptImpl(
49: itsNatRequest.getItsNatServletResponseImpl());
50: response.process();
51: } finally {
52: itsNatRequest.unsetItsNatDocument();
53: }
54: }
55: }
56:
57: }
|