public List<DeviceList> getAllDevices() { SessionFactory sessionFactory = HibernateSessionFactory.getSessionFactory(); List<DeviceList> results = new ArrayList<DeviceList>(); Session session = sessionFactory.openSession(); if (session != null) { Query query = session.createQuery("from DeviceAvailability"); List<DeviceAvailability> resultList = query.list(); if (resultList != null && resultList.size() > 0) { System.out.println("results size is " + resultList.size()); DeviceList row = new DeviceList(); for (DeviceAvailability resultObject : resultList) { System.out.println(resultObject.getClass()); Device device = (Device) resultObject.getDevice(); row.setBarCodeIdentifier(device.getBarCodeId()); row.setDeviceCapacity(device.getDeviceCapacity()); row.setDeviceName(device.getDeviceName()); row.setDeviceNickname(device.getDeviceNickName()); row.setDeviceOs(device.getDeviceOs()); row.setDeviceOsVersion(device.getDeviceOsVersion()); row.setDeviceSerialNumber(device.getDeviceSerialNumber()); row.setDeviceStatus(device.getDeviceStatus()); row.setDeviceType(device.getDeviceType()); row.setId(device.getId()); row.setOwnedBy(device.getDeviceOwner()); DeviceAvailability availability = (DeviceAvailability) resultObject; row.setCheckedOutAt(availability.getModifiedDate().toString()); row.setIsCheckedOut(availability.isIsCheckedOut()); DeviceUser deviceUser = availability.getDeviceUser(); if (deviceUser != null) { row.setCurrentlyCheckedOutById(deviceUser.getEmailId()); row.setLocation(deviceUser.getUserLocation()); } results.add(row); } } } return results; }
public List<DeviceList> getDeviceList(String location) { SessionFactory sessionFactory = HibernateSessionFactory.getSessionFactory(); List<DeviceList> results = new ArrayList<DeviceList>(); Session session = sessionFactory.openSession(); if (session != null) { SQLQuery query = session.createSQLQuery( "select d.*,da.*,du.* " + "from device_app.device d, device_app.device_availability da, device_app.device_user du " + "where d.id=da.device_id and " + "da.checked_out_user = du.email_id and " + "d.device_status='active' and " + "du.user_location=:location"); query.addEntity(Device.class); query.addEntity(DeviceAvailability.class); query.addEntity(DeviceUser.class); query.setString("location", location); List<Object[]> resultList = query.list(); if (resultList != null && resultList.size() > 0) { System.out.println("results size is " + resultList.size()); for (Object[] array : resultList) { DeviceList row = new DeviceList(); for (Object resultObject : array) { System.out.println(resultObject.getClass()); if (resultObject instanceof Device) { Device device = (Device) resultObject; row.setBarCodeIdentifier(device.getBarCodeId()); row.setDeviceCapacity(device.getDeviceCapacity()); row.setDeviceName(device.getDeviceName()); row.setDeviceNickname(device.getDeviceNickName()); row.setDeviceOs(device.getDeviceOs()); row.setDeviceOsVersion(device.getDeviceOsVersion()); row.setDeviceSerialNumber(device.getDeviceSerialNumber()); row.setDeviceStatus(device.getDeviceStatus()); row.setDeviceType(device.getDeviceType()); row.setId(device.getId()); row.setOwnedBy(device.getDeviceOwner()); } else if (resultObject instanceof DeviceAvailability) { DeviceAvailability availability = (DeviceAvailability) resultObject; // // row.setCheckedOutAt(DateUtils.truncate(availability.getModifiedDate(),Calendar.MINUTE).toString()); row.setCheckedOutAt( DateFormatUtils.format(availability.getModifiedDate(), "yyyy-MM-dd HH:mm:ss")); row.setCurrentlyCheckedOutById(availability.getDeviceUser().getEmailId()); row.setIsCheckedOut(availability.isIsCheckedOut()); row.setLocation(location); } else { DeviceUser user = (DeviceUser) resultObject; } } results.add(row); } } } return results; }