1 package uba.db.sql.server;
2
3 import java.io.BufferedReader;
4 import java.io.IOException;
5 import java.io.InputStream;
6 import java.io.InputStreamReader;
7 import java.io.OutputStream;
8 import java.io.PrintWriter;
9
10 public class ClientRequestProcessor {
11 private DBProtocol protocol;
12 private PrintWriter out;
13 private BufferedReader in;
14
15 public ClientRequestProcessor(DBProtocol protocol, InputStream input,
16 OutputStream output) {
17 this.protocol = protocol;
18 out = new PrintWriter(output, true);
19 in = new BufferedReader(new InputStreamReader(input));
20 }
21
22 public void handleRequests() throws ClientResquestHandlingException {
23 String inputLine;
24 String outputLine = protocol.processInput(null);
25 out.println(outputLine);
26
27 try {
28 while ((inputLine = in.readLine()) != null) {
29 outputLine = protocol.processInput(inputLine);
30 out.println(outputLine);
31 if (outputLine.equals("Connection Closed"))
32 break;
33 }
34 } catch (IOException e) {
35 throw new ClientResquestHandlingException(e);
36 }
37 }
38 }