diff --git a/matchmaking-agent/src/main/java/org/cloudiator/matchmaking/converters/CloudConverter.java b/matchmaking-agent/src/main/java/org/cloudiator/matchmaking/converters/CloudConverter.java index 65decde..b3f2090 100644 --- a/matchmaking-agent/src/main/java/org/cloudiator/matchmaking/converters/CloudConverter.java +++ b/matchmaking-agent/src/main/java/org/cloudiator/matchmaking/converters/CloudConverter.java @@ -32,7 +32,7 @@ public class CloudConverter implements TwoWayConverter { @@ -27,6 +26,7 @@ private NodeCandidateConverter() { public MatchmakingEntities.NodeCandidate apply(@Nullable NodeCandidate nodeCandidate) { switch (nodeCandidate.getType()) { case IAAS: + case SIMULATION: return applyIaas(nodeCandidate); case FAAS: return applyFaas(nodeCandidate); @@ -34,7 +34,8 @@ public MatchmakingEntities.NodeCandidate apply(@Nullable NodeCandidate nodeCandi return applyByon(nodeCandidate); case PAAS: default: - throw new IllegalStateException("Unsupported node candidate type: " + nodeCandidate.getType()); + throw new IllegalStateException( + "Unsupported node candidate type: " + nodeCandidate.getType()); } } @@ -84,6 +85,8 @@ private MatchmakingEntities.NodeCandidateType convertType(NodeType type) { return MatchmakingEntities.NodeCandidateType.NC_PAAS; case BYON: return MatchmakingEntities.NodeCandidateType.NC_BYON; + case SIMULATION: + return MatchmakingEntities.NodeCandidateType.NC_SIMULATION; default: throw new IllegalStateException(); diff --git a/matchmaking-agent/src/main/java/org/cloudiator/matchmaking/domain/HashingNodeCandidateIdGenerator.java b/matchmaking-agent/src/main/java/org/cloudiator/matchmaking/domain/HashingNodeCandidateIdGenerator.java index e7d4844..f0cf0bc 100644 --- a/matchmaking-agent/src/main/java/org/cloudiator/matchmaking/domain/HashingNodeCandidateIdGenerator.java +++ b/matchmaking-agent/src/main/java/org/cloudiator/matchmaking/domain/HashingNodeCandidateIdGenerator.java @@ -32,6 +32,7 @@ public class HashingNodeCandidateIdGenerator implements NodeCandidateIdGenerator public String generateId(NodeCandidate nodeCandidate) { switch (nodeCandidate.getType()) { case IAAS: + case SIMULATION: return HASH_FUNCTION.hashObject(nodeCandidate, IAAS_NODE_CANDIDATE_FUNNEL).toString(); case FAAS: return HASH_FUNCTION.hashObject(nodeCandidate, FAAS_NODE_CANDIDATE_FUNNEL).toString(); diff --git a/matchmaking-agent/src/main/java/org/cloudiator/matchmaking/domain/NodeCandidate.java b/matchmaking-agent/src/main/java/org/cloudiator/matchmaking/domain/NodeCandidate.java index 9de354a..ebbaa49 100644 --- a/matchmaking-agent/src/main/java/org/cloudiator/matchmaking/domain/NodeCandidate.java +++ b/matchmaking-agent/src/main/java/org/cloudiator/matchmaking/domain/NodeCandidate.java @@ -1,6 +1,7 @@ package org.cloudiator.matchmaking.domain; import cloudiator.Cloud; +import cloudiator.CloudType; import cloudiator.CloudiatorFactory; import cloudiator.Environment; import cloudiator.Hardware; @@ -32,7 +33,12 @@ public class NodeCandidate implements Comparable { public NodeCandidate(Cloud cloud, Hardware hardware, Image image, Location location, @Nullable Double price) { - this.type = NodeType.IAAS; + + if (cloud.getType().equals(CloudType.SIMULATION)) { + this.type = NodeType.SIMULATION; + } else { + this.type = NodeType.IAAS; + } this.cloud = cloud; this.hardware = hardware; this.image = image; @@ -193,8 +199,18 @@ public boolean equals(Object obj) { @Override public String toString() { - return MoreObjects.toStringHelper(this).add("hardware", hardware).add("image", image) - .add("location", location).add("price", price).toString(); + return MoreObjects.toStringHelper(this) + .add("id", id) + .add("type", type) + .add("cloud", cloud) + .add("location", location) + .add("hardware", hardware) + .add("image", image) + .add("price", price) + .add("pricePerInvocation", pricePerInvocation) + .add("memoryPrice", memoryPrice) + .add("environment", environment) + .toString(); } @Override