diff --git a/src/main/java/org/wise/portal/domain/project/impl/ProjectMetadataImpl.java b/src/main/java/org/wise/portal/domain/project/impl/ProjectMetadataImpl.java index 84dd36156..3ea1394ae 100644 --- a/src/main/java/org/wise/portal/domain/project/impl/ProjectMetadataImpl.java +++ b/src/main/java/org/wise/portal/domain/project/impl/ProjectMetadataImpl.java @@ -132,7 +132,6 @@ public class ProjectMetadataImpl implements ProjectMetadata, Serializable { @Setter private String lessonPlan; - @Column(name = "standards", length = 5120000, columnDefinition = "mediumtext") @Getter @Setter private String standards; @@ -202,7 +201,17 @@ public class ProjectMetadataImpl implements ProjectMetadata, Serializable { @Getter @Setter - private String researchProjects; + private String disciplines; + + @Getter + @Setter + private String resources; + + private String standardsDefault = "{\"commonCore\": [], \"ngss\": [], \"learningForJustice\": []}"; + + @Getter + @Setter + private String unitType; public ProjectMetadataImpl() { } @@ -240,11 +249,17 @@ public void populateFromJSON(JSONObject metadataJSON) { } setAuthors(authors.toString()); - JSONArray researchProjects = metadataJSON.optJSONArray("researchProjects"); - if (researchProjects == null) { - researchProjects = new JSONArray(); + JSONArray disciplines = metadataJSON.optJSONArray("disciplines"); + if (disciplines == null) { + disciplines = new JSONArray(); + } + setDisciplines(disciplines.toString()); + + JSONArray resources = metadataJSON.optJSONArray("resources"); + if (resources == null) { + resources = new JSONArray(); } - setResearchProjects(researchProjects.toString()); + setResources(resources.toString()); JSONArray parentProjects = metadataJSON.optJSONArray("parentProjects"); if (parentProjects == null) { @@ -318,10 +333,7 @@ public void populateFromJSON(JSONObject metadataJSON) { } setLessonPlan(lessonPlan); - String standards = metadataJSON.optString("standards", ""); - if (standards.equals("null")) { - standards = ""; - } + String standards = metadataJSON.optString("standards", this.standardsDefault); setStandards(standards); JSONObject standardsAddressed = metadataJSON.optJSONObject("standardsAddressed"); @@ -367,6 +379,8 @@ public void populateFromJSON(JSONObject metadataJSON) { postLevel = (long) 5; } setPostLevel(postLevel); + + setUnitType(metadataJSON.optString("unitType", "Platform")); } /** @@ -455,12 +469,17 @@ public String toJSONString() { metadata.put("tools", new JSONObject()); } - String standardsAddressedString = metadata.getString("standardsAddressed"); - if (standardsAddressedString != null && standardsAddressedString != "null") { - JSONObject standardsAddressedJSON = new JSONObject(standardsAddressedString); - metadata.put("standardsAddressed", standardsAddressedJSON); + String standardsString = metadata.getString("standards"); + if (standardsString != null && standardsString != "null") { + JSONObject standardsJSON; + try { + standardsJSON = new JSONObject(standardsString); + } catch (JSONException e) { + standardsJSON = new JSONObject(standardsDefault); + } + metadata.put("standards", standardsJSON); } else { - metadata.put("standardsAddressed", new JSONObject()); + metadata.put("standards", new JSONObject()); } String parentProjectsString = metadata.getString("parentProjects"); @@ -471,14 +490,34 @@ public String toJSONString() { metadata.put("parentProjects", new JSONArray()); } - String researchProjectsString = metadata.getString("researchProjects"); - if (researchProjectsString != null && researchProjectsString != "null") { - JSONArray researchProjectsJSON = new JSONArray(researchProjectsString); - metadata.put("researchProjects", researchProjectsJSON); + String disciplinesString = metadata.getString("disciplines"); + if (disciplinesString != null && disciplinesString != "null") { + JSONArray disciplinesJSON = new JSONArray(disciplinesString); + metadata.put("disciplines", disciplinesJSON); } else { - metadata.put("researchProjects", new JSONArray()); + metadata.put("disciplines", new JSONArray()); } + String featuresString = metadata.getString("features"); + if (featuresString != null && featuresString != "null") { + JSONArray featuresJSON; + try { + featuresJSON = new JSONArray(featuresString); + } catch (JSONException e) { + featuresJSON = new JSONArray(); + } + metadata.put("features", featuresJSON); + } else { + metadata.put("features", new JSONArray()); + } + + String resourcesString = metadata.getString("resources"); + if (resourcesString != null && resourcesString != "null") { + JSONArray resourcesJSON = new JSONArray(resourcesString); + metadata.put("resources", resourcesJSON); + } else { + metadata.put("resources", new JSONArray()); + } } catch (JSONException e) { e.printStackTrace(); }