Files
gateway-mnp-dbc/dbcmnpsrc/FE/mnpdev/sim/sistemi/src/client/ClientIBAsincSender.java
2024-05-13 12:54:14 +02:00

153 lines
4.5 KiB
Java

package client;
import java.util.Map;
import javax.jms.JMSException;
import obj.TipoFlusso;
import proxy.jms.MessageHandler;
import xml.*;
import base.ProtectionManager;
public class ClientIBAsincSender {
private XMLGeneratorIF generator;
private String[] tracciati;
public ClientIBAsincSender(XMLGeneratorIF generator) {
this.generator = generator;
}
/**
* @param args
*
* ATTIVAZIONE
* args[0] tipo flusso: ATTIVAZIONE
* args[1] Numero richieste
* args[2] Pre post pagato: PRP,POP,MISTO
* args[3] DONATING: WIND,OPIV,H3GI,MISTO, TIMG (per RV)
* args[4] accodata: ACCODATA, NO_ACCODATA
* args[5] prefisso: NULL, prefisso
* args[6] telefono: NULL, telefono
* args[7] iccid: NULL, iccid
*
* VALIDAZIONE
* args[0] tipo flusso: VALIDAZIONE
* args[1] esito: ACCETTATA, RIFIUTATA
* args[2] causale: 1,...,13,NULL
* args[3] tipo processo: D (donor standard), V (donor virtuale)
* args[4] id richiesta: NULL, id richiesta
* @throws Exception
*
* RISPOSTA DI CESSAZIONE/ATTIVAZIONE
* (da usare se fallisce la risposta automatica mediante
* IBConnector)
* args[0] tipo flusso: RISP_CESSAZIONE || RISP_ATTIVAZIONE
* args[1] esito: 001||002||003
* args[2] tipo processo: D (donor) se [tipo flusso]=RISP_CESSAZIONE,
* R(recipient) o W (recipient virtuale) se [tipo flusso]=RISP_ATTIVAZIONE
* C cessazione
* P Proting terze Parte
*
*
* NOTIFICA DI CESSAZIONE / ATTIVAZIONE
* args[0] tipo flusso: NOT_CESSAZIONE || NOT_ATTIVAZIONE
* args[1] esito: 081 (Cessazione Rec Virtuale) se args[0] NOT_CESSAZIONE,
* 082 (Cessazione Donor Virtuale) se args[0] NOT_CESSAZIONE,
* 083 (Attivazione Donor Virtuale) se args[0] NOT_ATTIVAZIONE
* args[2] id richiesta: non obbligatoria, se non presente sono
* considerate tutte le richieste possibili
*
*
* UPDATE DCO MVNO DONOR Prjhoc
* args[0] tipo flusso: UPDATEDCO
* args[1] nuova DCO (AAAAMMGG)
*/
public static void main(String args[]) throws Exception {
ProtectionManager.check();
ClientIBAsincSender sender=null;
if (args.length == 0){
throw new IllegalArgumentException("Numero parametri errati!");
}
else if (args[0].equals(TipoFlusso.ATTIVAZIONE)) {
sender = new ClientIBAsincSender(new XMLMvnoPortingInGenerator());
}
else if (args[0].equals(TipoFlusso.VALIDAZIONE)) {
sender = new ClientIBAsincSender(new XMLMvnoValGenerator());
}
else if (args[0].equals(TipoFlusso.RISP_CESSAZIONE) || args[0].equals(TipoFlusso.RISP_ATTIVAZIONE)) {
sender = new ClientIBAsincSender(new XMLGispResponseGenerator());
}
else if (args[0].equals(TipoFlusso.NOT_CESSAZIONE) || args[0].equals(TipoFlusso.NOT_ATTIVAZIONE)) {
sender = new ClientIBAsincSender(new XMLGispNotificationGenerator());
}
else if (args[0].equals(TipoFlusso.NOTIFICA_MVNO_TC)) {
sender = new ClientIBAsincSender(new XMLMvnoNotificaTcGenerator());
}
else if (args[0].equals(TipoFlusso.NOTIFICA_MSP_TC)) {
sender = new ClientIBAsincSender(new XMLNotificaMspTcGenerator());
}
else if (args[0].equals(TipoFlusso.NOTIFICA_MSPCOOP_TC)) {
sender = new ClientIBAsincSender(new XMLNotificaMspCoopTcGenerator());
}
else if (args[0].equals(TipoFlusso.UPDATEDCO_MVNO)) {
sender = new ClientIBAsincSender(new XMLMvnoUpdateDCOGenerator());
}
else
throw new IllegalArgumentException("Tipo Flusso errato: " + args[0]);
sender.setTracciati(sender.getGenerator().generateXml(args));
String tipoFlusso = args[0];
sender.sendXML(tipoFlusso);
}
private void sendXML(String tipoFlusso) throws Exception {
Map params = MessageHandler.getParams(tipoFlusso);
if (tracciati.length==0) {
System.out.println("Nessun flusso di " +tipoFlusso+ " da inviare");
return;
}
for (int i = 0; i < tracciati.length; i++) {
System.out.println(tracciati[i]);
try {
MessageHandler.getInstance().sendMessage(tracciati[i],
(String) params.get(MessageHandler.QUEUE_NAME),
(String) params.get(MessageHandler.ID_SYSTEM),
(String) params.get(MessageHandler.ID_SERVICE));
this.getGenerator().postGenerate();
} catch (JMSException je) {
je.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
}
/**
* @return the generator
*/
public XMLGeneratorIF getGenerator() {
return generator;
}
/**
* @return the tracciati
*/
public String[] getTracciati() {
return tracciati;
}
/**
* @param tracciati the tracciati to set
*/
public void setTracciati(String[] tracciati) {
this.tracciati = tracciati;
}
}