From 3c866a9e771a3fb0484ad893e6c071395e849435 Mon Sep 17 00:00:00 2001 From: Hiroki Terashima Date: Mon, 14 Apr 2025 12:54:16 -0700 Subject: [PATCH 1/4] feat(ProjectMetadata): Save and retrieve resources (#295) Co-authored-by: Aaron Detre --- .../project/impl/ProjectMetadataImpl.java | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) 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..28445b1d3 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 @@ -204,6 +204,14 @@ public class ProjectMetadataImpl implements ProjectMetadata, Serializable { @Setter private String researchProjects; + @Getter + @Setter + private String resources; + + @Getter + @Setter + private String unitType; + public ProjectMetadataImpl() { } @@ -246,6 +254,12 @@ public void populateFromJSON(JSONObject metadataJSON) { } setResearchProjects(researchProjects.toString()); + JSONArray resources = metadataJSON.optJSONArray("resources"); + if (resources == null) { + resources = new JSONArray(); + } + setResources(resources.toString()); + JSONArray parentProjects = metadataJSON.optJSONArray("parentProjects"); if (parentProjects == null) { parentProjects = new JSONArray(); @@ -367,6 +381,8 @@ public void populateFromJSON(JSONObject metadataJSON) { postLevel = (long) 5; } setPostLevel(postLevel); + + setUnitType(metadataJSON.optString("unitType", "Platform")); } /** @@ -479,6 +495,13 @@ public String toJSONString() { metadata.put("researchProjects", 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(); } From 0b3afb5fe9443b1615b55506ece0a0839e827d12 Mon Sep 17 00:00:00 2001 From: Hiroki Terashima Date: Mon, 14 Apr 2025 13:48:48 -0700 Subject: [PATCH 2/4] feat(Metadata): Add standard and discipline fields (#299) Co-authored-by: Aaron Detre --- .../project/impl/ProjectMetadataImpl.java | 41 ++++++++++++++----- 1 file changed, 31 insertions(+), 10 deletions(-) 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 28445b1d3..04a5efafc 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; @@ -204,10 +203,16 @@ public class ProjectMetadataImpl implements ProjectMetadata, Serializable { @Setter private String researchProjects; + @Getter + @Setter + private String disciplines; + @Getter @Setter private String resources; + private String standardsDefault = "{\"commonCore\": [], \"ngss\": [], \"learningForJustice\": []}"; + @Getter @Setter private String unitType; @@ -254,6 +259,12 @@ public void populateFromJSON(JSONObject metadataJSON) { } setResearchProjects(researchProjects.toString()); + 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(); @@ -332,10 +343,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"); @@ -471,12 +479,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"); @@ -495,6 +508,14 @@ public String toJSONString() { metadata.put("researchProjects", new JSONArray()); } + String disciplinesString = metadata.getString("disciplines"); + if (disciplinesString != null && disciplinesString != "null") { + JSONArray disciplinesJSON = new JSONArray(disciplinesString); + metadata.put("disciplines", disciplinesJSON); + } else { + metadata.put("disciplines", new JSONArray()); + } + String resourcesString = metadata.getString("resources"); if (resourcesString != null && resourcesString != "null") { JSONArray resourcesJSON = new JSONArray(resourcesString); From e632ad21debeebb9b6e09edd6f898f54a8434adb Mon Sep 17 00:00:00 2001 From: Hiroki Terashima Date: Fri, 18 Apr 2025 14:35:12 -0700 Subject: [PATCH 3/4] Add features in metadata response (#300) --- .../domain/project/impl/ProjectMetadataImpl.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) 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 04a5efafc..306793357 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 @@ -516,6 +516,19 @@ public String toJSONString() { 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); From 6c0b86b5a465f515c7a17d5d52d1dbe2f2868dbe Mon Sep 17 00:00:00 2001 From: Hiroki Terashima Date: Mon, 21 Apr 2025 08:33:02 -0700 Subject: [PATCH 4/4] Remove researchProjects field --- .../project/impl/ProjectMetadataImpl.java | 18 ------------------ 1 file changed, 18 deletions(-) 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 306793357..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 @@ -199,10 +199,6 @@ public class ProjectMetadataImpl implements ProjectMetadata, Serializable { @Setter private String navMode; - @Getter - @Setter - private String researchProjects; - @Getter @Setter private String disciplines; @@ -253,12 +249,6 @@ public void populateFromJSON(JSONObject metadataJSON) { } setAuthors(authors.toString()); - JSONArray researchProjects = metadataJSON.optJSONArray("researchProjects"); - if (researchProjects == null) { - researchProjects = new JSONArray(); - } - setResearchProjects(researchProjects.toString()); - JSONArray disciplines = metadataJSON.optJSONArray("disciplines"); if (disciplines == null) { disciplines = new JSONArray(); @@ -500,14 +490,6 @@ 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); - } else { - metadata.put("researchProjects", new JSONArray()); - } - String disciplinesString = metadata.getString("disciplines"); if (disciplinesString != null && disciplinesString != "null") { JSONArray disciplinesJSON = new JSONArray(disciplinesString);