Guest User

Untitled

a guest
Feb 18th, 2018
49
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 16.35 KB | None | 0 0
  1. public class CompanionDbPlugin extends AbstractPlugin {
  2.     private JdbcConnectionPool jcp = null;
  3.     private String namespace = null;
  4.     private Logger logger;
  5.     private Exception exception;
  6.  
  7.     public void initialize(Hashtable props) throws InitializationException {
  8.         // Initialize the class here with properties in the <initialize> element
  9.         // of the workflow.
  10.         // TODO Auto-generated method stub
  11.         namespace = (String) props.get("poolName");
  12.         jcp = JdbcConnectionPool.getInstance(namespace);
  13.        
  14.         logger = Logger.getLogger(CompanionDbPlugin.class);
  15.         Connection con = null;
  16.         try {
  17.             con = (Connection) jcp.acquire();
  18.         } catch (Throwable th) {
  19.             throw new InitializationException("JdbcConnection could not be established. Check the db properties file for problems.", th);
  20.         } finally {
  21.             JdbcHelper.release(jcp, con, null, null);
  22.         }
  23.     }
  24.  
  25.     public Object process(Message m) throws PluginException
  26.     {
  27.         // TODO Auto-generated method stub
  28.         //do all your work here
  29.         GenericMessage gm = null;
  30.         boolean success = false;
  31.         String type = null;
  32.                        
  33.         try
  34.         {
  35.             if (m instanceof GenericMessage)
  36.             {
  37.                 gm = (GenericMessage) m;
  38.             }
  39.             else
  40.             {
  41.                 gm = GenericMessageFactory.createGenericMessage(m);
  42.             }
  43.         }
  44.         catch (Throwable th)
  45.         {
  46.             throw new PluginException("Unable to create GenericMessage object from message.");
  47.         }
  48.        
  49.         try{
  50.             type = gm.getStringProperty("type");
  51.             if(null == type){
  52.                 return m;
  53.             }
  54.             type.toLowerCase();
  55.         }
  56.         catch(Exception e){
  57.             exception = e;
  58.             logger.debug(e.toString());
  59.         }
  60.        
  61.         boolean isInsert = true;
  62.         String transactionType;
  63.         int loopCount = 0;
  64.            
  65.         while (!success)
  66.         {
  67.             Connection con = null;
  68.             PreparedStatement ps = null;
  69.             ResultSet rs = null;
  70.             try
  71.             {
  72.                con = (Connection) jcp.acquire();
  73.                 if (!isInsert)
  74.                 {
  75.                     transactionType = "update";
  76.                 }
  77.                 else
  78.                 {
  79.                     transactionType = "insert";
  80.                 }
  81.              
  82.                 if (transactionType.equals("insert"))
  83.                 {
  84.                     if(type.compareTo("fb_post") == 0){
  85.                         ps = con.prepareStatement(jcp.getStatement("insertNewMessage.1"));
  86.                         ps.setString(1, gm.getStringProperty("fran_id").replace("\"",""));
  87.                         ps.setString(2, gm.getStringProperty("ep_id").replace("\"",""));
  88.                         ps.setString(3, gm.getStringProperty("device_id").replace("\"",""));
  89.                         ps.executeUpdate();
  90.                         ps = con.prepareStatement(jcp.getStatement("insertNewMessage.2"));
  91.                         ps.setInt(1, 103);
  92.                         ps.setString(2,  gm.getStringProperty("post").replace("\"",""));
  93.                         ps.executeUpdate();
  94.                         ps = con.prepareStatement(jcp.getStatement("insertNewMessage.3"));
  95.                         ps.setInt(1, 104);
  96.                         ps.setString(2, gm.getStringProperty("user_id").replace("\"",""));
  97.                         ps.executeUpdate();
  98.                         ps = con.prepareStatement(jcp.getStatement("insertNewMessage.4"));
  99.                         ps.setInt(1, 118);
  100.                         ps.executeUpdate();
  101.                         ps = con.prepareStatement(jcp.getStatement("insertNewMessage.5"));
  102.                         ps.setInt(1, 124);
  103.                         ps.setString(2, gm.getStringProperty("display_name").replace("\"",""));
  104.                         ps.executeUpdate();
  105.                         success = true;
  106.                     }
  107.                     else if(type.compareTo("tw_post") == 0){
  108.                         ps = con.prepareStatement(jcp.getStatement("insertNewMessage.1"));
  109.                         ps.setString(1, gm.getStringProperty("fran_id").replace("\"",""));
  110.                         ps.setString(2, gm.getStringProperty("ep_id").replace("\"",""));
  111.                         ps.setString(3, gm.getStringProperty("device_id").replace("\"",""));
  112.                         ps.executeUpdate();
  113.                         ps = con.prepareStatement(jcp.getStatement("insertNewMessage.2"));
  114.                         ps.setInt(1, 105);
  115.                         ps.setString(2,  gm.getStringProperty("post").replace("\"",""));
  116.                         ps.executeUpdate();
  117.                         ps = con.prepareStatement(jcp.getStatement("insertNewMessage.3"));
  118.                         ps.setInt(1, 106);
  119.                         ps.setString(2, gm.getStringProperty("user_id").replace("\"",""));
  120.                         ps.executeUpdate();
  121.                         ps = con.prepareStatement(jcp.getStatement("insertNewMessage.4"));
  122.                         ps.setInt(1, 119);
  123.                         ps.executeUpdate();
  124.                         ps = con.prepareStatement(jcp.getStatement("insertNewMessage.5"));
  125.                         ps.setInt(1, 125);
  126.                         ps.setString(2, gm.getStringProperty("display_name").replace("\"",""));
  127.                         ps.executeUpdate();
  128.                         success = true;
  129.                     }
  130.                     else if(type.compareTo("fb_like") == 0){
  131.                         ps = con.prepareStatement(jcp.getStatement("insertMessageLike"));
  132.                         ps.setInt(1, Integer.parseInt(gm.getStringProperty("entry_id").replace("\"","")));
  133.                         ps.setInt(2, 118);
  134.                         ps.setInt(3, Integer.parseInt(gm.getStringProperty("entry_id").replace("\"","")));
  135.                         ps.setInt(4, 118);
  136.                         ps.executeUpdate();
  137.                         success = true;
  138.                     }
  139.                     else if(type.compareTo("tw_like") == 0){
  140.                         ps = con.prepareStatement(jcp.getStatement("insertMessageLike"));
  141.                         ps.setInt(1, Integer.parseInt(gm.getStringProperty("entry_id").replace("\"","")));
  142.                         ps.setInt(2, 119);
  143.                         ps.setInt(3, Integer.parseInt(gm.getStringProperty("entry_id").replace("\"","")));
  144.                         ps.setInt(4, 119);
  145.                         ps.executeUpdate();
  146.                         success = true;
  147.                     }
  148.                     else if(type.compareTo("submit_poll") == 0){
  149.                         ps = con.prepareStatement(jcp.getStatement("insertPollAnswer.1"));
  150.                         ps.setString(1, gm.getStringProperty("fran_id").replace("\"",""));
  151.                         ps.setString(2, gm.getStringProperty("ep_id").replace("\"",""));
  152.                         ps.setString(3, gm.getStringProperty("device_id").replace("\"",""));
  153.                         ps.execute();
  154.                         ps = con.prepareStatement(jcp.getStatement("insertPollAnswer.2"));
  155.                         ps.setString(1, gm.getStringProperty("content_id").replace("\"",""));
  156.                         ps.execute();
  157.                        
  158.                         switch (Integer.parseInt(gm.getStringProperty("response_num").replace("\"",""))){
  159.                            
  160.                         case 1:
  161.                             ps = con.prepareStatement(jcp.getStatement("insertPollAnswer.3"));
  162.                             ps.setInt(1,1);
  163.                             ps.execute();
  164.                             ps = con.prepareStatement(jcp.getStatement("insertPollAnswer.4"));
  165.                             ps.setInt(1,0);
  166.                             ps.execute();
  167.                             ps = con.prepareStatement(jcp.getStatement("insertPollAnswer.5"));
  168.                             ps.setInt(1,0);
  169.                             ps.execute();
  170.                             ps = con.prepareStatement(jcp.getStatement("insertPollAnswer.6"));
  171.                             ps.setInt(1,0);
  172.                             ps.execute();
  173.                             ps = con.prepareStatement(jcp.getStatement("insertPollAnswer.7"));
  174.                             ps.setInt(1,0);
  175.                             ps.execute();
  176.                             ps = con.prepareStatement(jcp.getStatement("insertPollAnswer.8"));
  177.                             ps.setInt(1,0);
  178.                             ps.execute();
  179.                             break;
  180.                         case 2:
  181.                             ps = con.prepareStatement(jcp.getStatement("insertPollAnswer.3"));
  182.                             ps.setInt(1,0);
  183.                             ps.execute();
  184.                             ps = con.prepareStatement(jcp.getStatement("insertPollAnswer.4"));
  185.                             ps.setInt(1,1);
  186.                             ps.execute();
  187.                             ps = con.prepareStatement(jcp.getStatement("insertPollAnswer.5"));
  188.                             ps.setInt(1,0);
  189.                             ps.execute();
  190.                             ps = con.prepareStatement(jcp.getStatement("insertPollAnswer.6"));
  191.                             ps.setInt(1,0);
  192.                             ps.execute();
  193.                             ps = con.prepareStatement(jcp.getStatement("insertPollAnswer.7"));
  194.                             ps.setInt(1,0);
  195.                             ps.execute();
  196.                             ps = con.prepareStatement(jcp.getStatement("insertPollAnswer.8"));
  197.                             ps.setInt(1,0);
  198.                             ps.execute();
  199.                             break;
  200.                         case 3:
  201.                             ps = con.prepareStatement(jcp.getStatement("insertPollAnswer.3"));
  202.                             ps.setInt(1,0);
  203.                             ps.execute();
  204.                             ps = con.prepareStatement(jcp.getStatement("insertPollAnswer.4"));
  205.                             ps.setInt(1,0);
  206.                             ps.execute();
  207.                             ps = con.prepareStatement(jcp.getStatement("insertPollAnswer.5"));
  208.                             ps.setInt(1,1);
  209.                             ps.execute();
  210.                             ps = con.prepareStatement(jcp.getStatement("insertPollAnswer.6"));
  211.                             ps.setInt(1,0);
  212.                             ps.execute();
  213.                             ps = con.prepareStatement(jcp.getStatement("insertPollAnswer.7"));
  214.                             ps.setInt(1,0);
  215.                             ps.execute();
  216.                             ps = con.prepareStatement(jcp.getStatement("insertPollAnswer.8"));
  217.                             ps.setInt(1,0);
  218.                             ps.execute();
  219.                             break;
  220.                         case 4:
  221.                             ps = con.prepareStatement(jcp.getStatement("insertPollAnswer.3"));
  222.                             ps.setInt(1,0);
  223.                             ps.execute();
  224.                             ps = con.prepareStatement(jcp.getStatement("insertPollAnswer.4"));
  225.                             ps.setInt(1,0);
  226.                             ps.execute();
  227.                             ps = con.prepareStatement(jcp.getStatement("insertPollAnswer.5"));
  228.                             ps.setInt(1,0);
  229.                             ps.execute();
  230.                             ps = con.prepareStatement(jcp.getStatement("insertPollAnswer.6"));
  231.                             ps.setInt(1,1);
  232.                             ps.execute();
  233.                             ps = con.prepareStatement(jcp.getStatement("insertPollAnswer.7"));
  234.                             ps.setInt(1,0);
  235.                             ps.execute();
  236.                             ps = con.prepareStatement(jcp.getStatement("insertPollAnswer.8"));
  237.                             ps.setInt(1,0);
  238.                             ps.execute();
  239.                             break;
  240.                         case 5:
  241.                             ps = con.prepareStatement(jcp.getStatement("insertPollAnswer.3"));
  242.                             ps.setInt(1,0);
  243.                             ps.execute();
  244.                             ps = con.prepareStatement(jcp.getStatement("insertPollAnswer.4"));
  245.                             ps.setInt(1,0);
  246.                             ps.execute();
  247.                             ps = con.prepareStatement(jcp.getStatement("insertPollAnswer.5"));
  248.                             ps.setInt(1,0);
  249.                             ps.execute();
  250.                             ps = con.prepareStatement(jcp.getStatement("insertPollAnswer.6"));
  251.                             ps.setInt(1,0);
  252.                             ps.execute();
  253.                             ps = con.prepareStatement(jcp.getStatement("insertPollAnswer.7"));
  254.                             ps.setInt(1,1);
  255.                             ps.execute();
  256.                             ps = con.prepareStatement(jcp.getStatement("insertPollAnswer.8"));
  257.                             ps.setInt(1,0);
  258.                             ps.execute();
  259.                             break;
  260.                         case 6:
  261.                             ps = con.prepareStatement(jcp.getStatement("insertPollAnswer.3"));
  262.                             ps.setInt(1,0);
  263.                             ps.execute();
  264.                             ps = con.prepareStatement(jcp.getStatement("insertPollAnswer.4"));
  265.                             ps.setInt(1,0);
  266.                             ps.execute();
  267.                             ps = con.prepareStatement(jcp.getStatement("insertPollAnswer.5"));
  268.                             ps.setInt(1,0);
  269.                             ps.execute();
  270.                             ps = con.prepareStatement(jcp.getStatement("insertPollAnswer.6"));
  271.                             ps.setInt(1,0);
  272.                             ps.execute();
  273.                             ps = con.prepareStatement(jcp.getStatement("insertPollAnswer.7"));
  274.                             ps.setInt(1,0);
  275.                             ps.execute();
  276.                             ps = con.prepareStatement(jcp.getStatement("insertPollAnswer.8"));
  277.                             ps.setInt(1,1);
  278.                             ps.execute();
  279.                             break;
  280.                            
  281.                         }
  282.                         success = true;
  283.                     }
  284.                     else if(type.compareTo("add_bad_word") == 0){
  285.                          ps = con.prepareStatement(jcp.getStatement("addBadWord.1"));
  286.                          ps.execute();
  287.                          ps = con.prepareStatement(jcp.getStatement("addBadWord.2"));
  288.                          ps.setString(1, gm.getStringProperty("word").replace("\"","").toLowerCase());
  289.                          ps.execute();
  290.                          success = true;
  291.                     }
  292.                     else if(type.compareTo("filter_message") == 0){
  293.                         ps = con.prepareStatement(jcp.getStatement("filterMessage"));
  294.                         ps.setString(1, gm.getStringProperty("entry_id").replace("\"","").toLowerCase());
  295.                         ps.execute();
  296.                         success = true;
  297.                     }
  298.                     else if(type.compareTo("delete_bad_word") == 0){                       
  299.                         ps = con.prepareStatement(jcp.getStatement("deleteBadword"));
  300.                         ps.setString(1, gm.getStringProperty("word").replace("\"","").toLowerCase());
  301.                         ps.execute();
  302.                         success = true;                                            
  303.                     }
  304.                    
  305.                     //dev only!!!!!!!
  306.                     else if(type.compareTo("purge_messages") == 0){
  307.                         ps = con.prepareStatement(jcp.getStatement("purgeMessages"));
  308.                         ps.execute();
  309.                         success = true;
  310.                     }
  311.                    
  312.                 }
  313.                 else if (transactionType.equals("update"))
  314.                 {
  315.                 }
  316.                 if (loopCount++ > 4)
  317.                 {
  318.                     success = true;
  319.                 }
  320.             }
  321.             catch (Exception e)
  322.             {
  323.                 throw new PluginException("Exception in CompanionDbPlugin: " + e.toString());
  324.                
  325.             }
  326.             finally
  327.             {
  328.                 try {
  329.                     con.commit();
  330.                     JdbcHelper.release(jcp, con, ps, rs);
  331.                     con = null;
  332.                 } catch (Exception e) {
  333.                     throw new PluginException("Exception in CompanionDbPlugin: " + e.toString());
  334.                 }
  335.                
  336.             }
  337.         }
  338.        
  339.         return m;
  340.     }
  341. }
Add Comment
Please, Sign In to add comment