Appunti sviluppo SMGen
Processing import file Ingressi / Eventi
La tabella originale dei ruoles lega
- segnali di ingresso
- eventi da riportare a MP-IO
- microstati
- condizioni (rules) per il passaggio tr ai microstati secondo cominazione segnali ingresso
Il sw è in grado di caricare e processare + files *.rul insieme, andando a popolare una tab temporanea dul SB x l'import finale, ma per garantire una gestione coerente è necessario implementare alcune regole:
- in caso di processing di + files di rul insieme si deve valutare la loro coerenza
- la coerenza preliminare si esprime nell'avere un set CONDIVISO degli eventi
- sono ammessi file di rul che contengano eventi DISGIUNTI (= nessun elemento in comune)
- sono ammessi files di rul che abbiano elemnti in comune
- sono validi solo i files di *rul che condividono lo stesso set di eventi (in termini di codice + descrizione/nome)
- in fase di import vano quindi scartati i fiels di rul che non tornano (senza ulteriori elaborazioni, vuol dire che in certi casi si potrebbero scartare molti o pochi files secondo ordine di processing)
processing file RUL
Va quindi modificata la procedura di import/processing rul (sia di segnali che di eventi) in questo modo:
- caricare e processare singolarmente ogni file di rul SENZA scrivere sul DB
- gestire in memoria l'archivio condiviso del dizionario eventi (<int,string>(idxTipo, nome))
- caricare gli eventi non trovati
- scartare l'intero file di rul se trovato un evento x IDX che non tornasse x descrizione
- svuotamento preliminare tab temp dal db (stored?)
- scrittura sul DB solo alla fine del dizionario degli eventi "comune" validato
- scrittura sul db delle "regole di transizione ingressi2eventi o eventi2stati