use of io.vertigo.account.account.Account in project vertigo by KleeGroup.
the class MemoryAccountCachePlugin method putAccount.
/**
* {@inheritDoc}
*/
@Override
public synchronized void putAccount(final Account account) {
Assertion.checkNotNull(account);
// -----
final DtDefinition dtDefinition = DtObjectUtil.findDtDefinition(account);
final URI<Account> uri = new URI<>(dtDefinition, account.getId());
// ----
final Object old = accountByURI.put(uri, account);
if (old == null) {
groupByAccountURI.put(uri, new HashSet<URI<AccountGroup>>());
accountURIByAuthToken.put(account.getAuthToken(), uri);
}
}
use of io.vertigo.account.account.Account in project vertigo by KleeGroup.
the class RedisAccountCachePlugin method getAccountURIs.
/**
* {@inheritDoc}
*/
@Override
public Set<URI<Account>> getAccountURIs(final URI<AccountGroup> groupURI) {
Assertion.checkNotNull(groupURI);
// -----
final DtDefinition dtDefinition = DtObjectUtil.findDtDefinition(Account.class);
final Set<URI<Account>> set = new HashSet<>();
try (final Jedis jedis = redisConnector.getResource()) {
final Set<String> ids = jedis.smembers(SACCOUNTS_BY_GROUP_START_KEY + groupURI.getId());
for (final String id : ids) {
set.add(new URI<Account>(dtDefinition, id));
}
return set;
}
}
use of io.vertigo.account.account.Account in project vertigo by KleeGroup.
the class StoreAccountStorePlugin method getGroupURIs.
/**
* {@inheritDoc}
*/
@Override
public Set<URI<AccountGroup>> getGroupURIs(final URI<Account> accountURI) {
if (associationUserGroup instanceof AssociationSimpleDefinition) {
// case 1 group per user
final URI<Entity> userURI = new URI(getUserDtDefinition(), accountURI.getId());
final Entity userEntity = storeManager.getDataStore().readOne(userURI);
final Object fkValue = ((AssociationSimpleDefinition) associationUserGroup).getFKField().getDataAccessor().getValue(userEntity);
final URI<AccountGroup> groupURI = new URI(userGroupDtDefinition, fkValue);
return Collections.singleton(groupURI);
}
// case N group per user
// other case checked in postStart by assertions
Assertion.checkArgument(associationUserGroup instanceof AssociationNNDefinition, "Association ({0}) between User and Group must be an AssociationSimpleDefinition or an AssociationNNDefinition", associationUserGroup.getName());
final DtListURI groupDtListURI = new DtListURIForNNAssociation((AssociationNNDefinition) associationUserGroup, accountURI, associationGroupRoleName);
// -----
final DtList<? extends Entity> result = Home.getApp().getComponentSpace().resolve(StoreManager.class).getDataStore().findAll(groupDtListURI);
return result.stream().map(groupEntity -> groupToAccount(groupEntity).getURI()).collect(Collectors.toSet());
}
use of io.vertigo.account.account.Account in project vertigo by KleeGroup.
the class StoreAccountStorePlugin method getAccountURIs.
/**
* {@inheritDoc}
*/
@Override
public Set<URI<Account>> getAccountURIs(final URI<AccountGroup> groupURI) {
final DtListURI userDtListURI;
if (associationUserGroup instanceof AssociationSimpleDefinition) {
userDtListURI = new DtListURIForSimpleAssociation((AssociationSimpleDefinition) associationUserGroup, groupURI, associationUserRoleName);
} else {
// autres cas éliminés par assertion dans le postStart
Assertion.checkArgument(associationUserGroup instanceof AssociationNNDefinition, "Association ({0}) between User and Group must be an AssociationSimpleDefinition or an AssociationNNDefinition", associationUserGroup.getName());
userDtListURI = new DtListURIForNNAssociation((AssociationNNDefinition) associationUserGroup, groupURI, associationUserRoleName);
}
// -----
final DtList<? extends Entity> result = Home.getApp().getComponentSpace().resolve(StoreManager.class).getDataStore().findAll(userDtListURI);
return result.stream().map(userEntity -> userToAccount(userEntity).getURI()).collect(Collectors.toSet());
}
use of io.vertigo.account.account.Account in project vertigo by KleeGroup.
the class AuthenticationManagerTest method loginSuccess.
private Optional<Account> loginSuccess() {
final AuthenticationToken token = new UsernamePasswordAuthenticationToken("admin", "v3rt1g0");
final Optional<Account> account = authenticationManager.login(token);
Assert.assertTrue("Authent fail", account.isPresent());
final Optional<UserSession> userSession = securityManager.getCurrentUserSession();
Assert.assertTrue("No UserSession", userSession.isPresent());
Assert.assertTrue("Not authenticated", userSession.get().isAuthenticated());
return account;
}
Aggregations