List of usage examples for org.joda.time MutableDateTime setDate
public void setDate(final ReadableInstant instant)
From source file:org.mifos.ui.core.controller.SavingsProductFormValidator.java
License:Open Source License
@SuppressWarnings({ "ThrowableInstanceNeverThrown" }) @Override//from w w w. ja v a 2 s . c om public void validate(Object target, Errors errors) { SavingsProductFormBean formBean = (SavingsProductFormBean) target; if (formBean.getGeneralDetails().getName().trim().isEmpty()) { errors.reject("NotEmpty.generalDetails.name"); } if (formBean.getGeneralDetails().getDescription().length() > 200) { errors.reject("Size.generalDetails.description"); } if (formBean.getGeneralDetails().getShortName().trim().isEmpty()) { errors.reject("NotEmpty.generalDetails.shortName"); } if (formBean.getGeneralDetails().getSelectedCategory().trim().isEmpty()) { errors.reject("NotEmpty.generalDetails.selectedCategory"); } if (null == formBean.getGeneralDetails().getStartDateDay() || 1 > formBean.getGeneralDetails().getStartDateDay() || 31 < formBean.getGeneralDetails().getStartDateDay()) { errors.reject("Min.generalDetails.startDateDay"); } if (null == formBean.getGeneralDetails().getStartDateMonth() || 1 > formBean.getGeneralDetails().getStartDateMonth() || 12 < formBean.getGeneralDetails().getStartDateMonth()) { errors.reject("Min.generalDetails.startDateMonth"); } if (null == formBean.getGeneralDetails().getStartDateAsDateTime() || !(formBean.getGeneralDetails().getStartDateYear().length() == 4)) { errors.reject("Min.generalDetails.startDate"); } else { MutableDateTime nextYear = new MutableDateTime(); nextYear.setDate(new Date().getTime()); nextYear.addYears(1); if (formBean.getGeneralDetails().getStartDateAsDateTime() != null && formBean.getGeneralDetails().getStartDateAsDateTime().compareTo(nextYear) > 0) { errors.reject("Min.generalDetails.startDate"); } } if ((null != formBean.getGeneralDetails().getEndDateDay() || null != formBean.getGeneralDetails().getEndDateMonth() || null != formBean.getGeneralDetails().getEndDateMonth()) && formBean.getGeneralDetails().getEndDateAsDateTime() == null) { errors.reject("Min.generalDetails.endDate"); } if (formBean.getGeneralDetails().getStartDateAsDateTime() != null && formBean.getGeneralDetails().getEndDateAsDateTime() != null && formBean.getGeneralDetails().getStartDateAsDateTime() .compareTo(formBean.getGeneralDetails().getEndDateAsDateTime()) > 0) { errors.reject("Min.generalDetails.endDate"); } if (formBean.getGeneralDetails().getSelectedApplicableFor().trim().isEmpty()) { errors.reject("NotEmpty.generalDetails.selectedApplicableFor"); } if (formBean.getSelectedDepositType().trim().isEmpty()) { errors.reject("NotEmpty.savingsProduct.selectedDepositType"); } else if (formBean.isMandatory() && (null == formBean.getAmountForDeposit() || formBean.getAmountForDeposit() <= 0)) { errors.reject("Min.savingsProduct.amountForDesposit"); } if (formBean.isGroupSavingAccount() && formBean.getSelectedGroupSavingsApproach().trim().isEmpty()) { errors.reject("NotEmpty.savingsProduct.selectedGroupSavingsApproach"); } if (!formBean.isInterestRateZero()) { if (null == formBean.getInterestRate() || formBean.getInterestRate().doubleValue() < 1.0 || formBean.getInterestRate().doubleValue() > 100.0 || errorProcessor.getRejectedValue("interestRate") != null) { if (errorProcessor.getTarget() == null) { errors.reject("NotNull.savingsProduct.interestRate"); } else { BindException bindException = new BindException(errorProcessor.getTarget(), errorProcessor.getObjectName()); bindException.addError(new FieldError(errorProcessor.getObjectName(), "interestRate", errorProcessor.getRejectedValue("interestRate"), true, new String[] { "NotNull.savingsProduct.interestRate" }, null, null)); errors.addAllErrors(bindException); } } if (formBean.getSelectedInterestCalculation().trim().isEmpty()) { errors.reject("NotEmpty.savingsProduct.selectedInterestCalculation"); } if (null == formBean.getInterestCalculationFrequency() || formBean.getInterestCalculationFrequency() < 1 || errorProcessor.getRejectedValue("interestCalculationFrequency") != null) { if (errorProcessor.getTarget() == null) { errors.reject("NotNull.savingsProduct.interestCalculationFrequency"); } else { BindException bindException = new BindException(errorProcessor.getTarget(), errorProcessor.getObjectName()); bindException.addError(new FieldError(errorProcessor.getObjectName(), "interestCalculationFrequency", errorProcessor.getRejectedValue("interestCalculationFrequency"), true, new String[] { "NotNull.savingsProduct.interestCalculationFrequency" }, null, null)); errors.addAllErrors(bindException); } } if (null == formBean.getInterestPostingMonthlyFrequency() || formBean.getInterestPostingMonthlyFrequency() < 1 || errorProcessor.getRejectedValue("interestPostingMonthlyFrequency") != null) { if (errorProcessor.getTarget() == null) { errors.reject("Min.savingsProduct.interestPostingMonthlyFrequency"); } else { BindException bindException = new BindException(errorProcessor.getTarget(), errorProcessor.getObjectName()); bindException.addError(new FieldError(errorProcessor.getObjectName(), "interestPostingMonthlyFrequency", errorProcessor.getRejectedValue("interestPostingMonthlyFrequency"), true, new String[] { "Min.savingsProduct.interestPostingMonthlyFrequency" }, null, null)); errors.addAllErrors(bindException); } } } BigDecimal minBalanceForInterestCalculation; try { minBalanceForInterestCalculation = BigDecimal .valueOf(Double.valueOf(formBean.getMinBalanceRequiredForInterestCalculation())); } catch (NumberFormatException e) { minBalanceForInterestCalculation = new BigDecimal("-1"); } if (minBalanceForInterestCalculation.compareTo(BigDecimal.ZERO) < 0) { errors.reject("Min.savingsProduct.balanceRequiredForInterestCalculation"); } if (formBean.getSelectedPrincipalGlCode().trim().isEmpty()) { errors.reject("NotEmpty.savingsProduct.selectedPrincipalGlCode"); } if (formBean.getSelectedInterestGlCode().trim().isEmpty()) { errors.reject("NotEmpty.savingsProduct.selectedInterestGlCode"); } Short digsAfterDec = configurationServiceFacade.getAccountingConfiguration().getDigitsAfterDecimal(); Short digsBeforeDec = configurationServiceFacade.getAccountingConfiguration().getDigitsBeforeDecimal(); Double maxWithdrawalObj = formBean.getMaxWithdrawalAmount(); String maxWithdrawalString; if (maxWithdrawalObj == null) { maxWithdrawalString = ""; } else { maxWithdrawalString = maxWithdrawalObj.toString(); } int dot = maxWithdrawalString.lastIndexOf('.'); int max = digsAfterDec + digsBeforeDec + dot; int withdrawalLength = maxWithdrawalString.length(); if (maxWithdrawalString.lastIndexOf(0, dot) > digsBeforeDec) { errors.reject("MaxDigitsBefore.savingProduct.withdrawal", new String[] { digsBeforeDec.toString() }, null); } if (maxWithdrawalString.lastIndexOf(dot, withdrawalLength) > digsAfterDec) { errors.reject("MaxDigitsAfter.savingProduct.withdrawal", new String[] { digsAfterDec.toString() }, null); } if (withdrawalLength > max) { errors.reject("MaxDigitsNumber.savingProduct.withdrawal", new String[] { String.valueOf(max) }, null); } Double amountForDepositObj = formBean.getAmountForDeposit(); String amountForDepositString; if (amountForDepositObj == null) { amountForDepositString = ""; } else { amountForDepositString = amountForDepositObj.toString(); } int depositLength = amountForDepositString.length(); if (amountForDepositString.lastIndexOf(0, dot) > digsBeforeDec) { errors.reject("MaxDigitsBefore.savingProduct.deposit", new String[] { digsBeforeDec.toString() }, null); } if (amountForDepositString.lastIndexOf(dot, depositLength) > digsAfterDec) { errors.reject("MaxDigitsAfter.savingProduct.deposit", new String[] { digsAfterDec.toString() }, null); } if (depositLength > max) { errors.reject("MaxDigitsNumber.savingProduct.deposit", new String[] { String.valueOf(max) }, null); } }
From source file:org.mongoste.core.impl.mongodb.MongoStatsEngine.java
License:Open Source License
private List<StatAction> getTargetStats(DBObject query) throws StatsEngineException { List<StatAction> result = new ArrayList<StatAction>(); DBCursor dbc = null;/* w w w. j av a 2 s . c o m*/ try { log.debug("Querying targets"); DBCollection targets = getTargetCollection(); long t = System.currentTimeMillis(); DBObject fields = MongoUtil.createDoc(EVENT_ACTION, 1, FIELD_COUNT, 1, EVENT_DATE, 1); dbc = targets.find(query, fields); t = System.currentTimeMillis() - t; if (t > 1000) { log.warn("getTargetStats query: {}\n took {}s", debugTrim(query), t / 1000.0); } BasicDBObject resultDoc; Map<String, StatAction> actions = new HashMap<String, StatAction>(); Map<String, Map<DateTime, StatCounter>> actionsDate = new HashMap<String, Map<DateTime, StatCounter>>(); Map<DateTime, StatCounter> dateCount; StatAction action; StatCounter dateCounter; String actionName; Long count; MutableDateTime dateTime = DateUtil.getDateTimeUTC(true).toMutableDateTime(); DateTime date; Date eventYearMonthTargetDate; int processed = 0; t = System.currentTimeMillis(); while (dbc.hasNext()) { resultDoc = (BasicDBObject) dbc.next(); actionName = resultDoc.getString(EVENT_ACTION); count = resultDoc.getLong(FIELD_COUNT); eventYearMonthTargetDate = (Date) resultDoc.get(EVENT_DATE); dateTime.setDate(eventYearMonthTargetDate.getTime()); date = dateTime.toDateTime(); action = actions.get(actionName); if (action == null) { actions.put(actionName, action = new StatAction(actionName, 0)); } action.add(count); dateCount = actionsDate.get(actionName); if (dateCount == null) { dateCount = new TreeMap<DateTime, StatCounter>(); actionsDate.put(actionName, dateCount); } dateCounter = dateCount.get(date); if (dateCounter == null) { dateCount.put(date, dateCounter = new StatCounter(actionName, 0, date.toDate())); } dateCounter.add(count); processed++; } //Build result list for (Entry<String, StatAction> entry : actions.entrySet()) { action = entry.getValue(); dateCount = actionsDate.get(action.getName()); List<StatCounter> targetList = action.getTargets(); for (Entry<DateTime, StatCounter> entryDate : dateCount.entrySet()) { StatCounter counter = entryDate.getValue(); targetList.add(counter); } result.add(action); } t = System.currentTimeMillis() - t; //TODO add warning level to X ms: if (t > 1000) { log.warn("getTargetStats query fetch: {}\n took {}s", debugTrim(query), t / 1000.0); } else { log.info("getTargetStats processed {} results in {}ms", processed, t); } } catch (Exception ex) { log.error("getTargetStats", ex); if (ex instanceof StatsEngineException) { throw (StatsEngineException) ex; } throw new StatsEngineException("getTargetStats", ex); } finally { MongoUtil.close(dbc); } return result; }
From source file:org.openmhealth.shim.fatsecret.FatsecretShim.java
License:Apache License
@Override public ShimDataResponse getData(ShimDataRequest shimDataRequest) throws ShimException { long numToSkip = 0; long numToReturn = 3; Calendar cal = Calendar.getInstance(); cal.set(2014, Calendar.AUGUST, 1); Date endDate = new Date(cal.getTimeInMillis()); cal.add(Calendar.DATE, -1);//from ww w .ja v a 2 s .c o m Date startDate = new Date(cal.getTimeInMillis()); DateTime startTime = new DateTime(startDate.getTime()); DateTime endTime = new DateTime(endDate.getTime()); MutableDateTime epoch = new MutableDateTime(); epoch.setDate(0); int days = 16283; //Days.daysBetween(epoch, new DateTime()).getDays() - 1; String endPoint = "food_entries.get"; String accessToken = shimDataRequest.getAccessParameters().getAccessToken(); String tokenSecret = shimDataRequest.getAccessParameters().getTokenSecret(); URL url = signUrl(DATA_URL + "?date=" + days + "&format=json&method=" + endPoint, accessToken, tokenSecret, null); System.out.println("Signed URL is: \n\n" + url); // Fetch and decode the JSON data. ObjectMapper objectMapper = new ObjectMapper(); JsonNode jsonData; HttpGet get = new HttpGet(url.toString()); HttpResponse response; try { response = httpClient.execute(get); HttpEntity responseEntity = response.getEntity(); jsonData = objectMapper.readTree(responseEntity.getContent()); return ShimDataResponse.result(FatsecretShim.SHIM_KEY, jsonData); } catch (IOException e) { throw new ShimException("Could not fetch data", e); } finally { get.releaseConnection(); } }
From source file:rapture.event.generator.RangedEventGenerator.java
License:Open Source License
public static List<TimedEventRecord> generateWeeklyEvents(DateTime start) { List<TimedEventRecord> ret = new ArrayList<TimedEventRecord>(); ret.addAll(EventGenerator.generateWeeklyEventRecords(start, new EventHelper() { @Override// w w w .java 2 s . c o m public List<TimedEventRecord> filterEvent(String eventName, DateTime forWhen) { String scriptPrefix = "/system/timeprocessor" + eventName; List<TimedEventRecord> ret = new ArrayList<TimedEventRecord>(); scriptWorkWith(eventName, scriptPrefix, forWhen, ret, 1); eventWorkWith(eventName, "/" + eventName, forWhen, ret, 1); return ret; } private ReflexRaptureScript rrs = new ReflexRaptureScript(); private void eventWorkWith(String eventName, String prefix, DateTime forWhen, List<TimedEventRecord> ret, int depth) { List<RaptureFolderInfo> fInfo = Kernel.getEvent() .listEventsByUriPrefix(ContextFactory.getKernelUser(), prefix); for (RaptureFolderInfo f : fInfo) { String next = prefix + "/" + f.getName(); if (f.isFolder()) { depth++; if (depth != 4) { eventWorkWith(eventName, next, forWhen, ret, depth); } } else { RaptureEvent event = Kernel.getEvent().getEvent(ContextFactory.getKernelUser(), next); // Now for each of the event items, add a timedRecord if (event.getScripts() != null) { for (RaptureEventScript script : event.getScripts()) { ret.add(getEventRecordForScript(eventName, script.getScriptURI(), forWhen)); } } if (event.getWorkflows() != null) { for (RaptureEventWorkflow workflow : event.getWorkflows()) { ret.add(getEventRecordForWorkflow(next, workflow.getWorkflow(), forWhen)); } } } } } private TimedEventRecord getEventRecordForWorkflow(String eventName, String workflowId, DateTime forWhen) { // The record will have a modified timezone string first, then the hour, then the minute, we need // to convert that hour/minute/timezone into a local date (or actually a datetime in a given timezone usually passed in) String[] parts = eventName.split("/"); String timeZoneString = parts[parts.length - 3]; String hourString = parts[parts.length - 2]; String minuteString = parts[parts.length - 1]; DateTimeZone tz = EventGenerator.getRealDateTimeZone(timeZoneString); MutableDateTime dt = new MutableDateTime(tz); dt.setHourOfDay(Integer.parseInt(hourString)); dt.setMinuteOfHour(Integer.parseInt(minuteString)); DateTime inLocalTimeZone = dt.toDateTime(forWhen.getZone()); TimedEventRecord rec = new TimedEventRecord(); // Workflow w = // Kernel.getDecision().getWorkflow(ContextFactory.getKernelUser(), // workflowId); rec.setEventName(workflowId); rec.setEventContext(workflowId); rec.setWhen(inLocalTimeZone.toDate()); rec.setInfoContext("green"); DateTime endPoint = inLocalTimeZone.plusMinutes(30); rec.setEnd(endPoint.toDate()); return rec; } private TimedEventRecord getEventRecordForScript(String eventName, String scriptId, DateTime forWhen) { String[] parts = eventName.split("/"); String timeZoneString = parts[parts.length - 3]; String hourString = parts[parts.length - 2]; String minuteString = parts[parts.length - 1]; DateTimeZone tz = EventGenerator.getRealDateTimeZone(timeZoneString); MutableDateTime dt = new MutableDateTime(tz); dt.setDate(forWhen.getMillis()); dt.setHourOfDay(Integer.parseInt(hourString)); dt.setMinuteOfHour(Integer.parseInt(minuteString)); DateTime inLocalTimeZone = dt.toDateTime(forWhen.getZone()); TimedEventRecord rec = new TimedEventRecord(); // Put the name from the meta property "name" on the // script if it exists RaptureScript theScript = Kernel.getScript().getScript(ContextFactory.getKernelUser(), scriptId); String name = null; String color = "blue"; if (theScript != null) { try { ReflexParser parser = rrs.getParser(ContextFactory.getKernelUser(), theScript.getScript()); name = parser.scriptInfo.getProperty("name"); if (parser.scriptInfo.getProperty("color") != null) { color = parser.scriptInfo.getProperty("color"); } } catch (Exception e) { log.error("Unexpected error: " + ExceptionToString.format(e)); } } rec.setEventName(name == null ? eventName : name); rec.setEventContext(scriptId); rec.setInfoContext(color); rec.setWhen(inLocalTimeZone.toDate()); DateTime endPoint = inLocalTimeZone.plusMinutes(30); rec.setEnd(endPoint.toDate()); return rec; } private void scriptWorkWith(String eventName, String prefix, DateTime forWhen, List<TimedEventRecord> ret, int depth) { Map<String, RaptureFolderInfo> fInfo = Kernel.getScript() .listScriptsByUriPrefix(ContextFactory.getKernelUser(), prefix, -1); for (RaptureFolderInfo f : fInfo.values()) { String next = prefix + "/" + f.getName(); if (f.isFolder()) { if (depth != 4) { scriptWorkWith(eventName, next, forWhen, ret, depth + 1); } else { } } else { // This script is set to run at x/y/z.../02/00 // So run ret.add(getEventRecordForScript(next, next, forWhen)); } } } })); return ret; }