Project

General

Profile

« Previous | Next » 

Revision 667

Added by berkley almost 24 years ago

closed all preparedStatement variables

View differences:

src/edu/ucsb/nceas/metacat/MetacatReplication.java
179 179
    try
180 180
    {
181 181
      Connection conn = util.openDBConnection();
182
      PreparedStatement pstmt;
182
      PreparedStatement pstmt = null;
183 183
      if(subaction.equals("add"))
184 184
      {
185 185
        String replicate = ((String[])params.get("replicate"))[0];
......
249 249
        }
250 250
        out.println("</table></body></html>");
251 251
      }
252
      pstmt.close();
252 253
      conn.close();
253 254
    }
254 255
    catch(Exception e)
......
538 539
      
539 540
      doclist.append("</updates></replication>");
540 541
      MetaCatUtil.debugMessage("doclist: " + doclist.toString());
542
      pstmt.close();
541 543
      conn.close();
542 544
      response.setContentType("text/xml");
543 545
      out.println(doclist.toString());
......
575 577
                                                HttpServletResponse response,
576 578
                                                boolean printFlag)
577 579
  {
580
    Connection conn = null;
581
    PreparedStatement pstmt = null;
578 582
    try
579 583
    {
580
      Connection conn = util.openDBConnection();
581
      PreparedStatement pstmt = conn.prepareStatement("select entry_type, " +
584
      conn = util.openDBConnection();
585
      pstmt = conn.prepareStatement("select entry_type, " +
582 586
                              "source_doctype, target_doctype, public_id, " +
583 587
                              "system_id from xml_catalog");
584 588
      pstmt.execute();
......
604 608
        response.setContentType("text/xml");
605 609
        out.println(sb.toString());
606 610
      }
611
      pstmt.close();
607 612
      return sb.toString();
608 613
    }
609 614
    catch(Exception e)
610 615
    {
616
      try
617
      {
618
        pstmt.close();
619
        conn.close();
620
      }
621
      catch(Exception ee)
622
      {}
611 623
      System.out.println("error in handleGetCatalogRequest: " + e.getMessage());
612 624
      e.printStackTrace(System.out);
613 625
    }
......
685 697
        //System.out.println("server: " + rs.getString(1));
686 698
        return rs.getString(1);
687 699
      }
700
      pstmt.close();
688 701
      conn.close();
689 702
    }
690 703
    catch(Exception e)
......
704 717
   */
705 718
  public static int getServerCode(String server) throws Exception
706 719
  {
720
    Connection conn = null;
721
    PreparedStatement pstmt = null;
707 722
    try
708 723
    {
709
      Connection conn = util.openDBConnection();
710
      PreparedStatement pstmt = conn.prepareStatement("select serverid from " +
724
      conn = util.openDBConnection();
725
      pstmt = conn.prepareStatement("select serverid from " +
711 726
                                         "xml_replication where server " +
712 727
                                         "like '" + server + "'");
713 728
      pstmt.execute();
......
715 730
      boolean tablehasrows = rs.next();
716 731
      int serverCode = 0;
717 732
      if(tablehasrows)
718
      {
719
         return rs.getInt(1);
733
      {  
734
        int ret = rs.getInt(1);
735
        pstmt.close();
736
        conn.close();
737
        return ret;
720 738
      }
721 739
      else
722 740
      {
741
        pstmt.close();
742
        conn.close();
723 743
        return 0;
724 744
      }
725 745
    }
......
727 747
    {
728 748
      throw e;
729 749
    }
750
    finally
751
    {
752
       try
753
       {
754
         pstmt.close();
755
         conn.close();
756
       }
757
       catch(Exception ee) {}
758
    }
730 759
  }
731 760
  
732 761
  /**
......
783 812
   */
784 813
  public static boolean replToServer(String server)
785 814
  {
815
    Connection conn = null;
816
    PreparedStatement pstmt = null;
786 817
    try
787 818
    {
788
      Connection conn = util.openDBConnection();
789
      PreparedStatement pstmt = conn.prepareStatement("select replicate from " + 
790
                                "xml_replication where server like '" +
791
                                server + "'");
819
      conn = util.openDBConnection();
820
      pstmt = conn.prepareStatement("select replicate from " + 
821
                                    "xml_replication where server like '" +
822
                                     server + "'");
792 823
      pstmt.execute();
793 824
      ResultSet rs = pstmt.getResultSet();
794 825
      boolean tablehasrows = rs.next();
......
797 828
        int i = rs.getInt(1);
798 829
        if(i == 1)
799 830
        {
831
          pstmt.close();
832
          conn.close();
800 833
          return true;
801 834
        }
802 835
        else
803 836
        {
837
          pstmt.close();
838
          conn.close();
804 839
          return false;
805 840
        }
806 841
      }
......
809 844
    {
810 845
      System.out.println("error in replToServer: " + e.getMessage());
811 846
    }
847
    finally
848
    {
849
      try
850
      {
851
        pstmt.close();
852
        conn.close();
853
      }
854
      catch(Exception ee)
855
      {}
856
    }
812 857
    return false;
813 858
    //the default if this server does not exist is to not replicate to it.
814 859
  }
src/edu/ucsb/nceas/metacat/DBQuery.java
134 134
  {
135 135
    //System.out.println("in finddocuments");
136 136
      Hashtable   docListResult = new Hashtable();
137
      PreparedStatement pstmt;
137
      PreparedStatement pstmt = null;
138 138
      String docid = null;
139 139
      String docname = null;
140 140
      String doctype = null;
......
144 144
      String fieldname = null;
145 145
      String fielddata = null;
146 146
      String relation = null;
147
      Connection dbconn = null;
147 148
      int rev = 0;
148 149
      StringBuffer document = null; 
149 150
      Vector returndocVec = new Vector();
......
157 158
      }
158 159
      
159 160
      try {
161
        dbconn = util.openDBConnection();
160 162
        // Get the XML query and covert it into a SQL statment
161 163
        QuerySpecification qspec = new QuerySpecification(xmlquery, 
162 164
                                   parserName, 
163 165
                                   util.getOption("accNumSeparator"));
164 166
       // System.out.println(qspec.printSQL());
165
        pstmt = conn.prepareStatement( qspec.printSQL() );
167
        pstmt = dbconn.prepareStatement( qspec.printSQL() );
166 168

  
167 169
        // Execute the SQL query using the JDBC connection
168 170
        pstmt.execute();
169 171
        ResultSet rs = pstmt.getResultSet();
170 172
        boolean tableHasRows = rs.next();
171
        while (tableHasRows) {
173
        while (tableHasRows) 
174
        {
172 175
          docid = rs.getString(1);
173
          if ( !hasPermission(conn, user, group, docid) ) {
176
          if ( !hasPermission(dbconn, user, group, docid) ) {
174 177
            // Advance to the next record in the cursor
175 178
            tableHasRows = rs.next();
176 179
            continue;
......
181 184
          createDate = rs.getString(5);
182 185
          updateDate = rs.getString(6);
183 186
          rev = rs.getInt(7);
187
          
184 188
          //System.out.println("vec.size = " + returndocVec.size());
185 189
          if(returndocVec.size() != 0 && !returndocVec.contains(doctype))
186 190
          { //there are returndocs to match (backtracking can now be performed). 
......
203 207
            //btBuf.append("?docid=").append(docid).append("'");
204 208
            btBuf.append("%docid=").append(docid).append("'");
205 209
            //System.out.println("sql: " + btBuf.toString());
206
            pstmt = conn.prepareStatement(btBuf.toString());
210
            
211
            pstmt = dbconn.prepareStatement(btBuf.toString());
207 212
            pstmt.execute();
208 213
            ResultSet btrs = pstmt.getResultSet();
209 214
            boolean hasBtRows = btrs.next();
......
214 219
              MetacatURL objURL = new MetacatURL(btrs.getString(1));
215 220
              try
216 221
              {
217
                xmldoc = new DocumentImpl(conn, objURL.getParam(0)[1]);
222
                xmldoc = new DocumentImpl(dbconn, objURL.getParam(0)[1]);
218 223
              }
219 224
              catch(Exception e)
220 225
              {
......
262 267

  
263 268
          // Advance to the next record in the cursor
264 269
          tableHasRows = rs.next();
270
          System.out.println("next1");
265 271
        }
272
        System.out.println("rs1.close");
273
        rs.close();
266 274
        
267 275
        if(qspec.containsExtendedSQL())
268 276
        {
......
277 285
            doclist.append("',");
278 286
          }
279 287
          doclist.deleteCharAt(doclist.length()-1); //remove the last comma
280
          pstmt = conn.prepareStatement(qspec.printExtendedSQL(
288
          pstmt.close();
289
          pstmt = dbconn.prepareStatement(qspec.printExtendedSQL(
281 290
                                        doclist.toString()));
282 291
          pstmt.execute();
283 292
          rs = pstmt.getResultSet();
......
285 294
          while(tableHasRows) 
286 295
          {
287 296
            docid = rs.getString(1);
288
            if ( !hasPermission(conn, user, group, docid) ) {continue;}
297
            if ( !hasPermission(dbconn, user, group, docid) ) {continue;}
289 298
            fieldname = rs.getString(2);
290 299
            fielddata = rs.getString(3);
291 300
            
......
298 307
            document.append("</param>");
299 308

  
300 309
            tableHasRows = rs.next();
310
            System.out.println("next2");
301 311
            if(docListResult.containsKey(docid))
302 312
            {
303 313
              String removedelement = (String)docListResult.remove(docid);
......
308 318
              docListResult.put(docid, document.toString()); 
309 319
            }
310 320
          }
321
          System.out.println("rs2.close");
322
          rs.close();
311 323
        }
312 324

  
313 325
        //this loop adds the relation data to the resultdoc
......
320 332
          String docidkey = (String)docidkeys.nextElement();
321 333
          //System.out.println("relationsql: " + qspec.printRelationSQL(
322 334
          //                                           connstring + docidkey));
323
          pstmt = conn.prepareStatement(
335
          pstmt.close();
336
          pstmt = dbconn.prepareStatement(
324 337
                  qspec.printRelationSQL(connstring + docidkey));
325 338
          pstmt.execute();
326 339
          rs = pstmt.getResultSet();
......
355 368
              }
356 369
            }
357 370
            tableHasRows = rs.next();
371
            System.out.println("next3");
358 372
          }
373
          rs.close();
374
          System.out.println("rs3.close");
375
          System.out.println("pstmt.close()");
376
          pstmt.close();
359 377
        }
360
        pstmt.close();
378
        
361 379
      } catch (SQLException e) {
362
        System.err.println("Error getting id: " + e.getMessage());
380
        System.err.println("SQL Error in DBQuery.findDocuments: " + 
381
                           e.getMessage());
363 382
      } catch (IOException ioe) {
364 383
        System.err.println("Error printing qspec:");
365 384
        System.err.println(ioe.getMessage());
385
      } catch (Exception ee) {
386
        System.out.println("error in DBQuery.findDocuments: " + 
387
                           ee.getMessage());
366 388
      }
389
      finally {
390
        try
391
        {
392
          dbconn.close();
393
        }
394
        catch(SQLException sqle)
395
        {
396
          System.out.println("error closing conn in DBQuery.findDocuments");
397
        }
398
      }
367 399
    //System.out.println("docListResult: ");
368 400
    //System.out.println(docListResult.toString());
369 401
    return docListResult;
......
382 414
  {
383 415
    StringBuffer query = new StringBuffer();
384 416
    Vector result = new Vector();
385
    PreparedStatement pstmt;
417
    PreparedStatement pstmt = null;
386 418
    query.append("select nodedata from xml_nodes where parentnodeid in ");
387 419
    query.append("(select nodeid from xml_index where path like '");
388 420
    query.append(nodename);
......
405 437
    catch (SQLException e) 
406 438
    {
407 439
      System.err.println("Error getting id: " + e.getMessage());
408
    } 
409
    
440
    } finally {
441
      try
442
      {
443
        pstmt.close();
444
      }
445
      catch(SQLException sqle) {}
446
    }
410 447
    return result.toArray();
411 448
  }
412 449
  
src/edu/ucsb/nceas/metacat/MetaCatServlet.java
1036 1036
      }
1037 1037
      
1038 1038
      fin.close();
1039
      pstmt.close();
1039 1040
      conn.close();
1040 1041
    }
1041 1042
    catch(Exception e)
src/edu/ucsb/nceas/metacat/DataFileUploadInterface.java
136 136
      Connection conn = util.openDBConnection();
137 137
      PreparedStatement pstmt = conn.prepareStatement(sql.toString());
138 138
      pstmt.execute();
139
      pstmt.close();
139 140
      conn.close();
140 141
    }
141 142
    catch(Exception e)
src/edu/ucsb/nceas/metacat/DocumentImpl.java
413 413
    if(tablehasrows)
414 414
    {
415 415
      int r = rs.getInt(1);
416
      pstmt.close();
416 417
      if(new Integer(rev).intValue() == r)
417 418
      { //the current revision in in xml_documents
418 419
        //System.out.println("returning false");
......
1025 1026
      parser = XMLReaderFactory.createXMLReader(parserName);
1026 1027

  
1027 1028
      // Turn on validation
1028
      parser.setFeature("http://xml.org/sax/features/validation", true);
1029
      parser.setFeature("http://xml.org/sax/features/validation", false);
1029 1030
      // Turn off Including all external parameter entities
1030 1031
      // (the external DTD subset also)
1031 1032
      // Doesn't work well, probably the feature name is not correct
src/edu/ucsb/nceas/metacat/ReplicationHandler.java
103 103
    String update;
104 104
    ReplMessageHandler message = new ReplMessageHandler();
105 105
    Vector responses = new Vector();
106
    PreparedStatement pstmt;
106
    PreparedStatement pstmt = null;
107 107
    ResultSet rs;
108 108
    boolean tablehasrows;
109 109
    boolean flag=false;
......
239 239
          sql.append(datestr).append("', 'YY-MM-DD HH24:MI:SS') where ");
240 240
          sql.append("server like '").append(server).append("'");
241 241
          //System.out.println("sql: " + sql.toString());
242
          pstmt.close();
242 243
          pstmt = conn.prepareStatement(sql.toString());
243 244
          pstmt.executeUpdate();
244 245
          //conn.commit();
......
252 253
      System.out.println("error in update2: " + e.getMessage());
253 254
      e.printStackTrace(System.out);
254 255
    }
256
    finally
257
    {
258
      try
259
      {
260
        pstmt.close();
261
      }
262
      catch(Exception ee) {}
263
    }
255 264
  }
256 265
  
257 266
  /**
......
321 330
            pstmt.setString(4, (String)v.elementAt(3));
322 331
            pstmt.setString(5, (String)v.elementAt(4));
323 332
            pstmt.execute();
333
            pstmt.close();
324 334
          }
325 335
        }
326 336
      }
......
365 375
      sb = new StringBuffer();
366 376
      sb.append("select docid from xml_documents where docid like '");
367 377
      sb.append(docid).append("'");
378
      pstmt.close();
368 379
      pstmt = conn.prepareStatement(sb.toString());
369 380
      pstmt.execute();
370 381
      rs = pstmt.getResultSet();
371 382
      tablehasrows = rs.next();
383
      pstmt.close();
372 384
      if(tablehasrows)
373 385
      {
374 386
        xml_docs = true;
......
396 408
      System.out.println("error in alreadyDeleted: " + e.getMessage());
397 409
      e.printStackTrace(System.out);
398 410
    }
411
    finally
412
    {
413
      
414
    }
399 415
    return false;
400 416
  }
401 417
  
......
418 434

  
419 435
      if(rs.next())
420 436
      {
437
        pstmt.close();
421 438
        conn.close();
422 439
        return "UPDATE";
423 440
      }
424 441
      else
425 442
      {
443
        pstmt.close();
426 444
        conn.close();
427 445
        return "INSERT";
428 446
      }
......
464 482
        }
465 483
        tableHasRows = rs.next();   
466 484
      }
485
      pstmt.close();
467 486
    }
468 487
    catch(Exception e)
469 488
    {
src/edu/ucsb/nceas/metacat/RelationHandler.java
102 102
        String object = rs.getString(3);
103 103
      
104 104
        //compare r to each relation in xml_relation
105
        pstmt.close();
105 106
        pstmt = conn.prepareStatement("select subject, subdoctype, " +
106 107
                                      "relationship, object, objdoctype " +
107 108
                                      "from xml_relation");
src/edu/ucsb/nceas/metacat/DocumentIdentifier.java
104 104
      if(tablehasrows)
105 105
      {
106 106
        String retStr = rs.getString(1);
107
        pstmt.close();
107 108
        conn.close();
108 109
        return retStr;
109 110
      }
src/edu/ucsb/nceas/metacat/AccessControlList.java
430 430
  private void insertPermissions( String permType ) 
431 431
          throws SQLException 
432 432
  {
433
    PreparedStatement pstmt;
433
    PreparedStatement pstmt = null;
434 434
 
435 435
    try {
436 436
      pstmt = conn.prepareStatement(
......
461 461
    } catch (SQLException e) {
462 462
      throw new 
463 463
      SQLException("AccessControlList.insertPermissions(): " + e.getMessage());
464
    } finally {
465
      pstmt.close();
464 466
    }
465 467
  }
466 468

  

Also available in: Unified diff