Search in sources :

Example 26 with ResourceEvaluation

use of org.olat.fileresource.types.ResourceEvaluation in project openolat by klemens.

the class ImportRepositoryEntryController method doAnalyseUpload.

private void doAnalyseUpload() {
    File uploadedFile = uploadFileEl.getUploadFile();
    if (uploadedFile == null) {
        // OO-1320
        typeEl.setVisible(false);
        selectType.setVisible(false);
        uploadFileEl.reset();
        importButton.setEnabled(false);
    } else {
        String uploadedFilename = uploadFileEl.getUploadFileName();
        List<ResourceHandler> handlers = new ArrayList<>(3);
        for (String type : repositoryHandlerFactory.getSupportedTypes()) {
            RepositoryHandler handler = repositoryHandlerFactory.getRepositoryHandler(type);
            ResourceEvaluation eval = handler.acceptImport(uploadedFile, uploadedFilename);
            if (eval != null && eval.isValid()) {
                handlers.add(new ResourceHandler(handler, eval));
            }
        }
        updateResourceInfos(handlers);
        validLimitationOnType(handlers);
    }
}
Also used : ResourceEvaluation(org.olat.fileresource.types.ResourceEvaluation) ArrayList(java.util.ArrayList) RepositoryHandler(org.olat.repository.handlers.RepositoryHandler) File(java.io.File)

Example 27 with ResourceEvaluation

use of org.olat.fileresource.types.ResourceEvaluation in project openolat by klemens.

the class FileResourceTest method scormPackage_withinDirectory.

@Test
public void scormPackage_withinDirectory() throws URISyntaxException {
    URL fileUrl = FileResourceTest.class.getResource("very_simple_scorm_in_directory.zip");
    File file = new File(fileUrl.toURI());
    ResourceEvaluation eval = ScormCPFileResource.evaluate(file, file.getName());
    Assert.assertTrue(eval.isValid());
}
Also used : ResourceEvaluation(org.olat.fileresource.types.ResourceEvaluation) File(java.io.File) URL(java.net.URL) Test(org.junit.Test)

Example 28 with ResourceEvaluation

use of org.olat.fileresource.types.ResourceEvaluation in project openolat by klemens.

the class FileResourceTest method scormPackage_invalid.

@Test
public void scormPackage_invalid() throws URISyntaxException {
    URL fileUrl = FileResourceTest.class.getResource("invalid_scorm.zip");
    File file = new File(fileUrl.toURI());
    ResourceEvaluation eval = ScormCPFileResource.evaluate(file, file.getName());
    Assert.assertFalse(eval.isValid());
}
Also used : ResourceEvaluation(org.olat.fileresource.types.ResourceEvaluation) File(java.io.File) URL(java.net.URL) Test(org.junit.Test)

Example 29 with ResourceEvaluation

use of org.olat.fileresource.types.ResourceEvaluation in project openolat by klemens.

the class RepositoryEntriesResource method importFileResource.

private RepositoryEntry importFileResource(Identity identity, File fResource, String resourcename, String displayname, String softkey, int access) {
    RepositoryService repositoryService = CoreSpringFactory.getImpl(RepositoryService.class);
    RepositoryHandlerFactory handlerFactory = CoreSpringFactory.getImpl(RepositoryHandlerFactory.class);
    try {
        RepositoryHandler handler = null;
        for (String type : handlerFactory.getSupportedTypes()) {
            RepositoryHandler h = handlerFactory.getRepositoryHandler(type);
            ResourceEvaluation eval = h.acceptImport(fResource, fResource.getName());
            if (eval != null && eval.isValid()) {
                handler = h;
                break;
            }
        }
        RepositoryEntry addedEntry = null;
        if (handler != null) {
            Locale locale = I18nModule.getDefaultLocale();
            addedEntry = handler.importResource(identity, null, displayname, "", true, locale, fResource, fResource.getName());
            if (StringHelper.containsNonWhitespace(resourcename)) {
                addedEntry.setResourcename(resourcename);
            }
            if (StringHelper.containsNonWhitespace(softkey)) {
                addedEntry.setSoftkey(softkey);
            }
            if (access < RepositoryEntry.ACC_OWNERS || access > RepositoryEntry.ACC_USERS_GUESTS) {
                addedEntry.setAccess(RepositoryEntry.ACC_OWNERS);
            } else {
                addedEntry.setAccess(access);
            }
            addedEntry = repositoryService.update(addedEntry);
        }
        return addedEntry;
    } catch (Exception e) {
        log.error("Fail to import a resource", e);
        throw new WebApplicationException(e);
    }
}
Also used : ResourceEvaluation(org.olat.fileresource.types.ResourceEvaluation) Locale(java.util.Locale) WebApplicationException(javax.ws.rs.WebApplicationException) RepositoryHandlerFactory(org.olat.repository.handlers.RepositoryHandlerFactory) RepositoryHandler(org.olat.repository.handlers.RepositoryHandler) RepositoryEntry(org.olat.repository.RepositoryEntry) WebApplicationException(javax.ws.rs.WebApplicationException) RepositoryService(org.olat.repository.RepositoryService)

Example 30 with ResourceEvaluation

use of org.olat.fileresource.types.ResourceEvaluation in project openolat by klemens.

the class SurveyFileResource method validate.

/**
 * @param unzippedDir
 * @return True if is of type.
 */
public static boolean validate(File unzippedDir) {
    VFSContainer vfsUnzippedRoot = new LocalFolderImpl(unzippedDir);
    VFSItem vfsQTI = vfsUnzippedRoot.resolve("qti.xml");
    // getDocument(..) ensures that InputStream is closed in every case.
    Document doc = QTIHelper.getDocument((LocalFileImpl) vfsQTI);
    return validateQti(doc, new ResourceEvaluation(false)).isValid();
}
Also used : ResourceEvaluation(org.olat.fileresource.types.ResourceEvaluation) VFSContainer(org.olat.core.util.vfs.VFSContainer) VFSItem(org.olat.core.util.vfs.VFSItem) Document(org.dom4j.Document) LocalFolderImpl(org.olat.core.util.vfs.LocalFolderImpl)

Aggregations

ResourceEvaluation (org.olat.fileresource.types.ResourceEvaluation)30 File (java.io.File)10 IOException (java.io.IOException)10 Path (java.nio.file.Path)10 URL (java.net.URL)8 Document (org.dom4j.Document)8 Test (org.junit.Test)8 LocalFolderImpl (org.olat.core.util.vfs.LocalFolderImpl)4 VFSContainer (org.olat.core.util.vfs.VFSContainer)4 VFSItem (org.olat.core.util.vfs.VFSItem)4 QTIDocument (org.olat.ims.qti.editor.beecom.objects.QTIDocument)4 RepositoryEntryImport (org.olat.repository.RepositoryEntryImportExport.RepositoryEntryImport)4 RepositoryHandler (org.olat.repository.handlers.RepositoryHandler)4 ArrayList (java.util.ArrayList)2 Locale (java.util.Locale)2 WebApplicationException (javax.ws.rs.WebApplicationException)2 RepositoryEntry (org.olat.repository.RepositoryEntry)2 RepositoryService (org.olat.repository.RepositoryService)2 RepositoryHandlerFactory (org.olat.repository.handlers.RepositoryHandlerFactory)2