Example usage for com.google.gson.stream JsonReader endObject

List of usage examples for com.google.gson.stream JsonReader endObject

Introduction

In this page you can find the example usage for com.google.gson.stream JsonReader endObject.

Prototype

public void endObject() throws IOException 

Source Link

Document

Consumes the next token from the JSON stream and asserts that it is the end of the current object.

Usage

From source file:org.komodo.rest.json.RestPropertySerializer.java

License:Open Source License

@Override
public RestProperty read(JsonReader in) throws IOException {

    String propName = null;//from   w ww. j a v a  2 s  .  c  o m
    Object propValue = null;

    in.beginObject();

    while (in.hasNext()) {
        String name = in.nextName();
        if (RestProperty.NAME_LABEL.equals(name))
            propName = in.nextString();
        else if (RestProperty.VALUE_LABEL.equals(name)) {
            JsonToken token = in.peek();
            switch (token) {
            case BOOLEAN:
                propValue = in.nextBoolean();
                break;
            case NUMBER: {
                double value = in.nextDouble();
                if (value % 1 == 0)
                    propValue = (int) value;
                else
                    propValue = value;
                break;
            }
            case STRING:
                propValue = in.nextString();
                break;
            case NULL:
                in.nextNull();
                propValue = null;
                break;
            case BEGIN_ARRAY:
                final Object[] value = BUILDER.fromJson(in, Object[].class);

                //
                // BUILDER always converts json numbers to double regardless
                // of them being integers so need to do some checking and on-the-fly
                // conversion
                //
                for (int i = 0; i < value.length; ++i) {
                    if (value[i] instanceof Double && ((double) value[i] % 1) == 0)
                        value[i] = ((Double) value[i]).intValue();
                }

                propValue = value;
                break;
            default:
                throw new IOException(Messages.getString(Messages.Error.UNEXPECTED_JSON_TOKEN, name));
            }
        }
    }

    in.endObject();

    RestProperty property = new RestProperty(propName, propValue);
    if (!isComplete(property))
        throw new IOException(
                Messages.getString(Messages.Error.INCOMPLETE_JSON, RestProperty.class.getSimpleName()));

    return property;
}

From source file:org.komodo.rest.relational.json.AbstractEntitySerializer.java

License:Open Source License

protected void endRead(final JsonReader in) throws IOException {
    in.endObject();
}

From source file:org.komodo.rest.relational.json.ConnectionAttributesSerializer.java

License:Open Source License

/**
 * {@inheritDoc}//ww  w . j a v a  2  s .co  m
 *
 * @see com.google.gson.TypeAdapter#read(com.google.gson.stream.JsonReader)
 */
@Override
public KomodoConnectionAttributes read(final JsonReader in) throws IOException {
    final KomodoConnectionAttributes ConnectionAttr = createEntity();
    in.beginObject();

    while (in.hasNext()) {
        final String name = in.nextName();

        switch (name) {
        case KomodoConnectionAttributes.JNDI_LABEL:
            ConnectionAttr.setJndi(in.nextString());
            break;
        case KomodoConnectionAttributes.JDBC_LABEL:
            ConnectionAttr.setJdbc(in.nextBoolean());
            break;
        case KomodoConnectionAttributes.DRIVER_LABEL:
            ConnectionAttr.setDriver(in.nextString());
            break;
        case KomodoConnectionAttributes.PARAMETERS_LABEL:
            Map<String, String> parameters = BUILDER.fromJson(in, Map.class);
            for (Map.Entry<String, String> parameter : parameters.entrySet()) {
                ConnectionAttr.setParameter(parameter.getKey(), parameter.getValue());
            }
            break;
        default:
            throw new IOException(Messages.getString(UNEXPECTED_JSON_TOKEN, name));
        }
    }

    in.endObject();

    return ConnectionAttr;
}

From source file:org.komodo.rest.relational.json.DataserviceUpdateAttributesSerializer.java

License:Open Source License

/**
 * {@inheritDoc}/*from w w w . j  a  v a 2 s  .  c o m*/
 *
 * @see com.google.gson.TypeAdapter#read(com.google.gson.stream.JsonReader)
 */
@Override
public KomodoDataserviceUpdateAttributes read(final JsonReader in) throws IOException {
    final KomodoDataserviceUpdateAttributes updateAttrs = new KomodoDataserviceUpdateAttributes();
    in.beginObject();

    while (in.hasNext()) {
        final String name = in.nextName();

        switch (name) {
        case KomodoDataserviceUpdateAttributes.DATASERVICE_NAME_LABEL:
            updateAttrs.setDataserviceName(in.nextString());
            break;
        case KomodoDataserviceUpdateAttributes.DATASERVICE_TABLE_PATH_LABEL:
            updateAttrs.setTablePath(in.nextString());
            break;
        case KomodoDataserviceUpdateAttributes.DATASERVICE_MODEL_SOURCE_PATH_LABEL:
            updateAttrs.setModelSourcePath(in.nextString());
            break;
        case KomodoDataserviceUpdateAttributes.DATASERVICE_COLUMN_NAMES_LABEL:
            List<String> colNames = BUILDER.fromJson(in, List.class);
            updateAttrs.setColumnNames(colNames);
            break;
        case KomodoDataserviceUpdateAttributes.DATASERVICE_RH_TABLE_PATH_LABEL:
            updateAttrs.setRhTablePath(in.nextString());
            break;
        case KomodoDataserviceUpdateAttributes.DATASERVICE_RH_MODEL_SOURCE_PATH_LABEL:
            updateAttrs.setRhModelSourcePath(in.nextString());
            break;
        case KomodoDataserviceUpdateAttributes.DATASERVICE_RH_COLUMN_NAMES_LABEL:
            List<String> rhColNames = BUILDER.fromJson(in, List.class);
            updateAttrs.setRhColumnNames(rhColNames);
            break;
        case KomodoDataserviceUpdateAttributes.DATASERVICE_JOIN_TYPE_LABEL:
            updateAttrs.setJoinType(in.nextString());
            break;
        case KomodoDataserviceUpdateAttributes.DATASERVICE_CRITERIA_PREDICATES_LABEL:
            List<Map<String, String>> predicates = BUILDER.fromJson(in, List.class);
            updateAttrs.setCriteriaPredicates(predicates);
            break;
        case KomodoDataserviceUpdateAttributes.DATASERVICE_VIEW_DDL_LABEL:
            updateAttrs.setViewDdl(in.nextString());
            break;
        default:
            throw new IOException(Messages.getString(UNEXPECTED_JSON_TOKEN, name));
        }
    }

    in.endObject();

    return updateAttrs;
}

From source file:org.komodo.rest.relational.json.DataSourceJdbcTableAttributesSerializer.java

License:Open Source License

/**
 * {@inheritDoc}//  w  ww .j av a  2  s. c  om
 *
 * @see com.google.gson.TypeAdapter#read(com.google.gson.stream.JsonReader)
 */
@Override
public KomodoDataSourceJdbcTableAttributes read(final JsonReader in) throws IOException {
    final KomodoDataSourceJdbcTableAttributes updateAttrs = new KomodoDataSourceJdbcTableAttributes();
    in.beginObject();

    while (in.hasNext()) {
        final String name = in.nextName();

        switch (name) {
        case KomodoDataSourceJdbcTableAttributes.DATA_SOURCE_NAME_LABEL:
            updateAttrs.setDataSourceName(in.nextString());
            break;
        case KomodoDataSourceJdbcTableAttributes.CATALOG_FILTER_LABEL:
            updateAttrs.setCatalogFilter(in.nextString());
            break;
        case KomodoDataSourceJdbcTableAttributes.SCHEMA_FILTER_LABEL:
            updateAttrs.setSchemaFilter(in.nextString());
            break;
        case KomodoDataSourceJdbcTableAttributes.TABLE_FILTER_LABEL:
            updateAttrs.setTableFilter(in.nextString());
            break;
        default:
            throw new IOException(Messages.getString(UNEXPECTED_JSON_TOKEN, name));
        }
    }

    in.endObject();

    return updateAttrs;
}

From source file:org.komodo.rest.relational.json.FileAttributesSerializer.java

License:Open Source License

/**
 * {@inheritDoc}//from w w w .  j  a  v  a 2 s.  c om
 *
 * @see com.google.gson.TypeAdapter#read(com.google.gson.stream.JsonReader)
 */
@Override
public KomodoFileAttributes read(final JsonReader in) throws IOException {
    final KomodoFileAttributes fileAttr = new KomodoFileAttributes();
    in.beginObject();

    while (in.hasNext()) {
        final String name = in.nextName();

        if (readContent(in, fileAttr, name) != null)
            continue;

        switch (name) {
        case KomodoFileAttributes.NAME_LABEL:
            fileAttr.setName(in.nextString());
            break;
        default:
            throw new IOException(Messages.getString(UNEXPECTED_JSON_TOKEN, name));
        }
    }

    in.endObject();

    return fileAttr;
}

From source file:org.komodo.rest.relational.json.ImportExportStatusSerializer.java

License:Open Source License

/**
 * {@inheritDoc}/*from  www .j  a  v a2  s  . com*/
 *
 * @see com.google.gson.TypeAdapter#read(com.google.gson.stream.JsonReader)
 */
@Override
public ImportExportStatus read(final JsonReader in) throws IOException {
    final ImportExportStatus status = new ImportExportStatus();
    in.beginObject();

    while (in.hasNext()) {
        final String name = in.nextName();

        switch (name) {
        case ImportExportStatus.NAME_LABEL:
            status.setName(in.nextString());
            break;
        case ImportExportStatus.TYPE_LABEL:
            status.setType(in.nextString());
            break;
        case ImportExportStatus.SUCCESS_LABEL:
            status.setSuccess(in.nextBoolean());
            break;
        case ImportExportStatus.DOWNLOADABLE_LABEL:
            status.setDownloadable(in.nextBoolean());
            break;
        case ImportExportStatus.CONTENT_LABEL:
            status.setContent(in.nextString());
            break;
        case ImportExportStatus.MESSAGE_LABEL:
            status.setMessage(in.nextString());
            break;
        case ImportExportStatus.DOWNLOADABLE_SIZE_LABEL:
            status.setDownloadableSize(in.nextLong());
            break;
        default:
            throw new IOException(Messages.getString(UNEXPECTED_JSON_TOKEN, name));
        }
    }

    in.endObject();

    return status;
}

From source file:org.komodo.rest.relational.json.PathAttributeSerializer.java

License:Open Source License

/**
 * {@inheritDoc}/* w w  w  .  j a v  a  2s . c om*/
 *
 * @see com.google.gson.TypeAdapter#read(com.google.gson.stream.JsonReader)
 */
@Override
public T read(final JsonReader in) throws IOException {
    final T pathAttr = createEntity();
    in.beginObject();

    while (in.hasNext()) {
        final String name = in.nextName();
        readPath(in, name, pathAttr);
    }

    in.endObject();

    return pathAttr;
}

From source file:org.komodo.rest.relational.json.QueryAttributeSerializer.java

License:Open Source License

/**
 * {@inheritDoc}//from  w w w.  jav a2 s.  c  o m
 *
 * @see com.google.gson.TypeAdapter#read(com.google.gson.stream.JsonReader)
 */
@Override
public KomodoQueryAttribute read(final JsonReader in) throws IOException {
    final KomodoQueryAttribute queryAttr = new KomodoQueryAttribute();
    in.beginObject();

    while (in.hasNext()) {
        final String name = in.nextName();
        switch (name) {
        case KomodoQueryAttribute.QUERY_LABEL:
            queryAttr.setQuery(in.nextString());
            break;
        case KomodoQueryAttribute.TARGET_LABEL:
            queryAttr.setTarget(in.nextString());
            break;
        case KomodoQueryAttribute.LIMIT_LABEL:
            queryAttr.setLimit(in.nextInt());
            break;
        case KomodoQueryAttribute.OFFSET_LABEL:
            queryAttr.setOffset(in.nextInt());
            break;
        }
    }

    in.endObject();

    return queryAttr;
}

From source file:org.komodo.rest.relational.json.QueryColumnSerializer.java

License:Open Source License

/**
 * {@inheritDoc}//from   w  w w . j  a  va 2 s  . c  o m
 *
 * @see com.google.gson.TypeAdapter#read(com.google.gson.stream.JsonReader)
 */
@Override
public RestQueryColumn read(final JsonReader in) throws IOException {
    final RestQueryColumn queryColumn = new RestQueryColumn();
    in.beginObject();

    while (in.hasNext()) {
        final String name = in.nextName();

        switch (name) {
        case RestQueryColumn.NAME_LABEL:
            queryColumn.setName(in.nextString());
            break;
        case RestQueryColumn.LABEL_LABEL:
            queryColumn.setLabel(in.nextString());
            break;
        case RestQueryColumn.TYPE_LABEL:
            queryColumn.setType(in.nextString());
            break;
        default:
            throw new IOException(Messages.getString(UNEXPECTED_JSON_TOKEN, name));
        }
    }

    in.endObject();

    return queryColumn;
}