ExecutionResponseDto: Introduced a new data transfer object to safely expose execution information without causing serialization issues.
- Updated
JarExecutionService.run()andstop()to returnExecutionResponseDtoinstead of the full entity, improving API response clarity and structure.
- Infinite loop issue: Fixed a circular reference problem between
ExecutionandJarFileentities during serialization. - Frontend
run()function: Refactored with the help of ChatGPT — now correctly invokes execution from the web UI.
InvalidJarFileExceptionnow properly handled and returned as an error response when a non-JAR file is uploaded or executed.
- Better error messages for invalid execution attempts.
- Minor internal cleanup in
JarExecutionServiceImpl.
deleteById(id)method added to the service layer- Unit tests implemented for
JarStorageServiceusing JUnit 5 and Mockito
- Added tests for
upload,download,delete, anddeleteAlloperations - Exception scenarios covered using
assertThrows ArgumentCaptorused to verify saved entity data
- Minor code refactoring and cleanups
- Improved code readability and testability
- Pagination Support: Implemented pagination and sorting for jar listing with configurable page size and direction
- Swagger/OpenAPI Documentation: Added comprehensive API documentation annotations for all endpoints
- PID-based Execution Lookup: Enhanced execution repository with PID-based search functionality
- Simplified API Responses: Removed ResponseDto wrapper for cleaner, more direct API responses
- Execution Stop Method: Changed stop execution to return void for cleaner API design
- Jar Metadata Service: Updated to support pagination with size, page, direction, and properties parameters
- Exception Handling: Improved error handling in execution service with better logging
- API Consistency: Standardized response formats across all endpoints
- Better Documentation: All API endpoints now have proper OpenAPI documentation