Search in sources :

Example 6 with IntegerData

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

the class XPathEvalTest method createTestDataForIndexedRepeatFunction.

private FormInstance createTestDataForIndexedRepeatFunction(Integer indexNodeValue) {
    TreeElement root = new TreeElement("data");
    TreeElement repeat = new TreeElement("repeat");
    TreeElement repeatChild = new TreeElement("name");
    repeatChild.setAnswer(new StringData("A"));
    repeat.addChild(repeatChild);
    root.addChild(repeat);
    repeat = new TreeElement("repeat");
    repeatChild = new TreeElement("name");
    repeatChild.setAnswer(new StringData("B"));
    repeat.addChild(repeatChild);
    root.addChild(repeat);
    repeat = new TreeElement("repeat");
    repeatChild = new TreeElement("name");
    repeatChild.setAnswer(new StringData("C"));
    repeat.addChild(repeatChild);
    root.addChild(repeat);
    TreeElement index = new TreeElement("index1");
    if (indexNodeValue != null) {
        index.setValue(new IntegerData(1));
    }
    return new FormInstance(root);
}
Also used : IntegerData(org.javarosa.core.model.data.IntegerData) StringData(org.javarosa.core.model.data.StringData) FormInstance(org.javarosa.core.model.instance.FormInstance) TreeElement(org.javarosa.core.model.instance.TreeElement)

Example 7 with IntegerData

use of org.javarosa.core.model.data.IntegerData 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)

Example 8 with IntegerData

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

the class IntegerDataTests method testGetData.

public void testGetData() {
    IntegerData data = new IntegerData(one);
    assertEquals("IntegerData's getValue returned an incorrect integer", data.getValue(), one);
}
Also used : IntegerData(org.javarosa.core.model.data.IntegerData)

Example 9 with IntegerData

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

the class IntegerDataTests method testNullData.

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

Example 10 with IntegerData

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

the class IntegerDataTests method testSetData.

public void testSetData() {
    IntegerData data = new IntegerData(one);
    data.setValue(two);
    assertTrue("IntegerData did not set value properly. Maintained old value.", !(data.getValue().equals(one)));
    assertEquals("IntegerData did not properly set value ", data.getValue(), two);
    data.setValue(one);
    assertTrue("IntegerData did not set value properly. Maintained old value.", !(data.getValue().equals(two)));
    assertEquals("IntegerData did not properly reset value ", data.getValue(), one);
}
Also used : IntegerData(org.javarosa.core.model.data.IntegerData)

Aggregations

IntegerData (org.javarosa.core.model.data.IntegerData)13 StringData (org.javarosa.core.model.data.StringData)7 DateData (org.javarosa.core.model.data.DateData)4 DecimalData (org.javarosa.core.model.data.DecimalData)4 TimeData (org.javarosa.core.model.data.TimeData)4 Date (java.util.Date)3 DateTimeData (org.javarosa.core.model.data.DateTimeData)3 LongData (org.javarosa.core.model.data.LongData)3 TreeElement (org.javarosa.core.model.instance.TreeElement)3 DataInputStream (java.io.DataInputStream)2 DataOutputStream (java.io.DataOutputStream)2 IOException (java.io.IOException)2 IDataReference (org.javarosa.core.model.IDataReference)2 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 IAnswerData (org.javarosa.core.model.data.IAnswerData)2 SelectMultiData (org.javarosa.core.model.data.SelectMultiData)2 SelectOneData (org.javarosa.core.model.data.SelectOneData)2