[java-idp-plugin-oidc-op-oidfed] 01/02: Simplify wrapper implementation construction and modification via code

Codeberg noreply at shibboleth.net
Thu Jan 22 17:41:50 UTC 2026


This is an automated email from the git hooks/post-receive script.

codeberg pushed a commit to branch dev/CACHE-REFACTOR
in repository java-idp-plugin-oidc-op-oidfed.

View the commit online:
https://codeberg.org/Shibboleth/java-idp-plugin-oidc-op-oidfed/commit/e5ad8c3cab0253142ace60d3886ab2bb6ef0c438

commit e5ad8c3cab0253142ace60d3886ab2bb6ef0c438
Author: Henri Mikkonen <henri.mikkonen at iki.fi>
AuthorDate: Thu Jan 22 19:21:39 2026 +0200

    Simplify wrapper implementation construction and modification via code
    
    - Make constructors public
    - Provide means to modify payloads
---
 .../metadata/impl/EntityConfigurationImpl.java     |  2 +-
 .../oidfed/metadata/impl/EntityStatementImpl.java  |  2 +-
 .../metadata/impl/ResolveEntityResponseImpl.java   |  2 +-
 .../metadata/impl/SubordinateStatementImpl.java    |  2 +-
 .../op/oidfed/metadata/impl/TrustMarkImpl.java     |  2 +-
 .../oidfed/metadata/impl/TrustMarkStatusImpl.java  |  2 +-
 .../impl/BaseExpirableSubjectPayloadImpl.java      | 21 ++++++++++++++++++-
 .../payload/impl/BaseMetadataPayloadImpl.java      | 19 +++++++++++++++++
 .../{ => payload}/impl/BasePayloadImpl.java        | 24 +++++++++++++++++++++-
 .../impl/EntityConfigurationPayloadImpl.java       | 21 +++++++++++++++++++
 .../payload/impl/EntityStatementPayloadImpl.java   | 20 ++++++++++++++++++
 .../impl/ResolveEntityResponsePayloadImpl.java     | 20 +++++++++++++++++-
 .../impl/SubordinateStatementPayloadImpl.java      | 21 +++++++++++++++++++
 .../payload/impl/TrustMarkPayloadImpl.java         | 21 +++++++++++++++++++
 .../payload/impl/TrustMarkStatusPayloadImpl.java   | 20 +++++++++++++++++-
 15 files changed, 189 insertions(+), 10 deletions(-)

diff --git a/idp-oidfed-op-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/impl/EntityConfigurationImpl.java b/idp-oidfed-op-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/impl/EntityConfigurationImpl.java
index d6cb90e..f484422 100644
--- a/idp-oidfed-op-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/impl/EntityConfigurationImpl.java
+++ b/idp-oidfed-op-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/impl/EntityConfigurationImpl.java
@@ -39,7 +39,7 @@ public class EntityConfigurationImpl extends EntityStatementImpl<EntityConfigura
      * @param payload entity configuration payload
      * @throws ConstraintViolationException if the payload syntax/content is not expected
      */
-    protected EntityConfigurationImpl(@Nonnull final SignedJWT signedJwt,
+    public EntityConfigurationImpl(@Nonnull final SignedJWT signedJwt,
             @Nonnull final EntityConfigurationPayload payload) 
         throws ConstraintViolationException {
         super(signedJwt, payload);
diff --git a/idp-oidfed-op-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/impl/EntityStatementImpl.java b/idp-oidfed-op-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/impl/EntityStatementImpl.java
index 07e68b2..d996b16 100644
--- a/idp-oidfed-op-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/impl/EntityStatementImpl.java
+++ b/idp-oidfed-op-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/impl/EntityStatementImpl.java
@@ -40,7 +40,7 @@ public abstract class EntityStatementImpl<T extends EntityStatementPayload> exte
      * @param payload entity statement payload
      * @throws ConstraintViolationException if the payload syntax/content is not expected
      */
-    protected EntityStatementImpl(@Nonnull final SignedJWT signedJwt, @Nonnull final T payload) 
+    public EntityStatementImpl(@Nonnull final SignedJWT signedJwt, @Nonnull final T payload) 
         throws ConstraintViolationException {
         super(signedJwt, payload);
         Constraint.isNotEmpty(payload.getSubject(), "Subject cannot be empty in the payload");
diff --git a/idp-oidfed-op-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/impl/ResolveEntityResponseImpl.java b/idp-oidfed-op-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/impl/ResolveEntityResponseImpl.java
index c29af83..ecdf38f 100644
--- a/idp-oidfed-op-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/impl/ResolveEntityResponseImpl.java
+++ b/idp-oidfed-op-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/impl/ResolveEntityResponseImpl.java
@@ -39,7 +39,7 @@ public class ResolveEntityResponseImpl extends AbstractJWTWrapperImpl<ResolveEnt
      * @param payload entity configuration payload
      * @throws ConstraintViolationException if the payload syntax/content is not expected
      */
-    protected ResolveEntityResponseImpl(@Nonnull final SignedJWT signedJwt,
+    public ResolveEntityResponseImpl(@Nonnull final SignedJWT signedJwt,
             @Nonnull final ResolveEntityResponsePayload payload) 
         throws ConstraintViolationException {
         super(signedJwt, payload);
diff --git a/idp-oidfed-op-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/impl/SubordinateStatementImpl.java b/idp-oidfed-op-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/impl/SubordinateStatementImpl.java
index 18ea446..8698405 100644
--- a/idp-oidfed-op-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/impl/SubordinateStatementImpl.java
+++ b/idp-oidfed-op-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/impl/SubordinateStatementImpl.java
@@ -39,7 +39,7 @@ public class SubordinateStatementImpl extends EntityStatementImpl<SubordinateSta
      * @param payload subordinate statement payload
      * @throws ConstraintViolationException if the payload syntax/content is not expected
      */
-    protected SubordinateStatementImpl(@Nonnull final SignedJWT signedJwt,
+    public SubordinateStatementImpl(@Nonnull final SignedJWT signedJwt,
             @Nonnull final SubordinateStatementPayload payload) 
         throws ConstraintViolationException {
         super(signedJwt, payload);
diff --git a/idp-oidfed-op-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/impl/TrustMarkImpl.java b/idp-oidfed-op-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/impl/TrustMarkImpl.java
index 43099ed..17a7b3b 100644
--- a/idp-oidfed-op-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/impl/TrustMarkImpl.java
+++ b/idp-oidfed-op-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/impl/TrustMarkImpl.java
@@ -38,7 +38,7 @@ public class TrustMarkImpl extends AbstractJWTWrapperImpl<TrustMarkPayload> impl
      * @param payload entity configuration payload
      * @throws ConstraintViolationException if the payload syntax/content is not expected
      */
-    protected TrustMarkImpl(@Nonnull final SignedJWT signedJwt,
+    public TrustMarkImpl(@Nonnull final SignedJWT signedJwt,
             @Nonnull final TrustMarkPayload payload) 
         throws ConstraintViolationException {
         super(signedJwt, payload);
diff --git a/idp-oidfed-op-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/impl/TrustMarkStatusImpl.java b/idp-oidfed-op-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/impl/TrustMarkStatusImpl.java
index 5d8191a..5dacdbb 100644
--- a/idp-oidfed-op-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/impl/TrustMarkStatusImpl.java
+++ b/idp-oidfed-op-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/impl/TrustMarkStatusImpl.java
@@ -39,7 +39,7 @@ public class TrustMarkStatusImpl extends AbstractJWTWrapperImpl<TrustMarkStatusP
      * @param payload entity configuration payload
      * @throws ConstraintViolationException if the payload syntax/content is not expected
      */
-    protected TrustMarkStatusImpl(@Nonnull final SignedJWT signedJwt,
+    public TrustMarkStatusImpl(@Nonnull final SignedJWT signedJwt,
             @Nonnull final TrustMarkStatusPayload payload) 
         throws ConstraintViolationException {
         super(signedJwt, payload);
diff --git a/idp-oidfed-op-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/payload/impl/BaseExpirableSubjectPayloadImpl.java b/idp-oidfed-op-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/payload/impl/BaseExpirableSubjectPayloadImpl.java
index b72314d..4c7745c 100644
--- a/idp-oidfed-op-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/payload/impl/BaseExpirableSubjectPayloadImpl.java
+++ b/idp-oidfed-op-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/payload/impl/BaseExpirableSubjectPayloadImpl.java
@@ -16,10 +16,11 @@ package net.shibboleth.idp.plugin.oidc.op.oidfed.metadata.payload.impl;
 
 import java.time.Instant;
 
+import javax.annotation.Nonnull;
+
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.google.common.base.MoreObjects;
 
-import net.shibboleth.idp.plugin.oidc.op.oidfed.metadata.impl.BasePayloadImpl;
 import net.shibboleth.idp.plugin.oidc.op.oidfed.metadata.payload.BaseExpirableSubjectPayload;
 
 /**
@@ -33,6 +34,24 @@ public class BaseExpirableSubjectPayloadImpl extends BasePayloadImpl implements
     /** Expiration time after which this statement MUST NOT be accepted for processing. */
     @JsonProperty("exp") private Instant expiration;
 
+    /**
+     * Constructor.
+     */
+    public BaseExpirableSubjectPayloadImpl() {
+        // no op
+    }
+
+    /**
+     * Constructor.
+     *
+     * @param payload content
+     */
+    public BaseExpirableSubjectPayloadImpl(@Nonnull final BaseExpirableSubjectPayload payload) {
+        super(payload);
+        setSubject(payload.getSubject());
+        setExpiration(payload.getExpiration());
+    }
+
     /**
      * Get the subject.
      * 
diff --git a/idp-oidfed-op-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/payload/impl/BaseMetadataPayloadImpl.java b/idp-oidfed-op-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/payload/impl/BaseMetadataPayloadImpl.java
index f489306..db6c0d1 100644
--- a/idp-oidfed-op-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/payload/impl/BaseMetadataPayloadImpl.java
+++ b/idp-oidfed-op-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/payload/impl/BaseMetadataPayloadImpl.java
@@ -14,6 +14,8 @@
 
 package net.shibboleth.idp.plugin.oidc.op.oidfed.metadata.payload.impl;
 
+import javax.annotation.Nonnull;
+
 import com.fasterxml.jackson.annotation.JsonProperty;
 
 import net.shibboleth.idp.plugin.oidc.op.oidfed.metadata.payload.BaseMetadataPayload;
@@ -27,6 +29,23 @@ public class BaseMetadataPayloadImpl extends BaseExpirableSubjectPayloadImpl imp
     /** A JSON object that declares roles that the Entity plays per its Entity Types. */
     @JsonProperty("metadata") private Metadata metadata;
 
+    /**
+     * Constructor.
+     */
+    public BaseMetadataPayloadImpl() {
+        // no op
+    }
+
+    /**
+     * Constructor.
+     *
+     * @param payload content
+     */
+    public BaseMetadataPayloadImpl(@Nonnull final BaseMetadataPayload payload) {
+        super(payload);
+        setMetadata(payload.getMetadata());
+    }
+
     /**
      * Get the metadata.
      * 
diff --git a/idp-oidfed-op-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/impl/BasePayloadImpl.java b/idp-oidfed-op-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/payload/impl/BasePayloadImpl.java
similarity index 80%
rename from idp-oidfed-op-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/impl/BasePayloadImpl.java
rename to idp-oidfed-op-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/payload/impl/BasePayloadImpl.java
index e7470b9..fb6b302 100644
--- a/idp-oidfed-op-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/impl/BasePayloadImpl.java
+++ b/idp-oidfed-op-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/payload/impl/BasePayloadImpl.java
@@ -12,7 +12,7 @@
  * limitations under the License.
  */
 
-package net.shibboleth.idp.plugin.oidc.op.oidfed.metadata.impl;
+package net.shibboleth.idp.plugin.oidc.op.oidfed.metadata.payload.impl;
 
 import java.time.Instant;
 import java.util.HashMap;
@@ -24,6 +24,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
 import com.google.common.base.MoreObjects;
 
 import net.shibboleth.idp.plugin.oidc.op.oidfed.metadata.BasePayload;
+import net.shibboleth.shared.logic.Constraint;
 
 /**
  * Base payload for claims used within all payloads.
@@ -39,6 +40,27 @@ public class BasePayloadImpl implements BasePayload {
     /** The map of any other claims not directly mapped. */
     private final Map<String, Object> customClaims = new HashMap<>();
 
+    /**
+     * Constructor.
+     */
+    public BasePayloadImpl() {
+        // no op
+    }
+
+    /**
+     * Constructor.
+     *
+     * @param payload content
+     */
+    public BasePayloadImpl(final BasePayload payload) {
+        Constraint.isNotNull(payload, "Payload cannot be null");
+        setIssuer(payload.getIssuer());
+        setIssuedAt(payload.getIssuedAt());
+        for (final String customClaim : payload.getCustomClaims().keySet()) {
+            setCustomClaims(customClaim, payload.getCustomClaims().get(customClaim));
+        }
+    }
+
     /**
      * Get the issuer.
      * 
diff --git a/idp-oidfed-op-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/payload/impl/EntityConfigurationPayloadImpl.java b/idp-oidfed-op-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/payload/impl/EntityConfigurationPayloadImpl.java
index af5ca0e..a752753 100644
--- a/idp-oidfed-op-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/payload/impl/EntityConfigurationPayloadImpl.java
+++ b/idp-oidfed-op-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/payload/impl/EntityConfigurationPayloadImpl.java
@@ -17,6 +17,7 @@ package net.shibboleth.idp.plugin.oidc.op.oidfed.metadata.payload.impl;
 import java.util.List;
 import java.util.Map;
 
+import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
@@ -48,6 +49,26 @@ public class EntityConfigurationPayloadImpl extends EntityStatementPayloadImpl i
     /** A map of Owners of the Trust Marks. */
     @JsonProperty("trust_mark_owners") private Map<String, Map<String, Object>> trustMarkOwners;
 
+    /**
+     * Constructor.
+     */
+    public EntityConfigurationPayloadImpl() {
+        // no op
+    }
+
+    /**
+     * Constructor.
+     *
+     * @param payload content
+     */
+    public EntityConfigurationPayloadImpl(@Nonnull final EntityConfigurationPayload payload) {
+        super(payload);
+        setAuthorityHints(payload.getAuthorityHints());
+        setTrustAnchorHints(payload.getTrustAnchorHints());
+        setTrustMarks(payload.getTrustMarks());
+        setTrustMarkIssuers(payload.getTrustMarkIssuers());
+        setTrustMarkOwners(payload.getTrustMarkOwners());
+    }
 
     /**
      * {@inheritDoc}
diff --git a/idp-oidfed-op-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/payload/impl/EntityStatementPayloadImpl.java b/idp-oidfed-op-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/payload/impl/EntityStatementPayloadImpl.java
index 56cef83..8aa913d 100644
--- a/idp-oidfed-op-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/payload/impl/EntityStatementPayloadImpl.java
+++ b/idp-oidfed-op-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/payload/impl/EntityStatementPayloadImpl.java
@@ -16,6 +16,8 @@ package net.shibboleth.idp.plugin.oidc.op.oidfed.metadata.payload.impl;
 
 import java.util.List;
 
+import javax.annotation.Nonnull;
+
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.google.common.base.MoreObjects;
 import com.nimbusds.jose.jwk.JWKSet;
@@ -34,6 +36,24 @@ public class EntityStatementPayloadImpl extends BaseMetadataPayloadImpl implemen
     /** The critical Claims that must be understood and processed. */
     @JsonProperty("crit") private List<String> critical;
 
+    /**
+     * Constructor.
+     */
+    public EntityStatementPayloadImpl() {
+        // no op
+    }
+
+    /**
+     * Constructor.
+     *
+     * @param payload content
+     */
+    public EntityStatementPayloadImpl(@Nonnull final EntityStatementPayload payload) {
+        super(payload);
+        setJwks(payload.getJwks());
+        setCritical(payload.getCritical());
+    }
+
     /**
      * Get the JWK set.
      * 
diff --git a/idp-oidfed-op-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/payload/impl/ResolveEntityResponsePayloadImpl.java b/idp-oidfed-op-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/payload/impl/ResolveEntityResponsePayloadImpl.java
index 64f77ac..653a839 100644
--- a/idp-oidfed-op-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/payload/impl/ResolveEntityResponsePayloadImpl.java
+++ b/idp-oidfed-op-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/payload/impl/ResolveEntityResponsePayloadImpl.java
@@ -17,6 +17,7 @@ package net.shibboleth.idp.plugin.oidc.op.oidfed.metadata.payload.impl;
 import java.util.List;
 import java.util.Map;
 
+import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
@@ -35,6 +36,23 @@ public class ResolveEntityResponsePayloadImpl extends BaseMetadataPayloadImpl im
     /** An array of Trust Marks. */
     @JsonProperty("trust_marks") private List<Map<String,String>> trustMarks;
 
+    /**
+     * Constructor.
+     */
+    public ResolveEntityResponsePayloadImpl() {
+        // no op
+    }
+
+    /**
+     * Constructor.
+     *
+     * @param payload content
+     */
+    public ResolveEntityResponsePayloadImpl(@Nonnull final ResolveEntityResponsePayload payload) {
+        super(payload);
+        setTrustChain(payload.getTrustChain());
+        setTrustMarks(payload.getTrustMarks());
+    }
     /**
      * {@inheritDoc}
      */
@@ -64,7 +82,7 @@ public class ResolveEntityResponsePayloadImpl extends BaseMetadataPayloadImpl im
      * 
      * @param chain trust chain
      */
-    public void setTrustAnchorHints(final @Nullable List<String> chain) {
+    public void setTrustChain(final @Nullable List<String> chain) {
        trustChain = chain;
     }
 
diff --git a/idp-oidfed-op-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/payload/impl/SubordinateStatementPayloadImpl.java b/idp-oidfed-op-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/payload/impl/SubordinateStatementPayloadImpl.java
index 972bb25..708acf2 100644
--- a/idp-oidfed-op-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/payload/impl/SubordinateStatementPayloadImpl.java
+++ b/idp-oidfed-op-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/payload/impl/SubordinateStatementPayloadImpl.java
@@ -17,6 +17,7 @@ package net.shibboleth.idp.plugin.oidc.op.oidfed.metadata.payload.impl;
 import java.util.List;
 import java.util.Map;
 
+import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
@@ -45,6 +46,26 @@ public class SubordinateStatementPayloadImpl extends EntityStatementPayloadImpl
     /** A string containing the fetch endpoint URL from which the entity statement was issued. */
     @JsonProperty("source_endpoint") private String sourceEndpoint;
 
+    /**
+     * Constructor.
+     */
+    public SubordinateStatementPayloadImpl() {
+        // no op
+    }
+
+    /**
+     * Constructor.
+     *
+     * @param payload content
+     */
+    public SubordinateStatementPayloadImpl(@Nonnull final SubordinateStatementPayload payload) {
+        super(payload);
+        setConstraints(payload.getConstraints());
+        setMetadataPolicy(payload.getMetadataPolicy());
+        setMetadataPolicyCritical(payload.getMetadataPolicyCritical());
+        setSourceEndpoint(payload.getSourceEndpoint());
+    }
+
     /**
      * {@inheritDoc}
      */
diff --git a/idp-oidfed-op-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/payload/impl/TrustMarkPayloadImpl.java b/idp-oidfed-op-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/payload/impl/TrustMarkPayloadImpl.java
index 69c5b1c..1fa5fcd 100644
--- a/idp-oidfed-op-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/payload/impl/TrustMarkPayloadImpl.java
+++ b/idp-oidfed-op-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/payload/impl/TrustMarkPayloadImpl.java
@@ -14,6 +14,7 @@
 
 package net.shibboleth.idp.plugin.oidc.op.oidfed.metadata.payload.impl;
 
+import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
@@ -38,6 +39,26 @@ public class TrustMarkPayloadImpl extends BaseExpirableSubjectPayloadImpl implem
     /** A Trust Mark delegation JWT. */
     @JsonProperty("delegation") private String delegation;
 
+    /**
+     * Constructor.
+     */
+    public TrustMarkPayloadImpl() {
+        // no op
+    }
+
+    /**
+     * Constructor.
+     *
+     * @param payload content
+     */
+    public TrustMarkPayloadImpl(@Nonnull final TrustMarkPayload payload) {
+        super(payload);
+        setTrustMarkType(payload.getTrustMarkType());
+        setLogoUri(payload.getLogoUri());
+        setReference(payload.getReference());
+        setDelegation(payload.getDelegation());
+    }
+
     /**
      * {@inheritDoc}
      */
diff --git a/idp-oidfed-op-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/payload/impl/TrustMarkStatusPayloadImpl.java b/idp-oidfed-op-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/payload/impl/TrustMarkStatusPayloadImpl.java
index 51fc480..f379954 100644
--- a/idp-oidfed-op-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/payload/impl/TrustMarkStatusPayloadImpl.java
+++ b/idp-oidfed-op-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/payload/impl/TrustMarkStatusPayloadImpl.java
@@ -14,12 +14,12 @@
 
 package net.shibboleth.idp.plugin.oidc.op.oidfed.metadata.payload.impl;
 
+import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.google.common.base.MoreObjects;
 
-import net.shibboleth.idp.plugin.oidc.op.oidfed.metadata.impl.BasePayloadImpl;
 import net.shibboleth.idp.plugin.oidc.op.oidfed.metadata.payload.TrustMarkStatusPayload;
 
 /**
@@ -33,6 +33,24 @@ public class TrustMarkStatusPayloadImpl extends BasePayloadImpl implements Trust
     /** A status indicator for the Trust Mark. */
     @JsonProperty("status") private String status;
 
+    /**
+     * Constructor.
+     */
+    public TrustMarkStatusPayloadImpl() {
+        // no op
+    }
+
+    /**
+     * Constructor.
+     *
+     * @param payload content
+     */
+    public TrustMarkStatusPayloadImpl(@Nonnull final TrustMarkStatusPayload payload) {
+        super(payload);
+        setTrustMark(payload.getTrustMark());
+        setStatus(payload.getStatus());
+    }
+
     /**
      * {@inheritDoc}
      */

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the commits mailing list