/** * @see org.openmrs.module.webservices.rest.web.api.RestHelperService#getObjectsByFields(Class, * Field...) */ @SuppressWarnings("unchecked") @Override public <T> List<T> getObjectsByFields(Class<? extends T> type, Field... fields) { Criteria criteria = getSession().createCriteria(type); for (Field field : fields) { if (field != null) { criteria.add(Restrictions.eq(field.getName(), field.getValue())); } } return criteria.list(); }
return new EmptySearchResult(); } else { conceptMapTypeField = new Field("conceptMapType", conceptMapType); return new EmptySearchResult(); } else { toConceptReferenceTermField = new Field("termB", toTerm); termMaps.addAll(restHelperService.getObjectsByFields(ConceptReferenceTermMap.class, new Field("termA", term), conceptMapTypeField)); } else if (termB != null) { termMaps.addAll(restHelperService.getObjectsByFields(ConceptReferenceTermMap.class, new Field("termB", term), conceptMapTypeField)); } else if (to != null) { termMaps.addAll(restHelperService.getObjectsByFields(ConceptReferenceTermMap.class, new Field("termA", term), toConceptReferenceTermField)); } else { termMaps.addAll(restHelperService.getObjectsByFields(ConceptReferenceTermMap.class, new Field("termA", term), conceptMapTypeField)); termMaps.addAll(restHelperService.getObjectsByFields(ConceptReferenceTermMap.class, new Field("termB", term), conceptMapTypeField));
/** * @see org.openmrs.module.webservices.rest.web.resource.api.SearchHandler#search(org.openmrs.module.webservices.rest.web.RequestContext) */ @Override public PageableResult search(RequestContext context) throws ResponseException { String uuid = context.getParameter("term"); ConceptReferenceTerm conceptReferenceTerm = conceptService.getConceptReferenceTermByUuid(uuid); if (conceptReferenceTerm == null) { return new EmptySearchResult(); } else { List<ConceptMap> conceptMaps = new ArrayList<ConceptMap>(); conceptMaps.addAll(restHelperService.getObjectsByFields(ConceptMap.class, new Field("conceptReferenceTerm", conceptReferenceTerm))); List<Concept> concepts = new ArrayList<Concept>(); for (ConceptMap conceptMap : conceptMaps) { if (!conceptMap.getConcept().isRetired() || context.getIncludeAll()) { concepts.add(conceptMap.getConcept()); } } return new NeedsPaging<Concept>(concepts, context); } }