use of org.apereo.portal.events.tincan.om.LrsStatement in project uPortal by Jasig.
the class BatchTinCanAPIProvider method sendBatch.
/**
* Send a batch of LRS statements. MUST BE SCHEDULED! Failure to properly configure this class
* will result in memory leaks.
*/
public void sendBatch() {
LrsStatement statement = null;
List<LrsStatement> list = new ArrayList<LrsStatement>();
while ((statement = statementQueue.poll()) != null) {
list.add(statement);
}
if (!list.isEmpty()) {
postStatementList(list);
}
}
use of org.apereo.portal.events.tincan.om.LrsStatement in project uPortal by Jasig.
the class LrsDataModelSerializeTest method testLrsStatementSerialize.
@Test
public void testLrsStatementSerialize() throws Exception {
final LrsActor lrsActor = new LrsActor("user@example.com", "John Doe");
final UrnBuilder idBuilder = new UrnBuilder("UTF-8", "tincan", "uportal", "activities", "portlet", "fname");
final URI id = idBuilder.getUri();
final LrsObject lrsObject = new LrsObject(id, "Activity", ImmutableMap.of("name", new LocalizedString(new Locale("en", "us"), "Portlet Name"), "description", new LocalizedString(new Locale("en", "us"), "Portlet Description")));
final LrsStatement lrsStatement = new LrsStatement(lrsActor, LrsVerb.INITIALIZED, lrsObject);
final String result = this.objectMapper.writeValueAsString(lrsStatement);
assertEquals("{\"actor\":{\"mbox\":\"user@example.com\",\"name\":\"John Doe\",\"objectType\":\"Agent\"},\"verb\":{\"id\":\"http://adlnet.gov/expapi/verbs/initialized\",\"display\":{\"en-us\":\"initialized\"}},\"object\":{\"id\":\"urn:tincan:uportal:activities:portlet:fname\",\"objectType\":\"Activity\",\"definition\":{\"name\":{\"en-US\":\"Portlet Name\"},\"description\":{\"en-US\":\"Portlet Description\"}}}}", result);
}
Aggregations