Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ plugins {
id 'io.qameta.allure' version '2.11.2'
id 'org.ajoberstar.grgit' version '5.2.0'
id 'org.jreleaser' version '1.19.0'
id("org.openapi.generator") version "7.16.0"
id("org.openapi.generator") version "7.18.0"
}

repositories {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
import org.cardanofoundation.signify.generated.keria.model.GroupMember;
import org.cardanofoundation.signify.generated.keria.model.HabState;
import org.cardanofoundation.signify.generated.keria.model.KeyStateRecord;
import org.cardanofoundation.signify.generated.keria.model.KtValue;
import org.cardanofoundation.signify.generated.keria.model.KeyStateRecordKt;

import static org.cardanofoundation.signify.cesr.util.CoreUtil.Versionage;
import static org.cardanofoundation.signify.core.Httping.parseRangeHeaders;
Expand Down Expand Up @@ -395,8 +395,7 @@ public EventResult rotate(String name, RotateIdentifierArgs kargs) throws Interr
String dig = state.getD();
int ridx = Integer.parseInt(state.getS(), 16) + 1;
List<String> wits = state.getB();
Object isith = ((KtValue) state.getNt()).raw();

Object isith = org.cardanofoundation.signify.app.config.KeyStateRecordKtDeserializer.getRawValue(state.getNt());
Object nsith = kargs.getNsith() != null ? kargs.getNsith() : isith;

// if isith is None: # compute default from newly rotated verfers above
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ public static void configure(ObjectMapper mapper) {
mapper.registerModule(new InsertionOrderAdditionalPropertiesModule());

SimpleModule module = new SimpleModule("GeneratedModelModule");
module.addDeserializer(KeyStateRecordKt.class, new KeyStateRecordKtDeserializer());
module.addDeserializer(ICPV1Kt.class, new ICPV1KtDeserializer());
module.addDeserializer(KeyStateRecordKt.class, new KeyStateRecordKtDeserializer());
mapper.registerModule(module);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,36 +3,38 @@
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.JsonDeserializer;
import com.fasterxml.jackson.databind.JsonNode;
import org.cardanofoundation.signify.generated.keria.model.KeyStateRecordKt;
import org.cardanofoundation.signify.generated.keria.model.KtValue;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.WeakHashMap;

public class KeyStateRecordKtDeserializer extends JsonDeserializer<KeyStateRecordKt> {
// WeakHashMap to avoid memory leaks (keys are GC'd when no longer referenced)
private static final Map<KeyStateRecordKt, Object> rawValueMap = new WeakHashMap<>();

/**
* Deserializes the polymorphic {@code kt}/{@code nt} fields into a {@link KtValue}.
* KERIA returns these as either a plain string (unweighted) or an array of strings (weighted).
*/
class KeyStateRecordKtDeserializer extends JsonDeserializer<KeyStateRecordKt> {
public static Object getRawValue(KeyStateRecordKt instance) {
return rawValueMap.get(instance);
}

@Override
public KeyStateRecordKt deserialize(JsonParser p, DeserializationContext ctxt) throws IOException {
JsonNode node = p.getCodec().readTree(p);

if (node.isTextual()) {
return KtValue.unweighted(node.asText());
Object value;
switch (p.currentToken()) {
case VALUE_STRING:
value = p.getValueAsString();
break;
case START_ARRAY:
value = ctxt.readValue(p, Object.class); // parse array
break;
case START_OBJECT:
value = ctxt.readValue(p, Object.class); // parse object
break;
default:
value = null;
break;
}

if (node.isArray()) {
List<String> weights = new ArrayList<>();
for (JsonNode item : node) {
weights.add(item.asText());
}
return KtValue.weighted(weights);
}

return KtValue.unweighted(node.asText());
KeyStateRecordKt instance = new KeyStateRecordKt();
rawValueMap.put(instance, value);
return instance;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
package org.cardanofoundation.signify.app.config;

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;

@JsonDeserialize(using = KeyStateRecordKtDeserializer.class)
public abstract class KeyStateRecordKtMixIn {}
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@
import com.fasterxml.jackson.annotation.JsonAnySetter;
import java.util.Objects;
import java.util.Arrays;
import java.util.Locale;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonCreator;
Expand All @@ -36,7 +35,7 @@
ACDCAttributes.JSON_PROPERTY_I,
ACDCAttributes.JSON_PROPERTY_U
})
@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.16.0")
@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.18.0")
public class ACDCAttributes {
public static final String JSON_PROPERTY_DT = "dt";
@jakarta.annotation.Nullable
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@

import java.util.Objects;
import java.util.Arrays;
import java.util.Locale;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonCreator;
Expand Down Expand Up @@ -46,7 +45,7 @@
ACDCV1.JSON_PROPERTY_A_UPPER
})
@JsonTypeName("ACDC_V_1")
@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.16.0")
@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.18.0")
public class ACDCV1 {
public static final String JSON_PROPERTY_V = "v";
@jakarta.annotation.Nonnull
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,8 @@

package org.cardanofoundation.signify.generated.keria.model;

import java.util.Map;
import java.util.HashMap;
import com.fasterxml.jackson.annotation.JsonAnyGetter;
import com.fasterxml.jackson.annotation.JsonAnySetter;
import java.util.Objects;
import java.util.Arrays;
import java.util.Locale;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonCreator;
Expand All @@ -46,7 +41,7 @@
ACDCV1OneOf.JSON_PROPERTY_R
})
@JsonTypeName("ACDC_V_1_oneOf")
@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.16.0")
@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.18.0")
public class ACDCV1OneOf {
public static final String JSON_PROPERTY_V = "v";
@jakarta.annotation.Nonnull
Expand Down Expand Up @@ -328,49 +323,6 @@ public void setR(@jakarta.annotation.Nullable Map<String, Object> r) {
this.r = r;
}

/**
* A container for additional, undeclared properties.
* This is a holder for any undeclared properties as specified with
* the 'additionalProperties' keyword in the OAS document.
*/
private Map<String, Object> additionalProperties;

/**
* Set the additional (undeclared) property with the specified name and value.
* If the property does not already exist, create it otherwise replace it.
* @param key the name of the property
* @param value the value of the property
* @return self reference
*/
@JsonAnySetter
public ACDCV1OneOf putAdditionalProperty(String key, Object value) {
if (this.additionalProperties == null) {
this.additionalProperties = new HashMap<String, Object>();
}
this.additionalProperties.put(key, value);
return this;
}

/**
* Return the additional (undeclared) properties.
* @return the additional (undeclared) properties
*/
@JsonAnyGetter
public Map<String, Object> getAdditionalProperties() {
return additionalProperties;
}

/**
* Return the additional (undeclared) property with the specified name.
* @param key the name of the property
* @return the additional (undeclared) property with the specified name
*/
public Object getAdditionalProperty(String key) {
if (this.additionalProperties == null) {
return null;
}
return this.additionalProperties.get(key);
}

@Override
public boolean equals(Object o) {
Expand All @@ -389,13 +341,12 @@ public boolean equals(Object o) {
Objects.equals(this.s, acDCV1OneOf.s) &&
Objects.equals(this.a, acDCV1OneOf.a) &&
Objects.equals(this.e, acDCV1OneOf.e) &&
Objects.equals(this.r, acDCV1OneOf.r) &&
Objects.equals(this.additionalProperties, acDCV1OneOf.additionalProperties);
Objects.equals(this.r, acDCV1OneOf.r);
}

@Override
public int hashCode() {
return Objects.hash(v, d, u, i, ri, s, a, e, r, additionalProperties);
return Objects.hash(v, d, u, i, ri, s, a, e, r);
}

@Override
Expand All @@ -411,7 +362,6 @@ public String toString() {
sb.append(" a: ").append(toIndentedString(a)).append("\n");
sb.append(" e: ").append(toIndentedString(e)).append("\n");
sb.append(" r: ").append(toIndentedString(r)).append("\n");
sb.append(" additionalProperties: ").append(toIndentedString(additionalProperties)).append("\n");
sb.append("}");
return sb.toString();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,8 @@

package org.cardanofoundation.signify.generated.keria.model;

import java.util.Map;
import java.util.HashMap;
import com.fasterxml.jackson.annotation.JsonAnyGetter;
import com.fasterxml.jackson.annotation.JsonAnySetter;
import java.util.Objects;
import java.util.Arrays;
import java.util.Locale;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonCreator;
Expand All @@ -36,7 +31,7 @@
ACDCV1OneOf1.JSON_PROPERTY_A_UPPER
})
@JsonTypeName("ACDC_V_1_oneOf_1")
@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.16.0")
@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.18.0")
public class ACDCV1OneOf1 {
public static final String JSON_PROPERTY_A_UPPER = "A";
@jakarta.annotation.Nullable
Expand Down Expand Up @@ -70,49 +65,6 @@ public void setAUpper(@jakarta.annotation.Nullable ACDCV1OneOf1A AUpper) {
this.AUpper = AUpper;
}

/**
* A container for additional, undeclared properties.
* This is a holder for any undeclared properties as specified with
* the 'additionalProperties' keyword in the OAS document.
*/
private Map<String, Object> additionalProperties;

/**
* Set the additional (undeclared) property with the specified name and value.
* If the property does not already exist, create it otherwise replace it.
* @param key the name of the property
* @param value the value of the property
* @return self reference
*/
@JsonAnySetter
public ACDCV1OneOf1 putAdditionalProperty(String key, Object value) {
if (this.additionalProperties == null) {
this.additionalProperties = new HashMap<String, Object>();
}
this.additionalProperties.put(key, value);
return this;
}

/**
* Return the additional (undeclared) properties.
* @return the additional (undeclared) properties
*/
@JsonAnyGetter
public Map<String, Object> getAdditionalProperties() {
return additionalProperties;
}

/**
* Return the additional (undeclared) property with the specified name.
* @param key the name of the property
* @return the additional (undeclared) property with the specified name
*/
public Object getAdditionalProperty(String key) {
if (this.additionalProperties == null) {
return null;
}
return this.additionalProperties.get(key);
}

@Override
public boolean equals(Object o) {
Expand All @@ -123,21 +75,19 @@ public boolean equals(Object o) {
return false;
}
ACDCV1OneOf1 acDCV1OneOf1 = (ACDCV1OneOf1) o;
return Objects.equals(this.AUpper, acDCV1OneOf1.AUpper) &&
Objects.equals(this.additionalProperties, acDCV1OneOf1.additionalProperties);
return Objects.equals(this.AUpper, acDCV1OneOf1.AUpper);
}

@Override
public int hashCode() {
return Objects.hash(AUpper, additionalProperties);
return Objects.hash(AUpper);
}

@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class ACDCV1OneOf1 {\n");
sb.append(" AUpper: ").append(toIndentedString(AUpper)).append("\n");
sb.append(" additionalProperties: ").append(toIndentedString(additionalProperties)).append("\n");
sb.append("}");
return sb.toString();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@

import java.util.Objects;
import java.util.Arrays;
import java.util.Locale;
import com.fasterxml.jackson.annotation.JsonTypeName;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
Expand All @@ -27,7 +26,7 @@
@JsonPropertyOrder({
})
@JsonTypeName("ACDC_V_1_oneOf_1_A")
@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.16.0")
@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.18.0")
public class ACDCV1OneOf1A {
public ACDCV1OneOf1A() {
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@

import java.util.Objects;
import java.util.Arrays;
import java.util.Locale;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonCreator;
Expand Down Expand Up @@ -46,7 +45,7 @@
ACDCV2.JSON_PROPERTY_A_UPPER
})
@JsonTypeName("ACDC_V_2")
@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.16.0")
@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.18.0")
public class ACDCV2 {
public static final String JSON_PROPERTY_V = "v";
@jakarta.annotation.Nonnull
Expand Down
Loading
Loading