Skip to content

Commit 62dde71

Browse files
Merge pull request #51 from protegeproject/async-events
Add change request ids to entity creation actions
2 parents 59f67fb + 00bbe84 commit 62dde71

13 files changed

Lines changed: 39 additions & 14 deletions

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
<description>This library defines an API for the webprotege-backend service</description>
1515
<groupId>edu.stanford.protege</groupId>
1616
<artifactId>webprotege-backend-api</artifactId>
17-
<version>3.1.5</version>
17+
<version>4.0.0-SNAPSHOT</version>
1818
<properties>
1919
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
2020
<guava.version>28.0</guava.version>

src/main/java/edu/stanford/protege/webprotege/entity/CreateAnnotationPropertiesResult.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import com.fasterxml.jackson.annotation.JsonProperty;
44
import com.fasterxml.jackson.annotation.JsonTypeName;
55
import com.google.common.collect.ImmutableSet;
6+
import edu.stanford.protege.webprotege.common.ChangeRequestId;
67
import edu.stanford.protege.webprotege.common.ProjectId;
78
import org.semanticweb.owlapi.model.OWLAnnotationProperty;
89

@@ -18,6 +19,7 @@
1819

1920
@JsonTypeName("webprotege.entities.CreateAnnotationProperties")
2021
public record CreateAnnotationPropertiesResult(@JsonProperty("projectId") @Nonnull ProjectId projectId,
21-
@JsonProperty("entities") @Nonnull ImmutableSet<EntityNode> entities) implements CreateEntitiesInHierarchyResult<OWLAnnotationProperty> {
22+
@JsonProperty("entities") @Nonnull ImmutableSet<EntityNode> entities,
23+
@JsonProperty("changeRequestId") ChangeRequestId changeRequestId) implements CreateEntitiesInHierarchyResult<OWLAnnotationProperty> {
2224

2325
}

src/main/java/edu/stanford/protege/webprotege/entity/CreateClassesAction.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,12 @@ public record CreateClassesAction(ChangeRequestId changeRequestId,
3737

3838
public static final String CHANNEL = "webprotege.entities.CreateClasses";
3939

40+
public CreateClassesAction {
41+
if(changeRequestId == null) {
42+
changeRequestId = ChangeRequestId.generate();
43+
}
44+
}
45+
4046
@Override
4147
public String getChannel() {
4248
return CHANNEL;

src/main/java/edu/stanford/protege/webprotege/entity/CreateDataPropertiesResult.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import com.fasterxml.jackson.annotation.JsonTypeName;
44
import com.google.common.collect.ImmutableSet;
5+
import edu.stanford.protege.webprotege.common.ChangeRequestId;
56
import edu.stanford.protege.webprotege.common.ProjectId;
67
import edu.stanford.protege.webprotege.dispatch.Result;
78

@@ -13,5 +14,6 @@
1314
*/
1415
@JsonTypeName("webprotege.entities.CreateDataProperties")
1516
public record CreateDataPropertiesResult(ProjectId projectId,
16-
ImmutableSet<EntityNode> entities) implements Result {
17+
ImmutableSet<EntityNode> entities,
18+
ChangeRequestId changeRequestId) implements Result {
1719
}

src/main/java/edu/stanford/protege/webprotege/entity/CreateNamedIndividualsResult.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import com.fasterxml.jackson.annotation.JsonTypeName;
44
import com.google.common.collect.ImmutableSet;
5+
import edu.stanford.protege.webprotege.common.ChangeRequestId;
56
import edu.stanford.protege.webprotege.common.ProjectId;
67
import edu.stanford.protege.webprotege.dispatch.Result;
78

@@ -15,5 +16,6 @@
1516
*/
1617
@JsonTypeName("webprotege.entities.CreateNamedIndividuals")
1718
public record CreateNamedIndividualsResult(@Nonnull ProjectId projectId,
18-
ImmutableSet<EntityNode> entities) implements Result {
19+
ImmutableSet<EntityNode> entities,
20+
ChangeRequestId changeRequestId) implements Result {
1921
}

src/main/java/edu/stanford/protege/webprotege/entity/CreateObjectPropertiesResult.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import com.fasterxml.jackson.annotation.JsonProperty;
44
import com.fasterxml.jackson.annotation.JsonTypeName;
55
import com.google.common.collect.ImmutableSet;
6+
import edu.stanford.protege.webprotege.common.ChangeRequestId;
67
import edu.stanford.protege.webprotege.common.ProjectId;
78
import org.semanticweb.owlapi.model.OWLObjectProperty;
89

@@ -18,6 +19,7 @@
1819

1920
@JsonTypeName("webprotege.entities.CreateObjectProperties")
2021
public record CreateObjectPropertiesResult(@JsonProperty("projectId") @Nonnull ProjectId projectId,
21-
@JsonProperty("entities") @Nonnull ImmutableSet<EntityNode> entities) implements CreateEntitiesInHierarchyResult<OWLObjectProperty> {
22+
@JsonProperty("entities") @Nonnull ImmutableSet<EntityNode> entities,
23+
@JsonProperty("changeRequestId") ChangeRequestId changeRequestId) implements CreateEntitiesInHierarchyResult<OWLObjectProperty> {
2224

2325
}

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

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import com.fasterxml.jackson.annotation.JsonIgnore;
55
import com.fasterxml.jackson.annotation.JsonProperty;
66
import com.fasterxml.jackson.annotation.JsonTypeName;
7+
import edu.stanford.protege.webprotege.common.ChangeRequestId;
78
import edu.stanford.protege.webprotege.common.EventId;
89
import edu.stanford.protege.webprotege.common.ProjectEvent;
910
import edu.stanford.protege.webprotege.common.ProjectId;
@@ -18,15 +19,17 @@
1819
public record EntityHierarchyChangedEvent(@JsonProperty("eventId") @Nonnull EventId eventId,
1920
@JsonProperty("projectId") @Nonnull ProjectId projectId,
2021
@JsonProperty("hierarchyDescriptor") @Nonnull HierarchyDescriptor hierarchyDescriptor,
21-
@JsonProperty("changeEvent") @Nonnull GraphModelChangedEvent changeEvent) implements ProjectEvent {
22+
@JsonProperty("changeEvent") @Nonnull GraphModelChangedEvent changeEvent,
23+
@JsonProperty("changeRequestId") ChangeRequestId changeRequestId) implements ProjectEvent {
2224

2325
public static final String CHANNEL = "webprotege.events.hierarchies.EntityHierarchyChanged";
2426

25-
public EntityHierarchyChangedEvent(@JsonProperty("eventId") @Nonnull EventId eventId, @JsonProperty("projectId") @Nonnull ProjectId projectId, @JsonProperty("hierarchyDescriptor") @Nonnull HierarchyDescriptor hierarchyDescriptor, @JsonProperty("changeEvent") @Nonnull GraphModelChangedEvent changeEvent) {
27+
public EntityHierarchyChangedEvent(@JsonProperty("eventId") @Nonnull EventId eventId, @JsonProperty("projectId") @Nonnull ProjectId projectId, @JsonProperty("hierarchyDescriptor") @Nonnull HierarchyDescriptor hierarchyDescriptor, @JsonProperty("changeEvent") @Nonnull GraphModelChangedEvent changeEvent, @JsonProperty("changeRequestId") ChangeRequestId changeRequestId) {
2628
this.eventId = Objects.requireNonNull(eventId);
2729
this.projectId = Objects.requireNonNull(projectId);
2830
this.hierarchyDescriptor = Objects.requireNonNull(hierarchyDescriptor);
2931
this.changeEvent = Objects.requireNonNull(changeEvent);
32+
this.changeRequestId = Objects.requireNonNull(changeRequestId);
3033
}
3134

3235
@Override

src/test/java/edu/stanford/protege/webprotege/dispatch/actions/CreateAnnotationProperties_Serialization_TestCase.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public void shouldSerializeAction() throws IOException {
3434
@Test
3535
public void shouldSerializeResult() throws IOException {
3636
var result = new CreateAnnotationPropertiesResult(ProjectId.generate(),
37-
ImmutableSet.of());
37+
ImmutableSet.of(), ChangeRequestId.generate());
3838

3939
}
4040
}

src/test/java/edu/stanford/protege/webprotege/dispatch/actions/CreateDataProperties_Serialization_TestCase.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ public void shouldSerializeAction() throws IOException {
3333
@Test
3434
public void shouldSerializeResult() throws IOException {
3535
var result = new CreateDataPropertiesResult(ProjectId.generate(),
36-
ImmutableSet.of());
36+
ImmutableSet.of(), ChangeRequestId.generate());
3737

3838
}
3939
}

src/test/java/edu/stanford/protege/webprotege/dispatch/actions/CreateNamedIndividuals_Serialization_TestCase.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public void shouldSerializeAction() throws IOException {
3434
@Test
3535
public void shouldSerializeResult() throws IOException {
3636
var result = new CreateNamedIndividualsResult(ProjectId.generate(),
37-
ImmutableSet.of());
37+
ImmutableSet.of(), ChangeRequestId.generate());
3838

3939
}
4040
}

0 commit comments

Comments
 (0)