Commit 6c5a7d52 authored by Kostis Trantzas's avatar Kostis Trantzas
Browse files

Merge branch '101-connection-leak-in-resourcereposervice-getresourceeager' into 'develop'

Resolve "Connection Leak in ResourceRepoService.getResourceEager"

See merge request !101
parents 3ec368dc a6d815d3
Loading
Loading
Loading
Loading
Loading
+16 −21
Original line number Diff line number Diff line
@@ -459,29 +459,24 @@ public class ResourceRepoService {
  @Transactional
  public Resource getResourceEager(String id) {
    
    Resource s = null;
    try(Session session = sessionFactory.openSession()) {
      Transaction tx = session.beginTransaction();
      s = (Resource) session.get(Resource.class, id);
      if (s == null) {
        return this.findByUuid(id);// last resort
      if (id == null || id.equals("")) {
        return null;
      }
    
      Hibernate.initialize(s.getRelatedParty());
      Hibernate.initialize(s.getNote());
      Hibernate.initialize(s.getResourceCharacteristic());
      Hibernate.initialize(s.getResourceSpecification());
      Hibernate.initialize(s.getResourceRelationship());
      Hibernate.initialize(s.getAttachment());
      Hibernate.initialize(s.getActivationFeature());
      Resource r = this.findByUuid(id);;


      tx.commit();
    } catch (Exception e) {
      e.printStackTrace();
      if (r == null) {
        return null;
      }
      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());
   
    return s;
      return r;
  }