Search in sources :

Example 31 with IAnswerData

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

the class RestoreUtils method addData.

public static void addData(FormInstance dm, String xpath, Object data, int dataType) {
    if (data == null) {
        dataType = -1;
    }
    IAnswerData val;
    switch(dataType) {
        case -1:
            val = null;
            break;
        case Constants.DATATYPE_TEXT:
            val = new StringData((String) data);
            break;
        case Constants.DATATYPE_INTEGER:
            val = new IntegerData((Integer) data);
            break;
        case Constants.DATATYPE_LONG:
            val = new LongData((Long) data);
            break;
        case Constants.DATATYPE_DECIMAL:
            val = new DecimalData((Double) data);
            break;
        case Constants.DATATYPE_BOOLEAN:
            val = new StringData(((Boolean) data).booleanValue() ? "t" : "f");
            break;
        case Constants.DATATYPE_DATE:
            val = new DateData((Date) data);
            break;
        case Constants.DATATYPE_DATE_TIME:
            val = new DateTimeData((Date) data);
            break;
        case Constants.DATATYPE_TIME:
            val = new TimeData((Date) data);
            break;
        case Constants.DATATYPE_CHOICE_LIST:
            val = (SelectMultiData) data;
            break;
        default:
            throw new IllegalArgumentException("Don't know how to handle data type [" + dataType + "]");
    }
    TreeReference ref = absRef(xpath, dm);
    if (dm.addNode(ref, val, dataType) == null) {
        throw new RuntimeException("error setting value during object backup [" + xpath + "]");
    }
}
Also used : IAnswerData(org.javarosa.core.model.data.IAnswerData) IntegerData(org.javarosa.core.model.data.IntegerData) LongData(org.javarosa.core.model.data.LongData) Date(java.util.Date) DecimalData(org.javarosa.core.model.data.DecimalData) DateData(org.javarosa.core.model.data.DateData) TreeReference(org.javarosa.core.model.instance.TreeReference) DateTimeData(org.javarosa.core.model.data.DateTimeData) TimeData(org.javarosa.core.model.data.TimeData) DateTimeData(org.javarosa.core.model.data.DateTimeData) StringData(org.javarosa.core.model.data.StringData)

Aggregations

IAnswerData (org.javarosa.core.model.data.IAnswerData)31 Test (org.junit.Test)8 Constraint (org.javarosa.core.model.condition.Constraint)6 TreeReference (org.javarosa.core.model.instance.TreeReference)6 SelectMultiData (org.javarosa.core.model.data.SelectMultiData)5 ArrayList (java.util.ArrayList)4 SelectOneData (org.javarosa.core.model.data.SelectOneData)4 Selection (org.javarosa.core.model.data.helper.Selection)4 TreeElement (org.javarosa.core.model.instance.TreeElement)4 List (java.util.List)3 FormDef (org.javarosa.core.model.FormDef)3 StringData (org.javarosa.core.model.data.StringData)3 BigDecimal (java.math.BigDecimal)2 FormIndex (org.javarosa.core.model.FormIndex)2 SelectChoice (org.javarosa.core.model.SelectChoice)2 EvaluationContext (org.javarosa.core.model.condition.EvaluationContext)2 ConstraintHint (org.javarosa.core.model.condition.pivot.ConstraintHint)2 DateData (org.javarosa.core.model.data.DateData)2 DateTimeData (org.javarosa.core.model.data.DateTimeData)2 DecimalData (org.javarosa.core.model.data.DecimalData)2