Example usage for org.joda.time.format ISODateTimeFormat date

List of usage examples for org.joda.time.format ISODateTimeFormat date

Introduction

In this page you can find the example usage for org.joda.time.format ISODateTimeFormat date.

Prototype

public static DateTimeFormatter date() 

Source Link

Document

Returns a formatter for a full date as four digit year, two digit month of year, and two digit day of month (yyyy-MM-dd).

Usage

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);
}