Search in sources :

Example 6 with Entity

use of io.vertigo.dynamo.domain.model.Entity in project vertigo by KleeGroup.

the class TwoTablesDbFileStorePlugin method createMetaDataEntity.

private Entity createMetaDataEntity(final FileInfo fileInfo) {
    final Entity fileMetadataDto = DtObjectUtil.createEntity(storeMetaDataDtDefinition);
    final VFile vFile = fileInfo.getVFile();
    setValue(fileMetadataDto, DtoFields.FILE_NAME, vFile.getFileName());
    setValue(fileMetadataDto, DtoFields.MIME_TYPE, vFile.getMimeType());
    setValue(fileMetadataDto, DtoFields.LAST_MODIFIED, vFile.getLastModified());
    setValue(fileMetadataDto, DtoFields.LENGTH, vFile.getLength());
    return fileMetadataDto;
}
Also used : Entity(io.vertigo.dynamo.domain.model.Entity) VFile(io.vertigo.dynamo.file.model.VFile)

Example 7 with Entity

use of io.vertigo.dynamo.domain.model.Entity in project vertigo by KleeGroup.

the class TwoTablesDbFileStorePlugin method delete.

/**
 * {@inheritDoc}
 */
@Override
public void delete(final FileInfoURI fileInfoUri) {
    checkReadonly();
    checkDefinitionStoreBinding(fileInfoUri.getDefinition());
    // -----
    final URI<Entity> dtoMetaDataUri = new URI<>(storeMetaDataDtDefinition, fileInfoUri.getKey());
    final DtObject fileMetadataDtoOld = getStoreManager().getDataStore().readOne(dtoMetaDataUri);
    final Object fdtId = getValue(fileMetadataDtoOld, DtoFields.FDT_ID, Object.class);
    final URI<Entity> dtoDataUri = new URI<>(storeFileDtDefinition, fdtId);
    getStoreManager().getDataStore().delete(dtoMetaDataUri);
    getStoreManager().getDataStore().delete(dtoDataUri);
}
Also used : Entity(io.vertigo.dynamo.domain.model.Entity) DtObject(io.vertigo.dynamo.domain.model.DtObject) DtObject(io.vertigo.dynamo.domain.model.DtObject) URI(io.vertigo.dynamo.domain.model.URI) FileInfoURI(io.vertigo.dynamo.domain.model.FileInfoURI)

Example 8 with Entity

use of io.vertigo.dynamo.domain.model.Entity in project vertigo by KleeGroup.

the class FsFileStorePlugin method delete.

/**
 * {@inheritDoc}
 */
@Override
public void delete(final FileInfoURI uri) {
    Assertion.checkArgument(!readOnly, STORE_READ_ONLY);
    final URI<Entity> dtoUri = createDtObjectURI(uri);
    // -----suppression du fichier
    final DtObject fileInfoDto = getStoreManager().getDataStore().readOne(dtoUri);
    final String path = getValue(fileInfoDto, DtoFields.FILE_PATH, String.class);
    getCurrentTransaction().addAfterCompletion(new FileActionDelete(documentRoot + path));
    // -----suppression en base
    getStoreManager().getDataStore().delete(dtoUri);
}
Also used : Entity(io.vertigo.dynamo.domain.model.Entity) DtObject(io.vertigo.dynamo.domain.model.DtObject)

Example 9 with Entity

use of io.vertigo.dynamo.domain.model.Entity in project vertigo by KleeGroup.

the class FsFileStorePlugin method create.

/**
 * {@inheritDoc}
 */
@Override
public FileInfo create(final FileInfo fileInfo) {
    Assertion.checkArgument(!readOnly, STORE_READ_ONLY);
    Assertion.checkNotNull(fileInfo.getURI() == null, "Only file without any id can be created.");
    // -----
    final Entity fileInfoDto = createFileInfoEntity(fileInfo);
    // -----
    getStoreManager().getDataStore().create(fileInfoDto);
    // cas de la création
    final Object fileInfoDtoId = DtObjectUtil.getId(fileInfoDto);
    Assertion.checkNotNull(fileInfoDtoId, "ID  du fichier doit être renseignée.");
    final FileInfoURI uri = createURI(fileInfo.getDefinition(), fileInfoDtoId);
    fileInfo.setURIStored(uri);
    // on met a jour la base
    final SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd/", Locale.FRANCE);
    final String pathToSave = format.format(new Date()) + fileInfoDtoId;
    setValue(fileInfoDto, DtoFields.FILE_PATH, pathToSave);
    // -----
    getStoreManager().getDataStore().update(fileInfoDto);
    // -----
    saveFile(fileInfo, pathToSave);
    return fileInfo;
}
Also used : Entity(io.vertigo.dynamo.domain.model.Entity) FileInfoURI(io.vertigo.dynamo.domain.model.FileInfoURI) DtObject(io.vertigo.dynamo.domain.model.DtObject) SimpleDateFormat(java.text.SimpleDateFormat) Date(java.util.Date)

Example 10 with Entity

use of io.vertigo.dynamo.domain.model.Entity in project vertigo by KleeGroup.

the class FsFileStorePlugin method update.

/**
 * {@inheritDoc}
 */
@Override
public void update(final FileInfo fileInfo) {
    Assertion.checkArgument(!readOnly, STORE_READ_ONLY);
    Assertion.checkNotNull(fileInfo.getURI() != null, "Only file with an id can be updated.");
    // -----
    final Entity fileInfoDto = createFileInfoEntity(fileInfo);
    // -----
    getStoreManager().getDataStore().update(fileInfoDto);
    final String pathToSave = getValue(fileInfoDto, DtoFields.FILE_PATH, String.class);
    // -----
    saveFile(fileInfo, pathToSave);
}
Also used : Entity(io.vertigo.dynamo.domain.model.Entity)

Aggregations

Entity (io.vertigo.dynamo.domain.model.Entity)26 DtObject (io.vertigo.dynamo.domain.model.DtObject)10 URI (io.vertigo.dynamo.domain.model.URI)10 VFile (io.vertigo.dynamo.file.model.VFile)10 DtField (io.vertigo.dynamo.domain.metamodel.DtField)7 FileInfoURI (io.vertigo.dynamo.domain.model.FileInfoURI)7 DtDefinition (io.vertigo.dynamo.domain.metamodel.DtDefinition)5 DtList (io.vertigo.dynamo.domain.model.DtList)4 DtListURI (io.vertigo.dynamo.domain.model.DtListURI)4 Instant (java.time.Instant)4 Home (io.vertigo.app.Home)3 Criterions (io.vertigo.dynamo.criteria.Criterions)3 InputStreamBuilder (io.vertigo.dynamo.file.model.InputStreamBuilder)3 Assertion (io.vertigo.lang.Assertion)3 Optional (java.util.Optional)3 Set (java.util.Set)3 Inject (javax.inject.Inject)3 Account (io.vertigo.account.account.Account)2 AccountGroup (io.vertigo.account.account.AccountGroup)2 AccountMapperHelper (io.vertigo.account.impl.account.AccountMapperHelper)2