Skip to content

Commit f9d9d7b

Browse files
johardiclaude
andcommitted
refactor(wire-dto): pin @JsonProperty on MISMATCH structural records
Sub-pattern 3 of #53: per-class structural mismatches. Pinning the JSON name of the backend record components so the wire contract is locked once the gwt-ui client side of #53 renames/restructures to match. The chosen JSON names follow the backend canonical (per the issue body, "pick the canonical name (usually backend)"): - GetEntityUsageAction: subject, projectId, usageFilter, pageRequest - GetProjectEntityGraphDefaultEdgeCriteriaResult: edgeCriteria - GetHierarchySiblingsResult: siblingsPage - GetHeadRevisionNumberResult: projectId, revisionNumber - GetRevisionSummariesAction: projectId, pageRequest - GetRootOntologyIdResult: projectId, rootOntologyId - CreateNewProjectAction: newProjectId, newProjectSettings - GetProjectSharingSettingsResult: settings - SetProjectSettingsAction: changeRequestId, projectId, settings - SetProjectSettingsResult: settings No JSON name changes today; the client PR coordinates the structural fix. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent e538e6f commit f9d9d7b

10 files changed

Lines changed: 28 additions & 16 deletions

src/main/java/edu/stanford/protege/webprotege/hierarchy/GetHierarchySiblingsResult.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package edu.stanford.protege.webprotege.hierarchy;
22

3+
import com.fasterxml.jackson.annotation.JsonProperty;
34
import com.fasterxml.jackson.annotation.JsonTypeName;
45
import edu.stanford.protege.webprotege.common.Page;
56
import edu.stanford.protege.webprotege.dispatch.Result;
@@ -13,6 +14,6 @@
1314

1415

1516
@JsonTypeName("webprotege.hierarchies.GetHierarchySiblings")
16-
public record GetHierarchySiblingsResult(Page<GraphNode<EntityNode>> siblingsPage) implements Result {
17+
public record GetHierarchySiblingsResult(@JsonProperty("siblingsPage") Page<GraphNode<EntityNode>> siblingsPage) implements Result {
1718

1819
}

src/main/java/edu/stanford/protege/webprotege/ontology/GetRootOntologyIdResult.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package edu.stanford.protege.webprotege.ontology;
22

3+
import com.fasterxml.jackson.annotation.JsonProperty;
34
import com.fasterxml.jackson.annotation.JsonTypeName;
45
import edu.stanford.protege.webprotege.common.ProjectId;
56
import edu.stanford.protege.webprotege.dispatch.Result;
@@ -14,7 +15,7 @@
1415

1516

1617
@JsonTypeName("webprotege.ontologies.GetRootOntologyId")
17-
public record GetRootOntologyIdResult(ProjectId projectId,
18-
OWLOntologyID rootOntologyId) implements Result {
18+
public record GetRootOntologyIdResult(@JsonProperty("projectId") ProjectId projectId,
19+
@JsonProperty("rootOntologyId") OWLOntologyID rootOntologyId) implements Result {
1920

2021
}

src/main/java/edu/stanford/protege/webprotege/project/CreateNewProjectAction.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
* 21/02/15
1616
*/
1717
@JsonTypeName("webprotege.projects.CreateNewProject")
18-
public record CreateNewProjectAction(ProjectId newProjectId,
19-
NewProjectSettings newProjectSettings) implements Action<CreateNewProjectResult>, Request<CreateNewProjectResult> {
18+
public record CreateNewProjectAction(@JsonProperty("newProjectId") ProjectId newProjectId,
19+
@JsonProperty("newProjectSettings") NewProjectSettings newProjectSettings) implements Action<CreateNewProjectResult>, Request<CreateNewProjectResult> {
2020

2121
public static final String CHANNEL = "webprotege.projects.CreateNewProject";
2222

src/main/java/edu/stanford/protege/webprotege/projectsettings/SetProjectSettingsAction.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package edu.stanford.protege.webprotege.projectsettings;
22

3+
import com.fasterxml.jackson.annotation.JsonProperty;
34
import com.fasterxml.jackson.annotation.JsonTypeName;
45
import edu.stanford.protege.webprotege.common.ChangeRequest;
56
import edu.stanford.protege.webprotege.common.ChangeRequestId;
@@ -14,9 +15,9 @@
1415
* 25/11/14
1516
*/
1617
@JsonTypeName("webprotege.projects.SetProjectSettings")
17-
public record SetProjectSettingsAction(ChangeRequestId changeRequestId,
18-
ProjectId projectId,
19-
ProjectSettings settings) implements ProjectAction<SetProjectSettingsResult>, ChangeRequest {
18+
public record SetProjectSettingsAction(@JsonProperty("changeRequestId") ChangeRequestId changeRequestId,
19+
@JsonProperty("projectId") ProjectId projectId,
20+
@JsonProperty("settings") ProjectSettings settings) implements ProjectAction<SetProjectSettingsResult>, ChangeRequest {
2021

2122
public static final String CHANNEL = "webprotege.projects.SetProjectSettings";
2223

src/main/java/edu/stanford/protege/webprotege/projectsettings/SetProjectSettingsResult.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package edu.stanford.protege.webprotege.projectsettings;
22

3+
import com.fasterxml.jackson.annotation.JsonProperty;
34
import com.fasterxml.jackson.annotation.JsonTypeName;
45
import edu.stanford.protege.webprotege.dispatch.Result;
56

@@ -11,7 +12,7 @@
1112
* 25/11/14
1213
*/
1314
@JsonTypeName("webprotege.projects.SetProjectSettings")
14-
public record SetProjectSettingsResult(ProjectSettings settings) implements Result {
15+
public record SetProjectSettingsResult(@JsonProperty("settings") ProjectSettings settings) implements Result {
1516

1617
public SetProjectSettingsResult(ProjectSettings settings) {
1718
this.settings = checkNotNull(settings);

src/main/java/edu/stanford/protege/webprotege/revision/GetHeadRevisionNumberResult.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package edu.stanford.protege.webprotege.revision;
22

3+
import com.fasterxml.jackson.annotation.JsonProperty;
34
import com.fasterxml.jackson.annotation.JsonTypeName;
45
import edu.stanford.protege.webprotege.common.ProjectId;
56
import edu.stanford.protege.webprotege.dispatch.Result;
@@ -12,8 +13,8 @@
1213
* 21/02/15
1314
*/
1415
@JsonTypeName("webprotege.history.GetHeadRevisionNumber")
15-
public record GetHeadRevisionNumberResult(ProjectId projectId,
16-
RevisionNumber revisionNumber) implements Result {
16+
public record GetHeadRevisionNumberResult(@JsonProperty("projectId") ProjectId projectId,
17+
@JsonProperty("revisionNumber") RevisionNumber revisionNumber) implements Result {
1718

1819
public GetHeadRevisionNumberResult(ProjectId projectId, RevisionNumber revisionNumber) {
1920
this.projectId = checkNotNull(projectId);

src/main/java/edu/stanford/protege/webprotege/revision/GetRevisionSummariesAction.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616
* 21/02/15
1717
*/
1818
@JsonTypeName("webprotege.history.GetRevisionSummaries")
19-
public record GetRevisionSummariesAction(@JsonProperty(required = true) ProjectId projectId,
20-
PageRequest pageRequest) implements ProjectAction<GetRevisionSummariesResult> {
19+
public record GetRevisionSummariesAction(@JsonProperty(value = "projectId", required = true) ProjectId projectId,
20+
@JsonProperty("pageRequest") PageRequest pageRequest) implements ProjectAction<GetRevisionSummariesResult> {
2121

2222
public static final String CHANNEL = "webprotege.history.GetRevisionSummaries";
2323

src/main/java/edu/stanford/protege/webprotege/sharing/GetProjectSharingSettingsResult.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package edu.stanford.protege.webprotege.sharing;
22

3+
import com.fasterxml.jackson.annotation.JsonProperty;
34
import com.fasterxml.jackson.annotation.JsonTypeName;
45
import edu.stanford.protege.webprotege.dispatch.Result;
56

@@ -11,7 +12,7 @@
1112
* 07/02/15
1213
*/
1314
@JsonTypeName("webprotege.projects.GetProjectSharingSettings")
14-
public record GetProjectSharingSettingsResult(ProjectSharingSettings settings) implements Result {
15+
public record GetProjectSharingSettingsResult(@JsonProperty("settings") ProjectSharingSettings settings) implements Result {
1516

1617
public GetProjectSharingSettingsResult(ProjectSharingSettings settings) {
1718
this.settings = checkNotNull(settings);

src/main/java/edu/stanford/protege/webprotege/usage/GetEntityUsageAction.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package edu.stanford.protege.webprotege.usage;
22

33
import com.fasterxml.jackson.annotation.JsonClassDescription;
4+
import com.fasterxml.jackson.annotation.JsonProperty;
45
import com.fasterxml.jackson.annotation.JsonPropertyDescription;
56
import com.fasterxml.jackson.annotation.JsonTypeName;
67
import edu.stanford.protege.webprotege.common.PageRequest;
@@ -22,12 +23,16 @@
2223

2324
@JsonTypeName("webprotege.entities.GetEntityUsage")
2425
@JsonClassDescription("Requests the entity usage for the specified entity. The usage is the set of OWL axioms that mention the entity in their signature.")
25-
public record GetEntityUsageAction(@JsonPropertyDescription("The entity whose usage will be returned")
26+
public record GetEntityUsageAction(@JsonProperty("subject")
27+
@JsonPropertyDescription("The entity whose usage will be returned")
2628
OWLEntity subject,
29+
@JsonProperty("projectId")
2730
@JsonPropertyDescription("The project id in which the entity is used")
2831
ProjectId projectId,
32+
@JsonProperty("usageFilter")
2933
@JsonPropertyDescription("The usage filter that specifies they types of axioms to be retrieved etc.")
3034
@Nullable UsageFilter usageFilter,
35+
@JsonProperty("pageRequest")
3136
@Nonnull
3237
PageRequest pageRequest) implements ProjectAction<GetEntityUsageResult> {
3338

src/main/java/edu/stanford/protege/webprotege/viz/GetProjectEntityGraphDefaultEdgeCriteriaResult.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package edu.stanford.protege.webprotege.viz;
22

3+
import com.fasterxml.jackson.annotation.JsonProperty;
34
import com.fasterxml.jackson.annotation.JsonTypeName;
45
import com.google.common.collect.ImmutableList;
56
import edu.stanford.protege.webprotege.dispatch.Result;
@@ -10,6 +11,6 @@
1011
* 2019-12-07
1112
*/
1213
@JsonTypeName("webprotege.graphs.GetProjectEntityGraphDefaultEdgeCriteria")
13-
public record GetProjectEntityGraphDefaultEdgeCriteriaResult(ImmutableList<EdgeCriteria> edgeCriteria) implements Result {
14+
public record GetProjectEntityGraphDefaultEdgeCriteriaResult(@JsonProperty("edgeCriteria") ImmutableList<EdgeCriteria> edgeCriteria) implements Result {
1415

1516
}

0 commit comments

Comments
 (0)