public TModelList findTModel(FindTModel body) throws DispositionReportFaultMessage { long startTime = System.nanoTime(); try { new ValidateInquiry(null).validateFindTModel(body, false); } catch (DispositionReportFaultMessage drfm) { long procTime = System.nanoTime() - startTime; serviceCounter.update(InquiryQuery.FIND_TMODEL, QueryStatus.FAILED, procTime); throw drfm; } EntityManager em = PersistenceManager.getEntityManager(); EntityTransaction tx = em.getTransaction(); try { tx.begin(); if (isAuthenticated()) this.getEntityPublisher(em, body.getAuthInfo()); org.apache.juddi.query.util.FindQualifiers findQualifiers = new org.apache.juddi.query.util.FindQualifiers(); findQualifiers.mapApiFindQualifiers(body.getFindQualifiers()); List<?> keysFound = InquiryHelper.findTModel(body, findQualifiers, em); TModelList result = InquiryHelper.getTModelListFromKeys(body, findQualifiers, em, keysFound); tx.rollback(); long procTime = System.nanoTime() - startTime; serviceCounter.update(InquiryQuery.FIND_TMODEL, QueryStatus.SUCCESS, procTime); return result; } finally { if (tx.isActive()) { tx.rollback(); } em.close(); } }