diff --git a/sdk/digitaltwins/azure-digitaltwins-core/src/main/java/com/azure/digitaltwins/core/BasicDigitalTwinMetadata.java b/sdk/digitaltwins/azure-digitaltwins-core/src/main/java/com/azure/digitaltwins/core/BasicDigitalTwinMetadata.java index 4eeb513d2a6a..963dd912e9d7 100644 --- a/sdk/digitaltwins/azure-digitaltwins-core/src/main/java/com/azure/digitaltwins/core/BasicDigitalTwinMetadata.java +++ b/sdk/digitaltwins/azure-digitaltwins-core/src/main/java/com/azure/digitaltwins/core/BasicDigitalTwinMetadata.java @@ -25,7 +25,7 @@ public final class BasicDigitalTwinMetadata { private String modelId; @JsonIgnore - private final Map propertyMetadata = new HashMap<>(); + private final Map propertyMetadata = new HashMap<>(); /** * Creates an instance of digital twin metadata. @@ -56,7 +56,7 @@ public BasicDigitalTwinMetadata setModelId(String modelId) { * @return The metadata about changes on properties on a component. */ @JsonAnyGetter - public Map getPropertyMetadata() { + public Map getPropertyMetadata() { return propertyMetadata; } @@ -68,7 +68,7 @@ public Map getPropertyMetadata() { * @return The BasicDigitalTwin object itself. */ @JsonAnySetter - public BasicDigitalTwinMetadata addPropertyMetadata(String key, Object value) { + public BasicDigitalTwinMetadata addPropertyMetadata(String key, DigitalTwinPropertyMetadata value) { this.propertyMetadata.put(key, value); return this; } diff --git a/sdk/digitaltwins/azure-digitaltwins-core/src/main/java/com/azure/digitaltwins/core/DigitalTwinPropertyMetadata.java b/sdk/digitaltwins/azure-digitaltwins-core/src/main/java/com/azure/digitaltwins/core/DigitalTwinPropertyMetadata.java index fca1389b51f6..ef0e22f10b7c 100644 --- a/sdk/digitaltwins/azure-digitaltwins-core/src/main/java/com/azure/digitaltwins/core/DigitalTwinPropertyMetadata.java +++ b/sdk/digitaltwins/azure-digitaltwins-core/src/main/java/com/azure/digitaltwins/core/DigitalTwinPropertyMetadata.java @@ -13,13 +13,13 @@ */ public class DigitalTwinPropertyMetadata { @JsonProperty(value = DigitalTwinsJsonPropertyNames.METADATA_PROPERTY_LAST_UPDATE_TIME, required = true) - private OffsetDateTime lastUpdatedOn; + private String lastUpdatedOn; /** * Gets the date and time the property was last updated. * @return The date and time the property was last updated. */ - public OffsetDateTime getLastUpdatedOn() { + public String getLastUpdatedOn() { return lastUpdatedOn; } @@ -28,8 +28,16 @@ public OffsetDateTime getLastUpdatedOn() { * @param lastUpdatedOn The date and time the property was last updated. * @return The DigitalTwinPropertyMetadata object itself. */ - public DigitalTwinPropertyMetadata setLastUpdatedOn(OffsetDateTime lastUpdatedOn) { + public DigitalTwinPropertyMetadata setLastUpdatedOn(String lastUpdatedOn) { this.lastUpdatedOn = lastUpdatedOn; return this; } + + /** + * Gets the date and time the property was last updated. + * @return The date and time the property was last updated. + */ + public OffsetDateTime getLastUpdatedOnOffsetDateTime() { + return OffsetDateTime.parse(lastUpdatedOn); + } } diff --git a/sdk/digitaltwins/azure-digitaltwins-core/src/samples/java/com/azure/digitaltwins/core/ComponentSyncSamples.java b/sdk/digitaltwins/azure-digitaltwins-core/src/samples/java/com/azure/digitaltwins/core/ComponentSyncSamples.java index b60698067d07..0604a806bd04 100644 --- a/sdk/digitaltwins/azure-digitaltwins-core/src/samples/java/com/azure/digitaltwins/core/ComponentSyncSamples.java +++ b/sdk/digitaltwins/azure-digitaltwins-core/src/samples/java/com/azure/digitaltwins/core/ComponentSyncSamples.java @@ -145,6 +145,7 @@ public static void runComponentSample() throws JsonProcessingException { ConsoleLogger.print("Retrieved component for digital twin " + basicDigitalTwinId + " :"); for (String key : getComponentResponse.getContents().keySet()) { ConsoleLogger.print("\t" + key + " : " + getComponentResponse.getContents().get(key)); + ConsoleLogger.print("\t\tLast updated on: " + getComponentResponse.getMetadata().get(key).getLastUpdatedOnOffsetDateTime()); } // Clean up