Documentazione tecnica del software Jcue
A grandi linee Jcue ha questo funzionamento:
Jcue.java: legge il file jcue.ini, apre la connessione con il server, autentica il client, crea il frame per l'autenticazione dell'utente.
IniFile.java: classe per la gestione di file di inizializzazione (.ini) simili a quelli di Windows
CommSrv.java: classe che realizza la comunicazione con il server
e tutte le funzioni di interrogazione.
Le comunicazione avvengono aprendo un socket con il server alla porta
indicata nel file .ini.
Ogni funzione comunica con il server con questo protocollo:
Invio del numero identificativo della funzione
Invio degli eventuali parametri (separati da \n)
Invio della stringa di fine trasmissione (EOT)
Ricezione dei risultati (separati da \n)
Attesa della stringa di fine trasmissione (EOT)
Le comunicazioni avvengono tramite stringhe, per cui eventuali numeri
da inviare devono essere convertiti in stringhe e viceversa.
LoginFrame.java: frame che richiede nome utente e password all'utente, le invia al server e, in caso di autenticazione corretta, apre il frame principale di jcue. La password viene inviata in chiaro.
JcueFrame.java: frame principale per l'utilizzo del client.
Contiene la definizione e gestione del menu a tendina e dei bottoni La
classe definisce anche i font e i colori di tutte le finestre del programma.
Realizza anche la funzione di export diversa per i tre sistemi operativi
in quanto il fine riga e' sempre diverso (Win: \r\n, Unix \n, Mac \r).
ViewC.java: gestisce la lista delle concordanze da visualizzare all'interno del frame princiapale. E' stata realizzata come lista per individuare facilmente la riga selezionata con il mouse; questo pero' causa lentezza nella visualizzazione al contrario di una normale finestra di testo.
CorporaDialog.java: definisce la dialog di selezione dei corpora di lavoro. E' stata fatta una procedura apposta per la versione Mac in quanto su questa piattaforma non funziona bene l'aggiornamento automatico delle lista: ad ogni selezione in una delle due liste viene richiesto al server l'elenco completo del contenuto.
QueryDialog.java: definisce la dialog per impostare la nuova query. Quando viene premuto il bottone OK la stringa viene inviata al server e poi viene attivata la funzione di recupero concordanze e visualizzazione nella finestra relativa.
GotoDialog.java: definisce la dialog per la funzione di goto concordance e chiama le funzioni di ViewC per la corretta visualizzazione.
ContextFrame.java: gestisce la finestra di testo che visualizza il contesto esteso di una concordanza. Per visualizzare la parola centrale, non essendo disponibile una differenzazione dei caratteri, viene contoranata da >>> e <<<, contando le parole ricevute.
DocRefDialog.java: gestisce la finestra di visualizzazione del document reference number.
SortDialog.java: gestisce la finestra per l'ordinamento delle concordanze recuperate.
ReduceDialog.java: gestisce la finestra per la riduzione delle concordanze recuperate
FilterDialog.java: gestisce le finestre di filtraggio delle concordanze (N e P filtering); il tipo di filtraggio e' un parametro che viene passato al costruttore.
EnvwordDialog.java: visualizza le collocazioni sfruttando le impostazione che legge nella classe CollOptionDialog
Envline.java: visualizza le collocazioni per envline
ClectDialog.java: gestisce la visualizzazione delle collocazioni.
GravityDialog.java: disegna e visualizza il grafico della gravita' lessicale. All'interno del file e' anche definita la classe GravityCanvas che definisce il canvas dove viene disegnato il grafico. Per la trasmissione dei punti (passaggio per riferimento tra funzioni) viene utilizzata la classe GraphPoint (definita in GraphPoint.java).
PropDialog.java: calcola e visualizza le proporzioni delle concordanze nei diversi corpus selezionati.
CollOptionDialog.java: gestisce la finestra per le impostazioni delle opzioni di calcolo delle collocazioni. Le impostazioni sono memorizzate in variabili statiche definite all'interno della classe.
OptionDialog.java: gestisce la finestra per le impostazioni delle opzioni generali.
HelpFrame.java: visualizza pagine di help. La classe non e' terminata in quanto non sono disponibili informazioni di aiuto per l'utente. Comunque, la classe conosce in quale punto del programma e' stata invocata in base ad un identificatore che vienne passato al costruttore.
AboutDialog.java: gestione della finestra di informazioni sul programma. Il logo visualizzata deve essere contenuto nel file logo.gif.
ErrorDialog.java: visualizza un messaggio di errore. I messaggi usati in Jcue sono defini in questa classe come stringhe costanti (final)
ImageDisplayer.java: funzione di visualizzazione di immagini (per la dialog about)
QuickPanel.java: classe per la visualizzazione dei panel con
bordini tridimensionali
Descrizione file jcue.ini
Alcune impostazioni di jcue avvengono tramite il file di configurazione
jcue.ini. Le voci da impostare sono le seguenti:
server: nome o indirizzo IP della macchina che esegue il server CUE
port: numero di porta del socket del server
sizex: dimensione x della finestra princiaple di jcue
sizey: dimensione y della finestra principale di jcue
viewwidth: numero di caratteri che compongono ogni riga di concordanza
viewheight: numero di concordanze visualizzate in ogni schermata
platform: sistema operativo del computer dove viene eseguito il client
hdbpath e hdbsize: posizione e dimensione del file delle frequence
per l'inglese
platform puo' assumere i valori unix, win32 oppure mac. E' necessario
impostare questo valore correttamente per sopperire alle differenze
delle diverse macchine virtuali e per memorizzare sul disco locale i file
di testo in modo corretto.