SRS – Response Handling Part 3


We posted code in four different articles. You can read and obtain code from links given below :-
SRS – Server Side Code Part 1
SRS – Server Side Code Part 2
SRS – Server Side Code Part 3
SRS – Android Client Code Part 4

SRS – Response Handling

package questions;

import java.io.Serializable;

import services.*;

/**
 * 
 * @author Gulraiz
 *
 */

public class AnswerSheet implements Serializable {

	private static final long serialVersionUID = 1L;
	Question question;
	User user;
	private int time_spent;
	public static int total_corr_ans = 0;
	public static int total_wr_ans = 0;
	private boolean isCorrect;

	public AnswerSheet(Question ques, String answer, User user, int timeSpent) {
		this.question = ques;
		this.time_spent = timeSpent;
		this.user = user;

		if (this.question.getAnswer().equals(answer)) {
			isCorrect = true;
			total_corr_ans++;
		}

		else {
			isCorrect = false;
			total_wr_ans++;
		}
	}

	public boolean isCorrectAns() {
		return isCorrect;
	}

	public int timeSpent() {
		return this.time_spent;
	}

}

Abstract class – Question

package questions;

import java.io.Serializable;

/**
 * 
 * @author Gulraiz
 *
 */
public abstract class Question implements Serializable {

	private static final long serialVersionUID = 1L;
	public String q_description;
	public String q_topic;

	public static int t_questions;

	Question(String des, String topic) {
		this.q_description = des;
		this.q_topic = topic;
		t_questions++;
	}

	public String getDescription() {
		return this.q_description;
	}

	public String getTopic() {
		return this.q_topic;
	}

	public abstract String getHTML();

	public abstract String getClientString();

	public abstract String getAnswer();
}

Double Choiced Question class

package questions;

/**
 * 
 * @author Gulraiz
 *
 */
public class DoubleChoiced extends Question {

	private String choice1;
	private String choice2;

	private String answer;

	public DoubleChoiced(String Qus, String topic, String choice1, String choice2, String answer) {
		super(Qus, topic);
		this.choice1 = choice1;
		this.choice2 = choice2;
	}

	public String getChoice1() {
		return choice1;
	}

	public String getChoice2() {
		return choice2;
	}

	public String getAnswer() {
		return this.answer;
	}

	@Override
	public String getHTML() {
		String str = "

" + this.getDescription() + "

  • " + this.choice1 + "
  • " + this.choice2 + "
  • "; return str; } @Override public String getClientString() { String str = this.getDescription() + ":" + this.getChoice1() + ":" + this.getChoice2(); return str; } }

Class handling 3 choices – Triple

package questions;

/**
 * 
 * @author Gulraiz
 *
 */
public class TripleChoiced extends Question {
	private String choice1;
	private String choice2;
	private String choice3;

	private String answer;

	public TripleChoiced(String Qus, String topic, String choice1, String choice2, String choice3, String answer) {
		super(Qus, topic);
		this.choice1 = choice1;
		this.choice2 = choice2;
		this.choice3 = choice3;
		this.answer = answer;
	}

	public String getChoice1() {
		return choice1;
	}

	public String getChoice2() {
		return choice2;
	}

	public String getChoice3() {
		return choice3;
	}

	public String getAnswer() {
		return this.answer;
	}

	@Override
	public String getHTML() {
		String str = "

" + this.getDescription() + "

  • " + this.choice1 + "
  • " + this.choice2 + "
  • " + this.choice3 + "
  • "; return str; } @Override public String getClientString() { String str = this.getDescription() + ":" + this.getChoice1() + ":" + this.getChoice2() + ":" + this.getChoice3(); return str; } }

Class handling 4 choices – Triple

package questions;

/**
 * 
 * @author Gulraiz
 *
 */

public class FourthChoiced extends Question {
	private String choice1;
	private String choice2;
	private String choice3;
	private String choice4;

	private String answer;

	public FourthChoiced(String Qus, String topic, String choice1, String choice2, String choice3, String choice4,
			String answer) {
		super(Qus, topic);
		this.choice1 = choice1;
		this.choice2 = choice2;
		this.choice3 = choice3;
		this.choice4 = choice4;
		this.answer = answer;
	}

	public String getChoice1() {
		return choice1;
	}

	public String getChoice2() {
		return choice2;
	}

	public String getChoice3() {
		return choice3;
	}

	public String getChoice4() {
		return choice4;
	}

	public String getAnswer() {
		return this.answer;
	}

	@Override
	public String getHTML() {
		String str = "

" + this.getDescription() + "

  • " + this.choice1 + "
  • " + this.choice2 + "
  • " + this.choice3 + "
  • " + this.choice4 + "
  • "; return str; } @Override public String getClientString() { String str = this.getDescription() + ":" + this.getChoice1() + ":" + this.getChoice2() + ":" + this.getChoice3() + ":" + this.getChoice4(); return str; } }

One can add more type of question to provide support to free text and voice answer.

No Responses