use of io.vertigo.dynamo.domain.model.Entity in project vertigo by KleeGroup.
the class TaskEngineInsertWithGeneratedKeys method doExecute.
/**
* {@inheritDoc}
*/
@Override
public OptionalInt doExecute(final SqlStatement sqlStatement, final SqlConnection connection) throws SQLException {
Assertion.checkNotNull(sqlStatement);
Assertion.checkNotNull(connection);
// --
final GenerationMode generationMode = connection.getDataBase().getSqlDialect().getGenerationMode();
// gestion de generatedKey
final Entity entity = getValue("DTO");
final DtDefinition dtDefinition = DtObjectUtil.findDtDefinition(entity);
final DtField idField = dtDefinition.getIdField().get();
final Tuples.Tuple2<Integer, ?> result = getDataBaseManager().executeUpdateWithGeneratedKey(sqlStatement, generationMode, idField.getName(), idField.getDomain().getJavaClass(), connection);
final Object id = result.getVal2();
idField.getDataAccessor().setValue(entity, id);
// ---
return /*sqlRowcount*/
OptionalInt.of(result.getVal1());
}
use of io.vertigo.dynamo.domain.model.Entity in project vertigo by KleeGroup.
the class StoreAccountStorePlugin method getAccount.
/**
* {@inheritDoc}
*/
@Override
public Account getAccount(final URI<Account> accountURI) {
final URI<Entity> userURI = new URI(getUserDtDefinition(), accountURI.getId());
final Entity userEntity = storeManager.getDataStore().readOne(userURI);
return userToAccount(userEntity);
}
use of io.vertigo.dynamo.domain.model.Entity in project vertigo by KleeGroup.
the class StoreAccountStorePlugin method getGroup.
/**
* {@inheritDoc}
*/
@Override
public AccountGroup getGroup(final URI<AccountGroup> accountGroupURI) {
final URI<Entity> groupURI = new URI(userGroupDtDefinition, accountGroupURI.getId());
final Entity groupEntity = storeManager.getDataStore().readOne(groupURI);
return groupToAccount(groupEntity);
}
use of io.vertigo.dynamo.domain.model.Entity in project vertigo by KleeGroup.
the class BrokerBatchImpl method getMapByField.
/**
* {@inheritDoc}
*/
@Override
public <O> Map<O, DtList<E>> getMapByField(final DtDefinition dtDefinition, final String fieldName, final Collection<O> value) {
Assertion.checkNotNull(dtDefinition);
Assertion.checkNotNull(fieldName);
// -----
final DtField field = dtDefinition.getField(fieldName);
final Map<O, DtList<E>> map = new HashMap<>();
for (final E entity : getListByField(dtDefinition, fieldName, value)) {
final O key = (O) field.getDataAccessor().getValue(entity);
map.computeIfAbsent(key, k -> new DtList<>(dtDefinition)).add(entity);
}
return map;
}
use of io.vertigo.dynamo.domain.model.Entity in project vertigo by KleeGroup.
the class CacheData method putDtList.
/**
* Mise à jour du cache pour un type d'objet.
* @param dtc DTC
*/
void putDtList(final DtList<? extends Entity> dtc) {
Assertion.checkNotNull(dtc);
// -----
final String context = getContext(dtc.getDefinition());
// 1.On met à jour les objets
for (final Entity entity : dtc) {
cacheManager.put(context, entity.getURI(), entity);
}
// 2.Puis on met à jour la liste racine : pour que la liste ne soit pas evincée par les objets
cacheManager.put(context, dtc.getURI(), dtc);
}
Aggregations