List of usage examples for org.joda.time.format ISODateTimeFormat date
public static DateTimeFormatter date()
From source file:com.marand.thinkmed.medications.business.impl.MedicationsEhrUtils.java
License:Open Source License
public static OrderActivity setMedicationTiming(final OrderActivity orderActivity, final DosingFrequencyDto dosingFrequency, final Integer dosingDaysFrequency, final List<String> daysOfWeek, final DateTime start, final DateTime stop, final HourMinuteDto administrationTime, final DateTime administrationDate, final Boolean whenNeeded, final List<String> startCriterions, final Integer maxDailyFrequency) { final OrderActivity.MedicationTimingCluster medicationTiming = new OrderActivity.MedicationTimingCluster(); orderActivity.setMedicationTiming(medicationTiming); final OrderActivity.MedicationTimingCluster.TimingCluster timing = new OrderActivity.MedicationTimingCluster.TimingCluster(); medicationTiming.setTiming(timing);//w ww .j a va 2 s .co m if (maxDailyFrequency != null) { final OrderActivity.MaximumDoseCluster maximumDoseCluster = new OrderActivity.MaximumDoseCluster(); maximumDoseCluster.setAllowedPeriod(DataValueUtils.getDuration(0, 0, 1, 0, 0, 0)); final MedicationAmountCluster medicationAmountCluster = new MedicationAmountCluster(); medicationAmountCluster.setAmount(DataValueUtils.getQuantity(maxDailyFrequency, "")); maximumDoseCluster.setMedicationAmount(medicationAmountCluster); orderActivity.getMaximumDose().add(maximumDoseCluster); } if (dosingFrequency != null) { if (dosingFrequency.getType() == DosingFrequencyTypeEnum.BETWEEN_DOSES) { timing.setInterval(DataValueUtils.getDuration(0, 0, 0, dosingFrequency.getValue(), 0, 0)); } else if (dosingFrequency.getType() == DosingFrequencyTypeEnum.DAILY_COUNT) { final DvCount count = new DvCount(); count.setMagnitude(dosingFrequency.getValue()); timing.setDailyCount(count); } else if (dosingFrequency.getType() == DosingFrequencyTypeEnum.MORNING) { medicationTiming.setTimingDescription(DataValueUtils .getText(DosingFrequencyTypeEnum.getFullString(DosingFrequencyTypeEnum.MORNING))); } else if (dosingFrequency.getType() == DosingFrequencyTypeEnum.EVENING) { medicationTiming.setTimingDescription(DataValueUtils .getText(DosingFrequencyTypeEnum.getFullString(DosingFrequencyTypeEnum.EVENING))); } else if (dosingFrequency.getType() == DosingFrequencyTypeEnum.NOON) { medicationTiming.setTimingDescription(DataValueUtils .getText(DosingFrequencyTypeEnum.getFullString(DosingFrequencyTypeEnum.NOON))); } else if (dosingFrequency.getType() == DosingFrequencyTypeEnum.ONCE_THEN_EX) { final DvCount numberOfAdministrations = new DvCount(); numberOfAdministrations.setMagnitude(1L); medicationTiming.setNumberOfAdministrations(numberOfAdministrations); medicationTiming.setTimingDescription(DataValueUtils .getText(DosingFrequencyTypeEnum.getFullString(DosingFrequencyTypeEnum.ONCE_THEN_EX))); } } if (dosingDaysFrequency != null) { if (dosingFrequency != null && dosingFrequency.getType() == DosingFrequencyTypeEnum.BETWEEN_DOSES) { throw new IllegalArgumentException("Not a valid dosingFrequency"); } timing.setInterval(DataValueUtils.getDuration(0, 0, dosingDaysFrequency, 0, 0, 0)); } medicationTiming.setStartDate(DataValueUtils.getDateTime(start)); if (stop != null) { medicationTiming.setStopDate(DataValueUtils.getDateTime(stop)); } if (daysOfWeek != null && !daysOfWeek.isEmpty()) { final List<DvCodedText> ehrDaysOfWeek = new ArrayList<>(); for (final String dayOfWeek : daysOfWeek) { ehrDaysOfWeek.add(DataValueUtils.getCodedText(DayOfWeek.valueOf(dayOfWeek))); } timing.setDayOfWeek(ehrDaysOfWeek); } final List<DvTime> dvTimes = new ArrayList<>(); if (administrationTime != null) { final DvTime dvTime = new DvTime(); final String isoTime = ISODateTimeFormat.time() .print(new DateTime(2000, 1, 1, administrationTime.getHour(), administrationTime.getMinute())); dvTime.setValue(isoTime); dvTimes.add(dvTime); } timing.setTime(dvTimes); if (administrationDate != null) { final DvDate dvDate = new DvDate(); dvDate.setValue(ISODateTimeFormat.date().print(administrationDate)); final List<DvDate> dvDates = new ArrayList<>(); dvDates.add(dvDate); timing.setDate(dvDates); } if (whenNeeded != null) { medicationTiming.setPRN(DataValueUtils.getBoolean(whenNeeded)); } for (final String startCriterion : startCriterions) { if (startCriterion != null) { final MedicationStartCriterionEnum startConditionEnum = MedicationStartCriterionEnum .valueOf(startCriterion); if (startCriterion != null) { final String startConditionEnumString = MedicationStartCriterionEnum .getFullString(startConditionEnum); medicationTiming.getStartCriterion().add( DataValueUtils.getLocalCodedText(startConditionEnumString, startConditionEnumString)); } else { throw new IllegalArgumentException("Unknown start condition " + startCriterion); } } } return orderActivity; }
From source file:com.marand.thinkmed.medications.business.util.MedicationsEhrUtils.java
License:Open Source License
public static OrderActivity setMedicationTiming(final OrderActivity orderActivity, final DosingFrequencyDto dosingFrequency, final Integer dosingDaysFrequency, final List<String> daysOfWeek, final DateTime start, final DateTime stop, final List<HourMinuteDto> administrationTimes, final DateTime administrationDate, final Boolean whenNeeded, final String startCriterion, final Integer maxDailyFrequency) { final OrderActivity.MedicationTimingCluster medicationTiming = new OrderActivity.MedicationTimingCluster(); orderActivity.setMedicationTiming(medicationTiming); final OrderActivity.MedicationTimingCluster.TimingCluster timing = new OrderActivity.MedicationTimingCluster.TimingCluster(); medicationTiming.setTiming(timing);/*from w w w. j av a2s . c om*/ if (maxDailyFrequency != null) { final OrderActivity.MaximumDoseCluster maximumDoseCluster = new OrderActivity.MaximumDoseCluster(); maximumDoseCluster.setAllowedPeriod(DataValueUtils.getDuration(0, 0, 1, 0, 0, 0)); final MedicationAmountCluster medicationAmountCluster = new MedicationAmountCluster(); medicationAmountCluster.setAmount(DataValueUtils.getQuantity(maxDailyFrequency, "")); maximumDoseCluster.setMedicationAmount(medicationAmountCluster); orderActivity.getMaximumDose().add(maximumDoseCluster); } if (dosingFrequency != null) { if (dosingFrequency.getType() == DosingFrequencyTypeEnum.BETWEEN_DOSES) { timing.setInterval(DataValueUtils.getDuration(0, 0, 0, dosingFrequency.getValue(), 0, 0)); } else if (dosingFrequency.getType() == DosingFrequencyTypeEnum.DAILY_COUNT) { final DvCount count = new DvCount(); count.setMagnitude(dosingFrequency.getValue()); timing.setDailyCount(count); } else if (dosingFrequency.getType() == DosingFrequencyTypeEnum.MORNING) { medicationTiming.setTimingDescription(DataValueUtils .getText(DosingFrequencyTypeEnum.getFullString(DosingFrequencyTypeEnum.MORNING))); } else if (dosingFrequency.getType() == DosingFrequencyTypeEnum.EVENING) { medicationTiming.setTimingDescription(DataValueUtils .getText(DosingFrequencyTypeEnum.getFullString(DosingFrequencyTypeEnum.EVENING))); } else if (dosingFrequency.getType() == DosingFrequencyTypeEnum.NOON) { medicationTiming.setTimingDescription(DataValueUtils .getText(DosingFrequencyTypeEnum.getFullString(DosingFrequencyTypeEnum.NOON))); } else if (dosingFrequency.getType() == DosingFrequencyTypeEnum.ONCE_THEN_EX) { final DvCount numberOfAdministrations = new DvCount(); numberOfAdministrations.setMagnitude(1L); medicationTiming.setNumberOfAdministrations(numberOfAdministrations); medicationTiming.setTimingDescription(DataValueUtils .getText(DosingFrequencyTypeEnum.getFullString(DosingFrequencyTypeEnum.ONCE_THEN_EX))); } } if (dosingDaysFrequency != null) { timing.setInterval(DataValueUtils.getDuration(0, 0, dosingDaysFrequency, 0, 0, 0)); } medicationTiming.setStartDate(DataValueUtils.getDateTime(start)); if (stop != null) { medicationTiming.setStopDate(DataValueUtils.getDateTime(stop)); } if (daysOfWeek != null && !daysOfWeek.isEmpty()) { final List<DvCodedText> ehrDaysOfWeek = new ArrayList<>(); for (final String dayOfWeek : daysOfWeek) { ehrDaysOfWeek.add(DataValueUtils.getCodedText(DayOfWeek.valueOf(dayOfWeek))); } timing.setDayOfWeek(ehrDaysOfWeek); } final List<DvTime> dvTimes = new ArrayList<>(); if (administrationTimes != null) { for (final HourMinuteDto administrationTime : administrationTimes) { final DvTime dvTime = new DvTime(); final String isoTime = ISODateTimeFormat.time() .print(administrationTime.combine(new DateTime(2000, 1, 1, 0, 0))); dvTime.setValue(isoTime); dvTimes.add(dvTime); } } timing.setTime(dvTimes); if (administrationDate != null) { final DvDate dvDate = new DvDate(); dvDate.setValue(ISODateTimeFormat.date().print(administrationDate)); final List<DvDate> dvDates = new ArrayList<>(); dvDates.add(dvDate); timing.setDate(dvDates); } if (whenNeeded != null) { medicationTiming.setPRN(DataValueUtils.getBoolean(whenNeeded)); } if (startCriterion != null) { final MedicationStartCriterionEnum startConditionEnum = MedicationStartCriterionEnum .valueOf(startCriterion); if (startConditionEnum != null) { final String startConditionEnumString = MedicationStartCriterionEnum .getFullString(startConditionEnum); medicationTiming.getStartCriterion() .add(DataValueUtils.getLocalCodedText(startConditionEnumString, startConditionEnumString)); } else { throw new IllegalArgumentException("Unknown start condition " + startCriterion); } } return orderActivity; }
From source file:com.marand.thinkmed.medications.converter.MedicationFromEhrConverter.java
License:Open Source License
protected final DateTime getAdministrationDate(final OrderActivity order) { final TimingCluster timing = order.getMedicationTiming().getTiming(); if (timing != null && !timing.getDate().isEmpty()) { return ISODateTimeFormat.date().parseDateTime(timing.getDate().get(0).getValue()); }/*from www. j a va 2s. c o m*/ return null; }
From source file:com.marand.thinkmed.medications.process.impl.TherapyTaskCreatorImpl.java
License:Open Source License
private List<NewTaskRequestDto> createTasks(final Long patientId, final MedicationOrderComposition composition, final MedicationInstructionInstruction instruction, final AdministrationTimingDto administrationTiming, final RoundsIntervalDto roundsInterval, final List<Interval> tasksCreationIntervals, final boolean therapyStart, final DateTime lastTaskTimestamp) { final boolean simple = MedicationsEhrUtils.isSimpleInstruction(instruction); final boolean variable = MedicationsEhrUtils.isVariableInstruction(instruction); final boolean variableDays = MedicationsEhrUtils.isVariableDaysInstruction(instruction); String linkedTherapyId = null; //last task triggers task creation for linked therapy final Pair<MedicationOrderComposition, MedicationInstructionInstruction> instructionPair = Pair .of(composition, instruction); for (final MedicationInstructionInstruction inst : composition.getMedicationDetail() .getMedicationInstruction()) { if (medicationsBo.doesInstructionHaveLinkToCompareInstruction(inst, instructionPair, OpenEhrLinkType.ISSUE)) { linkedTherapyId = InstructionTranslator.translate(inst, composition); break; }/*from ww w . ja v a 2 s. com*/ } final List<NewTaskRequestDto> taskRequests = new ArrayList<>(); for (final Interval interval : tasksCreationIntervals) { if (variableDays) { final Map<DateTime, TherapyDoseDto> administrationDateTimesMap = new HashMap<>(); for (final OrderActivity orderActivity : instruction.getOrder()) { final TherapyDoseDto dose = getTherapyDoseDto(orderActivity, simple); if (dose != null) { final DvTime dvTime = orderActivity.getMedicationTiming().getTiming().getTime().get(0); final DvDate dvDate = orderActivity.getMedicationTiming().getTiming().getDate().get(0); final Pair<Integer, Integer> parsedTime = DvUtils.getHourMinute(dvTime); final DateTime parsedDate = ISODateTimeFormat.date().parseDateTime(dvDate.getValue()); administrationDateTimesMap.put( new DateTime(parsedDate.getYear(), parsedDate.getMonthOfYear(), parsedDate.getDayOfMonth(), parsedTime.getFirst(), parsedTime.getSecond()), dose); } } final List<NewTaskRequestDto> tasks = createTasksForVariableDaysTherapy(patientId, instruction, composition.getUid().getValue(), interval, administrationDateTimesMap, therapyStart); taskRequests.addAll(tasks); } else if (variable) { final Map<HourMinuteDto, TherapyDoseDto> administrationTimesMap = new HashMap<>(); for (final OrderActivity orderActivity : instruction.getOrder()) { final TherapyDoseDto dose = getTherapyDoseDto(orderActivity, simple); final Pair<Integer, Integer> parsedTime = DvUtils .getHourMinute(orderActivity.getMedicationTiming().getTiming().getTime().get(0)); administrationTimesMap.put(new HourMinuteDto(parsedTime.getFirst(), parsedTime.getSecond()), dose); } final List<NewTaskRequestDto> tasks = createTasksForVariableTherapy(patientId, instruction, composition.getUid().getValue(), interval, administrationTimesMap, therapyStart); taskRequests.addAll(tasks); } else { final TherapyDoseDto dose = getTherapyDoseDto(instruction.getOrder().get(0), simple); final List<NewTaskRequestDto> tasks = createTasksForConstantTherapy(patientId, instruction, composition.getUid().getValue(), interval, dose, administrationTiming, roundsInterval, therapyStart, lastTaskTimestamp, linkedTherapyId); taskRequests.addAll(tasks); } } return taskRequests; }
From source file:com.moss.joda.swing.LiveDatePicker.java
License:Open Source License
public LiveDatePicker() { formats.add(DateTimeFormat.shortDate()); formats.add(ISODateTimeFormat.date()); formats.add(ISODateTimeFormat.basicDate()); formats.add(DateTimeFormat.mediumDate()); formats.add(DateTimeFormat.fullDate()); formats.add(DateTimeFormat.longDate()); // p = new JXDatePicker(); // pButton = p.getComponent(1); // p.getEditor().setVisible(false); pButton = new JButton("^"); pButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { Point p = pButton.getLocation(); popup.show(pButton, 0, 0);//w w w .j a v a 2 s. com } }); popup.add(new DateSelectionListener() { public void dateSelected(YearMonthDay date) { setDate(date); fireSelection(); } }); t.getDocument().addDocumentListener(new DocumentListener() { public void changedUpdate(DocumentEvent e) { handle(); } public void insertUpdate(DocumentEvent e) { handle(); } public void removeUpdate(DocumentEvent e) { handle(); } void handle() { if (!uiUpdating) { String text = t.getText(); YearMonthDay date = null; for (int x = 0; date == null && x < formats.size(); x++) { DateTimeFormatter f = formats.get(x); try { date = f.parseDateTime(text).toYearMonthDay(); } catch (IllegalArgumentException e) { } } value = date; if (date != null) { popup.setDate(date); } fireSelection(); } } }); setLayout(new GridBagLayout()); GridBagConstraints c = new GridBagConstraints(); c.fill = GridBagConstraints.BOTH; c.weightx = 1; c.ipadx = 10; add(t, c); c.weightx = 0; c.ipadx = 0; // c.insets.left = 5; add(pButton, c); setDate(new YearMonthDay()); }
From source file:com.tkmtwo.sarapi.ArsDataType.java
License:Apache License
public static String getArString(Value v) { if (isNull(v)) { return null; }/*ww w.j a va2 s . c o m*/ ArsDataType adt = valueOfDataType(v.getDataType()); if (adt == null) { throw new IllegalArgumentException("DataType of Value not known."); } String s = null; switch (adt) { case NULL: s = null; break; case INTEGER: s = ((Integer) v.getValue()).toString(); break; case REAL: s = ((Double) v.getValue()).toString(); break; case CHAR: s = ((String) v.getValue()); break; case ENUM: s = ((Integer) v.getValue()).toString(); break; case TIME: DateTime timestampDt = new DateTime(((Timestamp) v.getValue()).getValue() * 1000L); s = ISODateTimeFormat.dateTimeNoMillis().print(timestampDt); break; case DECIMAL: s = ((BigDecimal) v.getValue()).toString(); break; case CURRENCY: CurrencyValue cv = (CurrencyValue) v.getValue(); s = cv.getValue().toString() + " " + cv.getCurrencyCode(); break; case DATE: DateTime dateInfoDt = new DateTime(((DateInfo) v.getValue()).GetDate()); s = ISODateTimeFormat.date().print(dateInfoDt); break; case TIME_OF_DAY: DateTime timeDt = LocalTime.fromMillisOfDay(((Time) v.getValue()).getValue() * 1000L) .toDateTimeToday(DateTimeZone.UTC); s = ISODateTimeFormat.timeNoMillis().print(timeDt); break; default: s = v.getValue().toString(); } return s; }
From source file:com.tremolosecurity.provisioning.core.providers.BasicDB.java
License:Apache License
private void insertCreate(User user, Set<String> attributes, Map<String, Attribute> attrs, Connection con, Map<String, Object> request) throws SQLException, ProvisioningException { int approvalID = 0; if (request.containsKey("APPROVAL_ID")) { approvalID = (Integer) request.get("APPROVAL_ID"); }// www . ja va 2 s . c om Workflow workflow = (Workflow) request.get("WORKFLOW"); StringBuffer insert = new StringBuffer(); insert.append("INSERT INTO ").append(this.userTable).append(" ("); for (String attr : attributes) { if (attrs.get(attr) != null) { getFieldName(attr, insert).append(","); } } insert.setLength(insert.length() - 1); insert.append(") values ("); for (String attr : attributes) { if (attrs.get(attr) != null) { insert.append("?,"); } } insert.setLength(insert.length() - 1); insert.append(")"); PreparedStatement ps = con.prepareStatement(insert.toString(), Statement.RETURN_GENERATED_KEYS); int i = 1; for (String attr : attributes) { if (attrs.get(attr) != null) { Attribute.DataType dataType = attrs.get(attr).getDataType(); switch (dataType) { case string: ps.setString(i, attrs.get(attr).getValues().get(0)); break; case intNum: ps.setInt(i, Integer.parseInt(attrs.get(attr).getValues().get(0))); break; case longNum: ps.setLong(i, Long.parseLong(attrs.get(attr).getValues().get(0))); break; case date: ps.setDate(i, new Date(ISODateTimeFormat.date() .parseDateTime(attrs.get(attr).getValues().get(0)).getMillis())); break; case timeStamp: ps.setTimestamp(i, new Timestamp(ISODateTimeFormat.dateTime() .parseDateTime(attrs.get(attr).getValues().get(0)).getMillis())); break; } i++; } } ps.executeUpdate(); ResultSet rs = ps.getGeneratedKeys(); int id; if (rs.next() && !this.driver.contains("oracle")) { id = (int) rs.getInt(1); } else { StringBuffer select = new StringBuffer(); select.append("SELECT "); this.getFieldName(this.userPrimaryKey, select).append(" FROM ").append(this.userTable) .append(" WHERE "); this.getFieldName(this.userName, select).append("=?"); PreparedStatement getUserId = con.prepareStatement(select.toString()); //con.prepareStatement( + this.userPrimaryKey + " FROM " + this.userTable + " WHERE " + this.userName + "=?"); getUserId.setString(1, user.getUserID()); ResultSet userResult = getUserId.executeQuery(); userResult.next(); id = (int) userResult.getInt(this.userPrimaryKey); userResult.close(); getUserId.close(); } this.cfgMgr.getProvisioningEngine().logAction(this.name, true, ActionType.Add, approvalID, workflow, "userName", user.getUserID()); for (String attr : attributes) { if (attrs.get(attr) != null) { this.cfgMgr.getProvisioningEngine().logAction(this.name, false, ActionType.Add, approvalID, workflow, attr, attrs.get(attr).getValues().get(0)); } } if (user.getGroups().size() > 0) { switch (this.groupMode) { case None: break; case One2Many: insert.setLength(0); insert.append("INSERT INTO ").append(this.groupTable).append(" (").append(this.groupUserKey) .append(",").append(this.groupName).append(") VALUES (?,?)"); ps = con.prepareStatement(insert.toString()); for (String groupName : user.getGroups()) { ps.setInt(1, id); ps.setString(2, groupName); ps.executeUpdate(); this.cfgMgr.getProvisioningEngine().logAction(this.name, false, ActionType.Add, approvalID, workflow, "group", groupName); } break; case Many2Many: many2manySetGroupsCreate(user, insert, con, id, request); break; } } }
From source file:com.tremolosecurity.provisioning.core.providers.BasicDB.java
License:Apache License
private PreparedStatement updateField(User user, Connection con, StringBuffer b, String attrName, String userID, int userIDnum) throws SQLException { b.setLength(0);// w w w . j a v a2 s . co m b.append("UPDATE ").append(this.userTable).append(" SET "); this.getFieldName(attrName, b).append("=? WHERE "); this.getFieldName(this.userPrimaryKey, b).append("=?"); PreparedStatement ps = con.prepareStatement(b.toString()); ps.setString(1, user.getAttribs().get(attrName).getValues().get(0)); if (userIDnum != -1) { ps.setInt(2, userIDnum); } else { Attribute.DataType tat = user.getAttribs().get(attrName).getDataType(); switch (tat) { case string: ps.setString(2, userID); break; case intNum: ps.setInt(2, Integer.parseInt(userID)); break; case longNum: ps.setLong(2, Long.parseLong(userID)); break; case date: ps.setDate(2, new Date(ISODateTimeFormat.date().parseDateTime(userID).getMillis())); break; case timeStamp: ps.setTimestamp(2, new Timestamp(ISODateTimeFormat.dateTime().parseDateTime(userID).getMillis())); break; } ps.setString(2, userID); } ps.executeUpdate(); return ps; }
From source file:com.tuplejump.stargate.Dates.java
License:Apache License
/** * Parses a joda based pattern, including some named ones (similar to the built in Joda ISO ones). *//* w w w .ja va 2 s . c om*/ public static FormatDateTimeFormatter forPattern(String input, Locale locale) { if (StringUtils.isNotBlank(input)) { input = input.trim(); } if (input == null || input.length() == 0) { throw new IllegalArgumentException("No date pattern provided"); } DateTimeFormatter formatter; if ("basicDate".equals(input) || "basic_date".equals(input)) { formatter = ISODateTimeFormat.basicDate(); } else if ("basicDateTime".equals(input) || "basic_date_time".equals(input)) { formatter = ISODateTimeFormat.basicDateTime(); } else if ("basicDateTimeNoMillis".equals(input) || "basic_date_time_no_millis".equals(input)) { formatter = ISODateTimeFormat.basicDateTimeNoMillis(); } else if ("basicOrdinalDate".equals(input) || "basic_ordinal_date".equals(input)) { formatter = ISODateTimeFormat.basicOrdinalDate(); } else if ("basicOrdinalDateTime".equals(input) || "basic_ordinal_date_time".equals(input)) { formatter = ISODateTimeFormat.basicOrdinalDateTime(); } else if ("basicOrdinalDateTimeNoMillis".equals(input) || "basic_ordinal_date_time_no_millis".equals(input)) { formatter = ISODateTimeFormat.basicOrdinalDateTimeNoMillis(); } else if ("basicTime".equals(input) || "basic_time".equals(input)) { formatter = ISODateTimeFormat.basicTime(); } else if ("basicTimeNoMillis".equals(input) || "basic_time_no_millis".equals(input)) { formatter = ISODateTimeFormat.basicTimeNoMillis(); } else if ("basicTTime".equals(input) || "basic_t_Time".equals(input)) { formatter = ISODateTimeFormat.basicTTime(); } else if ("basicTTimeNoMillis".equals(input) || "basic_t_time_no_millis".equals(input)) { formatter = ISODateTimeFormat.basicTTimeNoMillis(); } else if ("basicWeekDate".equals(input) || "basic_week_date".equals(input)) { formatter = ISODateTimeFormat.basicWeekDate(); } else if ("basicWeekDateTime".equals(input) || "basic_week_date_time".equals(input)) { formatter = ISODateTimeFormat.basicWeekDateTime(); } else if ("basicWeekDateTimeNoMillis".equals(input) || "basic_week_date_time_no_millis".equals(input)) { formatter = ISODateTimeFormat.basicWeekDateTimeNoMillis(); } else if ("date".equals(input)) { formatter = ISODateTimeFormat.date(); } else if ("dateHour".equals(input) || "date_hour".equals(input)) { formatter = ISODateTimeFormat.dateHour(); } else if ("dateHourMinute".equals(input) || "date_hour_minute".equals(input)) { formatter = ISODateTimeFormat.dateHourMinute(); } else if ("dateHourMinuteSecond".equals(input) || "date_hour_minute_second".equals(input)) { formatter = ISODateTimeFormat.dateHourMinuteSecond(); } else if ("dateHourMinuteSecondFraction".equals(input) || "date_hour_minute_second_fraction".equals(input)) { formatter = ISODateTimeFormat.dateHourMinuteSecondFraction(); } else if ("dateHourMinuteSecondMillis".equals(input) || "date_hour_minute_second_millis".equals(input)) { formatter = ISODateTimeFormat.dateHourMinuteSecondMillis(); } else if ("dateOptionalTime".equals(input) || "date_optional_time".equals(input)) { // in this case, we have a separate parser and printer since the dataOptionalTimeParser can't print // this sucks we should use the root local by default and not be dependent on the node return new FormatDateTimeFormatter(input, ISODateTimeFormat.dateOptionalTimeParser().withZone(DateTimeZone.UTC), ISODateTimeFormat.dateTime().withZone(DateTimeZone.UTC), locale); } else if ("dateTime".equals(input) || "date_time".equals(input)) { formatter = ISODateTimeFormat.dateTime(); } else if ("dateTimeNoMillis".equals(input) || "date_time_no_millis".equals(input)) { formatter = ISODateTimeFormat.dateTimeNoMillis(); } else if ("hour".equals(input)) { formatter = ISODateTimeFormat.hour(); } else if ("hourMinute".equals(input) || "hour_minute".equals(input)) { formatter = ISODateTimeFormat.hourMinute(); } else if ("hourMinuteSecond".equals(input) || "hour_minute_second".equals(input)) { formatter = ISODateTimeFormat.hourMinuteSecond(); } else if ("hourMinuteSecondFraction".equals(input) || "hour_minute_second_fraction".equals(input)) { formatter = ISODateTimeFormat.hourMinuteSecondFraction(); } else if ("hourMinuteSecondMillis".equals(input) || "hour_minute_second_millis".equals(input)) { formatter = ISODateTimeFormat.hourMinuteSecondMillis(); } else if ("ordinalDate".equals(input) || "ordinal_date".equals(input)) { formatter = ISODateTimeFormat.ordinalDate(); } else if ("ordinalDateTime".equals(input) || "ordinal_date_time".equals(input)) { formatter = ISODateTimeFormat.ordinalDateTime(); } else if ("ordinalDateTimeNoMillis".equals(input) || "ordinal_date_time_no_millis".equals(input)) { formatter = ISODateTimeFormat.ordinalDateTimeNoMillis(); } else if ("time".equals(input)) { formatter = ISODateTimeFormat.time(); } else if ("tTime".equals(input) || "t_time".equals(input)) { formatter = ISODateTimeFormat.tTime(); } else if ("tTimeNoMillis".equals(input) || "t_time_no_millis".equals(input)) { formatter = ISODateTimeFormat.tTimeNoMillis(); } else if ("weekDate".equals(input) || "week_date".equals(input)) { formatter = ISODateTimeFormat.weekDate(); } else if ("weekDateTime".equals(input) || "week_date_time".equals(input)) { formatter = ISODateTimeFormat.weekDateTime(); } else if ("weekyear".equals(input) || "week_year".equals(input)) { formatter = ISODateTimeFormat.weekyear(); } else if ("weekyearWeek".equals(input)) { formatter = ISODateTimeFormat.weekyearWeek(); } else if ("year".equals(input)) { formatter = ISODateTimeFormat.year(); } else if ("yearMonth".equals(input) || "year_month".equals(input)) { formatter = ISODateTimeFormat.yearMonth(); } else if ("yearMonthDay".equals(input) || "year_month_day".equals(input)) { formatter = ISODateTimeFormat.yearMonthDay(); } else if (StringUtils.isNotBlank(input) && input.contains("||")) { String[] formats = StringUtils.split(input, "||"); DateTimeParser[] parsers = new DateTimeParser[formats.length]; if (formats.length == 1) { formatter = forPattern(input, locale).parser(); } else { DateTimeFormatter dateTimeFormatter = null; for (int i = 0; i < formats.length; i++) { FormatDateTimeFormatter currentFormatter = forPattern(formats[i], locale); DateTimeFormatter currentParser = currentFormatter.parser(); if (dateTimeFormatter == null) { dateTimeFormatter = currentFormatter.printer(); } parsers[i] = currentParser.getParser(); } DateTimeFormatterBuilder builder = new DateTimeFormatterBuilder() .append(dateTimeFormatter.withZone(DateTimeZone.UTC).getPrinter(), parsers); formatter = builder.toFormatter(); } } else { try { formatter = DateTimeFormat.forPattern(input); } catch (IllegalArgumentException e) { throw new IllegalArgumentException("Invalid format: [" + input + "]: " + e.getMessage(), e); } } return new FormatDateTimeFormatter(input, formatter.withZone(DateTimeZone.UTC), locale); }
From source file:com.tuplejump.stargate.lucene.Dates.java
License:Apache License
/** * Parses a joda based pattern, including some named ones (similar to the built in Joda ISO ones). *//*from www. j ava 2s .c om*/ public static FormatDateTimeFormatter forPattern(String input, Locale locale) { if (StringUtils.isNotBlank(input)) { input = input.trim(); } DateTimeFormatter formatter; if (input == null || input.length() == 0) { formatter = ISODateTimeFormat.yearMonthDay(); } else if ("basicDate".equals(input) || "basic_date".equals(input)) { formatter = ISODateTimeFormat.basicDate(); } else if ("basicDateTime".equals(input) || "basic_date_time".equals(input)) { formatter = ISODateTimeFormat.basicDateTime(); } else if ("basicDateTimeNoMillis".equals(input) || "basic_date_time_no_millis".equals(input)) { formatter = ISODateTimeFormat.basicDateTimeNoMillis(); } else if ("basicOrdinalDate".equals(input) || "basic_ordinal_date".equals(input)) { formatter = ISODateTimeFormat.basicOrdinalDate(); } else if ("basicOrdinalDateTime".equals(input) || "basic_ordinal_date_time".equals(input)) { formatter = ISODateTimeFormat.basicOrdinalDateTime(); } else if ("basicOrdinalDateTimeNoMillis".equals(input) || "basic_ordinal_date_time_no_millis".equals(input)) { formatter = ISODateTimeFormat.basicOrdinalDateTimeNoMillis(); } else if ("basicTime".equals(input) || "basic_time".equals(input)) { formatter = ISODateTimeFormat.basicTime(); } else if ("basicTimeNoMillis".equals(input) || "basic_time_no_millis".equals(input)) { formatter = ISODateTimeFormat.basicTimeNoMillis(); } else if ("basicTTime".equals(input) || "basic_t_Time".equals(input)) { formatter = ISODateTimeFormat.basicTTime(); } else if ("basicTTimeNoMillis".equals(input) || "basic_t_time_no_millis".equals(input)) { formatter = ISODateTimeFormat.basicTTimeNoMillis(); } else if ("basicWeekDate".equals(input) || "basic_week_date".equals(input)) { formatter = ISODateTimeFormat.basicWeekDate(); } else if ("basicWeekDateTime".equals(input) || "basic_week_date_time".equals(input)) { formatter = ISODateTimeFormat.basicWeekDateTime(); } else if ("basicWeekDateTimeNoMillis".equals(input) || "basic_week_date_time_no_millis".equals(input)) { formatter = ISODateTimeFormat.basicWeekDateTimeNoMillis(); } else if ("date".equals(input)) { formatter = ISODateTimeFormat.date(); } else if ("dateHour".equals(input) || "date_hour".equals(input)) { formatter = ISODateTimeFormat.dateHour(); } else if ("dateHourMinute".equals(input) || "date_hour_minute".equals(input)) { formatter = ISODateTimeFormat.dateHourMinute(); } else if ("dateHourMinuteSecond".equals(input) || "date_hour_minute_second".equals(input)) { formatter = ISODateTimeFormat.dateHourMinuteSecond(); } else if ("dateHourMinuteSecondFraction".equals(input) || "date_hour_minute_second_fraction".equals(input)) { formatter = ISODateTimeFormat.dateHourMinuteSecondFraction(); } else if ("dateHourMinuteSecondMillis".equals(input) || "date_hour_minute_second_millis".equals(input)) { formatter = ISODateTimeFormat.dateHourMinuteSecondMillis(); } else if ("dateOptionalTime".equals(input) || "date_optional_time".equals(input)) { // in this case, we have a separate parser and printer since the dataOptionalTimeParser can't print // this sucks we should use the root local by default and not be dependent on the node return new FormatDateTimeFormatter(input, ISODateTimeFormat.dateOptionalTimeParser().withZone(DateTimeZone.UTC), ISODateTimeFormat.dateTime().withZone(DateTimeZone.UTC), locale); } else if ("dateTime".equals(input) || "date_time".equals(input)) { formatter = ISODateTimeFormat.dateTime(); } else if ("dateTimeNoMillis".equals(input) || "date_time_no_millis".equals(input)) { formatter = ISODateTimeFormat.dateTimeNoMillis(); } else if ("hour".equals(input)) { formatter = ISODateTimeFormat.hour(); } else if ("hourMinute".equals(input) || "hour_minute".equals(input)) { formatter = ISODateTimeFormat.hourMinute(); } else if ("hourMinuteSecond".equals(input) || "hour_minute_second".equals(input)) { formatter = ISODateTimeFormat.hourMinuteSecond(); } else if ("hourMinuteSecondFraction".equals(input) || "hour_minute_second_fraction".equals(input)) { formatter = ISODateTimeFormat.hourMinuteSecondFraction(); } else if ("hourMinuteSecondMillis".equals(input) || "hour_minute_second_millis".equals(input)) { formatter = ISODateTimeFormat.hourMinuteSecondMillis(); } else if ("ordinalDate".equals(input) || "ordinal_date".equals(input)) { formatter = ISODateTimeFormat.ordinalDate(); } else if ("ordinalDateTime".equals(input) || "ordinal_date_time".equals(input)) { formatter = ISODateTimeFormat.ordinalDateTime(); } else if ("ordinalDateTimeNoMillis".equals(input) || "ordinal_date_time_no_millis".equals(input)) { formatter = ISODateTimeFormat.ordinalDateTimeNoMillis(); } else if ("time".equals(input)) { formatter = ISODateTimeFormat.time(); } else if ("tTime".equals(input) || "t_time".equals(input)) { formatter = ISODateTimeFormat.tTime(); } else if ("tTimeNoMillis".equals(input) || "t_time_no_millis".equals(input)) { formatter = ISODateTimeFormat.tTimeNoMillis(); } else if ("weekDate".equals(input) || "week_date".equals(input)) { formatter = ISODateTimeFormat.weekDate(); } else if ("weekDateTime".equals(input) || "week_date_time".equals(input)) { formatter = ISODateTimeFormat.weekDateTime(); } else if ("weekyear".equals(input) || "week_year".equals(input)) { formatter = ISODateTimeFormat.weekyear(); } else if ("weekyearWeek".equals(input)) { formatter = ISODateTimeFormat.weekyearWeek(); } else if ("year".equals(input)) { formatter = ISODateTimeFormat.year(); } else if ("yearMonth".equals(input) || "year_month".equals(input)) { formatter = ISODateTimeFormat.yearMonth(); } else if ("yearMonthDay".equals(input) || "year_month_day".equals(input)) { formatter = ISODateTimeFormat.yearMonthDay(); } else if (StringUtils.isNotBlank(input) && input.contains("||")) { String[] formats = StringUtils.split(input, "||"); DateTimeParser[] parsers = new DateTimeParser[formats.length]; if (formats.length == 1) { formatter = forPattern(input, locale).parser(); } else { DateTimeFormatter dateTimeFormatter = null; for (int i = 0; i < formats.length; i++) { FormatDateTimeFormatter currentFormatter = forPattern(formats[i], locale); DateTimeFormatter currentParser = currentFormatter.parser(); if (dateTimeFormatter == null) { dateTimeFormatter = currentFormatter.printer(); } parsers[i] = currentParser.getParser(); } DateTimeFormatterBuilder builder = new DateTimeFormatterBuilder() .append(dateTimeFormatter.withZone(DateTimeZone.UTC).getPrinter(), parsers); formatter = builder.toFormatter(); } } else { try { formatter = DateTimeFormat.forPattern(input); } catch (IllegalArgumentException e) { throw new IllegalArgumentException("Invalid format: [" + input + "]: " + e.getMessage(), e); } } return new FormatDateTimeFormatter(input, formatter.withZone(DateTimeZone.UTC), locale); }