Search in sources :

Example 1 with ResourceLicense

use of org.olat.core.commons.services.license.ResourceLicense in project OpenOLAT by OpenOLAT.

the class ResourceLicenseDAO method loadLicenses.

List<ResourceLicense> loadLicenses(Collection<? extends OLATResourceable> resources) {
    if (resources == null || resources.isEmpty())
        return new ArrayList<>();
    Set<String> resNames = new HashSet<>();
    Set<Long> resIds = new HashSet<>();
    for (OLATResourceable resource : resources) {
        resNames.add(resource.getResourceableTypeName());
        resIds.add(resource.getResourceableId());
    }
    String query = new StringBuilder(256).append("select license").append("  from license license").append("       inner join fetch license.licenseType as licenseType").append(" where license.resName in (:resNames)").append("   and license.resId in (:resIds)").toString();
    return dbInstance.getCurrentEntityManager().createQuery(query, ResourceLicense.class).setParameter("resNames", resNames).setParameter("resIds", resIds).getResultList();
}
Also used : OLATResourceable(org.olat.core.id.OLATResourceable) HashSet(java.util.HashSet) ResourceLicense(org.olat.core.commons.services.license.ResourceLicense)

Example 2 with ResourceLicense

use of org.olat.core.commons.services.license.ResourceLicense in project OpenOLAT by OpenOLAT.

the class LicenseServiceImpl method loadOrCreateLicense.

@Override
public ResourceLicense loadOrCreateLicense(OLATResourceable ores) {
    ResourceLicense license = licenseDao.loadByResource(ores);
    if (license == null) {
        LicenseType licenseType = licenseTypeDao.loadNoLicenseType();
        license = licenseDao.createAndPersist(ores, licenseType);
    }
    return license;
}
Also used : ResourceLicense(org.olat.core.commons.services.license.ResourceLicense) LicenseType(org.olat.core.commons.services.license.LicenseType)

Example 3 with ResourceLicense

use of org.olat.core.commons.services.license.ResourceLicense in project OpenOLAT by OpenOLAT.

the class QTIMetadataConverter method addLicenseMetadataField.

private void addLicenseMetadataField(String label, QuestionItemFull fullItem, Element metadata) {
    LicenseService lService = CoreSpringFactory.getImpl(LicenseService.class);
    ResourceLicense license = lService.loadLicense(fullItem);
    if (license != null) {
        String licenseText = null;
        LicenseType licenseType = license.getLicenseType();
        if (lService.isFreetext(licenseType)) {
            licenseText = license.getFreetext();
        } else if (!lService.isNoLicense(licenseType)) {
            licenseText = license.getLicenseType().getName();
        }
        if (StringHelper.containsNonWhitespace(licenseText)) {
            addMetadataField(label, licenseText, metadata);
        }
    }
}
Also used : LicenseService(org.olat.core.commons.services.license.LicenseService) ResourceLicense(org.olat.core.commons.services.license.ResourceLicense) LicenseType(org.olat.core.commons.services.license.LicenseType)

Example 4 with ResourceLicense

use of org.olat.core.commons.services.license.ResourceLicense in project OpenOLAT by OpenOLAT.

the class QTIMetadataConverter method createLicense.

public void createLicense(QuestionItemImpl poolItem, String licenseText, String licensor) {
    ResourceLicense license = licenseService.loadOrCreateLicense(poolItem);
    if (StringHelper.containsNonWhitespace(licenseText)) {
        String mappedLicenseText = mapLicenseTypeName(licenseText);
        LicenseType licenseType = licenseService.loadLicenseTypeByName(mappedLicenseText);
        if (licenseType == null) {
            licenseType = licenseService.loadFreetextLicenseType();
            license.setFreetext(mappedLicenseText);
        } else {
            license.setFreetext(null);
        }
        license.setLicenseType(licenseType);
    }
    if (StringHelper.containsNonWhitespace(licensor)) {
        license.setLicensor(licensor);
    }
    licenseService.update(license);
}
Also used : ResourceLicense(org.olat.core.commons.services.license.ResourceLicense) LicenseType(org.olat.core.commons.services.license.LicenseType)

Example 5 with ResourceLicense

use of org.olat.core.commons.services.license.ResourceLicense in project OpenOLAT by OpenOLAT.

the class AbstractItemListController method reload.

@Override
public List<ItemRow> reload(List<ItemRow> rows) {
    List<Long> itemToReload = new ArrayList<>();
    for (ItemRow row : rows) {
        itemToReload.add(row.getKey());
    }
    List<QuestionItemView> reloadedItems = itemsSource.getItems(itemToReload);
    List<ItemRow> reloadedRows = new ArrayList<>(reloadedItems.size());
    List<ResourceLicense> licenses = licenseService.loadLicenses(reloadedItems);
    for (QuestionItemView item : reloadedItems) {
        ItemRow reloadedRow = forgeRow(item, licenses);
        reloadedRows.add(reloadedRow);
    }
    return reloadedRows;
}
Also used : ArrayList(java.util.ArrayList) QuestionItemView(org.olat.modules.qpool.QuestionItemView) ResourceLicense(org.olat.core.commons.services.license.ResourceLicense)

Aggregations

ResourceLicense (org.olat.core.commons.services.license.ResourceLicense)46 LicenseType (org.olat.core.commons.services.license.LicenseType)26 OLATResourceable (org.olat.core.id.OLATResourceable)16 Test (org.junit.Test)12 ArrayList (java.util.ArrayList)8 LicenseService (org.olat.core.commons.services.license.LicenseService)8 HashSet (java.util.HashSet)4 Document (org.apache.lucene.document.Document)4 QuestionItemView (org.olat.modules.qpool.QuestionItemView)4 QLicense (org.olat.modules.qpool.model.QLicense)4 OLATResource (org.olat.resource.OLATResource)4 OlatDocument (org.olat.search.model.OlatDocument)4 Random (java.util.Random)2 StringTokenizer (java.util.StringTokenizer)2 StringField (org.apache.lucene.document.StringField)2 TextField (org.apache.lucene.document.TextField)2 DefaultResultInfos (org.olat.core.commons.persistence.DefaultResultInfos)2 License (org.olat.core.commons.services.license.License)2 FormLink (org.olat.core.gui.components.form.flexible.elements.FormLink)2 Identity (org.olat.core.id.Identity)2