@startuml actor User participant "SpringBatchApplication" as App participant "JobLauncher" as Launcher participant "FaqCleanJob" as Job participant "CleanStep" as Step participant "FlatFileItemReader" as Reader participant "FaqItemProcessor" as Processor participant "FlatFileItemWriter" as Writer database "CSV Input File" as Input database "CSV Output File" as Output participant "SkipPolicy" as SkipPolicy User -> App: Start Application activate App App -> Launcher: Launch Job activate Launcher Launcher -> Job: Execute faqCleanJob activate Job Job -> Step: Execute cleanStep activate Step loop For each chunk (100 items) Step -> Reader: read() activate Reader Reader -> Input: Read CSV records Input --> Reader: Return records Reader --> Step: Return FaqItem objects deactivate Reader loop For each item in chunk Step -> Processor: process() activate Processor Processor -> Processor: Clean HTML Processor -> Processor: Convert to lowercase Processor -> Processor: Trim whitespace Processor -> Processor: Validate fields alt Validation fails Processor --> Step: Throw ValidationException Step -> SkipPolicy: Check skip policy SkipPolicy --> Step: Skip record (if < 100 skips) Note right of SkipPolicy: SkipLimit: 100 Step --> Step: Continue with next record else Validation succeeds Processor --> Step: Return cleaned FaqItem end deactivate Processor end Step -> Writer: write() activate Writer Writer -> Output: Write cleaned records Output --> Writer: Confirm write Writer --> Step: Complete deactivate Writer end Step --> Job: Step complete deactivate Step Job --> Launcher: Job complete deactivate Job Launcher --> App: Job execution complete deactivate Launcher App --> User: Application complete deactivate App @enduml
Decode URL
Submit
amiga
aws-orange
black-knight
bluegray
blueprint
cerulean-outline
cerulean
crt-amber
crt-green
cyborg-outline
cyborg
hacker
lightgray
mars
materia-outline
materia
metal
mimeograph
minty
plain
reddress-darkblue
reddress-darkgreen
reddress-darkorange
reddress-darkred
reddress-lightblue
reddress-lightgreen
reddress-lightorange
reddress-lightred
sandstone
silver
sketchy-outline
sketchy
spacelab
spacelab-white
superhero-outline
superhero
toy
united
vibrant
🎉 Discover the future PlantUML Web Editor! 🚀
PNG
SVG
ASCII Art