Skip to content

Commit

Permalink
Merge pull request #8 from protegeproject/forms-fixes-various-seriali…
Browse files Browse the repository at this point in the history
…zation-mismatches

Forms fixes various serialization mismatches
  • Loading branch information
matthewhorridge authored Jul 11, 2024
2 parents 5d4d8ef + f9ce4cf commit 7d6265b
Show file tree
Hide file tree
Showing 67 changed files with 1,128 additions and 348 deletions.
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
</parent>
<groupId>edu.stanford.protege</groupId>
<artifactId>webprotege-forms</artifactId>
<version>1.1.5</version>
<version>1.1.6-SNAPSHOT</version>
<name>webprotege-forms</name>
<description>Data structures and request/responses for forms</description>
<properties>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ private FormDescriptor() {
}

@JsonCreator
public FormDescriptor(@JsonProperty(PropertyNames.ID) FormId id,
public FormDescriptor(@JsonProperty(PropertyNames.FORM_ID) FormId id,
@JsonProperty(PropertyNames.LABEL) LanguageMap label,
@JsonProperty(PropertyNames.FIELDS) List<FormFieldDescriptor> formFieldDescriptors,
@JsonProperty(PropertyNames.SUBJECT_FACTORY) Optional<FormSubjectFactoryDescriptor> subjectFactoryDescriptor) {
Expand All @@ -62,7 +62,7 @@ public FormDescriptor withFields(Predicate<FormFieldDescriptor> test) {
return new FormDescriptor(formId, label, filteredFields, getSubjectFactoryDescriptor());
}

@JsonProperty(PropertyNames.ID)
@JsonProperty(PropertyNames.FORM_ID)
public FormId getFormId() {
return formId;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,14 @@
public abstract class FormDescriptorDto {

@JsonCreator
public static FormDescriptorDto get(@JsonProperty(PropertyNames.ID) @Nonnull FormId formId,
public static FormDescriptorDto get(@JsonProperty(PropertyNames.FORM_ID) @Nonnull FormId formId,
@JsonProperty(PropertyNames.LABEL) @Nonnull LanguageMap label,
@JsonProperty(PropertyNames.FIELDS) @Nonnull ImmutableList<FormFieldDescriptorDto> fields,
@JsonProperty(PropertyNames.SUBJECT_FACTORY) @Nullable FormSubjectFactoryDescriptor subjectFactoryDescriptor) {
return new AutoValue_FormDescriptorDto(formId, label, fields, subjectFactoryDescriptor);
}

@JsonProperty(PropertyNames.ID)
@JsonProperty(PropertyNames.FORM_ID)
@Nonnull
public abstract FormId getFormId();

Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@


import edu.stanford.protege.webprotege.common.LanguageMap;
import edu.stanford.protege.webprotege.forms.field.FormFieldId;
import edu.stanford.protege.webprotege.forms.field.FormRegionId;

import javax.annotation.Nonnull;

Expand All @@ -15,9 +15,9 @@
*/
public class FormFieldBindingMissingException extends RuntimeException {

private FormFieldId formFieldId;
private FormRegionId formFieldId;

public FormFieldBindingMissingException(@Nonnull FormFieldId formFieldId, @Nonnull LanguageMap label) {
public FormFieldBindingMissingException(@Nonnull FormRegionId formFieldId, @Nonnull LanguageMap label) {
super("Form field binding is missing for " + formFieldId + "(" + label + "). Improperly configured form.");
this.formFieldId = checkNotNull(formFieldId);
}
Expand All @@ -26,7 +26,7 @@ public FormFieldBindingMissingException(@Nonnull FormFieldId formFieldId, @Nonnu
private FormFieldBindingMissingException() {
}

public FormFieldId getFormFieldId() {
public FormRegionId getFormFieldId() {
return formFieldId;
}
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package edu.stanford.protege.webprotege.forms;


import edu.stanford.protege.webprotege.forms.field.GridColumnId;
import edu.stanford.protege.webprotege.forms.field.FormRegionId;

import javax.annotation.Nonnull;

Expand All @@ -14,9 +14,9 @@
*/
public class GridColumnBindingMissingException extends RuntimeException {

private GridColumnId columnId;
private FormRegionId columnId;

public GridColumnBindingMissingException(GridColumnId columnId) {
public GridColumnBindingMissingException(FormRegionId columnId) {
super("Grid column binding missing for " + columnId + ". Form is not configured properly");
this.columnId = checkNotNull(columnId);
}
Expand All @@ -26,7 +26,7 @@ private GridColumnBindingMissingException() {
}

@Nonnull
public GridColumnId getColumnId() {
public FormRegionId getColumnId() {
return columnId;
}
}
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
package edu.stanford.protege.webprotege.forms;

import edu.stanford.protege.webprotege.forms.field.FormFieldId;
import edu.stanford.protege.webprotege.forms.field.FormRegionId;

/**
* Matthew Horridge
* Stanford Center for Biomedical Informatics Research
* 30/03/16
*/
public interface HasFormFieldId {
public interface HasFormRegionId {

FormFieldId getId();
FormRegionId getId();
}
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,5 @@ public interface PropertyNames {

String DATA = "data";

String CONTROL_DATA = "controlData";

String FIELD = "field";
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ public abstract class EntityNameControlDataDto implements FormControlDataDto {

@JsonCreator
public static EntityNameControlDataDto get(@JsonProperty(PropertyNames.CONTROL) @Nonnull EntityNameControlDescriptor descriptor,
@JsonProperty(PropertyNames.ENTITY) @Nonnull OWLEntityData entityData,
@JsonProperty(PropertyNames.ENTITY) @Nullable OWLEntityData entityData,
@JsonProperty(PropertyNames.DEPTH) int depth) {
return new AutoValue_EntityNameControlDataDto(depth, descriptor, entityData);
}
Expand All @@ -30,7 +30,7 @@ public static EntityNameControlDataDto get(@JsonProperty(PropertyNames.CONTROL)
public abstract EntityNameControlDescriptor getDescriptor();

@Nullable
@JsonProperty(PropertyNames.ENTITY)
@JsonProperty(PropertyNames.VALUE)
protected abstract OWLEntityData getEntityInternal();

@JsonIgnore
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
import javax.annotation.Nonnull;

@JsonSubTypes({@Type(EntityNameControlDataDto.class), @Type(GridControlDataDto.class), @Type(ImageControlDataDto.class), @Type(MultiChoiceControlDataDto.class), @Type(NumberControlDataDto.class), @Type(SingleChoiceControlDataDto.class), @Type(TextControlDataDto.class), @Type(FormDataDto.class)})
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "type")
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME)
public interface FormControlDataDto {

<R> R accept(FormControlDataDtoVisitorEx<R> visitor);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ public abstract class FormFieldData {

@JsonCreator
public static FormFieldData get(@JsonProperty(PropertyNames.FIELD) @Nonnull FormFieldDescriptor descriptor,
@JsonProperty(PropertyNames.CONTROL_DATA) @Nonnull Page<FormControlData> formControlData) {
@JsonProperty(PropertyNames.DATA) @Nonnull Page<FormControlData> formControlData) {
return new AutoValue_FormFieldData(descriptor, formControlData);
}

Expand All @@ -31,7 +31,7 @@ public static FormFieldData get(@JsonProperty(PropertyNames.FIELD) @Nonnull Form
* Gets the page of form control values for this field.
*/
@Nonnull
@JsonPropertyOrder(PropertyNames.CONTROL_DATA)
@JsonProperty(PropertyNames.DATA)
public abstract Page<FormControlData> getFormControlData();

@JsonIgnore
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ public abstract class FormFieldDataDto {
@JsonCreator
@Nonnull
public static FormFieldDataDto get(@JsonProperty(PropertyNames.FIELD) @Nonnull FormFieldDescriptorDto descriptor,
@JsonProperty(PropertyNames.CONTROL_DATA) @Nonnull Page<FormControlDataDto> formControlData) {
@JsonProperty(PropertyNames.DATA) @Nonnull Page<FormControlDataDto> formControlData) {
return new AutoValue_FormFieldDataDto(descriptor, formControlData);
}

Expand All @@ -29,7 +29,7 @@ public static FormFieldDataDto get(@JsonProperty(PropertyNames.FIELD) @Nonnull F
* Gets the page of form control values for this field.
*/
@Nonnull
@JsonProperty(PropertyNames.CONTROL_DATA)
@JsonProperty(PropertyNames.DATA)
public abstract Page<FormControlDataDto> getFormControlData();

@Nonnull
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import com.google.auto.value.AutoValue;
import edu.stanford.protege.webprotege.common.Page;
import edu.stanford.protege.webprotege.forms.PropertyNames;
import edu.stanford.protege.webprotege.forms.field.GridColumnId;
import edu.stanford.protege.webprotege.forms.field.FormRegionId;
import org.semanticweb.owlapi.model.OWLEntity;
import org.semanticweb.owlapi.model.OWLLiteral;

Expand All @@ -23,7 +23,7 @@
public abstract class GridCellData {

@JsonCreator
public static GridCellData get(@JsonProperty(PropertyNames.COLUMN_ID) @Nonnull GridColumnId columnId,
public static GridCellData get(@JsonProperty(PropertyNames.COLUMN_ID) @Nonnull FormRegionId columnId,
@JsonProperty(PropertyNames.VALUES) @Nullable Page<FormControlData> values) {
return new AutoValue_GridCellData(columnId, values);
}
Expand Down Expand Up @@ -63,7 +63,7 @@ public int compareTo(GridCellData otherCellData) {

@JsonProperty(PropertyNames.COLUMN_ID)
@Nonnull
public abstract GridColumnId getColumnId();
public abstract FormRegionId getColumnId();

@JsonProperty(PropertyNames.VALUES)
@Nonnull
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import com.google.auto.value.AutoValue;
import edu.stanford.protege.webprotege.common.Page;
import edu.stanford.protege.webprotege.forms.*;
import edu.stanford.protege.webprotege.forms.field.GridColumnId;
import edu.stanford.protege.webprotege.forms.field.FormRegionId;

import javax.annotation.Nonnull;
import javax.annotation.Nullable;
Expand All @@ -14,21 +14,21 @@
public abstract class GridCellDataDto implements HasFilterState {

@JsonCreator
public static GridCellDataDto get(@JsonProperty(PropertyNames.COLUMN_ID) @Nonnull GridColumnId columnId,
public static GridCellDataDto get(@JsonProperty(PropertyNames.COLUMN_ID) @Nonnull FormRegionId columnId,
@JsonProperty(PropertyNames.VALUES) @Nullable Page<FormControlDataDto> values,
@JsonProperty(PropertyNames.FILTER_STATE) @Nonnull FilterState filterState) {
return new AutoValue_GridCellDataDto(columnId, values, filterState);
}

@JsonProperty(PropertyNames.COLUMN_ID)
@Nonnull
public abstract GridColumnId getColumnId();
public abstract FormRegionId getColumnId();

@JsonProperty(PropertyNames.COLUMN_ID)
@JsonProperty(PropertyNames.VALUES)
@Nonnull
public abstract Page<FormControlDataDto> getValues();

@JsonProperty(PropertyNames.COLUMN_ID)
@JsonProperty(PropertyNames.FILTER_STATE)
@Nonnull
@Override
public abstract FilterState getFilterState();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@
import static com.google.common.collect.ImmutableList.toImmutableList;

@AutoValue

public abstract class GridRowDataDto {

@JsonCreator
Expand All @@ -38,7 +37,7 @@ public Optional<FormSubjectDto> getSubject() {
return Optional.ofNullable(getSubjectInternal());
}

@JsonProperty("cells")
@JsonProperty(PropertyNames.CELLS)
@Nonnull
public abstract ImmutableList<GridCellDataDto> getCells();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
import java.util.Optional;

@JsonSubTypes({@Type(EntityFormControlDataDto.class), @Type(LiteralFormControlDataDto.class), @Type(IriFormControlDataDto.class)})
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "type")
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME)
public abstract class PrimitiveFormControlDataDto implements Comparable<PrimitiveFormControlDataDto> {

public static final int BEFORE = -1;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
package edu.stanford.protege.webprotege.forms.data;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.*;
import org.semanticweb.owlapi.model.*;
import uk.ac.manchester.cs.owl.owlapi.*;

Expand All @@ -16,7 +14,7 @@
public record PrimitiveFormControlDataProxy(@JsonInclude(JsonInclude.Include.NON_EMPTY) @Nullable String iri,
@JsonInclude(JsonInclude.Include.NON_EMPTY) @JsonProperty("@type") @Nullable String type,
@JsonInclude(JsonInclude.Include.NON_EMPTY) @Nullable String value,
@JsonInclude(JsonInclude.Include.NON_EMPTY) @Nullable String datatype,
@JsonInclude(JsonInclude.Include.NON_EMPTY) @JsonProperty("type") @Nullable String datatype,
@JsonInclude(JsonInclude.Include.NON_EMPTY) @Nullable String lang) {

public PrimitiveFormControlData toPrimitiveFormControlData() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,15 +17,16 @@ public abstract class SingleChoiceControlDataDto implements FormControlDataDto {
@JsonCreator
@Nonnull
public static SingleChoiceControlDataDto get(@JsonProperty(PropertyNames.CONTROL) @Nonnull SingleChoiceControlDescriptor descriptor,
@JsonProperty(PropertyNames.CHOICE) @Nullable PrimitiveFormControlDataDto choice,
@JsonProperty(PropertyNames.VALUE) @Nullable PrimitiveFormControlDataDto choice,
@JsonProperty(PropertyNames.DEPTH) int depth) {
return new AutoValue_SingleChoiceControlDataDto(depth, descriptor, choice);
}

@Nonnull
@JsonProperty(PropertyNames.CONTROL)
public abstract SingleChoiceControlDescriptor getDescriptor();

@JsonProperty(PropertyNames.CONTROL)
@JsonProperty(PropertyNames.VALUE)
@Nullable
protected abstract PrimitiveFormControlDataDto getChoiceInternal();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
* Stanford Center for Biomedical Informatics Research
* 2020-01-11
*/
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME)
@JsonSubTypes({@JsonSubTypes.Type(value = FixedChoiceListSourceDescriptor.class, name = FixedChoiceListSourceDescriptor.TYPE), @JsonSubTypes.Type(value = DynamicChoiceListSourceDescriptor.class, name = DynamicChoiceListSourceDescriptor.TYPE)})
public interface ChoiceListSourceDescriptor {

Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
package edu.stanford.protege.webprotege.forms.field;

import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonTypeName;
import com.fasterxml.jackson.annotation.*;
import com.google.auto.value.AutoValue;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet;
Expand All @@ -25,7 +22,7 @@
*/
@JsonTypeName(EntityNameControlDescriptor.TYPE)
@AutoValue

@JsonInclude(JsonInclude.Include.NON_EMPTY)
public abstract class EntityNameControlDescriptor implements FormControlDescriptor {

protected static final String TYPE = "ENTITY_NAME";
Expand Down
Loading

0 comments on commit 7d6265b

Please sign in to comment.