Skip to content

Commit 21e91b8

Browse files
author
Manish
committed
Manish - Adding QuestionsAnswers done
1 parent 478c78d commit 21e91b8

13 files changed

Lines changed: 330 additions & 8 deletions

File tree

OnlineTutorial/src/main/java/com/project/tutorial/controller/DispatcherController.java

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import org.springframework.web.bind.annotation.RequestMethod;
1212

1313
import com.project.tutorial.model.Course;
14+
import com.project.tutorial.model.QuestionsAnswers;
1415
import com.project.tutorial.service.CourseService;
1516

1617
@Controller
@@ -39,6 +40,7 @@ public String listCourses(Model model) {
3940
model.addAttribute("listCourses", this.courseService.getListOfCourses());
4041
return "Test";
4142
}
43+
4244
@RequestMapping(value = "/course/add", method = RequestMethod.POST)
4345
public String addCourse(@ModelAttribute("course") Course c){
4446

@@ -61,6 +63,30 @@ public String addCourse(@ModelAttribute("course") Course c){
6163

6264
}
6365

66+
@RequestMapping(value = "/questionsAnswers", method = RequestMethod.GET)
67+
public String addQuestionsAnswers(Model model){
68+
69+
System.out.println("in questionsAnswers page");
70+
71+
model.addAttribute("questionsAnswers", new QuestionsAnswers());
72+
73+
return "AddQuestionsAnswers";
74+
}
75+
76+
@RequestMapping(value = "/add/questionsAnswers", method = RequestMethod.POST)
77+
public String addQuestionsAnswers(@ModelAttribute("questionsAnswers") QuestionsAnswers qa){
78+
79+
/* int courseId = qa.getCourseId();
80+
81+
Course c = this.courseService.getCourseById(courseId);
82+
83+
qa.setCourse(c);
84+
*/
85+
this.courseService.addQuestionsAnswers(qa);
86+
87+
return "redirect:/questionsAnswers";
88+
89+
}
6490

6591

6692

OnlineTutorial/src/main/java/com/project/tutorial/dao/CourseDAO.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import java.util.List;
44

55
import com.project.tutorial.model.Course;
6+
import com.project.tutorial.model.QuestionsAnswers;
67

78
public interface CourseDAO {
89

@@ -15,6 +16,8 @@ public interface CourseDAO {
1516
Course getCourseById(int courseId);
1617

1718
void removeCourse(Course c);
19+
20+
void addQuestionsAnswers(QuestionsAnswers qa);
1821

1922

2023

OnlineTutorial/src/main/java/com/project/tutorial/dao/CourseDAOImpl.java

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,12 @@
22

33
import java.util.List;
44

5+
import org.hibernate.HibernateException;
56
import org.hibernate.Session;
67
import org.hibernate.SessionFactory;
78

89
import com.project.tutorial.model.Course;
10+
import com.project.tutorial.model.QuestionsAnswers;
911

1012
public class CourseDAOImpl implements CourseDAO{
1113

@@ -51,12 +53,29 @@ public void updateCourse(Course c) {
5153

5254
public Course getCourseById(int courseId) {
5355
// TODO Auto-generated method stub
54-
return null;
56+
Session session = this.sessionFactory.getCurrentSession();
57+
Course c = (Course) session.get(Course.class, courseId);
58+
return c;
5559
}
5660

5761
public void removeCourse(Course c) {
5862
// TODO Auto-generated method stub
5963

6064
}
6165

66+
public void addQuestionsAnswers(QuestionsAnswers qa) throws HibernateException{
67+
68+
try{
69+
System.out.println("In Dao, qa as "+qa);
70+
71+
Session session = this.sessionFactory.getCurrentSession();
72+
73+
session.persist(qa);
74+
}catch(HibernateException he){
75+
System.out.println("some exception data didnot get saved");
76+
he.printStackTrace();
77+
}
78+
79+
}
80+
6281
}
Lines changed: 129 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,129 @@
1+
package com.project.tutorial.model;
2+
3+
public class QuestionsAnswers {
4+
5+
// fields
6+
7+
private int questionId;
8+
9+
//private Course course;
10+
11+
private int courseId;
12+
13+
private String question;
14+
15+
private String optionA;
16+
17+
private String optionB;
18+
19+
private String optionC;
20+
21+
private String optionD;
22+
23+
private String answer;
24+
25+
private String explanations;
26+
27+
private String relatedLinks;
28+
29+
// getters and setters
30+
31+
public int getQuestionId() {
32+
return questionId;
33+
}
34+
35+
public void setQuestionId(int questionId) {
36+
this.questionId = questionId;
37+
}
38+
39+
public String getQuestion() {
40+
return question;
41+
}
42+
43+
/*public Course getCourse() {
44+
return course;
45+
}
46+
47+
public void setCourse(Course course) {
48+
this.course = course;
49+
}
50+
*/
51+
public int getCourseId() {
52+
return courseId;
53+
}
54+
55+
public void setCourseId(int courseId) {
56+
this.courseId = courseId;
57+
}
58+
59+
public void setQuestion(String question) {
60+
this.question = question;
61+
}
62+
63+
64+
public String getAnswer() {
65+
return answer;
66+
}
67+
68+
public void setAnswer(String answer) {
69+
this.answer = answer;
70+
}
71+
72+
public String getOptionA() {
73+
return optionA;
74+
}
75+
76+
public void setOptionA(String optionA) {
77+
this.optionA = optionA;
78+
}
79+
80+
public String getOptionB() {
81+
return optionB;
82+
}
83+
84+
public void setOptionB(String optionB) {
85+
this.optionB = optionB;
86+
}
87+
88+
public String getOptionC() {
89+
return optionC;
90+
}
91+
92+
public void setOptionC(String optionC) {
93+
this.optionC = optionC;
94+
}
95+
96+
public String getOptionD() {
97+
return optionD;
98+
}
99+
100+
public void setOptionD(String optionD) {
101+
this.optionD = optionD;
102+
}
103+
104+
public String getExplanations() {
105+
return explanations;
106+
}
107+
108+
public void setExplanations(String explanations) {
109+
this.explanations = explanations;
110+
}
111+
112+
public String getRelatedLinks() {
113+
return relatedLinks;
114+
}
115+
116+
public void setRelatedLinks(String relatedLinks) {
117+
this.relatedLinks = relatedLinks;
118+
}
119+
120+
@Override
121+
public String toString() {
122+
return "QuestionsAnswers [questionId=" + questionId + ", courseId=" + courseId
123+
+ ", question=" + question + ", optionA=" + optionA + ", optionB=" + optionB + ", optionC=" + optionC
124+
+ ", optionD=" + optionD + ", answer=" + answer + ", explanations=" + explanations + ", relatedLinks="
125+
+ relatedLinks + "]";
126+
}
127+
128+
129+
}

OnlineTutorial/src/main/java/com/project/tutorial/service/CourseService.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import java.util.List;
44

55
import com.project.tutorial.model.Course;
6+
import com.project.tutorial.model.QuestionsAnswers;
67

78
public interface CourseService {
89

@@ -16,5 +17,6 @@ public interface CourseService {
1617

1718
void removeCourse(Course c);
1819

20+
void addQuestionsAnswers(QuestionsAnswers qa);
1921

2022
}

OnlineTutorial/src/main/java/com/project/tutorial/service/CourseServiceImpl.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
import com.project.tutorial.dao.CourseDAO;
88
import com.project.tutorial.model.Course;
9+
import com.project.tutorial.model.QuestionsAnswers;
910

1011

1112

@@ -40,14 +41,22 @@ public void updateCourse(Course C) {
4041

4142
}
4243

44+
@Transactional
4345
public Course getCourseById(int courseId) {
4446
// TODO Auto-generated method stub
45-
return null;
47+
return this.courseDao.getCourseById(courseId);
4648
}
4749

4850
public void removeCourse(Course c) {
4951
// TODO Auto-generated method stub
5052

5153
}
5254

55+
@Transactional
56+
public void addQuestionsAnswers(QuestionsAnswers qa) {
57+
// TODO Auto-generated method stub
58+
this.courseDao.addQuestionsAnswers(qa);
59+
60+
}
61+
5362
}

OnlineTutorial/src/main/resources/conf/hibernate.cfg.xml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,16 @@
22
<!DOCTYPE hibernate-configuration PUBLIC
33
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
44
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
5-
<hibernate-configuration>
5+
6+
<hibernate-configuration>
7+
68
<session-factory>
79

810
<!-- List of mapping files-->
911
<mapping resource="Course.hbm.xml"/>
1012

13+
<mapping resource="QuestionsAnswers.hbm.xml"/>
14+
1115

1216
</session-factory>
1317
</hibernate-configuration>
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE hibernate-mapping PUBLIC
3+
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
4+
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
5+
6+
<hibernate-mapping package="com.project.tutorial.model">
7+
8+
<class name="QuestionsAnswers" table="questions_answers">
9+
10+
<id name="questionId" column="question_id">
11+
<generator class="identity"/>
12+
</id>
13+
14+
15+
<!-- <many-to-one name="course" class="com.project.tutorial.model.Course" column="course_id" unique="true" not-null="true"
16+
cascade="all" >
17+
18+
</many-to-one> -->
19+
<property name="courseId" column="course_id" not-null="true"> </property>
20+
21+
22+
<property name="question" column="question" not-null="true" unique="true"/>
23+
<property name="optionA" column="option_A" not-null="true"/>
24+
<property name="optionB" column="option_B" not-null="true"/>
25+
<property name="optionC" column="option_C" not-null="true" />
26+
<property name="optionD" column="option_D" not-null="true" />
27+
28+
<property name="answer" column="answer" not-null="true"/>
29+
<property name="explanations" column="explanations" />
30+
<property name="relatedLinks" column="related_links" />
31+
32+
33+
</class>
34+
</hibernate-mapping>

OnlineTutorial/src/main/webapp/WEB-INF/properties/db.properties

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,5 @@ db.dialect=org.hibernate.dialect.MySQLDialect
33
db.databaseurl=jdbc:mysql://localhost/tutorial
44
db.username=root
55
db.password=root
6-
db.show_sql=true
6+
db.show_sql=true
7+
db.hbm2ddl=update

OnlineTutorial/src/main/webapp/WEB-INF/spring/appServlet/servlet-context.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,7 @@
1111
infrastructure -->
1212

1313
<!-- Enables the Spring MVC @Controller programming model -->
14-
<annotation-driven />
15-
14+
<annotation-driven/>
1615

1716
<!-- Handles HTTP GET requests for /resources/** by efficiently serving
1817
up static resources in the ${webappRoot}/resources directory -->
@@ -48,6 +47,7 @@
4847
<beans:props>
4948
<beans:prop key="hibernate.dialect">${db.dialect}</beans:prop>
5049
<beans:prop key="hibernate.show_sql">${db.show_sql}</beans:prop>
50+
<beans:prop key="hibernate.hbm2ddl.auto">${db.hbm2ddl}</beans:prop>
5151
</beans:props>
5252
</beans:property>
5353
</beans:bean>

0 commit comments

Comments
 (0)