Search in sources :

Example 1 with LocalDate

use of java.time.LocalDate in project dropwizard by dropwizard.

the class LocalDateMapperTest method mapColumnByName_TimestampIsNull.

@Test
public void mapColumnByName_TimestampIsNull() throws Exception {
    when(resultSet.getTimestamp("name")).thenReturn(null);
    LocalDate actual = new LocalDateMapper().mapColumn(resultSet, "name", null);
    assertThat(actual).isNull();
}
Also used : LocalDate(java.time.LocalDate) Test(org.junit.Test)

Example 2 with LocalDate

use of java.time.LocalDate in project dropwizard by dropwizard.

the class LocalDateMapperTest method mapColumnByIndex.

@Test
public void mapColumnByIndex() throws Exception {
    when(resultSet.getTimestamp(1)).thenReturn(Timestamp.valueOf("2007-12-03 00:00:00.000"));
    LocalDate actual = new LocalDateMapper().mapColumn(resultSet, 1, null);
    assertThat(actual).isEqualTo(LocalDate.parse("2007-12-03"));
}
Also used : LocalDate(java.time.LocalDate) Test(org.junit.Test)

Example 3 with LocalDate

use of java.time.LocalDate in project dropwizard by dropwizard.

the class LocalDateMapperTest method mapColumnByIndex_TimestampIsNull.

@Test
public void mapColumnByIndex_TimestampIsNull() throws Exception {
    when(resultSet.getTimestamp(1)).thenReturn(null);
    LocalDate actual = new LocalDateMapper().mapColumn(resultSet, 1, null);
    assertThat(actual).isNull();
}
Also used : LocalDate(java.time.LocalDate) Test(org.junit.Test)

Example 4 with LocalDate

use of java.time.LocalDate in project jOOQ by jOOQ.

the class DefaultBinding method get.

@SuppressWarnings("unchecked")
@Override
public void get(BindingGetResultSetContext<U> ctx) throws SQLException {
    T result = null;
    if (type == Blob.class) {
        result = (T) ctx.resultSet().getBlob(ctx.index());
    } else if (type == Boolean.class) {
        result = (T) wasNull(ctx.resultSet(), Boolean.valueOf(ctx.resultSet().getBoolean(ctx.index())));
    } else if (type == BigInteger.class) {
        // The SQLite JDBC driver doesn't support BigDecimals
        if (ctx.configuration().dialect() == SQLDialect.SQLITE) {
            result = Convert.convert(ctx.resultSet().getString(ctx.index()), (Class<T>) BigInteger.class);
        } else {
            BigDecimal b = ctx.resultSet().getBigDecimal(ctx.index());
            result = (T) (b == null ? null : b.toBigInteger());
        }
    } else if (type == BigDecimal.class) {
        // The SQLite JDBC driver doesn't support BigDecimals
        if (ctx.configuration().dialect() == SQLDialect.SQLITE) {
            result = Convert.convert(ctx.resultSet().getString(ctx.index()), (Class<T>) BigDecimal.class);
        } else {
            result = (T) ctx.resultSet().getBigDecimal(ctx.index());
        }
    } else if (type == Byte.class) {
        result = (T) wasNull(ctx.resultSet(), Byte.valueOf(ctx.resultSet().getByte(ctx.index())));
    } else if (type == byte[].class) {
        result = (T) ctx.resultSet().getBytes(ctx.index());
    } else if (type == Clob.class) {
        result = (T) ctx.resultSet().getClob(ctx.index());
    } else if (type == Date.class) {
        result = (T) getDate(ctx.family(), ctx.resultSet(), ctx.index());
    } else if (type == Double.class) {
        result = (T) wasNull(ctx.resultSet(), Double.valueOf(ctx.resultSet().getDouble(ctx.index())));
    } else if (type == Float.class) {
        result = (T) wasNull(ctx.resultSet(), Float.valueOf(ctx.resultSet().getFloat(ctx.index())));
    } else if (type == Integer.class) {
        result = (T) wasNull(ctx.resultSet(), Integer.valueOf(ctx.resultSet().getInt(ctx.index())));
    } else if (type == LocalDate.class) {
        result = (T) localDate(getDate(ctx.family(), ctx.resultSet(), ctx.index()));
    } else if (type == LocalTime.class) {
        result = (T) localTime(getTime(ctx.family(), ctx.resultSet(), ctx.index()));
    } else if (type == LocalDateTime.class) {
        result = (T) localDateTime(getTimestamp(ctx.family(), ctx.resultSet(), ctx.index()));
    } else if (type == Long.class) {
        result = (T) wasNull(ctx.resultSet(), Long.valueOf(ctx.resultSet().getLong(ctx.index())));
    } else if (type == OffsetTime.class) {
        result = (T) offsetTime(ctx.resultSet().getString(ctx.index()));
    } else if (type == OffsetDateTime.class) {
        result = (T) offsetDateTime(ctx.resultSet().getString(ctx.index()));
    } else if (type == Short.class) {
        result = (T) wasNull(ctx.resultSet(), Short.valueOf(ctx.resultSet().getShort(ctx.index())));
    } else if (type == String.class) {
        result = (T) ctx.resultSet().getString(ctx.index());
    } else if (type == Time.class) {
        result = (T) getTime(ctx.family(), ctx.resultSet(), ctx.index());
    } else if (type == Timestamp.class) {
        result = (T) getTimestamp(ctx.family(), ctx.resultSet(), ctx.index());
    } else if (type == YearToMonth.class) {
        if (ctx.family() == POSTGRES) {
            Object object = ctx.resultSet().getObject(ctx.index());
            result = (T) (object == null ? null : PostgresUtils.toYearToMonth(object));
        } else {
            String string = ctx.resultSet().getString(ctx.index());
            result = (T) (string == null ? null : YearToMonth.valueOf(string));
        }
    } else if (type == DayToSecond.class) {
        if (ctx.family() == POSTGRES) {
            Object object = ctx.resultSet().getObject(ctx.index());
            result = (T) (object == null ? null : PostgresUtils.toDayToSecond(object));
        } else {
            String string = ctx.resultSet().getString(ctx.index());
            result = (T) (string == null ? null : DayToSecond.valueOf(string));
        }
    } else if (type == UByte.class) {
        result = (T) Convert.convert(ctx.resultSet().getString(ctx.index()), UByte.class);
    } else if (type == UShort.class) {
        result = (T) Convert.convert(ctx.resultSet().getString(ctx.index()), UShort.class);
    } else if (type == UInteger.class) {
        result = (T) Convert.convert(ctx.resultSet().getString(ctx.index()), UInteger.class);
    } else if (type == ULong.class) {
        result = (T) Convert.convert(ctx.resultSet().getString(ctx.index()), ULong.class);
    } else if (type == UUID.class) {
        switch(ctx.family()) {
            // java.util.UUID data type
            case H2:
            case POSTGRES:
                {
                    result = (T) ctx.resultSet().getObject(ctx.index());
                    break;
                }
            // emulates the type
            default:
                {
                    result = (T) Convert.convert(ctx.resultSet().getString(ctx.index()), UUID.class);
                    break;
                }
        }
    } else // The type byte[] is handled earlier. byte[][] can be handled here
    if (type.isArray()) {
        switch(ctx.family()) {
            case POSTGRES:
                {
                    result = pgGetArray(ctx, ctx.resultSet(), type, ctx.index());
                    break;
                }
            default:
                // Note: due to a HSQLDB bug, it is not recommended to call rs.getObject() here:
                // See https://sourceforge.net/tracker/?func=detail&aid=3181365&group_id=23316&atid=378131
                result = (T) convertArray(ctx.resultSet().getArray(ctx.index()), (Class<? extends Object[]>) type);
                break;
        }
    } else if (EnumType.class.isAssignableFrom(type)) {
        result = (T) getEnumType((Class<EnumType>) type, ctx.resultSet().getString(ctx.index()));
    } else if (Record.class.isAssignableFrom(type)) {
        switch(ctx.family()) {
            case POSTGRES:
                result = (T) pgNewRecord(type, null, ctx.resultSet().getObject(ctx.index()));
                break;
            default:
                result = (T) ctx.resultSet().getObject(ctx.index(), typeMap(type, ctx.configuration()));
                break;
        }
    } else if (Result.class.isAssignableFrom(type)) {
        ResultSet nested = (ResultSet) ctx.resultSet().getObject(ctx.index());
        result = (T) DSL.using(ctx.configuration()).fetch(nested);
    } else {
        result = (T) unlob(ctx.resultSet().getObject(ctx.index()));
    }
    // [#4372] Attach records if possible / required
    if (result instanceof Attachable && attachRecords(ctx.configuration()))
        ((Attachable) result).attach(ctx.configuration());
    ctx.value(converter.from(result));
}
Also used : LocalDateTime(java.time.LocalDateTime) Time(java.sql.Time) LocalTime(java.time.LocalTime) OffsetTime(java.time.OffsetTime) OffsetDateTime(java.time.OffsetDateTime) LocalDateTime(java.time.LocalDateTime) PostgresUtils.toPGArrayString(org.jooq.util.postgres.PostgresUtils.toPGArrayString) LocalDate(java.time.LocalDate) BigDecimal(java.math.BigDecimal) LocalDate(java.time.LocalDate) Date(java.sql.Date) Result(org.jooq.Result) UByte(org.jooq.types.UByte) OffsetTime(java.time.OffsetTime) EnumType(org.jooq.EnumType) UInteger(org.jooq.types.UInteger) ResultSet(java.sql.ResultSet) MockResultSet(org.jooq.tools.jdbc.MockResultSet) UUID(java.util.UUID) Attachable(org.jooq.Attachable) UShort(org.jooq.types.UShort) YearToMonth(org.jooq.types.YearToMonth)

Example 5 with LocalDate

use of java.time.LocalDate in project JFoenix by jfoenixadmin.

the class JFXDatePickerContent method updateDayCells.

void updateDayCells() {
    Locale locale = getLocale();
    Chronology chrono = getPrimaryChronology();
    // get the index of the first day of the month		
    int firstDayOfWeek = WeekFields.of(getLocale()).getFirstDayOfWeek().getValue();
    int firstOfMonthIndex = selectedYearMonth.get().atDay(1).getDayOfWeek().getValue() - firstDayOfWeek;
    firstOfMonthIndex += firstOfMonthIndex < 0 ? daysPerWeek : 0;
    YearMonth currentYearMonth = selectedYearMonth.get();
    int daysInCurMonth = -1;
    for (int i = 0; i < 6 * daysPerWeek; i++) {
        DateCell dayCell = dayCells.get(i);
        dayCell.getStyleClass().setAll("cell", "date-cell", "day-cell");
        dayCell.setPrefSize(40, 42);
        dayCell.setDisable(false);
        dayCell.setStyle(null);
        dayCell.setGraphic(null);
        dayCell.setTooltip(null);
        dayCell.setTextFill(Color.valueOf("#313131"));
        dayCell.setBackground(new Background(new BackgroundFill(Color.TRANSPARENT, CornerRadii.EMPTY, Insets.EMPTY)));
        try {
            if (daysInCurMonth == -1)
                daysInCurMonth = currentYearMonth.lengthOfMonth();
            YearMonth month = currentYearMonth;
            int dayIndex = i - firstOfMonthIndex + 1;
            LocalDate date = month.atDay(dayIndex);
            dayCellDates[i] = date;
            // if it's today
            if (date.equals(LocalDate.now())) {
                dayCell.setTextFill(this.datePicker.getDefaultColor());
                dayCell.getStyleClass().add("today");
            }
            // if it's the current selected value
            if (date.equals(datePicker.getValue())) {
                dayCell.getStyleClass().add("selected");
                dayCell.setTextFill(Color.WHITE);
                dayCell.setBackground(new Background(new BackgroundFill(this.datePicker.getDefaultColor(), new CornerRadii(40), Insets.EMPTY)));
            }
            ChronoLocalDate cDate = chrono.date(date);
            String cellText = dayCellFormatter.withLocale(locale).withChronology(chrono).withDecimalStyle(DecimalStyle.of(locale)).format(cDate);
            dayCell.setText(cellText);
            if (i < firstOfMonthIndex) {
                dayCell.getStyleClass().add("previous-month");
                dayCell.setText("");
            } else if (i >= firstOfMonthIndex + daysInCurMonth) {
                dayCell.getStyleClass().add("next-month");
                dayCell.setText("");
            }
            // update cell item
            dayCell.updateItem(date, false);
        } catch (DateTimeException ex) {
            // Disable day cell if its date is out of range
            dayCell.setText("");
            dayCell.setDisable(true);
        }
    }
}
Also used : Locale(java.util.Locale) ChronoLocalDate(java.time.chrono.ChronoLocalDate) DateTimeException(java.time.DateTimeException) YearMonth(java.time.YearMonth) Chronology(java.time.chrono.Chronology) ChronoLocalDate(java.time.chrono.ChronoLocalDate) LocalDate(java.time.LocalDate)

Aggregations

LocalDate (java.time.LocalDate)517 Test (org.testng.annotations.Test)330 DateTimeFormatter (java.time.format.DateTimeFormatter)54 Test (org.junit.Test)52 BigDecimal (java.math.BigDecimal)42 DateTimeFormatterBuilder (java.time.format.DateTimeFormatterBuilder)38 TemporalField (java.time.temporal.TemporalField)38 LocalDateTime (java.time.LocalDateTime)31 AbstractTCKTest (tck.java.time.AbstractTCKTest)28 ArrayList (java.util.ArrayList)27 WeekFields (java.time.temporal.WeekFields)25 Chronology (java.time.chrono.Chronology)21 LocalTime (java.time.LocalTime)20 ChronoLocalDate (java.time.chrono.ChronoLocalDate)19 HashMap (java.util.HashMap)19 DateTimeException (java.time.DateTimeException)18 HijrahChronology (java.time.chrono.HijrahChronology)18 IsoChronology (java.time.chrono.IsoChronology)18 JapaneseChronology (java.time.chrono.JapaneseChronology)18 MinguoChronology (java.time.chrono.MinguoChronology)18