org.zlatan.sms
Class SmsController
java.lang.Object
org.zlatan.sms.SmsController
- public class SmsController
- extends java.lang.Object
Classe che implementa il server del modulo IBRA per la ricezione di
ordini di acquisto via SMS. La configurazione del server deve
risiedere in un file smscontroller-config.xml
presente
nella stessa directory nella quale viene lanciata l'applicazione.
Il server si collega con PrepareRequestDispatcher
per inviare
il messaggio JMS contenente l'ordine di acquisto, utilizzando un proxy
di tipo PurchaseOrderSender
.
- See Also:
PurchaseOrderSender
,
PrepareRequestDispatcher
,
MobilePhoneConnection
Constructor Summary |
SmsController(int seconds,
java.lang.String portName,
java.lang.String connFact,
java.lang.String destName)
Costruttore. |
Method Summary |
static void |
main(java.lang.String[] args)
Il metodo che lancia il server. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
SmsController
public SmsController(int seconds,
java.lang.String portName,
java.lang.String connFact,
java.lang.String destName)
- Costruttore. Ha un funzionamento del tutto simile al costruttore di
Pop3Controller
.
Crea un nuovo oggetto di tipo interno SmsControllerThread
e ne schedula l'esecuzione ogni seconds
secondi.
Il timer effettua la scansione della casella SMS utilizzando una
MobilePhoneConnection
, controlla se sono presenti nuovi messaggi
contenenti ordini di acquisto ed eventualmente li processa, creando un
PurchaseOrderType
ed inviandolo via JMS al PrepareRequestDispatcher
.
Un messaggio SMS deve iniziare con i due caratteri PO
per essere riconosciuto; deve quindi contenere uno o più codici materiali e quantità di ordine (parola chiave
material
) e può contenere il partnerNumber
ed
un purchaseOrderNumber
.
Il PurchaseOrderType
in uscita conterrà il valore sms
nel campo protocol
ed il numero di telefono mittente nel campo from
. Se non viene
specificato il purchaseOrderType
nel messaggio, questo
viene settato pari al numero telefonico del mittente concatenato ad un
intero generato sulla base dell'istante corrente.
Gli ultimi due parametri
del costruttore vengono utilizzati per la creazione di un PurchaseOrderSender
.
- Parameters:
seconds
- l'intervallo di schedulazione del timerportName
- il nome della porta seriale alla quale è collegato il
cellulareconnFact
- il nome JNDI della ConnectionFactory
da utilizzare
per spedire i messaggi JMSdestName
- il nome JNDI della coda JMS su cui spedire i messaggi- See Also:
PurchaseOrderSender
,
MobilePhoneConnection
main
public static void main(java.lang.String[] args)
- Il metodo che lancia il server. Non richiede argomenti ma è richiesta la
presenza del file
smscontroller-config.xml
per l'inizializzazione
e la configurazione.
- See Also:
ConfigFile