Search in sources :

Example 21 with VFile

use of io.vertigo.dynamo.file.model.VFile in project vertigo by KleeGroup.

the class FileManagerTest method testCreateTempFile.

@Test
public void testCreateTempFile() {
    final File file = TestUtil.getFile("data/testFile.txt", getClass());
    final VFile vFile = fileManager.createFile(file);
    checkVFile(vFile, "testFile.txt", null, "text/plain", 71092L);
}
Also used : VFile(io.vertigo.dynamo.file.model.VFile) File(java.io.File) VFile(io.vertigo.dynamo.file.model.VFile) Test(org.junit.Test)

Example 22 with VFile

use of io.vertigo.dynamo.file.model.VFile in project vertigo by KleeGroup.

the class FileManagerTest method testCreateTempFileWithNoFileNoMime.

@Test
public void testCreateTempFileWithNoFileNoMime() {
    final String fileName = "monTestFile.txt";
    final Instant lastModified = Instant.now();
    final long length = 123;
    final InputStreamBuilder inputStreamBuilder = new InputStreamBuilder() {

        @Override
        public InputStream createInputStream() {
            return new StringBufferInputStream("Contenu test");
        }
    };
    final VFile vFile = fileManager.createFile(fileName, lastModified, length, inputStreamBuilder);
    checkVFile(vFile, fileName, lastModified, "text/plain", length);
}
Also used : StringBufferInputStream(java.io.StringBufferInputStream) InputStreamBuilder(io.vertigo.dynamo.file.model.InputStreamBuilder) Instant(java.time.Instant) VFile(io.vertigo.dynamo.file.model.VFile) Test(org.junit.Test)

Example 23 with VFile

use of io.vertigo.dynamo.file.model.VFile in project vertigo by KleeGroup.

the class AbstractStoreManagerTest method testCreateFile.

@Test
public void testCreateFile() throws Exception {
    try (final VTransactionWritable transaction = transactionManager.createCurrentTransaction()) {
        // 1.Création du fichier depuis un fichier texte du FS
        final VFile vFile = TestUtil.createVFile(fileManager, "../data/lautreamont.txt", AbstractStoreManagerTest.class);
        // 2. Sauvegarde en BDD
        final FileInfo fileInfo = new FileInfoStd(vFile);
        final FileInfo createdFileInfo = storeManager.getFileStore().create(fileInfo);
        // 3.relecture du fichier
        final FileInfo readFileInfo = storeManager.getFileStore().read(createdFileInfo.getURI());
        // 4. comparaison du fichier créé et du fichier lu.
        final String source;
        try (final OutputStream sourceOS = new java.io.ByteArrayOutputStream()) {
            FileUtil.copy(vFile.createInputStream(), sourceOS);
            source = sourceOS.toString();
        }
        final String read;
        try (final OutputStream readOS = new java.io.ByteArrayOutputStream()) {
            FileUtil.copy(readFileInfo.getVFile().createInputStream(), readOS);
            read = readOS.toString();
        }
        // on vérifie que le contenu des fichiers est identique.
        // assertEquals("toto", "toto");
        // assertEquals("toto", "ti");
        Assert.assertEquals(source, read);
        Assert.assertTrue("Test contenu du fichier", read.startsWith("Chant I"));
        Assert.assertTrue("Test contenu du fichier : " + secureSubString(read, 16711, "ses notes langoureuses,"), read.indexOf("ses notes langoureuses,") > 0);
        Assert.assertTrue("Test contenu du fichier : " + secureSubString(read, 11004, "mal : \"Adolescent,"), read.indexOf("mal : \"Adolescent,") > 0);
    // On désactive pour l'instant
    // Ne marche pas sur la PIC pour cause de charset sur le àé			//Assert.assertTrue("Test contenu du fichier : " + secureSubString(read, 15579, "adieu !à ;"), read.indexOf("adieu !à ;") > 0);
    }
}
Also used : FileInfoStd(io.vertigo.dynamo.store.data.fileinfo.FileInfoStd) FileInfo(io.vertigo.dynamo.file.model.FileInfo) OutputStream(java.io.OutputStream) VTransactionWritable(io.vertigo.commons.transaction.VTransactionWritable) VFile(io.vertigo.dynamo.file.model.VFile) Test(org.junit.Test)

Example 24 with VFile

use of io.vertigo.dynamo.file.model.VFile in project vertigo by KleeGroup.

the class AdvancedTestWebServices method testExportContacts.

@GET("/export/pdf/")
public VFile testExportContacts() throws URISyntaxException {
    final URL tempFile = resourcetManager.resolve("io/vertigo/vega/webservice/data/ws/contacts.pdf");
    final VFile result = fileManager.createFile(new File(tempFile.toURI()));
    // 200
    return result;
}
Also used : VFile(io.vertigo.dynamo.file.model.VFile) File(java.io.File) URL(java.net.URL) VFile(io.vertigo.dynamo.file.model.VFile) GET(io.vertigo.vega.webservice.stereotype.GET)

Example 25 with VFile

use of io.vertigo.dynamo.file.model.VFile in project vertigo by KleeGroup.

the class VFileJsonConverter method populateWebServiceCallContext.

/**
 * {@inheritDoc}
 */
@Override
public void populateWebServiceCallContext(final Object input, final WebServiceParam webServiceParam, final WebServiceCallContext routeContext) {
    Assertion.checkArgument(getSupportedInputs()[0].isInstance(input), "This JsonConverter doesn't support this input type {0}. Only {1} is supported", input.getClass().getSimpleName(), Arrays.toString(getSupportedInputs()));
    // -----
    final VFile value = VFileUtil.readVFileParam((Request) input, webServiceParam);
    routeContext.setParamValue(webServiceParam, value);
}
Also used : VFile(io.vertigo.dynamo.file.model.VFile)

Aggregations

VFile (io.vertigo.dynamo.file.model.VFile)25 File (java.io.File)12 Entity (io.vertigo.dynamo.domain.model.Entity)7 Test (org.junit.Test)7 InputStreamBuilder (io.vertigo.dynamo.file.model.InputStreamBuilder)6 Instant (java.time.Instant)6 GET (io.vertigo.vega.webservice.stereotype.GET)4 IOException (java.io.IOException)4 URL (java.net.URL)4 DtObject (io.vertigo.dynamo.domain.model.DtObject)3 FileInfoURI (io.vertigo.dynamo.domain.model.FileInfoURI)3 FileInfo (io.vertigo.dynamo.file.model.FileInfo)3 VTransactionWritable (io.vertigo.commons.transaction.VTransactionWritable)2 URI (io.vertigo.dynamo.domain.model.URI)2 FSFile (io.vertigo.dynamo.impl.file.model.FSFile)2 DataStream (io.vertigo.lang.DataStream)2 OutputStream (java.io.OutputStream)2 StringBufferInputStream (java.io.StringBufferInputStream)2 DateTimeFormatter (java.time.format.DateTimeFormatter)2 FileInfoStd (io.vertigo.dynamo.store.data.fileinfo.FileInfoStd)1