Class DynamoDbHeuristicsCalculator
java.lang.Object
org.evomaster.client.java.controller.internal.db.dynamodb.DynamoDbHeuristicsCalculator
Computes DynamoDB predicate heuristics directly as
Truthness values.
Evaluating one item returns predicate Truthness, while evaluating multiple source items
keeps the best non-matching ofTrue value when no item satisfies the query.
-
Constructor Summary
ConstructorsConstructorDescriptionCreates a calculator without taint tracking callbacks.DynamoDbHeuristicsCalculator(org.evomaster.client.java.sql.internal.TaintHandler taintHandler) Creates a calculator with an optional taint callback used during string comparisons. -
Method Summary
Modifier and TypeMethodDescriptionorg.evomaster.client.java.distance.heuristics.TruthnesscomputeCondition(QueryOperation operation, Collection<Map<String, Object>> items) Computes query-level truthness over all available source items.doublecomputeDistance(QueryOperation keyCondition, QueryOperation filterExpression, Collection<Map<String, Object>> items) Computes the distance to satisfying a DynamoDB query.org.evomaster.client.java.distance.heuristics.TruthnesscomputeExpression(QueryOperation operation, Map<String, Object> item) Computes the truthness of one parsed DynamoDB predicate over one concrete item.org.evomaster.client.java.distance.heuristics.TruthnesscomputeQuery(QueryOperation keyCondition, QueryOperation filterExpression, Collection<Map<String, Object>> items) Computes query truthness while preserving DynamoDB's key-before-filter evaluation order.
-
Constructor Details
-
DynamoDbHeuristicsCalculator
public DynamoDbHeuristicsCalculator()Creates a calculator without taint tracking callbacks. -
DynamoDbHeuristicsCalculator
public DynamoDbHeuristicsCalculator(org.evomaster.client.java.sql.internal.TaintHandler taintHandler) Creates a calculator with an optional taint callback used during string comparisons.- Parameters:
taintHandler- optional callback used when strings are compared
-
-
Method Details
-
computeDistance
public double computeDistance(QueryOperation keyCondition, QueryOperation filterExpression, Collection<Map<String, Object>> items) Computes the distance to satisfying a DynamoDB query.- Parameters:
keyCondition- parsed key condition, ornullfilterExpression- parsed filter expression, ornullitems- source items to evaluate- Returns:
- distance to the query's true branch
-
computeQuery
public org.evomaster.client.java.distance.heuristics.Truthness computeQuery(QueryOperation keyCondition, QueryOperation filterExpression, Collection<Map<String, Object>> items) Computes query truthness while preserving DynamoDB's key-before-filter evaluation order.- Parameters:
keyCondition- parsed key condition, ornullfilterExpression- parsed filter expression, ornullitems- source items to evaluate- Returns:
- query-level truthness
-
computeCondition
public org.evomaster.client.java.distance.heuristics.Truthness computeCondition(QueryOperation operation, Collection<Map<String, Object>> items) Computes query-level truthness over all available source items.- Parameters:
operation- parsed predicateitems- source items to evaluate- Returns:
- query-level truthness
-
computeExpression
public org.evomaster.client.java.distance.heuristics.Truthness computeExpression(QueryOperation operation, Map<String, Object> item) Computes the truthness of one parsed DynamoDB predicate over one concrete item.- Parameters:
operation- parsed predicateitem- concrete item represented as plain Java values- Returns:
- truthness for the predicate on the item
-