public DataSet fromJson(String jsonString) throws JsonException { if (jsonString == null || jsonString.trim().isEmpty()) { return null; } JsonObject json = Json.parse(jsonString); return fromJson(json); }
public JsonObject toJson(DataSet dataSet) throws JsonException { JsonObject json = Json.createObject(); if (dataSet != null) { int i = 0; for (DataColumn dataColumn: dataSet.getColumns()) { json.put(DATASET_COLUMN + "." + i++, formatDataColumn(dataColumn)); } } return json; }
private void parseDataColumn( DataSet dataSet, JsonObject columnJson ) throws JsonException { if ( columnJson != null) { String columnId = columnJson.getString(DATASET_COLUMN_ID); String columnType = columnJson.getString(DATASET_COLUMN_TYPE); if ( columnId == null || columnType == null ) throw new RuntimeException("Dataset column id or type not specified"); dataSet.addColumn(columnId, ColumnType.valueOf(columnType)); DataColumn dataColumn = dataSet.getColumnById(columnId); parseColumnValues( dataColumn, columnJson ); } }
private void parseColumnValues( DataColumn dataColumn, JsonObject columnJson) throws JsonException { JsonArray valueArray = columnJson.getArray(DATASET_COLUMN_VALUES); if (valueArray != null) { List values = dataColumn.getValues(); for ( int i = 0; i < valueArray.length(); i++ ) { String stringJson = valueArray.getString(i); switch ( dataColumn.getColumnType() ) { case DATE: values.add( parseDateValue(stringJson)); break; case NUMBER: values.add( parseNumberValue(stringJson)); break; case LABEL: values.add(stringJson); break; case TEXT: values.add(stringJson); break; } } } }
@Test public void testDataSetMarshalling() { DataSet original = DataSetFactory.newDataSetBuilder() .label("month") .number("2012") .number("2013") .number("2014") .row(JANUARY, 1000d, 2000d, 3000d) .row(FEBRUARY, 1400d, 2300d, 2000d) .row(MARCH, 1300d, 2000d, 1400d) .row(APRIL, 900d, 2100d, 1500d) .row(MAY, 1300d, 2300d, 1600d) .row(JUNE, 1010d, 2000d, 1500d) .row(JULY, 1050d, 2400d, 3000d) .row(AUGUST, 2300d, 2000d, 3200d) .row(SEPTEMBER, 1900d, 2700d, 3000d) .row(OCTOBER, 1200d, 2200d, 3100d) .row(NOVEMBER, 1400d, 2100d, 3100d) .row(DECEMBER, 1100d, 2100d, 4200d) .buildDataSet(); JsonObject _jsonObj = datasetJsonMarshaller.toJson(original); assertNotNull(_jsonObj.toString()); DataSet unmarshalled = datasetJsonMarshaller.fromJson(_jsonObj); assertEquals(unmarshalled, original); } }
public JsonObject toJsonObject( DisplayerSettings displayerSettings ) { JsonObject json = Json.createObject(); // UUID json.put(SETTINGS_UUID, displayerSettings.getUUID()); for (Map.Entry<String, String> entry : displayerSettings.getSettingsFlatMap().entrySet()) { setNodeValue(json, entry.getKey(), entry.getValue()); } // Data set DataSetLookup dataSetLookup = displayerSettings.getDataSetLookup(); DataSet dataSet = displayerSettings.getDataSet(); if (dataSet != null) { json.put(DATASET_PREFIX, dataSetJsonMarshaller.toJson(dataSet)); } else if (dataSetLookup != null) { json.put(DATASET_LOOKUP_PREFIX, dataSetLookupJsonMarshaller.toJson(dataSetLookup)); } else { throw new RuntimeException("Displayer settings dataset lookup not specified"); } // Column settings List<ColumnSettings> columnSettingsList = displayerSettings.getColumnSettingsList(); if (!columnSettingsList.isEmpty()) { json.put(COLUMNS_PREFIX, formatColumnSettings(columnSettingsList)); } return json; }
private JsonObject formatDataColumn(DataColumn dataColumn) throws JsonException { JsonObject columnJson = Json.createObject(); if (dataColumn != null) { columnJson.put(DATASET_COLUMN_ID, dataColumn.getId()); columnJson.put(DATASET_COLUMN_TYPE, dataColumn.getColumnType().toString()); columnJson.put(DATASET_COLUMN_VALUES, formatColumnValues(dataColumn, dataColumn.getValues())); } return columnJson; }
public DataSet fromJson(JsonObject dataSetJson) throws JsonException { if (dataSetJson == null) { return null; } DataSet dataSet = DataSetFactory.newEmptyDataSet(); for (int i = 0; i < dataSetJson.size(); i++) { JsonObject columnJson = dataSetJson.getObject(DATASET_COLUMN + "." + Integer.toString(i)); parseDataColumn(dataSet, columnJson); } return dataSet; }
@Test public void testDataSetMarshalling() { DataSet original = DataSetFactory.newDataSetBuilder() .label("month") .number("2012") .number("2013") .number("2014") .row(JANUARY, 1000d, 2000d, 3000d) .row(FEBRUARY, 1400d, 2300d, 2000d) .row(MARCH, 1300d, 2000d, 1400d) .row(APRIL, 900d, 2100d, 1500d) .row(MAY, 1300d, 2300d, 1600d) .row(JUNE, 1010d, 2000d, 1500d) .row(JULY, 1050d, 2400d, 3000d) .row(AUGUST, 2300d, 2000d, 3200d) .row(SEPTEMBER, 1900d, 2700d, 3000d) .row(OCTOBER, 1200d, 2200d, 3100d) .row(NOVEMBER, 1400d, 2100d, 3100d) .row(DECEMBER, 1100d, 2100d, 4200d) .buildDataSet(); JsonObject _jsonObj = datasetJsonMarshaller.toJson(original); assertNotNull(_jsonObj.toString()); DataSet unmarshalled = datasetJsonMarshaller.fromJson(_jsonObj); assertEquals(unmarshalled, original); } }
private void parseColumnValues( DataColumn dataColumn, JsonObject columnJson) throws JsonException { JsonArray valueArray = columnJson.getArray(DATASET_COLUMN_VALUES); if (valueArray != null) { List values = dataColumn.getValues(); for ( int i = 0; i < valueArray.length(); i++ ) { String stringJson = valueArray.getString(i); switch ( dataColumn.getColumnType() ) { case DATE: values.add( parseDateValue(stringJson)); break; case NUMBER: values.add( parseNumberValue(stringJson)); break; case LABEL: values.add(stringJson); break; case TEXT: values.add(stringJson); break; } } } }
public JsonObject toJsonObject( DisplayerSettings displayerSettings ) { JsonObject json = Json.createObject(); // UUID json.put(SETTINGS_UUID, displayerSettings.getUUID()); for (Map.Entry<String, String> entry : displayerSettings.getSettingsFlatMap().entrySet()) { setNodeValue(json, entry.getKey(), entry.getValue()); } // Data set DataSetLookup dataSetLookup = displayerSettings.getDataSetLookup(); DataSet dataSet = displayerSettings.getDataSet(); if (dataSet != null) { json.put(DATASET_PREFIX, dataSetJsonMarshaller.toJson(dataSet)); } else if (dataSetLookup != null) { json.put(DATASET_LOOKUP_PREFIX, dataSetLookupJsonMarshaller.toJson(dataSetLookup)); } else { throw new RuntimeException("Displayer settings dataset lookup not specified"); } // Column settings List<ColumnSettings> columnSettingsList = displayerSettings.getColumnSettingsList(); if (!columnSettingsList.isEmpty()) { json.put(COLUMNS_PREFIX, formatColumnSettings(columnSettingsList)); } return json; }
private JsonObject formatDataColumn(DataColumn dataColumn) throws JsonException { JsonObject columnJson = Json.createObject(); if (dataColumn != null) { columnJson.put(DATASET_COLUMN_ID, dataColumn.getId()); columnJson.put(DATASET_COLUMN_TYPE, dataColumn.getColumnType().toString()); columnJson.put(DATASET_COLUMN_VALUES, formatColumnValues(dataColumn, dataColumn.getValues())); } return columnJson; }
public DataSet fromJson(JsonObject dataSetJson) throws JsonException { if (dataSetJson == null) { return null; } DataSet dataSet = DataSetFactory.newEmptyDataSet(); for (int i = 0; i < dataSetJson.size(); i++) { JsonObject columnJson = dataSetJson.getObject(DATASET_COLUMN + "." + Integer.toString(i)); parseDataColumn(dataSet, columnJson); } return dataSet; }
public DataSet fromJson(String jsonString) throws JsonException { if (jsonString == null || jsonString.trim().isEmpty()) { return null; } JsonObject json = Json.parse(jsonString); return fromJson(json); }
private void parseDataColumn( DataSet dataSet, JsonObject columnJson ) throws JsonException { if ( columnJson != null) { String columnId = columnJson.getString(DATASET_COLUMN_ID); String columnType = columnJson.getString(DATASET_COLUMN_TYPE); if ( columnId == null || columnType == null ) throw new RuntimeException("Dataset column id or type not specified"); dataSet.addColumn(columnId, ColumnType.valueOf(columnType)); DataColumn dataColumn = dataSet.getColumnById(columnId); parseColumnValues( dataColumn, columnJson ); } }
public JsonObject toJson(DataSet dataSet) throws JsonException { JsonObject json = Json.createObject(); if (dataSet != null) { int i = 0; for (DataColumn dataColumn: dataSet.getColumns()) { json.put(DATASET_COLUMN + "." + i++, formatDataColumn(dataColumn)); } } return json; }
DataSet dataSet = dataSetJsonMarshaller.fromJson(data); ds.setDataSet(dataSet);
DataSet dataSet = dataSetJsonMarshaller.fromJson(data); ds.setDataSet(dataSet);