Search in sources :

Example 31 with Calendar

use of java.util.Calendar in project databus by linkedin.

the class ORListener method orToAvroType.

/**
   * Given a OR Column, it returns a corresponding Java object that can be inserted into
   * AVRO record
 * @param avroField 
   */
private Object orToAvroType(Column s, Field avroField) throws DatabusException {
    if (s instanceof BitColumn) {
        // This is in  byte order
        BitColumn bc = (BitColumn) s;
        byte[] ba = bc.getValue();
        ByteBuffer b = ByteBuffer.wrap(ba);
        return b;
    } else if (s instanceof StringColumn) {
        StringColumn sc = (StringColumn) s;
        String str = new String(sc.getValue(), StringUtils.DEFAULT_CHARSET);
        return str;
    } else if (s instanceof BlobColumn) {
        BlobColumn bc = (BlobColumn) s;
        byte[] ba = bc.getValue();
        //distinguish between blobs and clobs
        try {
            return new String(ba, StringUtils.DEFAULT_CHARSET);
        } catch (Exception e) {
            return ByteBuffer.wrap(ba);
        }
    } else if (s instanceof DateColumn) {
        DateColumn dc = (DateColumn) s;
        Date d = dc.getValue();
        Long l = d.getTime();
        return l;
    } else if (s instanceof DatetimeColumn) {
        DatetimeColumn dc = (DatetimeColumn) s;
        Date d = dc.getValue();
        //Bug in OR for DateTIme and Time data-types. MilliSeconds is not available for these columns but is set with currentMillis() wrongly.
        Long t1 = (d.getTime() / 1000) * 1000;
        return t1;
    } else if (s instanceof DecimalColumn) {
        DecimalColumn dc = (DecimalColumn) s;
        Object val = Double.valueOf(dc.getValue().doubleValue());
        return val;
    } else if (s instanceof DoubleColumn) {
        DoubleColumn dc = (DoubleColumn) s;
        Double d = dc.getValue();
        return d;
    } else if (s instanceof EnumColumn) {
        EnumColumn ec = (EnumColumn) s;
        Integer i = ec.getValue();
        return i;
    } else if (s instanceof FloatColumn) {
        FloatColumn fc = (FloatColumn) s;
        Float f = fc.getValue();
        return f;
    } else if (s instanceof Int24Column) {
        Int24Column ic = (Int24Column) s;
        Integer i = ic.getValue();
        if (i < 0 && SchemaHelper.getMetaField(avroField, "dbFieldType").contains("UNSIGNED")) {
            i += ORListener.MEDIUMINT_MAX_VALUE;
        }
        return i;
    } else if (s instanceof LongColumn) {
        LongColumn lc = (LongColumn) s;
        Long l = lc.getValue().longValue();
        if (l < 0 && SchemaHelper.getMetaField(avroField, "dbFieldType").contains("UNSIGNED")) {
            l += ORListener.INTEGER_MAX_VALUE;
        }
        return l;
    } else if (s instanceof LongLongColumn) {
        LongLongColumn llc = (LongLongColumn) s;
        BigInteger b = new BigInteger(llc.getValue() + "");
        if (b.compareTo(BigInteger.ZERO) < 0 && SchemaHelper.getMetaField(avroField, "dbFieldType").contains("UNSIGNED")) {
            b = b.add(ORListener.BIGINT_MAX_VALUE);
        }
        return b;
    } else if (s instanceof NullColumn) {
        return null;
    } else if (s instanceof SetColumn) {
        SetColumn sc = (SetColumn) s;
        Long l = sc.getValue();
        return l;
    } else if (s instanceof ShortColumn) {
        ShortColumn sc = (ShortColumn) s;
        Integer i = sc.getValue();
        if (i < 0 && SchemaHelper.getMetaField(avroField, "dbFieldType").contains("UNSIGNED")) {
            i = i + ORListener.SMALLINT_MAX_VALUE;
        }
        return i;
    } else if (s instanceof TimeColumn) {
        TimeColumn tc = (TimeColumn) s;
        Time t = tc.getValue();
        /**
       * There is a bug in OR where instead of using the default year as 1970, it is using 0070.
       * This is a temporary measure to resolve it by working around at this layer. The value obtained from OR is subtracted from "0070-00-01 00:00:00"
       */
        Calendar c = Calendar.getInstance();
        c.set(70, 0, 1, 0, 0, 0);
        // round off the milli-seconds as TimeColumn type has only seconds granularity but Calendar implementation
        // includes milli-second (System.currentTimeMillis() at the time of instantiation)
        long rawVal = (c.getTimeInMillis() / 1000) * 1000;
        long val2 = (t.getTime() / 1000) * 1000;
        long offset = val2 - rawVal;
        return offset;
    } else if (s instanceof TimestampColumn) {
        TimestampColumn tsc = (TimestampColumn) s;
        Timestamp ts = tsc.getValue();
        Long t = ts.getTime();
        return t;
    } else if (s instanceof DatetimeColumn) {
        DatetimeColumn tsc = (DatetimeColumn) s;
        Long t = tsc.getValue().getTime();
        return t;
    } else if (s instanceof Datetime2Column) {
        Datetime2Column tsc = (Datetime2Column) s;
        Long t = tsc.getValue().getTime();
        return t;
    } else if (s instanceof TinyColumn) {
        TinyColumn tc = (TinyColumn) s;
        Integer i = tc.getValue();
        if (i < 0 && SchemaHelper.getMetaField(avroField, "dbFieldType").contains("UNSIGNED")) {
            i = i + ORListener.TINYINT_MAX_VALUE;
        }
        return i;
    } else if (s instanceof YearColumn) {
        YearColumn yc = (YearColumn) s;
        Integer i = yc.getValue();
        return i;
    } else {
        throw new DatabusRuntimeException("Unknown MySQL type in the event" + s.getClass() + " Object = " + s);
    }
}
Also used : BlobColumn(com.google.code.or.common.glossary.column.BlobColumn) SetColumn(com.google.code.or.common.glossary.column.SetColumn) DecimalColumn(com.google.code.or.common.glossary.column.DecimalColumn) Time(java.sql.Time) FloatColumn(com.google.code.or.common.glossary.column.FloatColumn) Timestamp(java.sql.Timestamp) EnumColumn(com.google.code.or.common.glossary.column.EnumColumn) LongColumn(com.google.code.or.common.glossary.column.LongColumn) LongLongColumn(com.google.code.or.common.glossary.column.LongLongColumn) BitColumn(com.google.code.or.common.glossary.column.BitColumn) YearColumn(com.google.code.or.common.glossary.column.YearColumn) TimeColumn(com.google.code.or.common.glossary.column.TimeColumn) StringColumn(com.google.code.or.common.glossary.column.StringColumn) Calendar(java.util.Calendar) TimestampColumn(com.google.code.or.common.glossary.column.TimestampColumn) DatetimeColumn(com.google.code.or.common.glossary.column.DatetimeColumn) ByteBuffer(java.nio.ByteBuffer) Int24Column(com.google.code.or.common.glossary.column.Int24Column) NoSuchSchemaException(com.linkedin.databus2.schemas.NoSuchSchemaException) DatabusException(com.linkedin.databus2.core.DatabusException) DatabusRuntimeException(com.linkedin.databus.core.DatabusRuntimeException) Date(java.util.Date) LongLongColumn(com.google.code.or.common.glossary.column.LongLongColumn) BigInteger(java.math.BigInteger) Datetime2Column(com.google.code.or.common.glossary.column.Datetime2Column) DoubleColumn(com.google.code.or.common.glossary.column.DoubleColumn) DateColumn(com.google.code.or.common.glossary.column.DateColumn) ShortColumn(com.google.code.or.common.glossary.column.ShortColumn) NullColumn(com.google.code.or.common.glossary.column.NullColumn) TinyColumn(com.google.code.or.common.glossary.column.TinyColumn) BigInteger(java.math.BigInteger) DatabusRuntimeException(com.linkedin.databus.core.DatabusRuntimeException)

Example 32 with Calendar

use of java.util.Calendar in project head by mifos.

the class AccountApplyPaymentActionForm method setTransactionDate.

public void setTransactionDate(String receiptDate) throws InvalidDateException {
    if (StringUtils.isBlank(receiptDate)) {
        transactionDateDD = null;
        transactionDateMM = null;
        transactionDateYY = null;
    } else {
        Calendar cal = new GregorianCalendar();
        java.sql.Date date = getDateAsSentFromBrowser(receiptDate);
        cal.setTime(date);
        transactionDateDD = Integer.toString(cal.get(Calendar.DAY_OF_MONTH));
        transactionDateMM = Integer.toString(cal.get(Calendar.MONTH) + 1);
        transactionDateYY = Integer.toString(cal.get(Calendar.YEAR));
    }
}
Also used : Calendar(java.util.Calendar) GregorianCalendar(java.util.GregorianCalendar) GregorianCalendar(java.util.GregorianCalendar) Date(java.sql.Date)

Example 33 with Calendar

use of java.util.Calendar in project head by mifos.

the class GenericActionForm method setDateValue.

public void setDateValue(String keyPrefix, Date date) {
    Calendar calendar = DateUtils.getCalendar(date);
    setValue(keyPrefix + "_DD", calendar.get(Calendar.DAY_OF_MONTH));
    setValue(keyPrefix + "_MM", calendar.get(Calendar.MONTH) + 1);
    setValue(keyPrefix + "_YY", calendar.get(Calendar.YEAR));
}
Also used : Calendar(java.util.Calendar)

Example 34 with Calendar

use of java.util.Calendar in project head by mifos.

the class LoanAccountActionStrutsTest method offSetCurrentDate.

private java.sql.Date offSetCurrentDate(int noOfDays) {
    Calendar currentDateCalendar = new GregorianCalendar();
    int year = currentDateCalendar.get(Calendar.YEAR);
    int month = currentDateCalendar.get(Calendar.MONTH);
    int day = currentDateCalendar.get(Calendar.DAY_OF_MONTH);
    currentDateCalendar = new GregorianCalendar(year, month, day - noOfDays);
    return new java.sql.Date(currentDateCalendar.getTimeInMillis());
}
Also used : GregorianCalendar(java.util.GregorianCalendar) Calendar(java.util.Calendar) GregorianCalendar(java.util.GregorianCalendar) Date(java.util.Date)

Example 35 with Calendar

use of java.util.Calendar in project head by mifos.

the class SavingsBOIntegrationTest method offSetCurrentDate.

private java.sql.Date offSetCurrentDate(final int noOfDays) {
    Calendar currentDateCalendar = new GregorianCalendar();
    int year = currentDateCalendar.get(Calendar.YEAR);
    int month = currentDateCalendar.get(Calendar.MONTH);
    int day = currentDateCalendar.get(Calendar.DAY_OF_MONTH);
    currentDateCalendar = new GregorianCalendar(year, month, day - noOfDays);
    return new java.sql.Date(currentDateCalendar.getTimeInMillis());
}
Also used : GregorianCalendar(java.util.GregorianCalendar) Calendar(java.util.Calendar) GregorianCalendar(java.util.GregorianCalendar) Date(java.util.Date)

Aggregations

Calendar (java.util.Calendar)9441 Date (java.util.Date)2433 GregorianCalendar (java.util.GregorianCalendar)2129 Test (org.junit.Test)1734 SimpleDateFormat (java.text.SimpleDateFormat)889 ArrayList (java.util.ArrayList)476 ParseException (java.text.ParseException)352 HashMap (java.util.HashMap)270 TimeZone (java.util.TimeZone)270 IOException (java.io.IOException)235 DateFormat (java.text.DateFormat)224 Timestamp (java.sql.Timestamp)192 List (java.util.List)187 File (java.io.File)167 Map (java.util.Map)149 BigDecimal (java.math.BigDecimal)134 Locale (java.util.Locale)134 Test (org.testng.annotations.Test)118 Identity (org.olat.core.id.Identity)112 Date (java.sql.Date)110