use of bio.terra.buffer.generated.model.PoolInfo in project terra-resource-buffer by DataBiosphere.
the class PoolService method getPoolInfo.
/**
* Gets pool information by given {@link PoolId}.
*/
public PoolInfo getPoolInfo(PoolId poolId) {
Optional<PoolAndResourceStates> poolAndResourceStates = bufferDao.retrievePoolAndResourceStatesById(poolId);
if (poolAndResourceStates.isEmpty()) {
throw new NotFoundException(String.format("Pool %s not found", poolId));
}
Pool pool = poolAndResourceStates.get().pool();
Multiset<ResourceState> resourceStates = poolAndResourceStates.get().resourceStates();
return new PoolInfo().poolConfig(new PoolConfig().poolId(poolId.toString()).size(pool.size()).resourceConfigName(pool.resourceConfig().getConfigName())).status(bio.terra.buffer.generated.model.PoolStatus.valueOf(pool.status().toString())).putResourceStateCountItem(ResourceState.CREATING.name(), resourceStates.count(ResourceState.CREATING)).putResourceStateCountItem(ResourceState.READY.name(), resourceStates.count(ResourceState.READY)).putResourceStateCountItem(ResourceState.DELETED.name(), resourceStates.count(ResourceState.DELETED)).putResourceStateCountItem(ResourceState.HANDED_OUT.name(), resourceStates.count(ResourceState.HANDED_OUT));
}
use of bio.terra.buffer.generated.model.PoolInfo in project terra-resource-buffer by DataBiosphere.
the class PoolServiceTest method getPoolInfo_success.
@Test
public void getPoolInfo_success() throws Exception {
PoolId poolId = PoolId.create("poolId");
newReadyPool(poolId, 2);
assertEquals(new PoolInfo().poolConfig(new PoolConfig().size(2).poolId(poolId.toString()).resourceConfigName("resourceName")).status(bio.terra.buffer.generated.model.PoolStatus.ACTIVE).putResourceStateCountItem(ResourceState.READY.name(), 2).putResourceStateCountItem(ResourceState.CREATING.name(), 0).putResourceStateCountItem(ResourceState.DELETED.name(), 0).putResourceStateCountItem(ResourceState.HANDED_OUT.name(), 0), poolService.getPoolInfo(poolId));
}
Aggregations