Skip to content

Commit 5dcf9b4

Browse files
Merge pull request #67 from Simon-Initiative/AUTHORING-2257-empty-preferences-bug
Authoring 2257 empty preferences bug
2 parents 04e8861 + eacdc41 commit 5dcf9b4

2 files changed

Lines changed: 16 additions & 14 deletions

File tree

src/main/java/edu/cmu/oli/content/models/persistance/JsonWrapper.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,7 @@ public JsonElement getJsonObject() {
3434
}
3535

3636
public JsonElement serializeJson() {
37-
JsonObject jsonObject = new JsonObject();
38-
jsonObject.add("jsonObject", jp.parse(jsonString));
39-
return jsonObject;
37+
return jp.parse(jsonString);
4038
}
4139

4240
public void setJsonObject(JsonElement jsonObject) {

src/main/java/edu/cmu/oli/content/resource/builders/OptionsWriter.java

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,16 @@
66
import com.google.gson.JsonObject;
77
import org.jdom2.Element;
88
import org.jdom2.Namespace;
9+
import org.slf4j.Logger;
10+
import org.slf4j.LoggerFactory;
911

1012
/**
1113
* Methods for generating preference service XML.
1214
*
1315
* @author Raphael Gachuhi
1416
*/
1517
public final class OptionsWriter {
16-
18+
static final Logger log = LoggerFactory.getLogger(OptionsWriter.class);
1719
private static final String _PUBLIC_ID = "-//Carnegie Mellon University//DTD Preferences 1.0//EN";
1820
private static final String _SYSTEM_ID = "http://oli.cmu.edu/dtd/oli_preferences_1_0.dtd";
1921

@@ -49,6 +51,12 @@ public static Element preferenceSetToElement(JsonElement prefSeti, Namespace nsi
4951

5052
final Namespace ns = nsi;
5153
JsonObject prefSet = (JsonObject) prefSeti;
54+
// Preferences
55+
JsonArray preferences = prefSet.getAsJsonArray("preferences");
56+
if (preferences == null) {
57+
return null;
58+
}
59+
5260
// Preference set
5361
Element setElmnt = new Element("preferences", ns);
5462

@@ -57,16 +65,12 @@ public static Element preferenceSetToElement(JsonElement prefSeti, Namespace nsi
5765
setElmnt.setAttribute("guid", prefSet.get("@guid").getAsString());
5866
}
5967

60-
// Preferences
61-
JsonArray preferences = prefSet.getAsJsonArray("preferences");
62-
if (preferences != null) {
63-
preferences.forEach((val) -> {
64-
Element element = preferenceToElement(val, ns);
65-
if (element != null) {
66-
setElmnt.addContent(element);
67-
}
68-
});
69-
}
68+
preferences.forEach((val) -> {
69+
Element element = preferenceToElement(val, ns);
70+
if (element != null) {
71+
setElmnt.addContent(element);
72+
}
73+
});
7074

7175
return setElmnt;
7276
}

0 commit comments

Comments
 (0)