Skip to content

Commit 065db8c

Browse files
authored
Merge pull request #79 from Simon-Initiative/dataset-ld
ldmodel import and dataset creation fix
2 parents 5c12b77 + 8ca3ca2 commit 065db8c

3 files changed

Lines changed: 33 additions & 1 deletion

File tree

service.example.envs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,4 +33,4 @@ dataset_db=jdbc:mysql://example.edu:3306?user=xxxxxxx&password=xxxxxxxx
3333
slack_alert_hook=none
3434

3535
# Java runtime options
36-
JAVA_OPTS=-Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true -Dxml.catalog.ignoreMissing=true -Dxml.catalog.files=/oli/dtd/catalog.xml -Dxml.catalog.verbosity=1 -Dxml.catalog.prefer=public -Dxml.catalog.staticCatalog=yes -Dxml.catalog.allowPI=yes -Dxml.catalog.className=com.sun.org.apache.xml.internal.resolver.Resolver
36+
JAVA_OPTS="-Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true -Dxml.catalog.ignoreMissing=true -Dxml.catalog.files=/oli/dtd/catalog.xml -Dxml.catalog.verbosity=1 -Dxml.catalog.prefer=public -Dxml.catalog.staticCatalog=yes -Dxml.catalog.allowPI=yes -Dxml.catalog.className=com.sun.org.apache.xml.internal.resolver.Resolver"

src/main/java/edu/cmu/oli/content/analytics/DatasetBuilder.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
import edu.cmu.oli.content.models.persistance.entities.DatasetStatus;
3838
import edu.cmu.oli.content.reportingdb.DbConnector;
3939

40+
import org.jboss.ejb3.annotation.TransactionTimeout;
4041
import org.slf4j.Logger;
4142

4243
import javax.ejb.Stateless;
@@ -53,6 +54,7 @@
5354
import java.sql.SQLException;
5455
import java.util.Date;
5556
import java.util.*;
57+
import java.util.concurrent.TimeUnit;
5658
import java.util.regex.Matcher;
5759
import java.util.regex.Pattern;
5860

@@ -92,6 +94,7 @@ public class DatasetBuilder {
9294
/**
9395
* Handle the request to create a dataset from the frontend API call
9496
*/
97+
@TransactionTimeout(unit = TimeUnit.MINUTES, value = 60L)
9598
public void build(final String datasetGuid) {
9699
Dataset dataset = findDataset(datasetGuid);
97100
ContentPackage contentPackage = dataset.getContentPackage();

src/main/java/edu/cmu/oli/content/controllers/LDModelControllerImpl.java

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -514,8 +514,37 @@ protected List<String> importLOsSkillsMap(ContentPackage pkg, String fileName, S
514514
parameters.addProperty("high_mastery", highMastery);
515515
lo.add("parameters", parameters);
516516

517+
log.debug("resssee " + new Gson().toJson(resourceById.json));
518+
517519
JsonObject resourceJson = resourceById.json.getAsJsonObject("objectives");
520+
if(resourceJson == null && resourceById.json.has("workbook_page")){
521+
JsonArray ar = resourceById.json.getAsJsonObject("workbook_page").getAsJsonArray("#array");
522+
label: for (JsonElement e : ar) {
523+
JsonObject e1 = (JsonObject) e;
524+
if(e1.has("head")){
525+
JsonArray headArray = e1.getAsJsonObject("head").getAsJsonArray("#array");
526+
for(JsonElement h :headArray){
527+
JsonObject h1 = (JsonObject) h;
528+
if(h1.has("objectives")){
529+
resourceJson = h1.getAsJsonObject("objectives");
530+
break label;
531+
}
532+
}
533+
}
534+
}
535+
}
536+
518537
JsonArray objectivesAndMappingList = resourceJson.getAsJsonArray("#array");
538+
if(objectivesAndMappingList == null){
539+
objectivesAndMappingList = new JsonArray();
540+
if(resourceJson.has("objective")) {
541+
JsonObject ob = new JsonObject();
542+
ob.add("objective", resourceJson.getAsJsonObject("objective"));
543+
resourceJson.remove("objective");
544+
objectivesAndMappingList.add(ob);
545+
resourceJson.add("#array", objectivesAndMappingList);
546+
}
547+
}
519548
JsonObject objSkillsList = null;
520549
for (JsonElement e : objectivesAndMappingList) {
521550
JsonObject e1 = (JsonObject) e;

0 commit comments

Comments
 (0)