protected <T, X> X executeQuerySingleResult(Function<T, X> function) { final List<T> rows = genericPersistenceAccessor.executeNativeQuery(sql.toString(), parameterMap); if (rows == null || rows.size() != 1) { throw new IllegalStateException("Query returned multiple rows, but only 1 expected"); } T column = rows.get(0); return function.apply(column); }
public <E> void persist(E entity) { progressCallback.currentProgress(" Inserting %s:", entity.getClass().getSimpleName()); this.genericPersistenceAccessor.save(entity); progressCallback.currentProgress(" Inserting of %s done.", entity.getClass().getSimpleName()); }
@Override public List<OnmsNode> getNodes(List<LayerDefinition> definitions) { final StringBuilder queryBuilder = new StringBuilder("Select n from OnmsNode n join n.assetRecord assetRecord"); final List<String> restrictions = definitions.stream().map(LayerDefinition::getRestriction).filter(Objects::nonNull).collect(Collectors.toList()); if (!restrictions.isEmpty()) { queryBuilder.append(" WHERE "); queryBuilder.append(restrictions.stream().map(restriction -> "n." + restriction).collect(Collectors.joining(" AND "))); } final String query = queryBuilder.toString(); LOG.debug("Query to fetch nodes to build topology from: {}", query); return genericPersistenceAccessor.find(query); } }
private List<OnmsNode> getNodes(GeolocationQuery query) { CriteriaBuilder criteriaBuilder = new CriteriaBuilder(OnmsNode.class) .alias("assetRecord", "assetRecord") .and( Restrictions.isNotNull("assetRecord"), Restrictions.isNotNull("assetRecord.geolocation") ); if (query.getLocation() != null) { criteriaBuilder.and(Restrictions.eq("location", query.getLocation())); } if (!query.getNodeIds().isEmpty()) { criteriaBuilder.in("id", query.getNodeIds()); } return genericPersistenceAccessor.findMatching(criteriaBuilder.toCriteria()); }
final List<Object> paramValues = new ArrayList(); paramValues.add(Lists.newArrayList(nodeIds)); final List<Object[]> retvals = this.persistenceAccessor.findUsingNamedParameters(hql.toString(), paramNames.toArray(new String[paramNames.size()]), paramValues.toArray());
public <E> void persist(List<E> elements) { if (elements.size() < 1) { return; // nothing do do } progressCallback.currentProgress(" Inserting %s %ss:", elements.size(), elements.get(0).getClass().getSimpleName()); for (int startBatch = 0; startBatch < elements.size(); startBatch = startBatch + BATCH_SIZE) { int endBatch = Math.min(startBatch + BATCH_SIZE, elements.size()); List<E> batch = elements.subList(startBatch, endBatch); this.genericPersistenceAccessor.saveAll(batch); progressCallback.currentProgress(" Inserting %s of %s %ss done.", endBatch, elements.size(), elements.get(0).getClass().getSimpleName()); } }
private List<OnmsNode> getNodes(GeolocationQuery query) { CriteriaBuilder criteriaBuilder = new CriteriaBuilder(OnmsNode.class) .alias("assetRecord", "assetRecord") .and( Restrictions.isNotNull("assetRecord"), Restrictions.isNotNull("assetRecord.geolocation") ); if (query.getLocation() != null) { criteriaBuilder.and(Restrictions.eq("location", query.getLocation())); } if (!query.getNodeIds().isEmpty()) { criteriaBuilder.in("id", query.getNodeIds()); } return genericPersistenceAccessor.findMatching(criteriaBuilder.toCriteria()); }
final List<Object> paramValues = new ArrayList(); paramValues.add(Lists.newArrayList(nodeIds)); final List<Object[]> retvals = this.persistenceAccessor.findUsingNamedParameters(hql.toString(), paramNames.toArray(new String[paramNames.size()]), paramValues.toArray());
protected <T, X> X executeQuerySingleResult(Function<T, X> function) { final List<T> rows = genericPersistenceAccessor.executeNativeQuery(sql.toString(), parameterMap); if (rows == null || rows.size() != 1) { throw new IllegalStateException("Query returned multiple rows, but only 1 expected"); } T column = rows.get(0); return function.apply(column); }
protected <T> void executeQuery(RowHandler<T> rowHandler) { final List<T> rows = genericPersistenceAccessor.executeNativeQuery(sql.toString(), parameterMap); if (rows != null && !rows.isEmpty()) { for (T eachRow : rows) { rowHandler.handle(eachRow); } } }
protected <T> void executeQuery(RowHandler<T> rowHandler) { final List<T> rows = genericPersistenceAccessor.executeNativeQuery(sql.toString(), parameterMap); if (rows != null && !rows.isEmpty()) { for (T eachRow : rows) { rowHandler.handle(eachRow); } } }