/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 8 ĠSe an ĠG ri mes . ĠAll ĠRights ĠReserved . Ċ Ġ* ĠLicense : ĠMIT Ċ Ġ*/ Ċ Ċ package Ġedu . ante v ort adb . db Interaction . db creator . reddit . submissions Ċ Ċ import Ġedu . ante v ort adb . db Interaction . DB Common Ċ import Ġedu . ante v ort adb . db Interaction . db creator . Json Push er Ċ import Ġjava . sql . PreparedStatement Ċ import Ġjava . sql . SQLException Ċ import Ġorg . json . JSONObject Ċ Ċ @ Suppress (" unused ") Ċ class ĠSub missions Json Push er Ġ: ĠJson Push er Ġ{ ĊĠĠĠ Ġ// ĠThis Ġclass Ġdoesn 't Ġstore Ġanything , Ġthe Ġbelow Ġvariables Ġwill Ġbe Ġsplit Ġbetween ĠJson Push er ĊĠĠĠ Ġ// Ġand ĠData Push er ĊĠĠĠ Ġconstructor (): Ġsuper () ĊĠĠĠ Ġconstructor ( db Path : ĠString , Ġjson Lines : ĠList < String >, Ġcolumn Names : ĠList < String >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtableName : ĠString ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ: Ġsuper ( db Path , Ġjson Lines , Ġcolumn Names , ĠtableName ) ĊĊĠĠĠ Ġoverride Ġfun Ġparse And Push DataTo DB () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsql Ġ= Ġbuild Insertion String () ĊĠĠĠĠĠĠĠ Ġval Ġconn Ġ= ĠDB Common . connect ( this . DB ) ĊĠĠĠĠĠĠĠ Ġvar Ġps : ĠPreparedStatement ? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġtry { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġps Ġ= Ġconn . prepareStatement ( sql ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconn . auto Commit Ġ= Ġfalse ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor ( i Ġin Ġ 0 Ġuntil Ġthis . num Objects ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠKey Ġindexes Ġthe ĠPreparedStatement Ġobject ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġkey Ġ= Ġ 1 ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġcolumn Ġ= Ġarchived ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġarchived Ġ= Ġif Ġ( this . json Objects [ i ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. opt Boolean (" arch ived ", Ġfalse )) Ġ 1 Ġelse Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġps . setInt ( key , Ġarchived ); Ġ++ key ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġcolumn Ġ= Ġauthor ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġauthor Ġ= Ġthis . json Objects [ i ]. opt String (" author ", Ġ" null ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġps . setString ( key , Ġauthor ); Ġ++ key ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġcolumn Ġ= Ġbrand _ safe ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbrand Safe Ġ= Ġif Ġ( this . json Objects [ i ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. opt Boolean (" brand _ safe ", Ġfalse )) Ġ 1 Ġelse Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġps . setInt ( key , Ġbrand Safe ); Ġ++ key ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġcolumn Ġ= Ġcontest _ mode ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcontest Mode Ġ= Ġif Ġ( this . json Objects [ i ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. opt Boolean (" contest _ mode ", Ġfalse )) Ġ 1 Ġelse Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġps . setInt ( key , Ġcontest Mode ); Ġ++ key ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġcolumn Ġ= Ġcreated _ dt ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcreated UTC Ġ= Ġthis . json Objects [ i ]. opt Long (" created _ utc ", Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġps . set Long ( key , Ġcreated UTC ); Ġ++ key ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġcolumn Ġ= Ġdistingu ished ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdis Ġ= Ġthis . json Objects [ i ]. opt String (" dist ingu ished ", Ġ" null ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġps . setString ( key , Ġdis ); Ġ++ key ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġcolumn Ġ= Ġhost _ domain ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġhost Domain Ġ= Ġthis . json Objects [ i ]. opt String (" domain ", Ġ" null ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġps . setString ( key , Ġhost Domain ); Ġ++ key ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġcolumn Ġ= Ġedited ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġedited Ġ= Ġif Ġ( this . json Objects [ i ]. opt Boolean (" edited ", Ġfalse )) Ġ 1 Ġelse Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġps . setInt ( key , Ġedited ); Ġ++ key ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġcolumn Ġ= Ġg il ded ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġg il ded Count Ġ= Ġthis . json Objects [ i ]. opt Int (" gil ded ", Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġps . setInt ( key , Ġg il ded Count ); Ġ++ key ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġcolumn Ġ= Ġhidden ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġhidden Ġ= Ġif Ġ( this . json Objects [ i ]. opt Boolean (" hidden ", Ġfalse )) Ġ 1 Ġelse Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġps . setInt ( key , Ġhidden ); Ġ++ key ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġcolumn Ġ= Ġpid ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpid Ġ= Ġthis . json Objects [ i ]. opt String (" id ", Ġ" null ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġps . setString ( key , Ġpid ); Ġ++ key ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġcolumn Ġ= Ġis _ self _ post ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġis Self Post Ġ= Ġif Ġ( this . json Objects [ i ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. opt Boolean (" is _ self ", Ġfalse )) Ġ 1 Ġelse Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġps . setInt ( key , Ġis Self Post ); Ġ++ key ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġcolumn Ġ= Ġis _ video _ post ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġis Video Post Ġ= Ġif Ġ( this . json Objects [ i ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. opt Boolean (" is _ video ", Ġfalse )) Ġ 1 Ġelse Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġps . setInt ( key , Ġis Video Post ); Ġ++ key ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġcolumn Ġ= Ġlink _ fl air _ text ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlink Fl air Ġ= Ġthis . json Objects [ i ]. opt String (" link _ fl air _ text ", Ġ" null ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġps . setString ( key , Ġlink Fl air ); Ġ++ key ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġcolumn Ġ= Ġis _ locked ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġis Locked Ġ= Ġif Ġ( this . json Objects [ i ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. opt Boolean (" locked ", Ġfalse )) Ġ 1 Ġelse Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġps . setInt ( key , Ġis Locked ); Ġ++ key ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġcolumn Ġ= Ġnum _ comments ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnum Comments Ġ= Ġthis . json Objects [ i ]. opt Int (" num _ comments ", Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġps . setInt ( key , Ġnum Comments ); Ġ++ key ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠG ather Ġthe Ġinner Ġobject Ġfor Ġthe Ġmedia Ġrelated Ġitems ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmedia Object Ġ= Ġjson Objects [ i ]. opt JSONObject (" media ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġmed Embed : ĠJSONObject ? Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( media Object Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmed Embed Ġ= Ġmedia Object . opt JSONObject (" o embed ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( med Embed Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġcolumn Ġ= Ġmedia _ author _ name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmed Author Name Ġ= Ġmed Embed . opt String (" author _ name ", Ġ" null ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġps . setString ( key , Ġmed Author Name ); Ġ++ key ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġcolumn Ġ= Ġmedia _ provider _ name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmed Provider Name Ġ= Ġmed Embed . opt String (" provider _ name ", Ġ" null ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġps . setString ( key , Ġmed Provider Name ); Ġ++ key ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġcolumn Ġ= Ġmedia _ title ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmed Title Ġ= Ġmed Embed . opt String (" title ", Ġ" null ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġps . setString ( key , Ġmed Title ); Ġ++ key ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġcolumn Ġ= Ġmedia _ type ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmed Type Ġ= Ġmed Embed . opt String (" type ", Ġ" null ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġps . setString ( key , Ġmed Type ); Ġ++ key ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( media Object Ġ== Ġnull Ġ|| Ġmed Embed Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġps . setString ( key , Ġ""); Ġ++ key ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġps . setString ( key , Ġ""); Ġ++ key ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġps . setString ( key , Ġ""); Ġ++ key ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġps . setString ( key , Ġ""); Ġ++ key ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġcolumn Ġ= Ġnum _ cros sp ost s ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnum C ros sp ost s Ġ= Ġthis . json Objects [ i ]. opt Int (" num _ cros sp ost s ", Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġps . setInt ( key , Ġnum C ros sp ost s ); Ġ++ key ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġcolumn Ġ= Ġover _ 1 8 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġover 1 8 Ġ= Ġif Ġ( this . json Objects [ i ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. opt Boolean (" over _ 1 8 ", Ġfalse )) Ġ 1 Ġelse Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġps . setInt ( key , Ġover 1 8 ); Ġ++ key ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġcolumn Ġ= Ġper malink ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġper malink Ġ= Ġthis . json Objects [ i ]. opt String (" permalink ", Ġ" null ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġps . setString ( key , Ġper malink ); Ġ++ key ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġcolumn Ġ= Ġis _ pinned ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġis Pin ned Ġ= Ġif Ġ( this . json Objects [ i ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. opt Boolean (" pinned ", Ġfalse )) Ġ 1 Ġelse Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġps . setInt ( key , Ġis Pin ned ); Ġ++ key ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġcolumn Ġ= Ġscrap ed _ on ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġscrap ed UTC Ġ= Ġthis . json Objects [ i ]. opt Long (" retrie ved _ on ", Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġps . set Long ( key , Ġscrap ed UTC ); Ġ++ key ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġcolumn Ġ= Ġscore ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġscore Ġ= Ġthis . json Objects [ i ]. opt Int (" score ", Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġps . setInt ( key , Ġscore ); Ġ++ key ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġcolumn Ġ= Ġself text ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġself text Ġ= Ġthis . json Objects [ i ]. opt String (" self text ", Ġ" null ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġps . setString ( key , Ġself text ); Ġ++ key ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġcolumn Ġ= Ġis _ stick ied ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġis Stick ied Ġ= Ġif Ġ( this . json Objects [ i ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. opt Boolean (" stick ied ", Ġfalse )) Ġ 1 Ġelse Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġps . setInt ( key , Ġis Stick ied ); Ġ++ key ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġcolumn Ġ= Ġsub reddit _ name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsub reddit Name Ġ= Ġthis . json Objects [ i ]. opt String (" sub reddit ", Ġ" null ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġps . setString ( key , Ġsub reddit Name ); Ġ++ key ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġcolumn Ġ= Ġsub reddit _ id ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsub reddit ID Ġ= Ġthis . json Objects [ i ]. opt String (" sub reddit _ id ", Ġ" null ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġps . setString ( key , Ġsub reddit ID ); Ġ++ key ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġcolumn Ġ= Ġsub reddit _ type ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsub reddit Type Ġ= Ġthis . json Objects [ i ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. opt String (" sub reddit _ type ", Ġ" null ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġps . setString ( key , Ġsub reddit Type ); Ġ++ key ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġcolumn Ġ= Ġpost _ title ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpost Title Ġ= Ġthis . json Objects [ i ]. opt String (" title ", Ġ" null ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġps . setString ( key , Ġpost Title ); Ġ++ key ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġcolumn Ġ= Ġlink _ url ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlink URL Ġ= Ġthis . json Objects [ i ]. opt String (" url ", Ġ" null ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġps . setString ( key , Ġlink URL ); Ġ++ key ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġps . add Batch () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġps . execute Batch () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconn . commit () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġcatch ( e : ĠSQLException ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpush er Catch Block ( e , Ġconn ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfinally { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpush er Finally Block ( conn , Ġps ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ