+
+ /**
+ * @see javax.servlet.Servlet#init(javax.servlet.ServletConfig)
+ */
+ public void init(ServletConfig config) throws ServletException {
+ super.init(config);
+
+ MirPropertiesConfiguration.setContext(config.getServletContext());
+ try {
+ configuration = MirPropertiesConfiguration.instance();
+ }
+ catch (PropertiesConfigExc e) {
+ throw new ServletException(e);
+ }
+
+ String dbUser = configuration.getString("Database.Username");
+ String dbPassword = configuration.getString("Database.Password");
+ String dbHost = configuration.getString("Database.Host");
+ String dbAdapName = configuration.getString("Database.Adaptor");
+ String dbName = configuration.getString("Database.Name");
+
+ DatabaseAdaptor adaptor;
+ try {
+ adaptor = (DatabaseAdaptor) Class.forName(dbAdapName).newInstance();
+ }
+ catch (Exception e) {
+ throw new ServletException("Could not load DB adapator: " +
+ e.toString());
+ }
+
+ String dbDriver;
+ String dbUrl;
+ try {
+ dbDriver = adaptor.getDriver();
+ dbUrl = adaptor.getURL(dbUser, dbPassword, dbHost);
+ }
+ catch (Exception e) {
+ throw new ServletException(e);
+ }
+
+ JDBCPoolMetaData meta = new JDBCPoolMetaData();
+ meta.setDbname(dbName);
+ meta.setDriver(dbDriver);
+ meta.setURL(dbUrl);
+ meta.setUserName(dbUser);
+ meta.setPassword(dbPassword);
+ meta.setJNDIName("mir");
+ meta.setMaximumSize(10);
+ meta.setMinimumSize(1);
+ meta.setPoolPreparedStatements(false);
+ meta.setCacheEnabled(false);
+ meta.setCacheSize(15);
+ meta.setDebugging(false);
+// meta.setLogFile(dblogfile+".pool");
+
+ SQLManager manager = SQLManager.getInstance();
+ JDBCPool pool = null;
+ if (manager != null) {
+ pool = manager.createPool(meta);
+ }
+ }
+
+
+ protected final void doGet(HttpServletRequest request, HttpServletResponse response)
+ throws ServletException, IOException {
+ doPost(request, response);
+ }
+
+ protected final void doPost(HttpServletRequest request, HttpServletResponse response)
+ throws ServletException, IOException {
+ if ((configuration.getString("RootUri") == null) ||
+ configuration.getString("RootUri").equals("")) {
+ configuration.setProperty("RootUri", request.getContextPath());
+ }
+ process(request, response);
+ }
+
+ abstract public void process(HttpServletRequest request, HttpServletResponse response)
+ throws ServletException, IOException;
+