use of org.olat.modules.qpool.model.QuestionItemImpl in project openolat by klemens.
the class QuestionItemAuditLogDAOTest method shouldConvertToXMLAndBack.
@Test
public void shouldConvertToXMLAndBack() {
QItemType qItemType = qItemTypeDao.loadByType(QuestionType.MC.name());
Identity id = JunitTestHelper.createAndPersistIdentityAsRndUser("qitem-audit-log");
String title = "NGC 55";
String format = QTI21Constants.QTI_21_FORMAT;
String language = Locale.ENGLISH.getLanguage();
QuestionItemImpl item = questionDao.createAndPersist(id, title, format, language, null, null, null, qItemType);
String xml = sut.toXml(item);
QuestionItem itemFromXml = sut.questionItemFromXml(xml);
assertThat(itemFromXml.getTitle()).isEqualTo(title);
assertThat(itemFromXml.getFormat()).isEqualTo(format);
assertThat(itemFromXml.getLanguage()).isEqualTo(language);
}
use of org.olat.modules.qpool.model.QuestionItemImpl in project openolat by klemens.
the class QuestionMetadataEditController method formOK.
@Override
protected void formOK(UserRequest ureq) {
if (item instanceof QuestionItemImpl) {
QuestionItemImpl itemImpl = (QuestionItemImpl) item;
QuestionItemAuditLogBuilder builder = qpoolService.createAuditLogBuilder(getIdentity(), Action.UPDATE_QUESTION_ITEM_METADATA);
builder.withBefore(itemImpl);
int day = learningTimeDayElement.getIntValue();
int hour = learningTimeHourElement.getIntValue();
int minute = learningTimeMinuteElement.getIntValue();
int seconds = learningTimeSecondElement.getIntValue();
String timeStr = MetadataConverterHelper.convertDuration(day, hour, minute, seconds);
itemImpl.setEducationalLearningTime(timeStr);
BigDecimal difficulty = toBigDecimal(difficultyEl.getValue());
itemImpl.setDifficulty(difficulty);
BigDecimal stdevDifficulty = toBigDecimal(stdevDifficultyEl.getValue());
itemImpl.setStdevDifficulty(stdevDifficulty);
BigDecimal differentiation = toBigDecimal(differentiationEl.getValue());
itemImpl.setDifferentiation(differentiation);
int numOfAnswerAlternatives = toInt(numAnswerAltEl.getValue());
itemImpl.setNumOfAnswerAlternatives(numOfAnswerAlternatives);
int numUsage = toInt(usageEl.getValue());
itemImpl.setUsage(numUsage);
item = qpoolService.updateItem(itemImpl);
builder.withAfter(item);
qpoolService.persist(builder.create());
fireEvent(ureq, new QItemEdited(item));
}
}
use of org.olat.modules.qpool.model.QuestionItemImpl in project openolat by klemens.
the class RightsMetadataEditController method formOK.
@Override
protected void formOK(UserRequest ureq) {
if (item instanceof QuestionItemImpl) {
QuestionItemImpl itemImpl = (QuestionItemImpl) item;
QuestionItemAuditLogBuilder builder = qpoolService.createAuditLogBuilder(getIdentity(), Action.UPDATE_QUESTION_ITEM_METADATA);
builder.withBefore(itemImpl);
if (licenseModule.isEnabled(licenseHandler)) {
if (licenseEl != null && licenseEl.isOneSelected()) {
String licenseTypeKey = licenseEl.getSelectedKey();
LicenseType licneseType = licenseService.loadLicenseTypeByKey(licenseTypeKey);
license.setLicenseType(licneseType);
}
String licensor = null;
String freetext = null;
if (licensorEl != null && licensorEl.isVisible()) {
licensor = StringHelper.containsNonWhitespace(licensorEl.getValue()) ? licensorEl.getValue() : null;
}
if (licenseFreetextEl != null && licenseFreetextEl.isVisible()) {
freetext = StringHelper.containsNonWhitespace(licenseFreetextEl.getValue()) ? licenseFreetextEl.getValue() : null;
}
license.setLicensor(licensor);
license.setFreetext(freetext);
license = licenseService.update(license);
licensorEl.setValue(license.getLicensor());
licenseFreetextEl.setValue(license.getFreetext());
}
item = qpoolService.updateItem(item);
builder.withAfter(itemImpl);
qpoolService.persist(builder.create());
fireEvent(ureq, new QItemEdited(item));
}
}
use of org.olat.modules.qpool.model.QuestionItemImpl in project openolat by klemens.
the class RightsMetadataEditController method doOpenAuthorManager.
private void doOpenAuthorManager(UserRequest ureq) {
if (item instanceof QuestionItemImpl) {
QuestionItemImpl itemImpl = (QuestionItemImpl) item;
groupController = new GroupController(ureq, getWindowControl(), true, true, false, true, false, false, itemImpl.getOwnerGroup());
listenTo(groupController);
cmc = new CloseableModalController(getWindowControl(), translate("close"), groupController.getInitialComponent(), true, translate("manage.owners"));
cmc.activate();
listenTo(cmc);
}
}
use of org.olat.modules.qpool.model.QuestionItemImpl in project openolat by klemens.
the class TechnicalMetadataEditController method formOK.
@Override
protected void formOK(UserRequest ureq) {
if (item instanceof QuestionItemImpl) {
QuestionItemImpl itemImpl = (QuestionItemImpl) item;
QuestionItemAuditLogBuilder builder = qpoolService.createAuditLogBuilder(getIdentity(), Action.UPDATE_QUESTION_ITEM_METADATA);
builder.withBefore(itemImpl);
itemImpl.setItemVersion(versionEl.getValue());
item = qpoolService.updateItem(item);
builder.withAfter(itemImpl);
qpoolService.persist(builder.create());
fireEvent(ureq, new QItemEdited(item));
}
}
Aggregations