Changeset 5291
- Timestamp:
- 08/15/08 20:17:15 (3 months ago)
- Files:
-
- openmrs-modules/amrsreporttools (modified) (1 prop)
- openmrs-modules/amrsreporttools/src/org/openmrs/module/amrsreporttools/db/hibernate/HibernateAmrsReportToolsDAO.java (modified) (3 diffs)
- openmrs-modules/amrsreporttools/src/org/openmrs/module/amrsreporttools/impl/AmrsReportToolsServiceImpl.java (modified) (3 diffs)
- openmrs-modules/amrsreporttools/web/module/amrsReportToolsList.jsp (modified) (1 diff)
- openmrs-modules/amrsreporttools/web/src/org/openmrs/module/amrsreporttools/web/controller/AmrsReportToolsListController.java (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
openmrs-modules/amrsreporttools
- Property svn:ignore set to
nbproject
build
dist
- Property svn:ignore set to
openmrs-modules/amrsreporttools/src/org/openmrs/module/amrsreporttools/db/hibernate/HibernateAmrsReportToolsDAO.java
r5208 r5291 21 21 import org.apache.commons.logging.LogFactory; 22 22 import org.hibernate.Criteria; 23 import org.hibernate. Query;23 import org.hibernate.Hibernate; 24 24 import org.hibernate.SessionFactory; 25 25 import org.hibernate.criterion.Expression; 26 import org.hibernate.criterion.Order; 27 import org.hibernate.criterion.Restrictions; 26 28 import org.openmrs.Patient; 27 29 import org.openmrs.PatientIdentifier; … … 73 75 74 76 } 75 77 78 /** 79 * Get ReportObjects according to type and name prefix. 80 * ReportObjectTypes are defined in OpenmrsConstants.REPORT_OBJECT_* 81 * 82 * @param reportObjectType if not null, then return ReportObjects by type. 83 * @param prefix If not null, then return only ReportObjects beginning with prefix. 84 * @return 85 * @throws org.openmrs.api.db.DAOException 86 */ 76 87 public List<AbstractReportObject> getReportObjectsByType(String reportObjectType, String prefix) throws DAOException { 77 88 List<AbstractReportObject> reportObjects = new Vector<AbstractReportObject>(); 78 79 Query query = sessionFactory.getCurrentSession().createQuery("from ReportObjectWrapper ro where ro.type=:type order by date_created, name"); 80 query.setString("type", reportObjectType); 81 List<ReportObjectWrapper> wrappedObjects = query.list(); 82 for ( ReportObjectWrapper wrappedObject : wrappedObjects ) { 83 AbstractReportObject reportObject = wrappedObject.getReportObject(); 84 if ( reportObject.getReportObjectId() == null ) { 85 reportObject.setReportObjectId(wrappedObject.getReportObjectId()); 86 } 87 reportObjects.add(reportObject); 89 Criteria criteria = sessionFactory.getCurrentSession().createCriteria(ReportObjectWrapper.class); 90 if (null != prefix && !"".equals(prefix)) { 91 String regex = "^" + prefix; 92 criteria.add(Restrictions.sqlRestriction("name regexp ?", regex, Hibernate.STRING)); 88 93 } 89 log.error("Hibernate reportObjects list size: " + reportObjects.size()); 90 return reportObjects; 91 92 /* 93 Criteria criteria = sessionFactory.getCurrentSession().createCriteria(ReportObjectWrapper.class, "ro"); 94 if (null != reportObjectType || !"".equals(reportObjectType)) { 95 criteria.add(Expression.eq("ro.type", reportObjectType)); 94 if (null != reportObjectType && !"".equals(reportObjectType)) { 95 criteria.add(Expression.eq("type", reportObjectType.trim())); 96 96 } 97 if (null != prefix || !"".equals(prefix)) { 98 criteria.add(Expression.ilike("ro.name", prefix, MatchMode.START)); 99 } 100 criteria.addOrder(Order.desc("ro.dateCreated")); 101 criteria.addOrder(Order.asc("ro.name")); 97 criteria.addOrder(Order.desc("dateCreated")); 98 criteria.addOrder(Order.asc("name")); 102 99 List<ReportObjectWrapper> wrappedObjects = criteria.list(); 103 100 for ( ReportObjectWrapper wrappedObject : wrappedObjects ) { … … 109 106 } 110 107 return reportObjects; 111 */112 108 } 113 109 openmrs-modules/amrsreporttools/src/org/openmrs/module/amrsreporttools/impl/AmrsReportToolsServiceImpl.java
r5208 r5291 28 28 import org.openmrs.api.EncounterService; 29 29 import org.openmrs.api.context.Context; 30 import org.openmrs.api.db.DAOException;31 30 import org.openmrs.api.APIException; 32 31 import org.openmrs.module.amrsreporttools.AmrsReportTools; … … 34 33 import org.openmrs.module.amrsreporttools.db.AmrsReportToolsDAO; 35 34 import org.openmrs.reporting.AbstractReportObject; 35 import org.openmrs.util.OpenmrsConstants; 36 36 37 37 /** … … 109 109 110 110 public List<AbstractReportObject> getReportObjectsByType(String reportObjectType, String prefix) throws APIException { 111 reportObjectType = ( 112 null != reportObjectType && ( 113 reportObjectType.equals(OpenmrsConstants.REPORT_OBJECT_TYPE_PATIENTDATAPRODUCER) || 114 reportObjectType.equals(OpenmrsConstants.REPORT_OBJECT_TYPE_PATIENTFILTER) || 115 reportObjectType.equals(OpenmrsConstants.REPORT_OBJECT_TYPE_PATIENTSEARCH)) 116 ) ? reportObjectType : null; 111 117 return dao.getReportObjectsByType(reportObjectType, prefix); 112 118 } openmrs-modules/amrsreporttools/web/module/amrsReportToolsList.jsp
r5208 r5291 30 30 </td> 31 31 <td valign="top">${indicator.name}</td> 32 <td valign="top">${indicator.description}</td> 32 <td valign="top"> 33 <c:catch var="e"> 34 <c:if test="${indicator.description}">${indicator.description}</c:if> 35 </c:catch> 36 <c:if test="${e==null}">${indicator.description}</c:if> 37 <c:if test="${e!=null}"><font color='red'>EXCEPTION!</font></c:if> 38 </td> 33 39 </tr> 34 40 </c:forEach> openmrs-modules/amrsreporttools/web/src/org/openmrs/module/amrsreporttools/web/controller/AmrsReportToolsListController.java
r5208 r5291 170 170 */ 171 171 protected Object formBackingObject(HttpServletRequest request) throws ServletException { 172 String type = request.getParameter("reportObjectType"); 173 String prefix = request.getParameter("reportObjectName"); 172 174 AmrsReportToolsService s = (AmrsReportToolsService)Context.getService(AmrsReportToolsService.class); 173 List<AbstractReportObject> ro = s.getReportObjectsByType(OpenmrsConstants.REPORT_OBJECT_TYPE_PATIENTSEARCH, ""); 174 // List<AbstractReportObject> ro = s.getReportObjectsByType(null, null); 175 log.error("List of AbstractReportObjects: " + ro.toArray()); 176 for (AbstractReportObject o : ro) { 177 log.error(o.getName()); 178 } 179 log.error("size of list of report objects: " + ro.size()); 175 List<AbstractReportObject> ro = s.getReportObjectsByType(type, prefix); 180 176 return ro; 181 177 } 182 183 184 /**185 * @see org.springframework.web.servlet.mvc.SimpleFormController#referenceData(javax.servlet.http.HttpServletRequest, java.lang.Object, org.springframework.validation.Errors)186 */187 @Override188 protected Map referenceData(HttpServletRequest request, Object command, Errors errors) throws Exception {189 190 Map<String, Object> map = new HashMap<String, Object>();191 192 AmrsReportToolsService s = (AmrsReportToolsService)Context.getService(AmrsReportToolsService.class);193 List<AbstractReportObject> ro = s.getReportObjectsByType(OpenmrsConstants.REPORT_OBJECT_TYPE_PATIENTSEARCH, "");194 map.put("reportObjects", ro);195 196 return map;197 }198 199 178 200 179 }