Мне нужно проверить классы сущностей с помощью инструмента разбора, чтобы убедиться, что все работает - PullRequest
0 голосов
/ 07 января 2020

Я указал формат json, как показано ниже, и меня просят преобразовать этот формат json в классы сущностей.

{
"descriptor": {

"reportName": "Shop Drawing Progress Report",
"subLabel": "My Workflow Project",
"columnGroups": [
  { 
    "groupName": "mainData",
    "groupLabel": "",
    "frozen": true,
    "columns": [
      { 
        "field": "identifier",
        "label": "Workflow Prefix",
        "sortable": true,
        "editable": false,
        "dataType": "String"
      }

    ]
    }]

Я создаю классы сущностей сверху json string и один из этих примеров классов сущностей ниже

public class TabularColumn {

    private String field;
    private String label;
    private boolean sortable;
    private boolean editable;
    private String dataType;

    public String getField() {
        return field;
    }
    public void setField(String field) {
        this.field = field;
    }
    public String getLabel() {
        return label;
    }
    public void setLabel(String label) {
        this.label = label;
    }
    public boolean isSortable() {
        return sortable;
    }
    public void setSortable(boolean sortable) {
        this.sortable = sortable;
    }
    public boolean isEditable() {
        return editable;
    }
    public void setEditable(boolean editable) {
        this.editable = editable;
    }
    public String getDataType() {
        return dataType;
    }
    public void setDataType(String dataType) {
        this.dataType = dataType;
    }



Я должен проверить с помощью инструмента parseDesciptor, который есть в моем приложении, чтобы убедиться, что мои классы сущностей, сгенерированные из формата json, верны. Как я могу это сделать? который? Вот мой инструмент parseDecriptor, который я использую в своем java приложении

public <T> T parseDescriptor(String json, Class<T> c) throws IOException {
        try {
            ObjectMapper mapper = new ObjectMapper();
            mapper.getDeserializationConfig().disable(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES);
            mapper.getDeserializationConfig().enable(DeserializationConfig.Feature.USE_ANNOTATIONS);
            T ret = mapper.readValue(json, c);
            if (!(ret instanceof ReportDescriptor)) {
                throw new IllegalArgumentException("The specified class of type "+c.getCanonicalName()+" does not extend ReportDescriptor");
            }
            return ret;
        }

...