public OnmsCriteria buildCriteria(HttpServletRequest request) { OnmsCriteria criteria = new OnmsCriteria(OnmsOutage.class); Locale locale = Locale.getDefault(); SimpleDateFormat d_format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", locale); // node if (request.getParameter("nodeid") != null) { criteria.add(Restrictions.eq("node.id", request.getParameter("nodeid"))); } if (request.getParameter("not_nodeid") != null) { criteria.add(Restrictions.ne("node.id", request.getParameter("not_nodeid"))); } if (request.getParameter("ipaddr") != null) { criteria.add(Restrictions.eq("ipInterface.ipAddress", request.getParameter("ipaddr"))); } if (request.getParameter("not_ipaddr") != null) { criteria.add(Restrictions.ne("ipInterface.ipAddress", request.getParameter("not_ipaddr"))); } if (request.getParameter("serviceid") != null) { criteria.add(Restrictions.eq("monitoredService.id", request.getParameter("serviceid"))); } if (request.getParameter("not_serviceid") != null) { criteria.add(Restrictions.ne("monitoredService.id", request.getParameter("not_serviceid"))); } if (request.getParameter("smaller_iflostservice") != null) { Date date = new Date(Long.parseLong(request.getParameter("smaller_iflostservice"))); criteria.add(Restrictions.lt("ifLostService", date)); } if (request.getParameter("bigger_iflostservice") != null) { Date date = new Date(Long.parseLong(request.getParameter("bigger_iflostservice"))); criteria.add(Restrictions.gt("ifLostService", date)); } if (request.getParameter("smaller_ifregainedservice") != null) { Date date = new Date(Long.parseLong(request.getParameter("smaller_ifregainedservice"))); criteria.add(Restrictions.lt("ifRegainedService", date)); } if (request.getParameter("bigger_ifregainedservice") != null) { Date date = new Date(Long.parseLong(request.getParameter("bigger_ifregainedservice"))); criteria.add(Restrictions.gt("ifRegainedService", date)); } if (request.getParameter("building") != null) { criteria.createAlias("node.assetRecord", "assetRecord"); criteria.add(Restrictions.eq("assetRecord.building", request.getParameter("building"))); } if ("true".equals(request.getParameter("currentOutages"))) { criteria.add(Restrictions.isNull("ifRegainedService")); } if ("true".equals(request.getParameter("resolvedOutages"))) { criteria.add(Restrictions.isNotNull("ifRegainedService")); } return criteria; }