diff --git a/AMW_business/src/main/java/ch/puzzle/itc/mobiliar/business/function/control/FunctionService.java b/AMW_business/src/main/java/ch/puzzle/itc/mobiliar/business/function/control/FunctionService.java index 104442e00..c59f54c2d 100644 --- a/AMW_business/src/main/java/ch/puzzle/itc/mobiliar/business/function/control/FunctionService.java +++ b/AMW_business/src/main/java/ch/puzzle/itc/mobiliar/business/function/control/FunctionService.java @@ -24,13 +24,11 @@ import ch.puzzle.itc.mobiliar.business.function.entity.AmwFunctionEntity; import ch.puzzle.itc.mobiliar.business.property.entity.MikEntity; import ch.puzzle.itc.mobiliar.business.resourcegroup.control.ResourceRepository; -import ch.puzzle.itc.mobiliar.business.resourcegroup.control.ResourceTypeRepository; import ch.puzzle.itc.mobiliar.business.resourcegroup.entity.ResourceEntity; import ch.puzzle.itc.mobiliar.business.resourcegroup.entity.ResourceTypeEntity; import ch.puzzle.itc.mobiliar.business.template.entity.RevisionInformation; import ch.puzzle.itc.mobiliar.business.utils.Identifiable; import ch.puzzle.itc.mobiliar.common.exception.NotFoundException; -import org.hibernate.Hibernate; import org.hibernate.envers.AuditReader; import org.hibernate.envers.AuditReaderFactory; @@ -46,12 +44,8 @@ public class FunctionService { @Inject ResourceRepository resourceRepository; - @Inject - ResourceTypeRepository resourceTypeRepository; - @Inject EntityManager entityManager; - /** * Returns all (overwritable) functions, which are defined on all parent resource types of the given resource instance - except the functions which are already defined on the given resource instance. */ @@ -90,10 +84,6 @@ public List getAllOverwritableSupertypeFunctions(ResourceType private Map getAllTypeAndSuperTypeFunctions(ResourceTypeEntity resourceTypeEntity) { Map superTypeFunctions = new LinkedHashMap<>(); if (resourceTypeEntity != null) { - if (!Hibernate.isInitialized(resourceTypeEntity.getFunctions())) { - resourceTypeEntity = resourceTypeRepository.loadWithFunctionsAndMiksForId(resourceTypeEntity.getId()); - } - for (AmwFunctionEntity function : resourceTypeEntity.getFunctions()) { AmwFunctionEntity functionWithMik = functionRepository.getFunctionByIdWithMiksAndParentChildFunctions(function.getId()); superTypeFunctions.put(function.getName(), functionWithMik); @@ -116,7 +106,6 @@ private Map getAllTypeAndSuperTypeFunctions(ResourceT *
  • All functions of the resource
  • *
  • Functions of the parent resourceTypes if not overwritten by the resource itself
  • * - * * @param resource * @return a list of AmwFunctions */ @@ -132,7 +121,6 @@ public List getAllFunctionsForResource(ResourceEntity resourc /** * Find the function for the given mik - * * @param functions * @param mik * @return AmwFunctionEntity @@ -228,19 +216,13 @@ private List findAllResourceFunctionsByName(ResourceEntity re private Map getAllSubTypeAndResourceFunctions(ResourceTypeEntity resourceTypeEntity) { Map subTypeFunctions = new LinkedHashMap<>(); - if (!Hibernate.isInitialized(resourceTypeEntity.getResources())) { - resourceTypeEntity = resourceTypeRepository.loadWithResources(resourceTypeEntity.getId()); - } - for (ResourceEntity resource : resourceTypeEntity.getResources()) { - resource = resourceRepository.loadWithFunctionsAndMiksForId(resource.getId()); for (AmwFunctionEntity function : resource.getFunctions()) { subTypeFunctions.put(function.getName(), function); } } for (ResourceTypeEntity subResourceType : resourceTypeEntity.getChildrenResourceTypes()) { - subResourceType = resourceTypeRepository.loadWithFunctionsAndMiksForId(subResourceType.getId()); for (AmwFunctionEntity function : subResourceType.getFunctions()) { subTypeFunctions.put(function.getName(), function); } diff --git a/AMW_business/src/main/java/ch/puzzle/itc/mobiliar/business/resourcegroup/control/ResourceTypeRepository.java b/AMW_business/src/main/java/ch/puzzle/itc/mobiliar/business/resourcegroup/control/ResourceTypeRepository.java index bd6dfec90..59db5e21c 100644 --- a/AMW_business/src/main/java/ch/puzzle/itc/mobiliar/business/resourcegroup/control/ResourceTypeRepository.java +++ b/AMW_business/src/main/java/ch/puzzle/itc/mobiliar/business/resourcegroup/control/ResourceTypeRepository.java @@ -63,13 +63,4 @@ public ResourceTypeEntity getByName(String resourceTypeName) { public ResourceTypeEntity getResourceType(Integer resourceTypeId) { return entityManager.find(ResourceTypeEntity.class, resourceTypeId); } - - public ResourceTypeEntity loadWithResources(Integer id) { - List entity = entityManager - .createQuery("select r from ResourceTypeEntity r " + - "left join fetch r.resources f " + - "where r.id=:resTypeId", ResourceTypeEntity.class) - .setParameter("resTypeId", id).setMaxResults(1).getResultList(); - return entity.isEmpty() ? null : entity.get(0); - } }