Definizioni e logiche

<< Fare clic per visualizzazione il sommario >>

Percorso:  API di piattaforma > JamioPlug > JamioPlug Elastic Storage >

Definizioni e logiche

I metodi del JamioPlug Elastic Storage condividono delle strutture e delle logiche per poter creare, aggiornare ed eliminare Dataset in uno specifica configurazione del plug ElasticStorage denominata indice del plug Elastic Storage.

 

I tipi di campi Jamio openwork che sono supportati nell'inserimento/aggiornamento in un indice del plug Elastic Storage sono:

testo breve;

testo lungo;

numerico intero;

numerico a virgola mobile;

numerico decimale;

data e data/ora;

booleano;

collegamento;

 

non sono supportati campi di tipo lista dei medesimi.

Ai campi dell'indice del plug Elastic Storage viene assegnato lo stesso nome del campo Jamio openwork che si sta inserendo. Sono consentiti tutti i caratteri nei nomi dei campi, tuttavia è sconsigliato utilizzare i caratteri \ / * ? " ' < > | , : . i caratteri unicode fuori dalla tastiera ed i caratteri accentati.

I campi di tipo data e data/ora con valore 01/01/0001 00:00:00 sono importati nell'indice del plug Elastic Storage come valore nullo.

 

Identificativo del Dataset

I Dataset inseriti in in un indice del plug Elastic Storage dispongono di un campo identificativo che può essere specificato dal progettista o assegnato in automatico dalla piattaforma. L'identificativo viene memorizzato in un campo del Dataset denominato _id di tipo testo e di lunghezza massima di 150 caratteri. I metodi del plug Elastic Storage prevedono tipicamente in input due parametri:

i campi dati di input (InputDataSet, InputDataSetList, InputFile), utile a specificare le informazioni da scrivere nel Dataset nell'indice del plug ElasticStorage;

idFields, di tipo lista di stringhe, utile a calcolare in automatico il valore del campo identificativo utilizzando campi disponibili nei dati in input.

L'identificativo del Dataset si ottiene secondo le seguenti logiche. Se:

se nei campi dei dati in input al metodo è disponibile un campo che si chiama "_id" e questo è di tipo testo breve o numerico intero, allora viene utilizzato come campo identificativo e IdFields viene ignorato;

se nei campi dei dati in input al metodo è disponibile un campo che si chiama "Id" e questo è di tipo testo breve o numerico intero, allora viene aggiunto al Dataset un campo "_id" che ha il medesimo valore del campo "Id" e viene usato come identificativo, IdFields viene ignorato;

se nei campi dei dati in input al metodo non è disponibile un campo che si chiama "_id" o "Id" e non è valorizzato l’IdField il campo indice, allora viene generato automaticamente dal plug Elastic Storage;

se nei campi dei dati in input al metodo non è disponibile un campo che si chiama "Id" o "_id" ed è valorizzato l’IdFields con valori che fanno riferimento a campi sono di tipo testo breve e numerico intero, allora viene aggiunto al Dataset un campo “_id" valorizzato con la concatenazione dei valori riportati nel IdFields; nel caso in cui la stringa ottenuta è più lunga di 150 caratteri viene generato un errore. La concatenazione dei valori viene effettuata seguendo l'ordine dei campi riportati nella lista. I campi di IdFields devono essere presenti in InputDataSet, diversamente si ottiene un errore. Inoltre se i campi di IdFields generano lo steso id viene generato errore;

se nei campi dei dati in input al metodo non è disponibile un campo che si chiama "Id" o "_id" ed è valorizzato l’IdFields con valore {id}, allora viene aggiunto al Dataset un campo “_id" valorizzato con l'id della risorsa Jamio o del collegamento esteso.