List of usage examples for org.hibernate.criterion Restrictions between
public static Criterion between(String propertyName, Object low, Object high)
From source file:ru.apertum.qsky.web.Dashboard.java
@Command("showBranchSituation") @NotifyChange(value = { "pieChart", "dialChart", "servicesCustList" }) public synchronized void showBranchSituation() { if (selectedBranch == null) { return;// w w w . j a va 2 s . c om } final Session ses = getHib().openSession(); final List<Customer> custs; try { ses.beginTransaction(); final GregorianCalendar day = new GregorianCalendar(); day.set(GregorianCalendar.HOUR_OF_DAY, 0); day.set(GregorianCalendar.MINUTE, 0); final Date today_m = day.getTime(); day.set(GregorianCalendar.HOUR_OF_DAY, 23); day.set(GregorianCalendar.MINUTE, 59); custs = ses.createCriteria(Customer.class) .add(Restrictions.eq("branchId", selectedBranch.getBranchId())) .add(Restrictions.between("visitTime", today_m, day.getTime())).list(); } catch (Exception ex) { throw new RuntimeException("Not loaded a list of customers. " + ex); } finally { ses.getTransaction().rollback(); ses.close(); } final Predicate<? super Customer> filter = (cust) -> { return cust.getState() != 0 && cust.getState() != 10; }; final HashMap<Long, Integer> cnt = new HashMap<>(); Stream<Customer> scu = custs.stream().filter(filter); final long clntsCnt = custs.stream().filter(filter).count(); scu.forEach((cust) -> { Integer serv = cnt.get(cust.getServiceId()); if (serv != null) { cnt.put(cust.getServiceId(), ++serv); } else { cnt.put(cust.getServiceId(), 1); } }); scu = custs.stream().filter(filter); final Optional<Customer> mw = scu.max((cust1, cust2) -> { return (cust1.getWaiting() == 0 ? (new Long(new Date().getTime() - cust1.getVisitTime().getTime())) : cust1.getWaiting()).compareTo( cust2.getWaiting() == 0 ? (new Date().getTime() - cust2.getVisitTime().getTime()) : cust2.getWaiting()); }); long maxWaiting = mw.isPresent() ? (mw.get().getWaiting() == 0 ? (new Date().getTime() - mw.get().getVisitTime().getTime()) : mw.get().getWaiting()) : 0; int i = 0; long avg = 0; for (Customer cust : custs) { if (cust.getState() != 0 && cust.getWaiting() != null) { avg = avg + (cust.getWaiting() == 0 ? (new Date().getTime() - cust.getVisitTime().getTime()) : cust.getWaiting()); i++; } } final List<Pair> ls = new ArrayList<>(); cnt.keySet().stream().forEach((l) -> { ls.add(new Pair(l, cnt.get(l))); }); final PieModel model = new SimplePieModel(); ls.sort((Pair o1, Pair o2) -> { return Integer.compare(o2.i, o1.i); }); ls.stream().limit(10).forEach((Pair p) -> { final String name = Dicts.getInstance().getServiceName(selectedBranch.getBranchId(), p.l); model.setValue((name.length() > 30 ? name.substring(0, 30) + "..." : name) + "(" + p.i + ")", p.i); }); servicesCustList.clear(); ls.stream().forEach((Pair p) -> { final String name = Dicts.getInstance().getServiceName(selectedBranch.getBranchId(), p.l); servicesCustList.add(new Pair(name, p.i)); }); pieChart.setModel(model); dialChart.averageModel.setValue(0, i == 0 ? 0 : avg / i / 1000 / 60); dialChart.customersModel.setValue(0, clntsCnt); dialChart.waitingModel.setValue(0, maxWaiting < 1000 * 60 ? (clntsCnt == 0 ? 0 : 1) : maxWaiting / 1000 / 60); }
From source file:ru.apertum.qsky.web.Dashboard.java
@Command("downloadBranchStatistic") public synchronized void downloadBranchStatistic() { if (selectedBranch == null) { return;/*from w w w. j av a2 s . c o m*/ } final Session ses = getHib().openSession(); final List<Customer> custs; try { ses.beginTransaction(); final GregorianCalendar day = new GregorianCalendar(); day.setTime(statVM.getStart()); day.set(GregorianCalendar.HOUR_OF_DAY, 0); day.set(GregorianCalendar.MINUTE, 0); final Date today_m = day.getTime(); day.setTime(statVM.getFinish()); day.set(GregorianCalendar.HOUR_OF_DAY, 23); day.set(GregorianCalendar.MINUTE, 59); custs = ses.createCriteria(Customer.class) .add(Restrictions.eq("branchId", selectedBranch.getBranchId())) .add(Restrictions.between("visitTime", today_m, day.getTime())).list(); } catch (Exception ex) { throw new RuntimeException("Not loaded a list of customers. " + ex); } finally { ses.getTransaction().rollback(); ses.close(); } final StringBuffer sb; sb = new StringBuffer(l("captions_csv") + "\n"); int nom = 0; for (Customer cust : custs) { Step step = cust.getFirstStep(); while (step != null) { sb.append(++nom).append(";"); sb.append(selectedBranch.getName()).append(";"); sb.append(Dicts.getInstance().getServiceName(selectedBranch.getBranchId(), step.getServiceId())) .append(";"); sb.append(Dicts.getInstance().getEmployeeName(selectedBranch.getBranchId(), step.getEmployeeId())) .append(";"); sb.append(cust.getPrefix()).append(cust.getNumber()).append(";"); sb.append(SimpleDateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT) .format(step.getStandTime())).append(";"); if (step.getFinishState() == null || step.getFinishState() == 0) { sb.append(";;;;"); } else { sb.append(SimpleDateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT) .format(step.getStartTime())).append(";"); sb.append(SimpleDateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT) .format(step.getFinishTime())).append(";"); sb.append(step.getWaiting() / 1000 / 60).append(";"); sb.append(step.getWorking() / 1000 / 60).append(";"); } sb.append(step.getStartState()).append(";"); sb.append(step.getFinishState() == null ? "" : step.getFinishState()).append(";"); step = step.getAfter(); sb.append("\n"); } } Filedownload.save(sb.toString().getBytes(), "text/csv", "qstat_" + SimpleDateFormat.getDateInstance().format(statVM.getStart()) + "-" + SimpleDateFormat.getDateInstance().format(statVM.getFinish()) + ".csv"); sb.setLength(0); }
From source file:ru.apertum.qsystem.server.model.QService.java
License:Open Source License
/** * ? ? ? ? ? /* w ww . ja va 2 s.c om*/ * * @param date ? ? ? * @param strictStart false - ? ? ? ? , true - ? ? ? ? ? date * @return ? ? */ public int getAdvancedCount(Date date, boolean strictStart) { final GregorianCalendar forDay = new GregorianCalendar(); forDay.setTime(date); final GregorianCalendar today = new GregorianCalendar(); if (!strictStart && forDay.get(GregorianCalendar.DAY_OF_YEAR) == today.get(GregorianCalendar.DAY_OF_YEAR) && day_y != today.get(GregorianCalendar.DAY_OF_YEAR)) { day_y = today.get(GregorianCalendar.DAY_OF_YEAR); dayAdvs = -100; } if (!strictStart && forDay.get(GregorianCalendar.DAY_OF_YEAR) == today.get(GregorianCalendar.DAY_OF_YEAR) && dayAdvs >= 0) { return dayAdvs; } final DetachedCriteria dc = DetachedCriteria.forClass(QAdvanceCustomer.class); dc.setProjection(Projections.rowCount()); if (!strictStart) { forDay.set(GregorianCalendar.HOUR_OF_DAY, 0); forDay.set(GregorianCalendar.MINUTE, 0); } final Date today_m = forDay.getTime(); forDay.set(GregorianCalendar.HOUR_OF_DAY, 23); forDay.set(GregorianCalendar.MINUTE, 59); dc.add(Restrictions.between("advanceTime", today_m, forDay.getTime())); dc.add(Restrictions.eq("service", this)); final Long cnt = (Long) (Spring.getInstance().getHt().findByCriteria(dc).get(0)); final int i = cnt.intValue(); forDay.setTime(date); if (!strictStart && forDay.get(GregorianCalendar.DAY_OF_YEAR) == today.get(GregorianCalendar.DAY_OF_YEAR)) { dayAdvs = i; } QLog.l().logger() .trace("? ? ?? " + getName() + ". " + i); return i; }
From source file:ru.sincore.db.dao.ClientCountDAOImpl.java
License:Open Source License
@Override public List<ClientCountPOJO> getEntriesInDateRange(Date start, Date end) { Session session = HibernateUtils.getSessionFactory().openSession(); Transaction tx = session.getTransaction(); List<ClientCountPOJO> result = null; try {/*from ww w . j a v a2 s . c o m*/ tx.begin(); Criteria criteria = session.createCriteria(ClientCountPOJO.class); criteria.add(Restrictions.between("timestamp", start, end)); result = (List<ClientCountPOJO>) criteria.list(); tx.commit(); } catch (HibernateException e) { log.error(e.toString()); tx.rollback(); return null; } return result; }
From source file:ru.sincore.db.dao.ShareSizeDAOImpl.java
License:Open Source License
@Override public List<ShareSizePOJO> getShareSizeInDateRange(Date start, Date end) { Session session = HibernateUtils.getSessionFactory().openSession(); Transaction tx = session.getTransaction(); List<ShareSizePOJO> result = null; try {//from w w w .j av a 2 s . c om tx.begin(); Criteria criteria = session.createCriteria(ShareSizePOJO.class); criteria.add(Restrictions.between("timestamp", start, end)); result = (List<ShareSizePOJO>) criteria.list(); tx.commit(); } catch (HibernateException e) { log.error(e.toString()); tx.rollback(); return null; } return result; }
From source file:sk.cagani.stuba.bpbp.api.DeviceAPI.java
@Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException { // S.println("[POST]"); // System.out.println("\n\n" + DatabaseConnector.getStatistics() + "\n\n"); response.setContentType("text/json; charset=UTF-8"); Map<String, Object> jwConfig = new HashMap<>(); jwConfig.put(JsonGenerator.PRETTY_PRINTING, true); JsonWriter jw = Json.createWriterFactory(jwConfig).createWriter(response.getOutputStream(), Charset.forName("UTF-8")); logger.info("[req URI]: " + request.getRequestURI()); logger.info(request.getParameterMap().toString()); if (!request.getParameterMap().isEmpty()) { switch (request.getParameter("requestContent")) { case "CurrentStop": { logger.debug("[CurrentStop]"); if (request.getParameter("stopName") != null) { String requestStopName = request.getParameter("stopName"); List<RouteData> routeList; List<RouteData> routeListTomorrow; Session session = DatabaseConnector.getSession(); Transaction tx = null;//from w w w . j a v a 2 s . co m tx = session.beginTransaction(); //open the transaction int routeCountRequest = 15; if (request.getParameter("count") != null) { routeCountRequest = Integer.parseInt(request.getParameter("count")); } int secondsSinceMidnight = Utils.getSecondsFromMidnight(); List<GtfsStops> stopList = session.createCriteria(GtfsStops.class) .add(Restrictions.eq("name", requestStopName)).list(); routeList = getRouteData(Utils.getActualServiceId(), secondsSinceMidnight, stopList, session, request); // logger.debug(routeList.size() + " velkost routeListu"); // logger.debug("size route list " + routeList.size()); if (routeList.isEmpty() || (routeList.size() <= routeCountRequest)) { // logger.debug("route List je empty vchadzam do dalsieho citania"); routeListTomorrow = getRouteData(Utils.getTomorrowServiceId(), 3600, stopList, session, request); // logger.debug("naslo sa " + routeListTomorrow.size() + " zaznamov"); Collections.sort(routeListTomorrow, new CustomComparator()); routeList.addAll(routeListTomorrow); // logger.debug("spolu je to " + routeList.size()); } else { Collections.sort(routeList, new CustomComparator()); } JsonArrayBuilder routesJAB = Json.createArrayBuilder(); int routeIndex = 0; for (RouteData route : routeList) { if (routeIndex < routeCountRequest) { JsonObjectBuilder routeJOB = Json.createObjectBuilder(); routeJOB.add("vehicleId", route.getGtfsTrip().getId().getId()); routeJOB.add("vehicleShortName", route.getRoute().getShortName()); routeJOB.add("stopHeadSign", route.getGtfsTrip().getTripHeadsign()); routeJOB.add("routeType", route.getRoute().getType()); if (route.getTripPositions() != null) { routeJOB.add("delay", route.getTripPositions().getDelay()); } else { routeJOB.add("delay", "notStarted"); } routeJOB.add("arrivalTime", secsToHMS(route.getStopTime().getArrivalTime())); routesJAB.add(routeJOB); } routeIndex++; } tx.commit(); session.close(); JsonArray routesJA = routesJAB.build(); // logger.info(routesJA.toString()); jw.writeArray(routesJA); } break; } case "currentVehicleDetail": { logger.debug("[currentVehicleDetail]"); // logger.debug("in api call currentVehicleDetail " + request.getRequestURI() + " " + request.getRequestURL()); Session session = DatabaseConnector.getSession(); Transaction tx = session.beginTransaction(); String vehicleId = request.getParameter("vehicleId"); // logger.debug("vehicleID" + vehicleId); GtfsTripsId tripId = new GtfsTripsId("01", vehicleId); GtfsTrips currentTrip = (GtfsTrips) session.get(GtfsTrips.class, tripId); List<TripPositions> currentVehicleDetailList = session.createCriteria(TripPositions.class) .add(Restrictions.eq("gtfsTrips", currentTrip)).add(Restrictions.eq("state", "a")).list(); JsonArrayBuilder vehicleJAB = Json.createArrayBuilder(); // System.out.println(currentVehicleDetailList.size()); if (!currentVehicleDetailList.isEmpty()) { for (TripPositions currentVehicleDetail : currentVehicleDetailList) { // logger.debug((Utils.getSecondsFromMidnight(currentVehicleDetail.getModifiedAt()) - currentVehicleDetail.getDelay()) + " next stop arrival time " + currentVehicleDetail.getGtfsTrips().getId().getId()); List<GtfsStopTimes> nextStopTime = session.createCriteria(GtfsStopTimes.class, "stopTimes") .add(Restrictions.eq("stopTimes.gtfsTrips", currentVehicleDetail.getGtfsTrips())) .addOrder(Order.asc("arrivalTime")).list(); GtfsTrips trip = currentVehicleDetail.getGtfsTrips(); GtfsRoutes route = trip.getGtfsRoutes(); JsonObjectBuilder vehicleJOB = Json.createObjectBuilder(); vehicleJOB.add("id", trip.getId().getId()); vehicleJOB.add("shortName", route.getShortName()); vehicleJOB.add("vehicleType", route.getType()); vehicleJOB.add("lon", currentVehicleDetail.getLon()); vehicleJOB.add("lat", currentVehicleDetail.getLat()); vehicleJOB.add("headingTo", trip.getTripHeadsign()); vehicleJOB.add("delay", currentVehicleDetail.getDelay()); vehicleJOB.add("speed", currentVehicleDetail.getSpeed()); if (nextStopTime.isEmpty()) { vehicleJOB.add("lastStop", "Not supported"); vehicleJOB.add("nextStop", "Not supported"); vehicleJOB.add("arrivalTime", "Not supported"); } else { if (currentVehicleDetail.getNextStopNumber() == 0) { vehicleJOB.add("lastStop", "Vehicle is at start"); vehicleJOB.add("nextStop", nextStopTime.get(currentVehicleDetail.getNextStopNumber() + 1) .getGtfsStops().getName()); vehicleJOB.add("arrivalTime", Utils.secsToHMS(nextStopTime .get(currentVehicleDetail.getNextStopNumber() + 1).getArrivalTime())); } else { vehicleJOB.add("lastStop", nextStopTime.get(currentVehicleDetail.getNextStopNumber() - 1) .getGtfsStops().getName()); vehicleJOB.add("nextStop", nextStopTime .get(currentVehicleDetail.getNextStopNumber()).getGtfsStops().getName()); vehicleJOB.add("arrivalTime", Utils.secsToHMS(nextStopTime .get(currentVehicleDetail.getNextStopNumber()).getArrivalTime())); } } vehicleJAB.add(vehicleJOB); } } else { List<GtfsStopTimes> nextStopTime = session.createCriteria(GtfsStopTimes.class, "stopTimes") .add(Restrictions.eq("stopTimes.gtfsTrips", currentTrip)) .addOrder(Order.asc("arrivalTime")).list(); JsonObjectBuilder vehicleJOB = Json.createObjectBuilder(); vehicleJOB.add("id", currentTrip.getId().getId()); vehicleJOB.add("shortName", currentTrip.getGtfsRoutes().getShortName()); vehicleJOB.add("vehicleType", currentTrip.getGtfsRoutes().getType()); vehicleJOB.add("lon", "0"); vehicleJOB.add("lat", "0"); vehicleJOB.add("headingTo", currentTrip.getTripHeadsign()); vehicleJOB.add("delay", "notStarted"); vehicleJOB.add("speed", "0"); vehicleJOB.add("lastStop", "not started Yet"); vehicleJOB.add("nextStop", nextStopTime.get(1).getGtfsStops().getName()); vehicleJOB.add("arrivalTime", Utils.secsToHMS(nextStopTime.get(1).getArrivalTime())); vehicleJAB.add(vehicleJOB); } tx.commit(); session.close(); JsonArray vehicleJA = vehicleJAB.build(); // System.out.println(vehicleJA.toString()); jw.writeArray(vehicleJA); break; } case "vehiclesPositions": { logger.debug("[vehiclesPositions]"); logger.debug( "in api call vehiclePositions " + request.getRequestURI() + " " + request.getRequestURL()); Session session = DatabaseConnector.getSession(); Transaction tx = session.beginTransaction(); double northLon = Double.parseDouble(request.getParameter("northLon")); double eastLat = Double.parseDouble(request.getParameter("eastLat")); double westLat = Double.parseDouble(request.getParameter("westLat")); double southLon = Double.parseDouble(request.getParameter("southLon")); JsonArrayBuilder vehicleJAB = Json.createArrayBuilder(); // System.out.println("lat " + (westLat) + " " + (eastLat) + " lon " + (northLon) + " " + (southLon)); List<TripPositions> tripPositionsList = session.createCriteria(TripPositions.class) .add(Restrictions.between("lat", westLat, eastLat)) .add(Restrictions.between("lon", southLon, northLon)).add(Restrictions.eq("state", "a")) .list(); for (TripPositions tripPosition : tripPositionsList) { List<GtfsStopTimes> nextStopTime = session.createCriteria(GtfsStopTimes.class, "stopTimes") .add(Restrictions.eq("stopTimes.gtfsTrips", tripPosition.getGtfsTrips())) .addOrder(Order.asc("arrivalTime")).list(); GtfsTrips trip = tripPosition.getGtfsTrips(); // GtfsStopTimes stopTime = session.createCriteria(GtfsStopTimes.class).add(Restrictions.eq("gtfsTrips", trip)).list().get(0); GtfsRoutes route = trip.getGtfsRoutes(); JsonObjectBuilder vehicleJOB = Json.createObjectBuilder(); vehicleJOB.add("id", trip.getId().getId()); vehicleJOB.add("shortName", route.getShortName()); vehicleJOB.add("vehicleType", route.getType()); vehicleJOB.add("lon", tripPosition.getLon()); vehicleJOB.add("lat", tripPosition.getLat()); vehicleJOB.add("headingTo", trip.getTripHeadsign()); vehicleJOB.add("delay", tripPosition.getDelay()); vehicleJOB.add("speed", tripPosition.getSpeed()); if (nextStopTime.isEmpty()) { vehicleJOB.add("lastStop", "Not supported"); vehicleJOB.add("nextStop", "Not supported"); vehicleJOB.add("arrivalTime", "Not supported"); } else { if (tripPosition.getNextStopNumber() == 0) { vehicleJOB.add("lastStop", "Vehicle is at start"); vehicleJOB.add("nextStop", nextStopTime.get(tripPosition.getNextStopNumber() + 1) .getGtfsStops().getName()); vehicleJOB.add("arrivalTime", Utils.secsToHMS( nextStopTime.get(tripPosition.getNextStopNumber() + 1).getArrivalTime())); } else { vehicleJOB.add("lastStop", nextStopTime.get(tripPosition.getNextStopNumber() - 1) .getGtfsStops().getName()); vehicleJOB.add("nextStop", nextStopTime.get(tripPosition.getNextStopNumber()).getGtfsStops().getName()); vehicleJOB.add("arrivalTime", Utils.secsToHMS( nextStopTime.get(tripPosition.getNextStopNumber()).getArrivalTime())); } } vehicleJAB.add(vehicleJOB); } tx.commit(); session.close(); JsonArray vehicleJA = vehicleJAB.build(); //System.out.println(vehicleJA.toString()); jw.writeArray(vehicleJA); break; } case "allStops": { // logger.debug("in api call allStops " + request.getRequestURI() + " " + request.getRequestURL()); Session session = DatabaseConnector.getSession(); List<GtfsStops> stopsList = session.createCriteria(GtfsStops.class).list(); session.getTransaction().commit(); //closes transaction session.close(); JsonArrayBuilder stopsJAB = Json.createArrayBuilder(); for (GtfsStops stop : stopsList) { if (stop.getId().getId().endsWith("1")) { JsonObjectBuilder stopJOB = Json.createObjectBuilder(); stopJOB.add(stop.getId().getClass().getSimpleName(), stop.getId().getId()); stopJOB.add("name", stop.getName()); stopJOB.add("lat", stop.getLat()); stopJOB.add("lon", stop.getLon()); stopsJAB.add(stopJOB); } } JsonObjectBuilder stopsJOB = Json.createObjectBuilder(); stopsJOB.add("stops", stopsJAB); JsonObject stopsJO = stopsJOB.build(); // System.out.println(stopsJO.toString()); jw.writeObject(stopsJO); break; } default: { response.getOutputStream().write(("invalid call " + request.getRequestURI()).getBytes()); } } } else { response.getOutputStream().write(("invalid call EMPTY PARAM" + request.getRequestURI()).getBytes()); } response.setStatus(HttpServletResponse.SC_OK); }
From source file:sk.cagani.stuba.bpbp.api.VehicleAPI.java
@Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException { System.out.println("[POST] request length: " + request.getContentLength() + " B " + Long.parseLong(request.getHeader("Content-Length")) + " B\n" + request.toString()); // System.out.println("\n\n" + DatabaseConnector.getStatistics() + "\n\n"); // System.out.print("[POST] "); response.setContentType("text/json"); Map<String, Boolean> jwConfig = new HashMap<>(); jwConfig.put(JsonGenerator.PRETTY_PRINTING, Boolean.TRUE); JsonWriter jw = Json.createWriterFactory(jwConfig).createWriter(response.getOutputStream()); switch (request.getRequestURI()) { case "/api/vehicle/init": System.out.println(/*from w w w . j a v a 2 s . co m*/ "[Init] position: " + request.getParameter("lat") + " " + request.getParameter("lon")); Session sessionInit = DatabaseConnector.getSession(); Transaction transactionInit = null; try { transactionInit = sessionInit.beginTransaction(); Double lat = Double.parseDouble(request.getParameter("lat")); Double lon = Double.parseDouble(request.getParameter("lon")); Integer time = Integer.parseInt(request.getParameter("time")); String routeNumber = request.getParameter("routeNum"); List<GtfsStops> gtfsStops = sessionInit.createCriteria(GtfsStops.class) .add(Restrictions.between("lat", lat - 0.0025, lat + 0.0025)) .add(Restrictions.between("lon", lon - 0.0025, lon + 0.0025)).list(); JsonArrayBuilder tripsJAB = Json.createArrayBuilder(); for (GtfsStops stop : gtfsStops) { for (GtfsStopTimes stopTime : (List<GtfsStopTimes>) sessionInit .createCriteria(GtfsStopTimes.class).add(Restrictions.eq("gtfsStops", stop)) .addOrder(Order.asc("departureTime")).list()) { if (stopTime.getGtfsTrips().getGtfsRoutes().getShortName().equals(routeNumber)) { if (stopTime.getDepartureTime() > time - 1200 && stopTime.getDepartureTime() < time + 1200) { if (stopTime.getGtfsTrips().getServiceIdId().equals(Utils.getActualServiceId())) { if (!stop.getName().equals(stopTime.getGtfsTrips().getTripHeadsign())) { JsonObjectBuilder tripJOB = Json.createObjectBuilder(); tripJOB.add("routeName", stopTime.getGtfsTrips().getGtfsRoutes().getShortName()); tripJOB.add("routeType", stopTime.getGtfsTrips().getGtfsRoutes().getType()); tripJOB.add("tripId", stopTime.getGtfsTrips().getId().getId()); tripJOB.add("departureTime", stopTime.getDepartureTime()); tripJOB.add("headSign", stopTime.getGtfsTrips().getTripHeadsign()); tripJOB.add("foundStop", stop.getName()); tripsJAB.add(tripJOB); } } } } } } transactionInit.commit(); JsonObjectBuilder possibleTripJOB = Json.createObjectBuilder(); possibleTripJOB.add("possibleTripList", tripsJAB); JsonObject possibleTripJO = possibleTripJOB.build(); jw.writeObject(possibleTripJO); } catch (HibernateException | NumberFormatException e) { if (transactionInit != null) { transactionInit.rollback(); throw e; } } finally { sessionInit.close(); } break; case "/api/vehicle/updateLocation": Session sessionUpdateLocation = DatabaseConnector.getSession(); Transaction transactionUpdateLocation = null; try { transactionUpdateLocation = sessionUpdateLocation.beginTransaction(); GtfsTrips trip = (GtfsTrips) sessionUpdateLocation.get(GtfsTrips.class, new GtfsTripsId(agencyId, request.getParameter("tripId"))); TripPositions tripPosition = (TripPositions) sessionUpdateLocation .createCriteria(TripPositions.class).add(Restrictions.eq("gtfsTrips", trip)).uniqueResult(); if (tripPosition == null) { tripPosition = new TripPositions(trip, Double.parseDouble(request.getParameter("lat")), Double.parseDouble(request.getParameter("lon")), Double.parseDouble(request.getParameter("spd")), Integer.parseInt(request.getParameter("nsn")), Integer.parseInt(request.getParameter("delay")), request.getParameter("state")); } else { tripPosition.setLat(Double.parseDouble(request.getParameter("lat"))); tripPosition.setLon(Double.parseDouble(request.getParameter("lon"))); tripPosition.setDelay(Integer.parseInt(request.getParameter("delay"))); tripPosition.setSpeed(Double.parseDouble(request.getParameter("spd"))); tripPosition.setNextStopNumber(Integer.parseInt(request.getParameter("nsn"))); tripPosition.setState(request.getParameter("state")); tripPosition.setModifiedAt(null); } sessionUpdateLocation.saveOrUpdate(tripPosition); transactionUpdateLocation.commit(); } catch (HibernateException | NumberFormatException e) { if (transactionUpdateLocation != null) { transactionUpdateLocation.rollback(); throw e; } } finally { sessionUpdateLocation.close(); } break; case "/api/vehicle/getStopsAndPoi": System.out.println("[Get stops and poi] tripId: " + request.getParameter("tripId")); Session sessionGetStopsAndPoi = DatabaseConnector.getSession(); Transaction transactionGetStopsAndPoi = null; try { transactionGetStopsAndPoi = sessionGetStopsAndPoi.beginTransaction(); /* get all POI */ GtfsTrips gtfsTrip = (GtfsTrips) sessionGetStopsAndPoi.get(GtfsTrips.class, new GtfsTripsId(agencyId, request.getParameter("tripId"))); JsonArrayBuilder poiJAB = Json.createArrayBuilder(); for (PoisInRoutes pir : (Set<PoisInRoutes>) gtfsTrip.getGtfsRoutes().getPoisInRouteses()) { JsonObjectBuilder poiJOB = Json.createObjectBuilder(); poiJOB.add("title", pir.getPoi().getTitle()); poiJOB.add("lat", pir.getPoi().getLat()); poiJOB.add("lon", pir.getPoi().getLon()); poiJOB.add("radius", pir.getPoi().getRadius()); poiJOB.add("filePath", pir.getPoi().getFilePath()); poiJAB.add(poiJOB); } /* get all stops */ List<GtfsStopTimes> stopTimesList = sessionGetStopsAndPoi.createCriteria(GtfsStopTimes.class) .add(Restrictions.eq("gtfsTrips", gtfsTrip)).addOrder(Order.asc("stopSequence")).list(); JsonArrayBuilder stopsJAB = Json.createArrayBuilder(); for (GtfsStopTimes gst : stopTimesList) { JsonObjectBuilder stopsJOB = Json.createObjectBuilder(); stopsJOB.add("name", gst.getGtfsStops().getName()); stopsJOB.add("lat", gst.getGtfsStops().getLat()); stopsJOB.add("lon", gst.getGtfsStops().getLon()); stopsJOB.add("zoneId", gst.getGtfsStops().getZoneId()); stopsJOB.add("arrivalTime", gst.getArrivalTime()); stopsJOB.add("stopTimeId", gst.getId()); stopsJOB.add("isOnRequest", gst.getPickupType().equals(3) ? "true" : "false"); stopsJAB.add(stopsJOB); } transactionGetStopsAndPoi.commit(); JsonObjectBuilder tripInfoJOB = Json.createObjectBuilder(); tripInfoJOB.add("poiList", poiJAB); tripInfoJOB.add("stopsList", stopsJAB); JsonObject tripInfoJO = tripInfoJOB.build(); jw.writeObject(tripInfoJO); } catch (HibernateException | NumberFormatException e) { if (transactionGetStopsAndPoi != null) { transactionGetStopsAndPoi.rollback(); throw e; } } finally { sessionGetStopsAndPoi.close(); } break; case "/api/vehicle/realStopTime": Session sessionRealStopTime = DatabaseConnector.getSession(); Transaction transactionRealStopTime = null; try { transactionRealStopTime = sessionRealStopTime.beginTransaction(); GtfsStopTimes stopTime = (GtfsStopTimes) sessionRealStopTime.get(GtfsStopTimes.class, Integer.parseInt(request.getParameter("stopTimeId"))); sessionRealStopTime.save(new StopRealTimesHistory(stopTime, Integer.parseInt(request.getParameter("realArrivalTime")), Integer.parseInt(request.getParameter("realDepartureTime")))); transactionRealStopTime.commit(); } catch (HibernateException | NumberFormatException e) { if (transactionRealStopTime != null) { transactionRealStopTime.rollback(); throw e; } } finally { sessionRealStopTime.close(); } break; case "/api/vehicle/savePoi": System.out.println(request.getParameterMap().toString()); System.out.println("poi " + request.getParameter("poiTitle")); System.out.println("\n" + request.toString()); Session savePoi = DatabaseConnector.getSession(); Transaction transactionSavePoi = null; try { transactionSavePoi = savePoi.beginTransaction(); transactionSavePoi.commit(); } catch (HibernateException | NumberFormatException e) { if (transactionSavePoi != null) { transactionSavePoi.rollback(); throw e; } } finally { savePoi.close(); } break; } response.setStatus(HttpServletResponse.SC_OK); }
From source file:sk.cagani.stuba.bpbp.serverApp.DatabaseConnector.java
public void testConnection() throws Exception { System.out.println("IDEM TESTUVAC"); Session session = getSession();/*from w w w.j av a 2s.c o m*/ Calendar c = Calendar.getInstance(); c.setTime(new Date()); c.set(Calendar.HOUR_OF_DAY, 0); c.set(Calendar.MINUTE, 0); c.set(Calendar.SECOND, 0); c.set(Calendar.MILLISECOND, 0); System.out.println(c.getTimeInMillis()); Long timeSinceMidnight = new Date().getTime() - (c.getTimeInMillis()); Long secondsSinceMidnight = timeSinceMidnight / 1000; System.out.println(secondsSinceMidnight.intValue() + " since midnight "); Date date1 = new Date(); /* List<GtfsTrips> tripList = session.createCriteria(GtfsTrips.class).add(Restrictions.eq("serviceIdId", "Prac.dny_0")).list(); System.out.println("pocet tripov pre prac dny " + tripList.size()); for (GtfsTrips trip : tripList) { List<GtfsStopTimes> stopTimesList = (List<GtfsStopTimes>) session.createCriteria(GtfsStopTimes.class).add(Restrictions.eq("gtfsTrips", trip)).add(Restrictions.between("arrivalTime", secondsSinceMidnight, secondsSinceMidnight + 1200)).list(); for (GtfsStopTimes stopTime : stopTimesList) { //for (GtfsStops stop : (List<GtfsStops>) session.createCriteria(GtfsStops.class).add(Restrictions.eq("name", "Zochova")).list()) { if (stopTime.getGtfsStops().getName().equalsIgnoreCase("Zochova")) { System.out.println("VOZIDLO ROZJEBANE cislo: " + trip.getGtfsRoutes().getShortName() + " sa prave dojebalo na zastafku -> " + stopTime.getGtfsStops().getName() + " KURVA KONECNE DOSLO O prichod " + secsToHMS(stopTime.getArrivalTime())); } } } */ List<GtfsStops> stopList = session.createCriteria(GtfsStops.class).add(Restrictions.eq("name", "Zochova")) .list(); for (GtfsStops stop : stopList) { List<GtfsStopTimes> stopTimesList = session.createCriteria(GtfsStopTimes.class) .add(Restrictions.eq("gtfsStops", stop)).add(Restrictions.between("arrivalTime", secondsSinceMidnight.intValue(), secondsSinceMidnight.intValue() + 1200)) .addOrder(Order.asc("arrivalTime")).list(); for (GtfsStopTimes stopTimes : stopTimesList) { if (stopTimes.getGtfsTrips().getServiceIdId().equals("Prac.dny_0")) { System.out.println(stopTimes.getGtfsTrips().getGtfsRoutes().getShortName() + " " + stop.getName() + " " + stopTimes.getGtfsTrips().getTripHeadsign() + " " + Utils.secsToHMS(stopTimes.getArrivalTime())); } } } System.out.println((new Date().getTime() - date1.getTime())); }
From source file:to.etc.domui.hibernate.model.CriteriaCreatingVisitor.java
License:Open Source License
@Override public void visitBetween(final QBetweenNode n) throws Exception { if (n.getA().getOperation() != QOperation.LITERAL || n.getB().getOperation() != QOperation.LITERAL) throw new IllegalStateException("Expecting literals as 2nd and 3rd between parameter"); QLiteral a = (QLiteral) n.getA();/*from w w w. j a v a2 s. c om*/ QLiteral b = (QLiteral) n.getB(); //-- If prop refers to some relation (dotted pair): String name = n.getProp(); name = parseSubcriteria(name); m_last = Restrictions.between(name, a.getValue(), b.getValue()); // jal 20101228 was p.getProp() instead of name, which seems to be wrong. }
From source file:top.sj.dao.impl.ArticlesDaoImpl.java
License:Open Source License
/** * ??// w ww . j a v a 2s .c o m */ @Override public Integer getArticlesAccordingToCreateDateSOfGetAllCountSplitPage(final String datetimePartion) { Integer totalCount = 0; // ?? final Date startDate = CalendarTool.getFirstDateTimeFromStringDateResourceAtThisMonth(datetimePartion); // ??? final Date endDate = CalendarTool.getLastDateTimeFromStringDateResourceAtThisMonth(datetimePartion); try { totalCount = super.getHibernateTemplate().execute(new HibernateCallback<Integer>() { public Integer doInHibernate(Session session) { return new Integer(session.createCriteria(SjArticles.class).setCacheable(true) .add(Restrictions.between("ACreatedate", startDate, endDate)) .setProjection(Projections.rowCount()).uniqueResult().toString()); } }); } catch (Exception e) { e.printStackTrace(); System.err.println(e.getMessage()); } return totalCount; }