Package io.jmix.aitools.dataload.repair
Class JpqlRepairService
java.lang.Object
io.jmix.aitools.dataload.repair.JpqlRepairService
Repairs an invalid query by running the configured
JpqlRepairer, re-validating after each
attempt until the query becomes valid or the attempt limit is reached.
If no JpqlRepairer bean is available, the query is returned unchanged.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected AiToolsDataLoadPropertiesprotected org.springframework.beans.factory.ObjectProvider<JpqlRepairer> protected JpqlValidationService -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionrepairIfNeeded(JpqlExecutionRequest executionRequest, GeneratedJpqlResult generatedJpqlResult, JpqlValidationResult validationResult) Repairs the query if its validation failed, using the configured maximum number of attempts.repairIfNeeded(JpqlExecutionRequest executionRequest, GeneratedJpqlResult generatedJpqlResult, JpqlValidationResult validationResult, int maxRepairAttempts) Repairs the query if its validation failed, retrying up tomaxRepairAttemptstimes.
-
Field Details
-
dataLoadProperties
-
jpqlValidationService
-
jpqlRepairerProvider
@Autowired protected org.springframework.beans.factory.ObjectProvider<JpqlRepairer> jpqlRepairerProvider
-
-
Constructor Details
-
JpqlRepairService
public JpqlRepairService()
-
-
Method Details
-
repairIfNeeded
public JpqlRepairResult repairIfNeeded(JpqlExecutionRequest executionRequest, GeneratedJpqlResult generatedJpqlResult, JpqlValidationResult validationResult) Repairs the query if its validation failed, using the configured maximum number of attempts.- Parameters:
executionRequest- original execution requestgeneratedJpqlResult- current query draftvalidationResult- validation result of the current draft- Returns:
- repair result; the query is returned unchanged if it is already valid
- See Also:
-
repairIfNeeded
public JpqlRepairResult repairIfNeeded(JpqlExecutionRequest executionRequest, GeneratedJpqlResult generatedJpqlResult, JpqlValidationResult validationResult, int maxRepairAttempts) Repairs the query if its validation failed, retrying up tomaxRepairAttemptstimes.The query is returned unchanged (with
repaired = false) if it is already valid, ifmaxRepairAttemptsis not positive, or if noJpqlRepairerbean is available.- Parameters:
executionRequest- original execution requestgeneratedJpqlResult- current query draftvalidationResult- validation result of the current draftmaxRepairAttempts- maximum number of repair attempts- Returns:
- repair result with the final query draft and its validation result
-