use of io.vertigo.dynamo.domain.model.URI in project vertigo by KleeGroup.
the class SearchManagerImpl method onEvent.
/**
* Receive Store event.
* @param storeEvent Store event
*/
@EventBusSubscribed
public void onEvent(final StoreEvent storeEvent) {
final URI uri = storeEvent.getUri();
// On ne traite l'event que si il porte sur un KeyConcept
if (uri.getDefinition().getStereotype() == DtStereotype.KeyConcept && hasIndexDefinitionByKeyConcept(uri.getDefinition())) {
final List<URI<? extends KeyConcept>> list = Collections.singletonList(uri);
markAsDirty(list);
}
}
use of io.vertigo.dynamo.domain.model.URI in project vertigo by KleeGroup.
the class DtObjectUtil method createURI.
/**
* Récupération d'une URI de DTO.
* On récupère l'URI d'un DTO référencé par une association.
* Il est nécessaire que l'association soit simple.
* Si l'association est multiple on ne récupère pas une URI mais une DtListURI, c'est à dire le pointeur vers une liste.
*
* On recherche une URI correspondant à une association.
* Exemple : Une Commande possède un bénéficiaire.
* Dans cetexemple on recherche l'URI du bénéficiaire à partir de l'objet commande.
* @param <E>
*
* @param associationDefinitionName Nom de la définition d'une association
* @param dto Object
* @param dtoTargetClass Class of entity of this association
* @return dto du DTO relié via l'association au dto passé en paramètre (Nullable)
*/
public static <E extends Entity> URI<E> createURI(final DtObject dto, final String associationDefinitionName, final Class<E> dtoTargetClass) {
Assertion.checkNotNull(associationDefinitionName);
Assertion.checkNotNull(dto);
Assertion.checkNotNull(dtoTargetClass);
// -----
final AssociationSimpleDefinition associationSimpleDefinition = Home.getApp().getDefinitionSpace().resolve(associationDefinitionName, AssociationSimpleDefinition.class);
// 1. On recherche le nom du champ portant l'objet référencé (Exemple : personne)
final DtDefinition dtDefinition = associationSimpleDefinition.getPrimaryAssociationNode().getDtDefinition();
// 2. On calcule le nom de la fk.
final DtField fkField = associationSimpleDefinition.getFKField();
// 3. On calcule l'URI de la clé étrangère
final Object id = fkField.getDataAccessor().getValue(dto);
if (id == null) {
return null;
}
return new URI(dtDefinition, id);
}
use of io.vertigo.dynamo.domain.model.URI in project vertigo by KleeGroup.
the class DtObjectUtil method createURI.
/**
* Creates an URI from an existing object.
* @param entity Object
* @return this object URI
*/
public static <E extends Entity> URI<E> createURI(final E entity) {
Assertion.checkNotNull(entity);
// -----
final DtDefinition dtDefinition = findDtDefinition(entity);
return new URI<>(dtDefinition, DtObjectUtil.getId(entity));
}
Aggregations