/** * {@inheritDoc} */ @Override public void deleteAll(List<PlatformIdent> platformIdents) { for (PlatformIdent platformIdent : platformIdents) { delete(platformIdent); } }
/** * {@inheritDoc} */ @Override public List<PlatformIdent> findByName(String agentName) { return findByNameAndIps(agentName, null); }
/** * {@inheritDoc} */ @Override public List<PlatformIdent> findAll() { return getEntityManager().createNamedQuery(PlatformIdent.FIND_ALL, PlatformIdent.class).getResultList(); }
/** * {@inheritDoc} */ @Override public PlatformIdent findInitialized(long id) { for (PlatformIdent platformIdent : platformIdentCache.getCleanPlatformIdents()) { if (platformIdent.getId().longValue() == id) { return platformIdent; } } List<PlatformIdent> cleanPlatformIdents = loadIdentsFromDB(Collections.singleton(Long.valueOf(id))); if (CollectionUtils.isNotEmpty(cleanPlatformIdents)) { if (1 == cleanPlatformIdents.size()) { return cleanPlatformIdents.get(0); } else { throw new RuntimeException("More than one agent retrieved for one ID."); } } return null; }
@Override protected void doInTransactionWithoutResult(TransactionStatus status) { // load all non-fetched and collect ids List<PlatformIdent> allNonFetched = findAll(); if (CollectionUtils.isNotEmpty(allNonFetched)) { Collection<Long> toLoad = new ArrayList<>(allNonFetched.size()); for (PlatformIdent platformIdent : allNonFetched) { toLoad.add(platformIdent.getId()); } loadIdentsFromDB(toLoad); } } });
/** * {@inheritDoc} * * @throws IOException */ protected void writeAgentData() throws IOException { List<PlatformIdent> involvedPlatformIdents = platformIdentDao.findAllInitialized(involvedAgentsSet); for (PlatformIdent agent : involvedPlatformIdents) { super.writeNonDefaultDataObject(agent, agent.getId() + StorageFileType.AGENT_FILE.getExtension()); } }
PlatformIdent platformIdent = load(id); if (null != platformIdent) { Hibernate.initialize(platformIdent.getSensorTypeIdents());
List<PlatformIdent> cleanPlatformIdents = loadIdentsFromDB(wantedAgentsIds); for (PlatformIdent platformIdent : cleanPlatformIdents) { if (wantedAgentsIds.contains(platformIdent.getId())) {
/** * {@inheritDoc} */ @Override public List<PlatformIdent> findByNameAndIps(String agentName, List<String> definedIps) { TypedQuery<PlatformIdent> query = getEntityManager().createNamedQuery(PlatformIdent.FIND_BY_AGENT_NAME, PlatformIdent.class); query.setParameter("agentName", agentName); List<PlatformIdent> results = query.getResultList(); // manually filter the defined IPs if (null != definedIps) { for (Iterator<PlatformIdent> it = results.iterator(); it.hasNext();) { PlatformIdent platformIdent = it.next(); if (!Objects.equals(definedIps, platformIdent.getDefinedIPs())) { it.remove(); } } } return results; }