From 48c9d0b7bc353c38b25226e407bf98a688455969 Mon Sep 17 00:00:00 2001 From: mpriyank Date: Fri, 2 Sep 2022 13:48:54 +0100 Subject: Logging: get resource ids - Added logging while fetching resource ids using Module references. - Minor refactoring related to stream and forEach - Fixed minor sonar violations Issue-ID: CPS-1246 Change-Id: I631d7acd3f29e6bdc2995726e17f40bd7de118b1 Signed-off-by: mpriyank --- .../spi/repository/YangResourceNativeRepositoryImpl.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'cps-ri/src') diff --git a/cps-ri/src/main/java/org/onap/cps/spi/repository/YangResourceNativeRepositoryImpl.java b/cps-ri/src/main/java/org/onap/cps/spi/repository/YangResourceNativeRepositoryImpl.java index e21fecb2b..485f839bf 100644 --- a/cps-ri/src/main/java/org/onap/cps/spi/repository/YangResourceNativeRepositoryImpl.java +++ b/cps-ri/src/main/java/org/onap/cps/spi/repository/YangResourceNativeRepositoryImpl.java @@ -26,11 +26,13 @@ import java.util.StringJoiner; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import javax.persistence.Query; +import lombok.extern.slf4j.Slf4j; import org.hibernate.type.StandardBasicTypes; import org.onap.cps.spi.model.ModuleReference; import org.springframework.stereotype.Repository; import org.springframework.transaction.annotation.Transactional; +@Slf4j @Repository public class YangResourceNativeRepositoryImpl implements YangResourceNativeRepository { @@ -43,16 +45,21 @@ public class YangResourceNativeRepositoryImpl implements YangResourceNativeRepos final Query query = entityManager.createNativeQuery(getCombinedSelectSqlQuery(moduleReferences)) .unwrap(org.hibernate.query.NativeQuery.class) .addScalar("id", StandardBasicTypes.LONG); - return query.getResultList(); + final List yangResourceIds = query.getResultList(); + if (yangResourceIds.size() != moduleReferences.size()) { + log.warn("ModuleReferences size : {} and QueryResult size : {}", moduleReferences.size(), + yangResourceIds.size()); + } + return yangResourceIds; } private String getCombinedSelectSqlQuery(final Collection moduleReferences) { final StringJoiner sqlQueryJoiner = new StringJoiner(" UNION ALL "); - moduleReferences.stream().forEach(moduleReference -> { + moduleReferences.forEach(moduleReference -> sqlQueryJoiner.add(String.format("SELECT id FROM yang_resource WHERE module_name='%s' and revision='%s'", moduleReference.getModuleName(), - moduleReference.getRevision())); - }); + moduleReference.getRevision())) + ); return sqlQueryJoiner.toString(); } } -- cgit 1.2.3-korg