diff --git a/sge-backend/src/main/java/com/sgs/graphql/dataCenter/dto/DataCenterDto.java b/sge-backend/src/main/java/com/sgs/graphql/dataCenter/dto/DataCenterDto.java index 1973dbf..b647c16 100644 --- a/sge-backend/src/main/java/com/sgs/graphql/dataCenter/dto/DataCenterDto.java +++ b/sge-backend/src/main/java/com/sgs/graphql/dataCenter/dto/DataCenterDto.java @@ -18,7 +18,7 @@ public class DataCenterDto { private Integer number; private AreaDto area; - @JsonProperty("physical_machine") + @JsonProperty("physical_machines") private Map physicalMachine; // Emission calculation fields diff --git a/sge-backend/src/main/java/com/sgs/utils/rabbitMQ/MessageListener.java b/sge-backend/src/main/java/com/sgs/utils/rabbitMQ/MessageListener.java index 12302f3..ce1257a 100644 --- a/sge-backend/src/main/java/com/sgs/utils/rabbitMQ/MessageListener.java +++ b/sge-backend/src/main/java/com/sgs/utils/rabbitMQ/MessageListener.java @@ -806,8 +806,16 @@ public class MessageListener { System.out.println("🔍 Setting VM ID: " + vm.getId()); // Use the source-specific power consumption (percentage of total VM power) - input.setConsuptionAmount(String.valueOf(sourceSpecificPower)); - System.out.println("🔍 Setting Consumption Amount: " + sourceSpecificPower + "W"); + // Format to 6 decimal places to avoid very long strings + String formattedPower = String.format("%.6f", sourceSpecificPower); + input.setConsuptionAmount(formattedPower); + System.out.println("🔍 Setting Consumption Amount: " + formattedPower + "W"); + + // Validate field lengths to prevent database errors + System.out.println("🔍 Field length validation:"); + System.out.println(" Year: " + (input.getYear() != null ? input.getYear().length() : "null")); + System.out.println(" Month: " + (input.getMonth() != null ? input.getMonth().length() : "null")); + System.out.println(" ConsuptionAmount: " + (input.getConsuptionAmount() != null ? input.getConsuptionAmount().length() : "null")); System.out.println("🔍 VM Emission Input for Source:"); System.out.println(" VM ID: " + vm.getId());