Skip to content

Commit d439fa6

Browse files
authored
Update DataBaseServer.java
1 parent 78eb964 commit d439fa6

File tree

1 file changed

+40
-43
lines changed

1 file changed

+40
-43
lines changed

src/main/java/org/owasp/benchmark/helpers/DataBaseServer.java

Lines changed: 40 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -12,77 +12,74 @@
1212
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
1313
* PURPOSE. See the GNU General Public License for more details
1414
*
15-
* @author Juan Gama
15+
* @author Juan Gama and modified by nesterXneo
1616
* @created 2015
1717
*/
1818
package org.owasp.benchmark.helpers;
1919

2020
import java.io.IOException;
21+
import java.sql.Connection;
22+
import java.sql.PreparedStatement;
23+
import java.sql.ResultSet;
24+
import java.sql.SQLException;
2125
import java.util.ArrayList;
2226
import java.util.List;
2327
import javax.servlet.ServletException;
24-
import javax.servlet.http.HttpServletRequest;
25-
import javax.servlet.http.HttpServletResponse;
2628
import org.owasp.benchmark.service.pojo.Person;
2729
import org.owasp.benchmark.service.pojo.XMLMessage;
30+
import org.springframework.beans.factory.annotation.Autowired;
2831
import org.springframework.http.HttpStatus;
2932
import org.springframework.http.ResponseEntity;
3033
import org.springframework.web.bind.annotation.GetMapping;
3134
import org.springframework.web.bind.annotation.PostMapping;
3235
import org.springframework.web.bind.annotation.RequestBody;
3336
import org.springframework.web.bind.annotation.RestController;
37+
import org.slf4j.Logger;
38+
import org.slf4j.LoggerFactory;
3439

3540
@RestController
3641
public class DataBaseServer {
3742

43+
private static final Logger logger = LoggerFactory.getLogger(DataBaseServer.class);
44+
private static final String NOT_IMPLEMENTED = "Not Implemented.";
45+
46+
@Autowired
47+
private DatabaseService databaseService;
48+
3849
@GetMapping(value = "/resetdb")
39-
public ResponseEntity<List<XMLMessage>> getOtherOrder(
40-
@RequestBody Person model, HttpServletRequest request, HttpServletResponse response)
41-
throws ServletException, IOException {
42-
ArrayList<XMLMessage> resp = new ArrayList<XMLMessage>();
43-
resp.add(new XMLMessage("Not Implemented."));
44-
return new ResponseEntity<List<XMLMessage>>(resp, HttpStatus.OK);
50+
public ResponseEntity<List<XMLMessage>> resetDatabase(@RequestBody Person model) {
51+
List<XMLMessage> resp = new ArrayList<>();
52+
resp.add(new XMLMessage(NOT_IMPLEMENTED));
53+
return new ResponseEntity<>(resp, HttpStatus.OK);
4554
}
4655

4756
@PostMapping(value = "/testdb")
48-
public ResponseEntity<List<XMLMessage>> createOrder2(
49-
@RequestBody Person model, HttpServletRequest request, HttpServletResponse response)
50-
throws ServletException, IOException {
51-
List<XMLMessage> resp = new ArrayList<XMLMessage>();
52-
resp.add(new XMLMessage("Not Implemented."));
53-
return new ResponseEntity<List<XMLMessage>>(resp, HttpStatus.OK);
57+
public ResponseEntity<List<XMLMessage>> testDatabase(@RequestBody Person model) {
58+
List<XMLMessage> resp = new ArrayList<>();
59+
resp.add(new XMLMessage(NOT_IMPLEMENTED));
60+
return new ResponseEntity<>(resp, HttpStatus.OK);
5461
}
5562

5663
@GetMapping(value = "/getall")
57-
public ResponseEntity<List<XMLMessage>> getAll(
58-
HttpServletRequest request, HttpServletResponse response)
59-
throws ServletException, IOException {
60-
List<XMLMessage> resp = new ArrayList<XMLMessage>();
64+
public ResponseEntity<List<XMLMessage>> getAll() {
65+
List<XMLMessage> resp = new ArrayList<>();
6166
String sql = "SELECT * from USERS";
62-
try {
63-
java.sql.Connection connection =
64-
org.owasp.benchmark.helpers.DatabaseHelper.getSqlConnection();
65-
java.sql.PreparedStatement statement = connection.prepareStatement(sql);
66-
statement.execute();
67-
org.owasp.benchmark.helpers.DatabaseHelper.printResults(statement, sql, resp);
68-
} catch (java.sql.SQLException e) {
69-
if (org.owasp.benchmark.helpers.DatabaseHelper.hideSQLErrors) {
70-
e.printStackTrace();
71-
resp.add(new XMLMessage("Error processing request: " + e.getMessage()));
72-
return new ResponseEntity<List<XMLMessage>>(resp, HttpStatus.OK);
73-
} else throw new ServletException(e);
67+
68+
try (Connection connection = databaseService.getConnection();
69+
PreparedStatement statement = connection.prepareStatement(sql);
70+
ResultSet resultSet = statement.executeQuery()) {
71+
72+
while (resultSet.next()) {
73+
// Process each row and add to resp
74+
// This is a placeholder - adjust according to your actual data structure
75+
resp.add(new XMLMessage(resultSet.getString("username")));
76+
}
77+
78+
return new ResponseEntity<>(resp, HttpStatus.OK);
79+
} catch (SQLException e) {
80+
logger.error("Database error occurred", e);
81+
resp.add(new XMLMessage("An error occurred while processing your request."));
82+
return new ResponseEntity<>(resp, HttpStatus.INTERNAL_SERVER_ERROR);
7483
}
75-
return new ResponseEntity<List<XMLMessage>>(resp, HttpStatus.OK);
76-
}
77-
78-
public static void main(String[] args) {
79-
// This empty main() method is required to be able to start the Database. Otherwise you get
80-
// the error:
81-
82-
/*
83-
[java] Error: Main method not found in class org.owasp.benchmark.helpers.DataBaseServer, please define the main method as:
84-
[java] public static void main(String[] args)
85-
[java] or a JavaFX application class must extend javafx.application.Application
86-
*/
8784
}
8885
}

0 commit comments

Comments
 (0)