@Override @Transactional public EndpointProfilesBodyDto findEndpointProfileBodyByEndpointGroupId(PageLinkDto pageLink) { validateSqlId(pageLink.getLimit(), "Can't find endpoint group by id. Incorrect limit parameter " + pageLink.getLimit()); validateString(pageLink.getOffset(), "Can't find endpoint group by id. Incorrect offset " + "parameter " + pageLink.getOffset()); return endpointProfileDao.findBodyByEndpointGroupId(pageLink); }
@Override public EndpointProfileBodyDto findEndpointProfileBodyByKeyHash(byte[] endpointProfileKeyHash) { validateHash(endpointProfileKeyHash, "Can't find endpoint profile by key hash. Invalid key " + "hash " + endpointProfileKeyHash); return endpointProfileDao.findBodyByKeyHash(endpointProfileKeyHash); }
@Override @Transactional public EndpointProfilesPageDto findEndpointProfileByEndpointGroupId(PageLinkDto pageLink) { validateSqlId(pageLink.getLimit(), "Can't find endpoint group by id. Incorrect limit parameter " + pageLink.getLimit()); validateString(pageLink.getOffset(), "Can't find endpoint group by id. Incorrect offset " + "parameter " + pageLink.getOffset()); return endpointProfileDao.findByEndpointGroupId(pageLink); }
@Override public void removeEndpointProfileByKeyHash(byte[] endpointProfileKeyHash) { validateHash(endpointProfileKeyHash, "Can't remove endpoint profile by key hash. Invalid key " + "hash " + endpointProfileKeyHash); EndpointProfile endpointProfile = endpointProfileDao.findByKeyHash(endpointProfileKeyHash); if (endpointProfile != null) { if (isValidId(endpointProfile.getEndpointUserId())) { detachEndpointFromUser(getDto(endpointProfile)); } endpointProfileDao.removeByKeyHash(endpointProfileKeyHash); } else { throw new DatabaseProcessingException("Endpoint profile is not present in db."); } }
if (endpointUser != null) { EndpointProfile endpoint = endpointProfileDao.findByAccessToken(endpointAccessToken); LOG.trace("[{}] Found endpoint profile by with access token {} ", endpointAccessToken, endpoint); endpoint.setEndpointUserId(endpointUser.getId()); LOG.trace("Save endpoint user {} and endpoint profile {}", endpointUser, endpoint); endpoint = endpointProfileDao.save(endpoint); break; } catch (KaaOptimisticLockingFailureException ex) { LOG.warn("Optimistic lock detected in endpoint profile ", Arrays.toString(endpoint .getEndpointKey()), ex); endpoint = endpointProfileDao.findByKeyHash(Sha1HashUtils.hashToBytes(endpoint .getEndpointKey()));
cfGroupStateSave.add(new EndpointGroupStateDto("333", null, null)); EndpointProfileDto endpointProfileSave = generateEndpointProfileForTestUpdate(null, "TEST_KEY_HASH".getBytes(), cfGroupStateSave); EndpointProfile saved = endpointProfileDao.save(endpointProfileSave); cfGroupStateUpdate.add(new EndpointGroupStateDto("111", null, null)); cfGroupStateUpdate.add(new EndpointGroupStateDto("444", null, null)); EndpointProfileDto endpointProfileUpdate = generateEndpointProfileForTestUpdate(saved.getId(), "TEST_KEY_HASH".getBytes(), cfGroupStateUpdate); endpointProfileUpdate.setVersion(saved.getVersion()); endpointProfileDao.save(endpointProfileUpdate); String limit = "10"; String offset = "0"; for (int i = 0; i < 2; i++) { pageLink = new PageLinkDto(endpointGroupId[i], limit, offset); found = endpointProfileDao.findByEndpointGroupId(pageLink); Assert.assertFalse(found.getEndpointProfiles().isEmpty()); found = endpointProfileDao.findByEndpointGroupId(pageLink); Assert.assertTrue(found.getEndpointProfiles().isEmpty());
EndpointProfile storedProfile = endpointProfileDao.findByKeyHash(keyHash); if (storedProfile == null) { dto = getDto(endpointProfileDao.save(endpointProfileDto)); } else { if (Arrays.equals(storedProfile.getEndpointKey(), endpointProfileDto.getEndpointKey())) { endpointProfileDto.setId(storedProfile.getId()); endpointProfileDto.setVersion(storedProfile.getVersion()); dto = getDto(endpointProfileDao.save(endpointProfileDto)); } else { LOG.warn("Endpoint profile with key hash {} already exists.", keyHash); dto = getDto(endpointProfileDao.save(endpointProfileDto));
@Override public EndpointProfileDto findEndpointProfileByKeyHash(byte[] endpointProfileKeyHash) { validateHash(endpointProfileKeyHash, "Can't find endpoint profile by key hash. Invalid key " + "hash " + endpointProfileKeyHash); return getDto(endpointProfileDao.findByKeyHash(endpointProfileKeyHash)); }
@Override public void run() { try { MongoEndpointProfile ep = new MongoEndpointProfile(endpointProfile); ep.setEndpointUserId("Ololo " + id); endpointProfileDao.save(ep.toDto()); } catch (KaaOptimisticLockingFailureException ex) { LOG.error("Catch optimistic exception."); throw ex; } } }));
@Test public void testRemoveById() throws Exception { EndpointProfileDto expected = generateEndpointProfile(null, null, null, null); endpointProfileDao.removeById(ByteBuffer.wrap(expected.getEndpointKeyHash())); EndpointProfile found = endpointProfileDao.findByKeyHash(expected.getEndpointKeyHash()); Assert.assertNull(found); }
@Test public void removeByAppId() { EndpointProfileDto endpointProfile = generateEndpointProfileDto(null, null); Assert.assertNotNull(endpointProfile); byte[] keyHash = endpointProfile.getEndpointKeyHash(); endpointProfileDao.removeByAppId(endpointProfile.getApplicationId()); MongoEndpointProfile found = endpointProfileDao.findByKeyHash(keyHash); Assert.assertNull(found); }
@Test public void removeByIdTest() { EndpointProfileDto epDto = generateEndpointProfileDto(null, null); Assert.assertNotNull(epDto); endpointProfileDao.removeById(ByteBuffer.wrap(epDto.getEndpointKeyHash())); MongoEndpointProfile endpointProfile = endpointProfileDao.findById(ByteBuffer.wrap(epDto.getEndpointKeyHash())); Assert.assertNull(endpointProfile); }
@Test public void testFindById() { EndpointProfileDto endpointProfile = generateEndpointProfileDto(null, null); MongoEndpointProfile profile = endpointProfileDao.findById(ByteBuffer.wrap(endpointProfile.getEndpointKeyHash())); Assert.assertNotNull(profile); }
@Override public List<EndpointProfileDto> findEndpointProfilesByUserId(String endpointUserId) { return convertDtoList(endpointProfileDao.findByEndpointUserId(endpointUserId)); }
@Override public boolean isSdkProfileUsed(String token) { return endpointProfileDao.checkSdkToken(token); } }
@Test public void testFindByAccessToken() throws Exception { EndpointProfileDto expected = generateEndpointProfile(null, null, null, null); EndpointProfile found = endpointProfileDao.findByAccessToken(expected.getAccessToken()); Assert.assertEquals(expected, found.toDto()); }
@Test public void testRemoveByKeyHash() throws Exception { EndpointProfileDto expected = generateEndpointProfile(null, null, null, null); endpointProfileDao.removeByKeyHash(expected.getEndpointKeyHash()); EndpointProfile found = endpointProfileDao.findByKeyHash(expected.getEndpointKeyHash()); Assert.assertNull(found); }
byte[] keyHash = generateBytes(); EndpointProfileDto endpointProfileSave = generateEndpointProfileForTestUpdate(null, keyHash, cfGroupStateSave); EndpointProfile saved = endpointProfileDao.save(endpointProfileSave); cfGroupStateUpdate.add(new EndpointGroupStateDto("111", null, null)); cfGroupStateUpdate.add(new EndpointGroupStateDto("444", null, null)); EndpointProfileDto endpointProfileUpdate = generateEndpointProfileForTestUpdate(endpointProfileId, keyHash, cfGroupStateUpdate); endpointProfileUpdate.setVersion(saved.getVersion()); saved = endpointProfileDao.save(endpointProfileUpdate); String limit = "10"; String offset = "0"; for (int i = 0; i < 2; i++) { pageLink = new PageLinkDto(endpointGroupId[i], limit, offset); found = endpointProfileDao.findByEndpointGroupId(pageLink); Assert.assertFalse(found.getEndpointProfiles().isEmpty()); found = endpointProfileDao.findByEndpointGroupId(pageLink); Assert.assertTrue(found.getEndpointProfiles().isEmpty());
LOG.warn("Optimistic lock detected in endpoint profile ", Arrays.toString(endpoint .getEndpointKey()), ex); endpoint = getDto(endpointProfileDao.findByKeyHash(Sha1HashUtils.hashToBytes(endpoint .getEndpointKey())));
@Override public void run() { try { CassandraEndpointProfile ep = new CassandraEndpointProfile(endpointProfile); ep.setEndpointUserId("Ololo " + id); endpointProfileDao.save(ep.toDto()); } catch (KaaOptimisticLockingFailureException ex) { LOG.error("Catch optimistic exception."); throw ex; } } }));