Skip to content

Commit

Permalink
Apply JsonIgnore annotation to prevent Jackson for serializing extra …
Browse files Browse the repository at this point in the history
…methods
  • Loading branch information
kelvinqian00 committed Dec 10, 2024
1 parent 90704aa commit 46b9f84
Show file tree
Hide file tree
Showing 19 changed files with 62 additions and 3 deletions.
2 changes: 2 additions & 0 deletions src/main/java/com/yetanalytics/xapi/model/AbstractActor.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.yetanalytics.xapi.model;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.yetanalytics.xapi.model.deserializers.AbstractActorDeserializer;

Expand Down Expand Up @@ -81,6 +82,7 @@ protected int countIFIs() {
public abstract boolean isValidAuthority();

@Override
@JsonIgnore
public boolean isEmpty() {
return (
mbox == null && mbox_sha1sum == null &&
Expand Down
2 changes: 2 additions & 0 deletions src/main/java/com/yetanalytics/xapi/model/AbstractObject.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.yetanalytics.xapi.model;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.yetanalytics.xapi.model.deserializers.AbstractObjectDeserializer;

Expand All @@ -19,5 +20,6 @@ public void setObjectType(ObjectType objectType) {
}

@Override
@JsonIgnore
public abstract boolean isEmpty();
}
2 changes: 2 additions & 0 deletions src/main/java/com/yetanalytics/xapi/model/Account.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.yetanalytics.xapi.model;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;

Expand Down Expand Up @@ -33,6 +34,7 @@ public void setName(String name) {
}

@Override
@JsonIgnore
@AssertFalse
public boolean isEmpty() {
return homePage == null && name == null;
Expand Down
2 changes: 2 additions & 0 deletions src/main/java/com/yetanalytics/xapi/model/Activity.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.yetanalytics.xapi.model;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
Expand Down Expand Up @@ -36,6 +37,7 @@ public void setDefinition(ActivityDefinition definition) {
}

@Override
@JsonIgnore
@AssertFalse
public boolean isEmpty() {
return id == null && definition == null;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import java.util.List;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;

Expand Down Expand Up @@ -164,6 +165,7 @@ private boolean isNoInteraction() {
}

@Override
@JsonIgnore
@AssertFalse
public boolean isEmpty() {
return (
Expand All @@ -173,6 +175,7 @@ public boolean isEmpty() {
);
}

@JsonIgnore
@AssertTrue
public boolean isValidInteractionActivity() {
if (interactionType == null) {
Expand Down
4 changes: 4 additions & 0 deletions src/main/java/com/yetanalytics/xapi/model/Agent.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.yetanalytics.xapi.model;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
Expand All @@ -19,6 +20,7 @@ public class Agent extends AbstractActor {
// Validation

@Override
@JsonIgnore
@AssertFalse
public boolean isEmpty() {
return super.isEmpty();
Expand All @@ -28,12 +30,14 @@ public boolean isEmpty() {
* Assertion that the Agent has only 1 Inverse Functional Identifier (IFI).
* @return true if the Agent has exactly 1 IFI, false otherwise
*/
@JsonIgnore
@AssertTrue
public boolean isIdentifiedAgent() {
return countIFIs() == 1;
}

@Override
@JsonIgnore
public boolean isValidAuthority() {
return true;
}
Expand Down
4 changes: 4 additions & 0 deletions src/main/java/com/yetanalytics/xapi/model/Attachment.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.yetanalytics.xapi.model;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;

Expand Down Expand Up @@ -69,7 +70,10 @@ public void setFileUrl(String fileUrl) {
this.fileUrl = fileUrl;
}

// Validation

@Override
@JsonIgnore
@AssertFalse
public boolean isEmpty() {
return (
Expand Down
2 changes: 2 additions & 0 deletions src/main/java/com/yetanalytics/xapi/model/Context.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import java.util.UUID;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;

Expand Down Expand Up @@ -80,6 +81,7 @@ public void setExtensions(Extensions extensions) {
}

@Override
@JsonIgnore
@AssertFalse
public boolean isEmpty() {
return (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@

import java.util.List;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.yetanalytics.xapi.model.deserializers.ContextActivityListDeserializer;

import jakarta.validation.constraints.AssertFalse;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;

/**
* Class representation of the Context Activities Component of the
* <a href="https://github.com/adlnet/xAPI-Spec/blob/master/xAPI-Data.md#2462-contextactivities-property">9274.1.1 xAPI Specification</a>.
Expand Down Expand Up @@ -52,6 +52,7 @@ public void setOther(List<Activity> other) {
}

@Override
@JsonIgnore
@AssertFalse
public boolean isEmpty() {
return (
Expand Down
2 changes: 2 additions & 0 deletions src/main/java/com/yetanalytics/xapi/model/Extensions.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import java.util.Map;
import java.util.Set;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
Expand Down Expand Up @@ -100,6 +101,7 @@ public Map<String, Object> getMap() {
}

@Override
@JsonIgnore
@AssertFalse
public boolean isEmpty() {
return extMap.isEmpty();
Expand Down
4 changes: 4 additions & 0 deletions src/main/java/com/yetanalytics/xapi/model/Group.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import java.util.List;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
Expand All @@ -27,6 +28,7 @@ public void setMember(List<Agent> member) {
this.member = member;
}

@JsonIgnore
@AssertTrue
public boolean isAnonymousOrIdentifiedGroup() {
return (
Expand All @@ -40,6 +42,7 @@ private boolean isValidConsumer(Agent consumer) {
}

@Override
@JsonIgnore
public boolean isValidAuthority() {
return (
member.size() == 2 &&
Expand All @@ -51,6 +54,7 @@ public boolean isValidAuthority() {
}

@Override
@JsonIgnore
@AssertFalse
public boolean isEmpty() {
// zero-length member arrays still count as non-empty
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
package com.yetanalytics.xapi.model;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;

Expand Down Expand Up @@ -33,7 +34,10 @@ public void setDescription(LangMap description) {
this.description = description;
}

// Validation

@Override
@JsonIgnore
@AssertFalse
public boolean isEmpty() {
return id == null && description == null;
Expand Down
2 changes: 2 additions & 0 deletions src/main/java/com/yetanalytics/xapi/model/LangMap.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import java.util.Map;
import java.util.Set;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.yetanalytics.xapi.model.deserializers.LangMapDeserializer;
Expand Down Expand Up @@ -75,6 +76,7 @@ public Map<String, String> getMap() {
}

@Override
@JsonIgnore
@AssertFalse
public boolean isEmpty() {
return languageHashMap.isEmpty();
Expand Down
4 changes: 4 additions & 0 deletions src/main/java/com/yetanalytics/xapi/model/Result.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.yetanalytics.xapi.model;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;

Expand Down Expand Up @@ -58,7 +59,10 @@ public void setExtensions(Extensions extensions) {
this.extensions = extensions;
}

// Validation

@Override
@JsonIgnore
@AssertFalse
public boolean isEmpty() {
return (
Expand Down
5 changes: 5 additions & 0 deletions src/main/java/com/yetanalytics/xapi/model/Score.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import java.math.BigDecimal;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;

Expand Down Expand Up @@ -52,6 +53,7 @@ public void setScaled(BigDecimal scaled) {

// Validation

@JsonIgnore
@AssertTrue
public boolean isMinLessThanRaw() {
if (raw != null && min != null) {
Expand All @@ -61,6 +63,7 @@ public boolean isMinLessThanRaw() {
}
}

@JsonIgnore
@AssertTrue
public boolean isRawLessThanMax() {
if (raw != null && max != null) {
Expand All @@ -70,6 +73,7 @@ public boolean isRawLessThanMax() {
}
}

@JsonIgnore
@AssertTrue
public boolean isMinLessThanMax() {
if (min != null && max != null) {
Expand All @@ -80,6 +84,7 @@ public boolean isMinLessThanMax() {
}

@Override
@JsonIgnore
@AssertFalse
public boolean isEmpty() {
return raw == null && min == null && max == null && scaled == null;
Expand Down
7 changes: 7 additions & 0 deletions src/main/java/com/yetanalytics/xapi/model/Statement.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import java.util.List;
import java.util.UUID;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
Expand Down Expand Up @@ -145,6 +146,7 @@ public void setAttachments(List<Attachment> attachments) {

// Validation

@JsonIgnore
@AssertTrue
public boolean isValidVoidingStatement() {
if (verb != null && verb.isVoiding()) {
Expand All @@ -162,6 +164,7 @@ private boolean isObjectActivity() {
}
}

@JsonIgnore
@AssertTrue
public boolean isValidContextRevision() {
return (
Expand All @@ -171,6 +174,7 @@ public boolean isValidContextRevision() {
);
}

@JsonIgnore
@AssertTrue
public boolean isValidContextPlatform() {
return (
Expand All @@ -181,6 +185,7 @@ public boolean isValidContextPlatform() {
}

// TODO: Somehow validate this on the Authority object itself
@JsonIgnore
@AssertTrue
public boolean isValidAuthority() {
return authority == null || authority.isValidAuthority();
Expand All @@ -198,6 +203,7 @@ private boolean isValidSubStmt() {

// TODO: Validate this on the SubStatement itself
// (e.g. setting the objectType field)
@JsonIgnore
@AssertTrue
public boolean isValidSubStatement() {
// System.out.println("Object is Statement: " + (object instanceof Statement));
Expand All @@ -211,6 +217,7 @@ public boolean isValidSubStatement() {
}

@Override
@JsonIgnore
@AssertFalse
public boolean isEmpty() {
return (
Expand Down
2 changes: 2 additions & 0 deletions src/main/java/com/yetanalytics/xapi/model/StatementRef.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import java.util.UUID;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
Expand All @@ -28,6 +29,7 @@ public void setId(UUID id) {
}

@Override
@JsonIgnore
@AssertFalse
public boolean isEmpty() {
return id == null;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import java.util.List;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;

Expand Down Expand Up @@ -36,6 +37,7 @@ public void setMore(String more) {
}

@Override
@JsonIgnore
@AssertFalse
public boolean isEmpty() {
return statements == null && more == null;
Expand Down
Loading

0 comments on commit 46b9f84

Please sign in to comment.