Releases/beta published/beta 2025.5.1#4369
Conversation
Branch Update
Removed unwatned project
…Changes Java code refactor
Console Log Related fixed
Feature/jdk25 support
Feature/jdk25 support
Data Source fix
D57008_D57038 Defect fixed
added 1.6 build file
|
Caution Review failedThe pull request is closed. WalkthroughThis PR restructures Java agent infrastructure, upgrades framework dependencies, renames console recording commands, introduces dynamic Java version detection for jar selection, implements thread-safe output buffering in console drivers, and removes the Sikuli integration module entirely. Visual Studio solution and .NET runtime versions are also updated. Changes
Sequence Diagram(s)sequenceDiagram
participant Client
participant ActLaunchJavaWSApplication
participant System as java -version
participant VersionDetector
participant JAR as Jar Selector
participant Attacher
Client->>ActLaunchJavaWSApplication: Start Java WS Application
ActLaunchJavaWSApplication->>VersionDetector: GetJavaVersion(javaPath)
VersionDetector->>System: Execute java -version
System-->>VersionDetector: Version Output (e.g., "1.8.0" or "17.0.1")
VersionDetector->>VersionDetector: ExtractMajorVersion()
VersionDetector-->>ActLaunchJavaWSApplication: Major Version (8 or 17)
alt Version <= 8
ActLaunchJavaWSApplication->>JAR: Select GingerAgent.jar
JAR-->>ActLaunchJavaWSApplication: JarFilePath = GingerAgent.jar
else Version > 8
ActLaunchJavaWSApplication->>JAR: Select JavaAgent_V25.jar
JAR-->>ActLaunchJavaWSApplication: JarFilePath = JavaAgent_V25.jar
end
ActLaunchJavaWSApplication->>Attacher: Attach with JarFilePath
Attacher->>Attacher: Build javaagent command
Attacher-->>Client: Agent Attached
sequenceDiagram
participant ConsoleDriver as DOSConsoleDriver
participant ProcessOutput as Process Output
participant Buffer as StringBuilder Buffer
participant Dispatcher
participant UI as Ginger UI
ProcessOutput->>Buffer: Append output (thread-safe)
Buffer->>Buffer: Lock acquired
Buffer->>Buffer: Append to buffer
Buffer->>Buffer: Track mProcessedLength
Buffer->>Buffer: Lock released
ConsoleDriver->>Buffer: ReadOutputs()
Buffer->>Buffer: Lock acquired
Buffer->>Buffer: Extract new output chunk
Buffer->>Buffer: Update mProcessedLength
Buffer->>Buffer: Lock released
ConsoleDriver->>Dispatcher: Send buffered output (if ShowWindow)
Dispatcher->>UI: Update console display
UI-->>Dispatcher: Ack
Estimated code review effort🎯 4 (Complex) | ⏱️ ~45 minutes Areas requiring extra attention:
Possibly related PRs
Suggested reviewers
✨ Finishing touches
🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: ASSERTIVE Plan: Pro ⛔ Files ignored due to path filters (14)
📒 Files selected for processing (72)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Description
Type of Change
Checklist
[IsSerializedForLocalRepository]where neededReporter.ToLog()patternSummary by CodeRabbit
New Features
Bug Fixes
Refactoring
Removals
Chores
✏️ Tip: You can customize this high-level summary in your review settings.