Search in sources :

Example 11 with ResourceLicense

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

the class ResourceLicenseDAOTest method shouldLoadLicenseForResources.

@Test
public void shouldLoadLicenseForResources() {
    String resName = "res";
    LicenseType licenseType = licenseTypeDao.create("name");
    licenseType = licenseTypeDao.save(licenseType);
    OLATResourceable ores1 = OresHelper.createOLATResourceableInstance(resName, (new Random()).nextLong());
    ResourceLicense license1 = licenseDao.createAndPersist(ores1, licenseType);
    OLATResourceable ores2 = OresHelper.createOLATResourceableInstance(resName, (new Random()).nextLong());
    ResourceLicense license2 = licenseDao.createAndPersist(ores2, licenseType);
    OLATResourceable ores3 = OresHelper.createOLATResourceableInstance(resName, (new Random()).nextLong());
    ResourceLicense license3 = licenseDao.createAndPersist(ores3, licenseType);
    OLATResourceable oresSameName = OresHelper.createOLATResourceableInstance(resName, (new Random()).nextLong());
    licenseDao.createAndPersist(oresSameName, licenseType);
    OLATResourceable oresSameId = OresHelper.createOLATResourceableInstance("other", ores1.getResourceableId());
    licenseDao.createAndPersist(oresSameId, licenseType);
    dbInstance.commitAndCloseSession();
    List<ResourceLicense> loadedLicenses = licenseDao.loadLicenses(Arrays.asList(ores1, ores2, ores3));
    assertThat(loadedLicenses).containsExactly(license1, license2, license3);
}
Also used : Random(java.util.Random) OLATResourceable(org.olat.core.id.OLATResourceable) LicenseType(org.olat.core.commons.services.license.LicenseType) ResourceLicense(org.olat.core.commons.services.license.ResourceLicense) Test(org.junit.Test)

Example 12 with ResourceLicense

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

the class ResourceLicenseDAOTest method shouldCreateAndPersistLicense.

@Test
public void shouldCreateAndPersistLicense() {
    OLATResourceable ores = JunitTestHelper.createRandomResource();
    LicenseType licenseType = licenseTypeDao.create("name");
    licenseType = licenseTypeDao.save(licenseType);
    String licensor = "licensor";
    ResourceLicense license = licenseDao.createAndPersist(ores, licenseType, licensor);
    dbInstance.commitAndCloseSession();
    assertThat(license.getResName()).isEqualTo(ores.getResourceableTypeName());
    assertThat(license.getResId()).isEqualTo(ores.getResourceableId());
    assertThat(license.getLicenseType()).isEqualTo(licenseType);
    assertThat(license.getLicensor()).isEqualTo(licensor);
    assertThat(license.getCreationDate()).isNotNull();
    assertThat(license.getLastModified()).isNotNull();
}
Also used : OLATResourceable(org.olat.core.id.OLATResourceable) LicenseType(org.olat.core.commons.services.license.LicenseType) ResourceLicense(org.olat.core.commons.services.license.ResourceLicense) Test(org.junit.Test)

Example 13 with ResourceLicense

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

the class ResourceLicenseDAOTest method shoulDeleteLicenseOfResource.

@Test
public void shoulDeleteLicenseOfResource() {
    OLATResourceable ores = JunitTestHelper.createRandomResource();
    LicenseType licenseType = licenseTypeDao.create("name");
    licenseType = licenseTypeDao.save(licenseType);
    licenseDao.createAndPersist(ores, licenseType);
    dbInstance.commitAndCloseSession();
    ResourceLicense loadedLicense = licenseDao.loadByResource(ores);
    assertThat(loadedLicense).isNotNull();
    licenseDao.delete(ores);
    dbInstance.commitAndCloseSession();
    loadedLicense = licenseDao.loadByResource(ores);
    assertThat(loadedLicense).isNull();
}
Also used : OLATResourceable(org.olat.core.id.OLATResourceable) LicenseType(org.olat.core.commons.services.license.LicenseType) ResourceLicense(org.olat.core.commons.services.license.ResourceLicense) Test(org.junit.Test)

Example 14 with ResourceLicense

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

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 15 with ResourceLicense

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

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)

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