Loading src/main/java/org/etsi/osl/tmf/ri639/api/ResourceApiRouteBuilder.java +1 −1 Original line number Diff line number Diff line Loading @@ -92,7 +92,7 @@ public class ResourceApiRouteBuilder extends RouteBuilder { from( CATALOG_GET_RESOURCE_BY_CATEGORY ) .log(LoggingLevel.DEBUG, log, CATALOG_GET_RESOURCE_BY_CATEGORY + " message received!") .to("log:DEBUG?showBody=true&showHeaders=true") .bean( resourceRepoService, "getResourcesByCategory(${header.category})") .bean( resourceRepoService, "getDetailedResourcesByCategory(${header.category})") .marshal().json( JsonLibrary.Jackson) .convertBodyTo( String.class ); Loading src/main/java/org/etsi/osl/tmf/ri639/repo/ResourceRepository.java +1 −0 Original line number Diff line number Diff line Loading @@ -59,6 +59,7 @@ public interface ResourceRepository extends JpaRepository<Resource, Long> { List<Resource> findByNameAndResourceVersion(String aname, String aversion); List<Resource> findByNameAndCategoryAndResourceVersion(String aname, String acategory, String aversion); List<Resource> findByCategory(String acategory); // Methods for metrics Loading src/main/java/org/etsi/osl/tmf/ri639/reposervices/ResourceRepoService.java +38 −1 Original line number Diff line number Diff line Loading @@ -206,7 +206,7 @@ public class ResourceRepoService { try { String sql = "SELECT " + "srv.uuid as id," + "srv.uuid as uuid," + "srv.type as type," + "srv.name as name," + "srv.category as category," + Loading Loading @@ -247,6 +247,43 @@ public class ResourceRepoService { } } @Transactional public List<Resource> getDetailedResourcesByCategory(String categoryName) { Session session = sessionFactory.openSession(); Transaction tx = session.beginTransaction(); List<Resource> resources = new ArrayList<>(); try { String hql = "FROM RIResource r WHERE r.category = :category ORDER BY r.name ASC"; List<Resource> result = session.createQuery(hql, Resource.class) .setParameter("category", categoryName) .list(); for (Resource r : result) { Hibernate.initialize(r.getRelatedParty()); Hibernate.initialize(r.getNote()); Hibernate.initialize(r.getResourceCharacteristic()); Hibernate.initialize(r.getResourceSpecification()); Hibernate.initialize(r.getResourceRelationship()); Hibernate.initialize(r.getAttachment()); Hibernate.initialize(r.getActivationFeature()); resources.add(r); } tx.commit(); } catch (Exception e) { if (tx != null && tx.isActive()) { tx.rollback(); } logger.error("Error fetching detailed resources by category: " + categoryName, e); } finally { session.close(); } return resources; } @Transactional public Resource addResource(@Valid ResourceCreate resource) { logger.info("Will add Resource: " + resource.getName()); Loading Loading
src/main/java/org/etsi/osl/tmf/ri639/api/ResourceApiRouteBuilder.java +1 −1 Original line number Diff line number Diff line Loading @@ -92,7 +92,7 @@ public class ResourceApiRouteBuilder extends RouteBuilder { from( CATALOG_GET_RESOURCE_BY_CATEGORY ) .log(LoggingLevel.DEBUG, log, CATALOG_GET_RESOURCE_BY_CATEGORY + " message received!") .to("log:DEBUG?showBody=true&showHeaders=true") .bean( resourceRepoService, "getResourcesByCategory(${header.category})") .bean( resourceRepoService, "getDetailedResourcesByCategory(${header.category})") .marshal().json( JsonLibrary.Jackson) .convertBodyTo( String.class ); Loading
src/main/java/org/etsi/osl/tmf/ri639/repo/ResourceRepository.java +1 −0 Original line number Diff line number Diff line Loading @@ -59,6 +59,7 @@ public interface ResourceRepository extends JpaRepository<Resource, Long> { List<Resource> findByNameAndResourceVersion(String aname, String aversion); List<Resource> findByNameAndCategoryAndResourceVersion(String aname, String acategory, String aversion); List<Resource> findByCategory(String acategory); // Methods for metrics Loading
src/main/java/org/etsi/osl/tmf/ri639/reposervices/ResourceRepoService.java +38 −1 Original line number Diff line number Diff line Loading @@ -206,7 +206,7 @@ public class ResourceRepoService { try { String sql = "SELECT " + "srv.uuid as id," + "srv.uuid as uuid," + "srv.type as type," + "srv.name as name," + "srv.category as category," + Loading Loading @@ -247,6 +247,43 @@ public class ResourceRepoService { } } @Transactional public List<Resource> getDetailedResourcesByCategory(String categoryName) { Session session = sessionFactory.openSession(); Transaction tx = session.beginTransaction(); List<Resource> resources = new ArrayList<>(); try { String hql = "FROM RIResource r WHERE r.category = :category ORDER BY r.name ASC"; List<Resource> result = session.createQuery(hql, Resource.class) .setParameter("category", categoryName) .list(); for (Resource r : result) { Hibernate.initialize(r.getRelatedParty()); Hibernate.initialize(r.getNote()); Hibernate.initialize(r.getResourceCharacteristic()); Hibernate.initialize(r.getResourceSpecification()); Hibernate.initialize(r.getResourceRelationship()); Hibernate.initialize(r.getAttachment()); Hibernate.initialize(r.getActivationFeature()); resources.add(r); } tx.commit(); } catch (Exception e) { if (tx != null && tx.isActive()) { tx.rollback(); } logger.error("Error fetching detailed resources by category: " + categoryName, e); } finally { session.close(); } return resources; } @Transactional public Resource addResource(@Valid ResourceCreate resource) { logger.info("Will add Resource: " + resource.getName()); Loading