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;
}
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);
}
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);
}
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;
}
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);
}
Aggregations