Search in sources :

Example 1 with TimeData

use of org.javarosa.core.model.data.TimeData in project collect by opendatakit.

the class TimeWidget method getAnswer.

@Override
public IAnswerData getAnswer() {
    clearFocus();
    // use picker time, convert to today's date, store as utc
    DateTime localDateTime = new DateTime().withTime(hourOfDay, minuteOfHour, 0, 0);
    return !nullAnswer ? new TimeData(localDateTime.toDate()) : null;
}
Also used : TimeData(org.javarosa.core.model.data.TimeData) DateTime(org.joda.time.DateTime)

Example 2 with TimeData

use of org.javarosa.core.model.data.TimeData in project javarosa by opendatakit.

the class TimeDataTests method testNullData.

public void testNullData() {
    boolean exceptionThrown = false;
    TimeData data = new TimeData();
    data.setValue(now);
    try {
        data.setValue(null);
    } catch (NullPointerException e) {
        exceptionThrown = true;
    }
    assertTrue("TimeData failed to throw an exception when setting null data", exceptionThrown);
    assertTrue("TimeData overwrote existing value on incorrect input", data.getValue().equals(now));
}
Also used : TimeData(org.javarosa.core.model.data.TimeData)

Example 3 with TimeData

use of org.javarosa.core.model.data.TimeData in project javarosa by opendatakit.

the class TimeDataTests method testSetData.

public void testSetData() {
    TimeData data = new TimeData(now);
    data.setValue(minusOneHour);
    assertTrue("TimeData did not set value properly. Maintained old value.", !(data.getValue().equals(now)));
    assertEquals("TimeData did not properly set value ", data.getValue(), minusOneHour);
    data.setValue(now);
    assertTrue("TimeData did not set value properly. Maintained old value.", !(data.getValue().equals(minusOneHour)));
    assertEquals("TimeData did not properly reset value ", data.getValue(), now);
    Date temp = new Date(now.getTime());
    now.setTime(now.getTime() - 1324);
    assertEquals("TimeData's value was mutated incorrectly", data.getValue(), temp);
}
Also used : TimeData(org.javarosa.core.model.data.TimeData) Date(java.util.Date)

Example 4 with TimeData

use of org.javarosa.core.model.data.TimeData in project javarosa by opendatakit.

the class XFormAnswerDataSerializerTest method setUp.

public void setUp() throws Exception {
    super.setUp();
    stringData = new StringData(stringDataValue);
    stringElement.setValue(stringData);
    integerData = new IntegerData(integerDataValue);
    intElement.setValue(integerData);
    dateData = new DateData(dateDataValue);
    dateElement.setValue(dateData);
    timeData = new TimeData(timeDataValue);
    timeElement.setValue(timeData);
    serializer = new XFormAnswerDataSerializer();
}
Also used : XFormAnswerDataSerializer(org.javarosa.xform.util.XFormAnswerDataSerializer) DateData(org.javarosa.core.model.data.DateData) TimeData(org.javarosa.core.model.data.TimeData) IntegerData(org.javarosa.core.model.data.IntegerData) StringData(org.javarosa.core.model.data.StringData)

Example 5 with TimeData

use of org.javarosa.core.model.data.TimeData in project javarosa by opendatakit.

the class XFormAnswerDataParser method getAnswerData.

public static IAnswerData getAnswerData(String text, int dataType, QuestionDef q) {
    String trimmedText = text.trim();
    if (trimmedText.length() == 0)
        trimmedText = null;
    switch(dataType) {
        case Constants.DATATYPE_NULL:
        case Constants.DATATYPE_UNSUPPORTED:
        case Constants.DATATYPE_TEXT:
        case Constants.DATATYPE_BARCODE:
        case Constants.DATATYPE_BINARY:
            return new StringData(text);
        case Constants.DATATYPE_INTEGER:
            try {
                return (trimmedText == null ? null : new IntegerData(Integer.parseInt(trimmedText)));
            } catch (NumberFormatException nfe) {
                return null;
            }
        case Constants.DATATYPE_LONG:
            try {
                return (trimmedText == null ? null : new LongData(Long.parseLong(trimmedText)));
            } catch (NumberFormatException nfe) {
                return null;
            }
        case Constants.DATATYPE_DECIMAL:
            try {
                return (trimmedText == null ? null : new DecimalData(Double.parseDouble(trimmedText)));
            } catch (NumberFormatException nfe) {
                return null;
            }
        case Constants.DATATYPE_CHOICE:
            Selection selection = getSelection(text, q);
            return (selection == null ? null : new SelectOneData(selection));
        case Constants.DATATYPE_CHOICE_LIST:
            return new SelectMultiData(getSelections(text, q));
        case Constants.DATATYPE_DATE_TIME:
            Date dt = (trimmedText == null ? null : DateUtils.parseDateTime(trimmedText));
            return (dt == null ? null : new DateTimeData(dt));
        case Constants.DATATYPE_DATE:
            Date d = (trimmedText == null ? null : DateUtils.parseDate(trimmedText));
            return (d == null ? null : new DateData(d));
        case Constants.DATATYPE_TIME:
            Date t = (trimmedText == null ? null : DateUtils.parseTime(trimmedText));
            return (t == null ? null : new TimeData(t));
        case Constants.DATATYPE_BOOLEAN:
            if (trimmedText == null) {
                return null;
            } else {
                if (trimmedText.equals("1")) {
                    return new BooleanData(true);
                }
                if (trimmedText.equals("0")) {
                    return new BooleanData(false);
                }
                return trimmedText.equals("t") ? new BooleanData(true) : new BooleanData(false);
            }
        case Constants.DATATYPE_GEOPOINT:
            if (trimmedText == null) {
                return new GeoPointData();
            }
            try {
                UncastData uncast = new UncastData(trimmedText);
                // silly...
                GeoPointData gp = new GeoPointData();
                return gp.cast(uncast);
            } catch (Exception e) {
                return null;
            }
        case Constants.DATATYPE_GEOSHAPE:
            if (trimmedText == null) {
                return new GeoShapeData();
            }
            try {
                UncastData uncast = new UncastData(trimmedText);
                // silly...
                GeoShapeData gs = new GeoShapeData();
                return gs.cast(uncast);
            } catch (Exception e) {
                return null;
            }
        case Constants.DATATYPE_GEOTRACE:
            if (trimmedText == null) {
                return new GeoTraceData();
            }
            try {
                UncastData uncast = new UncastData(trimmedText);
                // silly...
                GeoTraceData gl = new GeoTraceData();
                return gl.cast(uncast);
            } catch (Exception e) {
                return null;
            }
        default:
            return new UncastData(trimmedText);
    }
}
Also used : SelectOneData(org.javarosa.core.model.data.SelectOneData) Selection(org.javarosa.core.model.data.helper.Selection) IntegerData(org.javarosa.core.model.data.IntegerData) GeoPointData(org.javarosa.core.model.data.GeoPointData) LongData(org.javarosa.core.model.data.LongData) Date(java.util.Date) DecimalData(org.javarosa.core.model.data.DecimalData) BooleanData(org.javarosa.core.model.data.BooleanData) GeoTraceData(org.javarosa.core.model.data.GeoTraceData) SelectMultiData(org.javarosa.core.model.data.SelectMultiData) DateData(org.javarosa.core.model.data.DateData) GeoShapeData(org.javarosa.core.model.data.GeoShapeData) DateTimeData(org.javarosa.core.model.data.DateTimeData) TimeData(org.javarosa.core.model.data.TimeData) UncastData(org.javarosa.core.model.data.UncastData) DateTimeData(org.javarosa.core.model.data.DateTimeData) StringData(org.javarosa.core.model.data.StringData)

Aggregations

TimeData (org.javarosa.core.model.data.TimeData)8 Date (java.util.Date)5 DateData (org.javarosa.core.model.data.DateData)4 IntegerData (org.javarosa.core.model.data.IntegerData)4 StringData (org.javarosa.core.model.data.StringData)4 DateTimeData (org.javarosa.core.model.data.DateTimeData)3 DecimalData (org.javarosa.core.model.data.DecimalData)3 LongData (org.javarosa.core.model.data.LongData)3 BooleanData (org.javarosa.core.model.data.BooleanData)2 GeoPointData (org.javarosa.core.model.data.GeoPointData)2 GeoShapeData (org.javarosa.core.model.data.GeoShapeData)2 GeoTraceData (org.javarosa.core.model.data.GeoTraceData)2 SelectMultiData (org.javarosa.core.model.data.SelectMultiData)2 SelectOneData (org.javarosa.core.model.data.SelectOneData)2 UncastData (org.javarosa.core.model.data.UncastData)2 IAnswerData (org.javarosa.core.model.data.IAnswerData)1 Selection (org.javarosa.core.model.data.helper.Selection)1 TreeReference (org.javarosa.core.model.instance.TreeReference)1 XFormAnswerDataSerializer (org.javarosa.xform.util.XFormAnswerDataSerializer)1 DateTime (org.joda.time.DateTime)1