Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: org/alicebot/server/core/responder/ResponderDatabaseLogger.java


1   // Decompiled by Jad v1.5.8c. Copyright 2001 Pavel Kouznetsov.
2   // Jad home page: http://www.geocities.com/kpdus/jad.html
3   // Decompiler options: packimports(3) 
4   
5   package org.alicebot.server.core.responder;
6   
7   import java.io.UnsupportedEncodingException;
8   import java.net.URLEncoder;
9   import java.sql.SQLException;
10  import org.alicebot.server.core.Globals;
11  import org.alicebot.server.core.PredicateMaster;
12  import org.alicebot.server.core.logging.Log;
13  import org.alicebot.server.core.util.DeveloperError;
14  import org.alicebot.server.core.util.UserError;
15  import org.alicebot.server.sql.pool.DbAccess;
16  import org.alicebot.server.sql.pool.DbAccessRefsPoolMgr;
17  
18  public class ResponderDatabaseLogger
19  {
20  
21      private ResponderDatabaseLogger()
22      {
23          Log.devinfo("Opening database pool.", new String[] {
24              Log.DATABASE, Log.STARTUP
25          });
26          dbManager = new DbAccessRefsPoolMgr(Globals.getProperty("programd.database.driver", ""), Globals.getProperty("programd.database.url", ""), Globals.getProperty("programd.database.user", ""), Globals.getProperty("programd.database.password", ""));
27          Log.devinfo("Populating database pool.", new String[] {
28              Log.DATABASE, Log.STARTUP
29          });
30          dbManager.populate(Integer.parseInt(Globals.getProperty("programd.database.connections", "")));
31      }
32  
33      public static void log(String s, String s1, String s2, String s3, String s4)
34      {
35          String s5 = PredicateMaster.get(Globals.getClientNamePredicate(), s3, s4);
36          DbAccess dbaccess = null;
37          try
38          {
39              dbaccess = dbManager.takeDbaRef();
40          }
41          catch(Exception exception)
42          {
43              throw new UserError("Could not get database reference when logging.", exception);
44          }
45          try
46          {
47  //            dbaccess.executeQuery("insert into chatlog (userid, clientname, botid, input, response) values ('" + URLEncoder.encode(s3, "utf-8") + "', '" + URLEncoder.encode(PredicateMaster.get(Globals.getClientNamePredicate(), s3, s4), "utf-8") + "', '" + URLEncoder.encode(s4, "utf-8") + "', '" + URLEncoder.encode(s, "utf-8") + "', '" + URLEncoder.encode(s1, "utf-8") + "')");
48              dbaccess.executeQuery("insert into chatlog (userid, clientname, botid, input, response) values ('" + URLEncoder.encode(s3) + "', '" + URLEncoder.encode(PredicateMaster.get(Globals.getClientNamePredicate(), s3, s4)) + "', '" + URLEncoder.encode(s4) + "', '" + URLEncoder.encode(s) + "', '" + URLEncoder.encode(s1) + "')");
49          }
50          catch(SQLException sqlexception)
51          {
52              Log.userinfo("Database error: " + sqlexception, new String[] {
53                  Log.DATABASE, Log.ERROR
54              });
55          }
56  //        catch(UnsupportedEncodingException unsupportedencodingexception)
57          catch(Exception unsupportedencodingexception)
58          {
59              throw new DeveloperError("This platform does not support UTF-8!");
60          }
61  /*        catch(SQLException sqlexception)
62          {
63              Log.userinfo("Database error: " + sqlexception, new String[] {
64                  Log.DATABASE, Log.ERROR
65              });
66          }*/
67          dbManager.returnDbaRef(dbaccess);
68      }
69  
70      private static DbAccessRefsPoolMgr dbManager;
71      private static final ResponderDatabaseLogger self = new ResponderDatabaseLogger();
72      private static final String ENC_UTF8 = "utf-8";
73  
74  }