2011-01-09 6 views
6

Sto usando il gioco! framework e ho un modello (un'entità) che ha una variabile di tipo Map.Come definire una mappa in un file YAML in Play! struttura?

Per eseguire alcuni test, carico un file YAML ogni volta che avvio l'applicazione, ma non conosco la sintassi per definire una mappa.

Diciamo che ho questa classe

public class aClass { 
    public int arg1; 
    public String arg2; 
    public Map<String, Integer> arg3; 
} 

Quale sarebbe il mio file YAML assomigliare? Ho provato questo:

aClass(object1) 
    arg1: 34 
    arg2: aString 
    arg3: [key1: value1, key2: value2] <- What do I do here? 

Questo è uno dei miei molti tentativi. Non conosco la sintassi e non riesco a trovarla su Internet. Penso che il gioco! utilizza SnakeYAML come parser YAML.

Nel documento ho trovato alcuni esempi, ma nessuno di essi funzionerà.

Nella mia applicazione, tutto funziona tranne che la variabile Mappa (arg3 nell'esempio) ha una dimensione di 0 elementi.

Grazie.

+0

In base alla documentazione SnakeYAML e alla documentazione di riproduzione, la notazione corretta prevede l'utilizzo di punti interrogativi. Tuttavia, ho provato a eseguire il codice in questo modo e, sebbene compili, non ha voci! Continuerò a scavare. – Codemwnci

+0

Funziona quando si utilizzano i punti interrogativi? –

+0

Ho provato ancora usando i punti interrogativi. Compilare, ma la mia mappa restituisce null quando provo ad ottenere il valore di una delle chiavi specificate nel file YAML. –

risposta

6

In base a questa discussione su Google Groups, sembra che la sintassi necessaria sia quella di utilizzare un punto interrogativo.

Il thread ha una mappa di lavoro nella seguente sintassi.

Bloc(b2): 
    labelSeries: testDeValeur 
    criterias: 
    ? key1 
    : value1 
    ? key2 
    : value2 

Quindi, credo che il tuo esempio potrebbe essere

aClass(object1) 
    arg1: 34 
    arg2: aString 
    arg3: 
    ? key1 
    : value1 
    ? key2 
    : value2 

Ho testato questo però e non funziona! Vorrei suggerire di sollevare un bug per dare un'occhiata a questo, perché tutti i punti della documentazione a questo sono corretti.

+0

Ho corretto la mia domanda. Ma ho trovato lo stesso thread su Google Gruppi e non ha funzionato ... –

+0

Quindi questo non funziona, ma è la risposta accettata! WAT? –

Problemi correlati