Subversion Repositories bacoAlunos

Rev

Rev 1871 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1871 Rev 1877
1
package pt.estgp.estgweb.services.courses.coursereport.documentmodel;
1
package pt.estgp.estgweb.services.courses.coursereport.documentmodel;
2
 
2
 
3
import com.owlike.genson.Genson;
3
import com.owlike.genson.Genson;
4
import com.owlike.genson.GensonBuilder;
4
import com.owlike.genson.GensonBuilder;
-
 
5
import jomm.dao.impl.AbstractDao;
5
import org.apache.log4j.Logger;
6
import org.apache.log4j.Logger;
6
import org.json.JSONException;
7
import org.json.JSONException;
7
import org.json.JSONObject;
8
import org.json.JSONObject;
8
import pt.estgp.estgweb.domain.Course;
9
import pt.estgp.estgweb.domain.Course;
-
 
10
import pt.estgp.estgweb.domain.dao.DaoFactory;
9
import pt.estgp.estgweb.domain.utils.JsonView;
11
import pt.estgp.estgweb.domain.utils.JsonView;
10
import pt.estgp.estgweb.utils.documentBuilder.Document;
12
import pt.estgp.estgweb.utils.documentBuilder.Document;
11
import pt.estgp.estgweb.utils.documentBuilder.DocumentSection;
13
import pt.estgp.estgweb.utils.documentBuilder.DocumentSection;
12
 
14
 
13
import java.util.Date;
15
import java.util.Date;
14
import java.util.List;
16
import java.util.List;
15
 
17
 
16
/**
18
/**
17
 * Created by jorgemachado on 14/10/17.
19
 * Created by jorgemachado on 14/10/17.
18
 */
20
 */
19
public class CourseReportDocument extends 5+0%2Fdocs%2Fapi+Document">Document implements JsonView
21
public class CourseReportDocument extends 5+0%2Fdocs%2Fapi+Document">Document implements JsonView
20
{
22
{
21
 
23
 
22
    private static final 1.5.0/docs/api/java/util/logging/Logger.html">Logger logger = 1.5.0/docs/api/java/util/logging/Logger.html">Logger.getLogger(CourseReportDocument.class);
24
    private static final 1.5.0/docs/api/java/util/logging/Logger.html">Logger logger = 1.5.0/docs/api/java/util/logging/Logger.html">Logger.getLogger(CourseReportDocument.class);
23
 
25
 
24
    private 1.5.0/docs/api/java/lang/String.html">String courseCode;
26
    private 1.5.0/docs/api/java/lang/String.html">String courseCode;
25
    private 1.5.0/docs/api/java/lang/String.html">String courseName;
27
    private 1.5.0/docs/api/java/lang/String.html">String courseName;
26
    private 1.5.0/docs/api/java/lang/String.html">String year;
28
    private 1.5.0/docs/api/java/lang/String.html">String year;
27
 
29
 
28
 
30
 
29
 
31
 
30
    public CourseReportDocument()
32
    public CourseReportDocument()
31
    {
33
    {
32
 
34
 
33
    }
35
    }
34
 
36
 
35
    public 1.5.0/docs/api/java/lang/String.html">String getCourseCode() {
37
    public 1.5.0/docs/api/java/lang/String.html">String getCourseCode() {
36
        return courseCode;
38
        return courseCode;
37
    }
39
    }
38
 
40
 
39
    public void setCourseCode(1.5.0/docs/api/java/lang/String.html">String courseCode) {
41
    public void setCourseCode(1.5.0/docs/api/java/lang/String.html">String courseCode) {
40
        this.courseCode = courseCode;
42
        this.courseCode = courseCode;
41
    }
43
    }
42
 
44
 
43
    public 1.5.0/docs/api/java/lang/String.html">String getCourseName() {
45
    public 1.5.0/docs/api/java/lang/String.html">String getCourseName() {
44
        return courseName;
46
        return courseName;
45
    }
47
    }
46
 
48
 
47
    public void setCourseName(1.5.0/docs/api/java/lang/String.html">String courseName) {
49
    public void setCourseName(1.5.0/docs/api/java/lang/String.html">String courseName) {
48
        this.courseName = courseName;
50
        this.courseName = courseName;
49
    }
51
    }
50
 
52
 
51
    public 1.5.0/docs/api/java/lang/String.html">String getYear() {
53
    public 1.5.0/docs/api/java/lang/String.html">String getYear() {
52
        return year;
54
        return year;
53
    }
55
    }
54
 
56
 
55
    public void setYear(1.5.0/docs/api/java/lang/String.html">String year) {
57
    public void setYear(1.5.0/docs/api/java/lang/String.html">String year) {
56
        this.year = year;
58
        this.year = year;
57
    }
59
    }
58
 
60
 
59
    public void init(Course c,1.5.0/docs/api/java/lang/String.html">String year)
61
    public void init(Course c,1.5.0/docs/api/java/lang/String.html">String year)
60
    {
62
    {
61
        setYear(year);
63
        setYear(year);
62
        setCourseCode(c.getCode());
64
        setCourseCode(c.getCode());
63
        setCourseName(c.getName());
65
        setCourseName(c.getName());
64
 
66
 
65
        //1 - Introducao
67
        //1 - Introducao
66
        IntroSection introSection = new IntroSection();
68
        IntroSection introSection = new IntroSection();
67
        introSection.init();
69
        introSection.init();
-
 
70
 
68
        getSections().add(introSection);
71
        getSections().add(introSection);
69
 
72
 
70
        //2 - Mapa Sintese dos Relatórios dos Responsáveis das UC's
73
        //2 - Mapa Sintese dos Relatórios dos Responsáveis das UC's
71
        ReportsUcSummarySection reportsUcSummarySection = new ReportsUcSummarySection();
74
        ReportsUcSummarySection reportsUcSummarySection = new ReportsUcSummarySection();
72
        reportsUcSummarySection.init();
75
        reportsUcSummarySection.init();
73
        getSections().add(reportsUcSummarySection);
76
        getSections().add(reportsUcSummarySection);
74
 
77
 
75
        //3 - Resultados da Aprendizagem
78
        //3 - Resultados da Aprendizagem
76
        LearningResultsSection learningResultsSection = new LearningResultsSection();
79
        LearningResultsSection learningResultsSection = new LearningResultsSection();
77
        learningResultsSection.init();
80
        learningResultsSection.init();
78
        getSections().add(learningResultsSection);
81
        getSections().add(learningResultsSection);
79
 
82
 
80
        //4 - Inquéritos
83
        //4 - Inquéritos
81
        SurveysSection surveysSection = new SurveysSection();
84
        SurveysSection surveysSection = new SurveysSection();
82
        surveysSection.init();
85
        surveysSection.init();
83
        getSections().add(surveysSection);
86
        getSections().add(surveysSection);
84
 
87
 
85
        //5 - Conclusões
88
        //5 - Conclusões
86
        ConclusionsSection conclusionsSection = new ConclusionsSection();
89
        ConclusionsSection conclusionsSection = new ConclusionsSection();
87
        conclusionsSection.init();
90
        conclusionsSection.init();
88
        getSections().add(conclusionsSection);
91
        getSections().add(conclusionsSection);
89
 
92
 
90
        //5 - Unidades Curriculares
93
        //5 - Unidades Curriculares
91
        CourseUnitsReportsSection courseUnitsReportsSection = new CourseUnitsReportsSection();
94
        CourseUnitsReportsSection courseUnitsReportsSection = new CourseUnitsReportsSection();
92
        courseUnitsReportsSection.init();
95
        courseUnitsReportsSection.init();
93
        getSections().add(courseUnitsReportsSection);
96
        getSections().add(courseUnitsReportsSection);
94
    }
97
    }
95
 
98
 
96
 
99
 
97
 
100
 
98
    public DocumentSection findDocumentSection(1.5.0/docs/api/java/lang/Class.html">Class sectionClass)
101
    public DocumentSection findDocumentSection(1.5.0/docs/api/java/lang/Class.html">Class sectionClass)
99
    {
102
    {
100
        if(getSections() != null)
103
        if(getSections() != null)
101
            for(DocumentSection section: getSections())
104
            for(DocumentSection section: getSections())
102
            {
105
            {
103
                if(section.getClass().equals(sectionClass))
106
                if(section.getClass().equals(sectionClass))
104
                {
107
                {
105
                    return section;
108
                    return section;
106
                }
109
                }
107
            }
110
            }
108
        return null;
111
        return null;
109
    }
112
    }
110
 
113
 
111
 
114
 
112
 
115
 
113
 
116
 
114
 
117
 
115
    private static Genson gensonGenericLoad;
118
    private static Genson gensonGenericLoad;
116
    static{
119
    static{
117
        gensonGenericLoad = new GensonBuilder()
120
        gensonGenericLoad = new GensonBuilder()
118
                .useMethods(true)
121
                .useMethods(true)
119
                .useFields(true)
122
                .useFields(true)
120
                .useRuntimeType(true) //para ignorar a CGLIB do courseUnitEvaluation
123
                .useRuntimeType(true) //para ignorar a CGLIB do courseUnitEvaluation
121
                .useClassMetadata(true)
124
                .useClassMetadata(true)
122
                .useDateAsTimestamp(true)
125
                .useDateAsTimestamp(true)
123
                .exclude(1.5.0/docs/api/java/lang/Class.html">Class.class)
126
                .exclude(1.5.0/docs/api/java/lang/Class.html">Class.class)
124
                .exclude(5+0%2Fdocs%2Fapi+Date">Date.class)
127
                .exclude(5+0%2Fdocs%2Fapi+Date">Date.class)
125
                .exclude(java.sql.5+0%2Fdocs%2Fapi+Timestamp">Timestamp.class)
128
                .exclude(java.sql.5+0%2Fdocs%2Fapi+Timestamp">Timestamp.class)
126
                .exclude(java.sql.5+0%2Fdocs%2Fapi+Date">Date.class)
129
                .exclude(java.sql.5+0%2Fdocs%2Fapi+Date">Date.class)
127
                .create();
130
                .create();
128
    }
131
    }
129
 
132
 
130
    public static CourseReportDocument fromJson(1.5.0/docs/api/java/lang/String.html">String json)
133
    public static CourseReportDocument fromJson(1.5.0/docs/api/java/lang/String.html">String json)
131
    {
134
    {
132
        return gensonGenericLoad.deserialize(json,CourseReportDocument.class);
135
        return gensonGenericLoad.deserialize(json,CourseReportDocument.class);
133
    }
136
    }
134
 
137
 
135
 
138
 
136
 
139
 
137
    public List<String> getJsonExcludedProperties() {
140
    public List<String> getJsonExcludedProperties() {
138
        return null;
141
        return null;
139
    }
142
    }
140
 
143
 
141
    /**
144
    /**
142
     * Generic Json Object only for local class methods
145
     * Generic Json Object only for local class methods
143
     * @return
146
     * @return
144
     * @throws org.json.JSONException
147
     * @throws org.json.JSONException
145
     */
148
     */
146
    public JSONObject toJsonObject() throws JSONException
149
    public JSONObject toJsonObject() throws JSONException
147
    {
150
    {
148
        return new JSONObject(toJson());
151
        return new JSONObject(toJson());
149
    }
152
    }
150
 
153
 
151
    /**
154
    /**
152
     * * Generic Json Object only for local class methods
155
     * * Generic Json Object only for local class methods
153
     * @return
156
     * @return
154
     * @throws java.io.IOException
157
     * @throws java.io.IOException
155
     */
158
     */
156
    public 1.5.0/docs/api/java/lang/String.html">String toJson()
159
    public 1.5.0/docs/api/java/lang/String.html">String toJson()
157
    {
160
    {
158
        return gensonGenericLoad.serialize(this);
161
        return gensonGenericLoad.serialize(this);
159
    }
162
    }
-
 
163
 
-
 
164
    public static void main(1.5.0/docs/api/java/lang/String.html">String[] args)
-
 
165
    {
-
 
166
        CourseReportDocument d = new CourseReportDocument();
-
 
167
 
-
 
168
        AbstractDao.getCurrentSession().beginTransaction();
-
 
169
 
-
 
170
        List<Course> cursos = DaoFactory.getCourseDaoImpl().findAll();
-
 
171
 
-
 
172
 
-
 
173
        d.init(cursos.get(0),"201718");
-
 
174
 
-
 
175
        1.5.0/docs/api/java/lang/String.html">String json = d.toJson();
-
 
176
        1.5.0/docs/api/java/lang/System.html">System.out.println(json);
-
 
177
        CourseReportDocument d2 = CourseReportDocument.fromJson(json);
-
 
178
        1.5.0/docs/api/java/lang/System.html">System.out.println(d2.toJson());
-
 
179
 
-
 
180
        AbstractDao.getCurrentSession().getTransaction().commit();
-
 
181
    }
160
 
182
 
161
 
183
 
162
 
184
 
163
}
185
}
164
 
186