public static boolean checkDateRanges(String fromDate, String toDate) { try { Date parsedDate = CoreApiServiceLocator.getDateTimeService().convertToDate(fromDate.trim()); Calendar fromCalendar = Calendar.getInstance(); fromCalendar.setLenient(false); fromCalendar.setTime(parsedDate); fromCalendar.set(Calendar.HOUR_OF_DAY, 0); fromCalendar.set(Calendar.MINUTE, 0); fromCalendar.set(Calendar.SECOND, 0); fromCalendar.set(Calendar.MILLISECOND, 0); parsedDate = CoreApiServiceLocator.getDateTimeService().convertToDate(toDate.trim()); Calendar toCalendar = Calendar.getInstance(); toCalendar.setLenient(false); toCalendar.setTime(parsedDate); toCalendar.set(Calendar.HOUR_OF_DAY, 0); toCalendar.set(Calendar.MINUTE, 0); toCalendar.set(Calendar.SECOND, 0); toCalendar.set(Calendar.MILLISECOND, 0); if (fromCalendar.after(toCalendar)) { return false; } return true; } catch (Exception ex) { return false; } }
public void removeSubAwardAttachment(BudgetSubAwards subAward) { subAward.setFormName(null); subAward.setNamespace(null); subAward.setSubAwardXfdFileData(null); subAward.setSubAwardXfdFileName(null); subAward.setSubAwardXmlFileData(null); subAward.setXfdUpdateUser(null); subAward.getBudgetSubAwardAttachments().clear(); subAward.getBudgetSubAwardFiles().clear(); subAward.setXfdUpdateUser(getLoggedInUserNetworkId()); subAward.setXfdUpdateTimestamp( CoreApiServiceLocator.getDateTimeService().getCurrentTimestamp()); subAward.setXmlUpdateUser(getLoggedInUserNetworkId()); subAward.setXmlUpdateTimestamp( CoreApiServiceLocator.getDateTimeService().getCurrentTimestamp()); }
public void populateBudgetSubAwardFiles( Budget budget, BudgetSubAwards subAward, String newFileName, byte[] newFileData) { subAward.setSubAwardStatusCode(1); BudgetSubAwardFiles newSubAwardFile = new BudgetSubAwardFiles(); newSubAwardFile.setSubAwardXfdFileData(newFileData); subAward.getBudgetSubAwardAttachments().clear(); subAward.getBudgetSubAwardFiles().clear(); subAward.getBudgetSubAwardFiles().add(newSubAwardFile); boolean subawardBudgetExtracted = false; try { byte[] pdfFileContents = newSubAwardFile.getSubAwardXfdFileData(); subAward.setSubAwardXfdFileData(pdfFileContents); PdfReader reader = new PdfReader(pdfFileContents); byte[] xmlContents = getXMLFromPDF(reader); subawardBudgetExtracted = (xmlContents != null && xmlContents.length > 0); if (subawardBudgetExtracted) { Map fileMap = extractAttachments(reader); updateXML(xmlContents, fileMap, subAward, budget); } } catch (Exception e) { LOG.error("Not able to extract xml from pdf", e); subawardBudgetExtracted = false; } newSubAwardFile.setSubAwardXfdFileData(subAward.getSubAwardXfdFileData()); if (subawardBudgetExtracted) { newSubAwardFile.setSubAwardXmlFileData(new String(subAward.getSubAwardXmlFileData())); } newSubAwardFile.setSubAwardXfdFileName(newFileName); newSubAwardFile.setBudgetId(subAward.getBudgetId()); newSubAwardFile.setSubAwardNumber(subAward.getSubAwardNumber()); subAward.setSubAwardXfdFileName(newFileName); subAward.setXfdUpdateUser(getLoggedInUserNetworkId()); subAward.setXfdUpdateTimestamp( CoreApiServiceLocator.getDateTimeService().getCurrentTimestamp()); subAward.setXmlUpdateUser(getLoggedInUserNetworkId()); subAward.setXmlUpdateTimestamp( CoreApiServiceLocator.getDateTimeService().getCurrentTimestamp()); }
/** * Determines what Timestamp should be used for active queries on effective dated records. * Determination made as follows: * * <ul> * <li>Use activeAsOfDate value from search values Map if value is not empty * <li>If search value given, try to convert to sql date, if conversion fails, try to convert to * Timestamp * <li>If search value empty, use current Date * <li>If Timestamp value not given, create Timestamp from given Date setting the time as 1 * second before midnight * </ul> * * @param searchValues - Map containing search key/value pairs * @return Timestamp to be used for active criteria */ public static Timestamp getActiveDateTimestampForCriteria(Map searchValues) { Date activeDate = CoreApiServiceLocator.getDateTimeService().getCurrentSqlDate(); Timestamp activeTimestamp = null; if (searchValues.containsKey(KRADPropertyConstants.ACTIVE_AS_OF_DATE)) { String activeAsOfDate = (String) searchValues.get(KRADPropertyConstants.ACTIVE_AS_OF_DATE); if (StringUtils.isNotBlank(activeAsOfDate)) { try { activeDate = CoreApiServiceLocator.getDateTimeService() .convertToSqlDate(ObjectUtils.clean(activeAsOfDate)); } catch (ParseException e) { // try to parse as timestamp try { activeTimestamp = CoreApiServiceLocator.getDateTimeService() .convertToSqlTimestamp(ObjectUtils.clean(activeAsOfDate)); } catch (ParseException e1) { throw new RuntimeException( "Unable to convert date: " + ObjectUtils.clean(activeAsOfDate)); } } } } // if timestamp not given set to 1 second before midnight on the given date if (activeTimestamp == null) { Calendar cal = Calendar.getInstance(); cal.setTime(activeDate); cal.set(Calendar.HOUR, cal.getMaximum(Calendar.HOUR)); cal.set(Calendar.MINUTE, cal.getMaximum(Calendar.MINUTE)); cal.set(Calendar.SECOND, cal.getMaximum(Calendar.SECOND)); activeTimestamp = new Timestamp(cal.getTime().getTime()); } return activeTimestamp; }
protected DateTimeService getDateTimeService() { if (this.dateTimeService == null) { this.dateTimeService = CoreApiServiceLocator.getDateTimeService(); } return this.dateTimeService; }