Rev 1861 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1861 | Rev 1925 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | package pt.estgp.estgweb.utils.documentBuilder; |
1 | package pt.estgp.estgweb.utils.documentBuilder; |
2 | 2 | ||
- | 3 | import com.owlike.genson.Genson; |
|
- | 4 | import com.owlike.genson.GensonBuilder; |
|
- | 5 | import org.json.JSONException; |
|
- | 6 | import org.json.JSONObject; |
|
- | 7 | import pt.estgp.estgweb.services.courses.coursereport.documentmodel.CourseReportDocument; |
|
3 | import pt.estgp.estgweb.utils.ClassUtils; |
8 | import pt.estgp.estgweb.utils.ClassUtils; |
4 | 9 | ||
- | 10 | import java.util.Date; |
|
5 | import java.util.List; |
11 | import java.util.List; |
6 | 12 | ||
7 | /** |
13 | /** |
8 | * Created by jorgemachado on 07/11/17. |
14 | * Created by jorgemachado on 07/11/17. |
9 | */ |
15 | */ |
10 | public class ExtensibleDocObject |
16 | public class ExtensibleDocObject |
11 | { |
17 | { |
- | 18 | ||
- | 19 | ||
- | 20 | ||
- | 21 | private static Genson gensonGenericLoad; |
|
- | 22 | static{ |
|
- | 23 | gensonGenericLoad = new GensonBuilder() |
|
- | 24 | .useMethods(true) |
|
- | 25 | .useFields(true) |
|
- | 26 | .useRuntimeType(true) //para ignorar a CGLIB do courseUnitEvaluation |
|
- | 27 | .useClassMetadata(true) |
|
- | 28 | .useDateAsTimestamp(true) |
|
- | 29 | .exclude(1.5.0/docs/api/java/lang/Class.html">Class.class) |
|
- | 30 | .exclude(5+0%2Fdocs%2Fapi+Date">Date.class) |
|
- | 31 | .exclude(java.sql.5+0%2Fdocs%2Fapi+Timestamp">Timestamp.class) |
|
- | 32 | .exclude(java.sql.5+0%2Fdocs%2Fapi+Date">Date.class) |
|
- | 33 | .create(); |
|
- | 34 | } |
|
- | 35 | ||
- | 36 | public static CourseReportDocument fromJson(1.5.0/docs/api/java/lang/String.html">String json) |
|
- | 37 | { |
|
- | 38 | return gensonGenericLoad.deserialize(json,CourseReportDocument.class); |
|
- | 39 | } |
|
- | 40 | ||
- | 41 | ||
- | 42 | ||
- | 43 | /** |
|
- | 44 | * Generic Json Object only for local class methods |
|
- | 45 | * @return |
|
- | 46 | * @throws JSONException |
|
- | 47 | */ |
|
- | 48 | public JSONObject toJsonObject() throws JSONException |
|
- | 49 | { |
|
- | 50 | return new JSONObject(toJson()); |
|
- | 51 | } |
|
- | 52 | ||
- | 53 | /** |
|
- | 54 | * * Generic Json Object only for local class methods |
|
- | 55 | * @return |
|
- | 56 | * @throws java.io.IOException |
|
- | 57 | */ |
|
- | 58 | public 1.5.0/docs/api/java/lang/String.html">String toJson() |
|
- | 59 | { |
|
- | 60 | return gensonGenericLoad.serialize(this); |
|
- | 61 | } |
|
- | 62 | ||
- | 63 | ||
12 | public List<String> getAllSuperClasses() |
64 | public List<String> getAllSuperClasses() |
13 | { |
65 | { |
14 | return ClassUtils.getAllSuperClasses(this.getClass()); |
66 | return ClassUtils.getAllSuperClasses(this.getClass()); |
15 | } |
67 | } |
16 | public void setAllSuperClasses(List<String> superclasses) |
68 | public void setAllSuperClasses(List<String> superclasses) |
17 | { |
69 | { |
18 | 70 | ||
19 | } |
71 | } |
- | 72 | ||
- | 73 | ||
20 | } |
74 | } |