/** Web service operation */ @WebMethod(operationName = "getQuestionById") @WebResult(name = "Question") public Question getQuestionById(@WebParam(name = "id") int id) { Question questionresult = null; try { Statement statement = conn.createStatement(); String sql; sql = "SELECT * FROM Question WHERE id=?"; PreparedStatement dbStatement = conn.prepareStatement(sql); dbStatement.setInt(1, id); ResultSet result = dbStatement.executeQuery(); if (result.next()) { int count = countAnswer(result.getInt("id")); UserWS userws = new UserWS(); User user = userws.getUserById(result.getInt("user_id")); questionresult = new Question( result.getInt("id"), result.getInt("user_id"), result.getString("topic"), result.getString("content"), result.getInt("vote"), result.getString("date"), count, user.getUserName()); } else { questionresult = new Question(); } result.close(); statement.close(); } catch (SQLException ex) { Logger.getLogger(QuestionWS.class.getName()).log(Level.SEVERE, null, ex); } return questionresult; }
@WebMethod(operationName = "showAllQuestion") @WebResult(name = "Question") public java.util.ArrayList<Question> showAllQuestion() { ArrayList<Question> questions = new ArrayList<Question>(); try { Statement statement = conn.createStatement(); String sql; sql = "SELECT * FROM Question ORDER BY id DESC"; PreparedStatement dbStatement = conn.prepareStatement(sql); ResultSet result = dbStatement.executeQuery(); while (result.next()) { int count = countAnswer(result.getInt("id")); UserWS userws = new UserWS(); User user = userws.getUserById(result.getInt("user_id")); questions.add( new Question( result.getInt("id"), result.getInt("user_id"), result.getString("topic"), result.getString("content"), result.getInt("vote"), result.getString("date"), count, user.getUserName())); } result.close(); statement.close(); } catch (SQLException ex) { Logger.getLogger(QuestionWS.class.getName()).log(Level.SEVERE, null, ex); } return questions; }
@WebMethod(operationName = "getAnswerByQuestionId") @WebResult(name = "Answer") public java.util.ArrayList<Answer> getAnswerByQuestionId(@WebParam(name = "id") int id) { ArrayList<Answer> answers = new ArrayList<Answer>(); try { Statement statement = conn.createStatement(); String sql; sql = "SELECT * FROM Answer WHERE question_id=?"; PreparedStatement dbStatement = conn.prepareStatement(sql); dbStatement.setInt(1, id); ResultSet result = dbStatement.executeQuery(); while (result.next()) { UserWS userws = new UserWS(); User user = userws.getUserById(result.getInt("user_id")); answers.add( new Answer( result.getInt("id"), result.getInt("question_id"), result.getInt("user_id"), result.getString("content"), result.getInt("vote"), result.getString("date"), user.getUserName())); } result.close(); statement.close(); } catch (SQLException ex) { Logger.getLogger(AnswerWS.class.getName()).log(Level.SEVERE, null, ex); } return answers; }