Inserire un' espressione

<< Fare clic per visualizzazione il sommario >>

Percorso:  Jamio Composer > Le business rules >

Inserire un' espressione

Il linguaggio OEL (Openwork Expression Language) è il risultato dell’estensione di quello OGNL (Object Graph Navigation Language), nella versione fornita da Spring.NET , esteso con un set di funzioni speciali per garantire un’astrazione nella programmazione della piattaforma Jamio openwork.

Per indicare il soggetto o l’oggetto di una regola tramite un’espressione, occorre selezionare la modalità Espressione f(x) in Jamio Notation Editor; per selezionare la modalità Espressione f(x) è necessario fare click con il mouse sull'icona raffigurante "< >".

 

Immagine30

Utilizzo della modalità Espressione

 

L’editor delle espressioni è rappresentato dalla casella di testo dove è possibile inserire utilizzando la sintassi OEL l’espressione desiderata. E’ possibile attivare un editor assistito delle espressioni cliccando sui tre puntini che appaiono al margine della casella di testo.

 

Immagine29

Attivazione Syntax Editor

 

Si attiva così un'area di testo dove nella compilazione delle espressioni è disponibile una forma di completamento automatico (IntelliSense); per facilitare la composizione delle espressioni attivare l'editor e visualizzare l'intera lista di oggetti, funzioni e tipi disponibili selezionando da tastiera la combinazione di tasti

 

"CTRL"+"SPACE"

 

Le voci di contesto visualizzabili sono:

I metodi del OEL Library presenti con il simbolo rosa;

I Tipi interni di piattaforma in genere (elementari e strutturati), questi ultimi compaiono perché in alcuni casi viene richiesto di fornire un tipo come parametro di una funzione presenti.

Le entità elaborate, sia in funzione di soggetto che di oggetto di un'espressione, possono essere esplorate con l'operatore "." (punto) mentre le proprietà (es.: Name, Description, ... ) vengono visualizzate con il simbolo azzurro. L'editor di espressione mostra per i tipi elementari, oltre alle proprietà di Jamio openwork, anche i metodi e le proprietà previste da .NET (ad esempio la proprietà Length per i campi di tipo stringa). Per i campi di tipo lista sono invece abilitate le proprietà del tipo .NET Array.

 

I campi personalizzati inseriti nei tipi modellabili sono invece visualizzabili tramite l'icona standard degli attributi e accessibili tramite la collection Fields (es.: #data.Fields['Importo']).

 

Visualizzazione dell’elenco delle funzioni IntelliSense tramite Ctrl+Space

Visualizzazione dell’elenco delle funzioni IntelliSense tramite Ctrl+Space

 

Per chiudere la finestra dell'editor delle espressioni OEL salvando le modifiche cliccare su OK oppure utilizzare la combinazione di tasti "CTRL"+"Invio". In alternativa per chiudere la finestra senza salvare le modifiche cliccare su Annulla oppure utilizzare la combinazione di tasti è "SHIFT"+"ESC".

 

I soggetti e gli oggetti quando inseriti in maniera destrutturata con l'editor delle espressioni sono riportati con formattazione in corsivo nell'elenco delle regole di business.

 

 

Esempio espressione destrutturata

Esempio espressione destrutturata

 

La sintassi

Per riportare in un’espressione il campo aggiuntivo di un modello personalizzato, o per riportare una informazione del profilo utente, occorre far riferimento al contesto di esecuzione a cui appartiene il dato, precedendolo con il simbolo #.

 

Espressione

Dettagli

#user

Contesto utente

#position

Contesto organizzativo, punta all’anagrafica della posizione organizzativa

#unit

Contesto organizzativo, punta all’anagrafica della unità organizzativa

#block

Contesto organizzativo, punta all’anagrafica del blocco organizzativo

#organization

Contesto organizzativo, punta all’anagrafica dell’organizzazione

#assignment

Contesto organizzativo, punta all’anagrafica dell’incarico

#data

Contesto informativo

 

Una espressione definita nell’ambito di un processo, attinge anche dai contesti di processo e di attività, riportati nella tabella sotto:

 

 

Espressione

Dettagli

#process

Contesto di processo

#processVariables

Contesto delle variabili di processo

#processInput

Contesto delle variabili di input del processo

#processOutput

Contesto delle variabili di output del processo

#activity

Contesto di attività

#activityVariables

Contesto delle variabili di attività

#activityInput

Contesto delle variabili di input dell’attività

#activityOutput

Contesto delle variabili di output dell’attività

 

Dopo aver specificato il contesto, facendolo seguire dal simbolo . (punto), l’intellisense mostra un elenco precompilato di tutti i dati che appartengono al contesto specificato, insieme a tutti i metodi. Alla selezione di un dato, l’espressione appare così compilata:

 

#data.Fields[‘Note’]

 

dove Fields rappresenta l’intera collezione delle informazioni di un contesto.

 

Immagine31

Esempio concatenazione di un dato appartenente al contesto informativo, una stringa ed un dato del contesto utente