Ragazzi aiutatemi ...non riesco a compilare questo codice in java :-(((((((((((((((((( E' un server che deve ricevere dei messaggi sulla porta 2000 elaborarli attraverso delle procedure e generare dei messaggi di risposta tutto qui ma non ne vuole sapere!!! dovrei poi estenderlo per gestire il multithread!! Non mancheranno i ringraziamenti nella tesi :-)))))) . ( uso linux (per eseguire le query su DBMS Postresql) mandrake 9.1 con netbeans della sun)
/* CUP REMOTO Il cup considera solo i campi di tipo R*/
import java.net.*;
import java.io.*;
import java.sql.*;
import java.util.StringTokenizer;
import java.lang.*;
/** prova */
public class ServerCup
{
static Connection c = null;
static String rapporto = "";
static String delim1 = "\n";
static String escape = "" ;
static String delim2 = "|";
static int port=2000;
static String driver = "org.postgresql.Driver";
static String login = "antonio";
static String psw = "telemedicina";
static String database = "cup";
static String Message_Type = new String ();
static String Messagge_Control_id = new String () ;
static String Sending_Application = new String () ;
static String Sending_Facility = new String();
static String msh (int codice , String tipo_messaggio)
{
String MSH = new String ();
switch (codice)
{
case 1:
{
MSH = "MSH|^~"+escape+"&||CUP_APP|CUPREMOTO|"+Sending_Ap plication+"|"+Sending_Facility+"|||"+tipo_messaggi o+"|"+Messagge_Control_id+"||ver 2.3.1||\n";
}break;
case 2:
{
// MSH ="MSH|^~\&||CUP_APP|CUPREMOTO||||||||ver 2.3.1||\n";
}break;
}
return MSH;
}
static String dsp ( String Line )
{
String DSP = new String ();
switch (Line)
{
case S:
{
DSP = "|DSP|Il servizio è attualmente disponibile|\n" ;
}break;
case N:
{
DSP = "|DSP|Il servizio non è attualmente disponibile|\n" ;
}break;
// default DSP="DSP|"+Line+"|\n";
}
return DSP;
}
static String msa (String codice)
{
String MSA = new String ();
switch (codice)
{
case AA:
{
MSA = "MSA|AA|"+Message_Type+"||||\n";
}break;
case AR_r:
{
MSA = "MSA|AR|||||\n";
}break;
case AR_m:
{
MSA = "MSA|AR|"+Message_Type+"||||\n";
}break;
}
return MSA;
}
/*La tabella storico contiene tutte le informazioni relative
agli accessi effettuati al Server da parte dei client (ADT).*/
static void storico (Connection c, String tabella)
{
PreparedStatement ins = c.prepareStatement(" INSERT INTO " +tabella + " VALUES (?,?,?,?)");
ins.setString(Messagge_Control_id,Sending_Applicat ion,Sending_Facility ,Message_Type);
insert.executeUpdate();
}
static String connessione()
{
String message = new String ();
try
{
// Il serverSocket è una porta che aspetta che qualche cliente adt
// venga a bussare.
ServerSocket server = new ServerSocket(port);
System.out.print("....in attesa di connessioni dai sistemi adt");
// accept è bloccante fino all'arrivo di una connessione
Socket s = server.accept();
System.out.print("Connessione avvenuta con successo");
BufferedReaderinFromClient = new BufferedReader (new InputStreamReader(s.getInputStream()));
DataOutputStream outToClient = new DataOutputStream (s.getOutputStream ());
message = inFromClient.readLine();
}
catch (SQLException e)
{
printException ("Non riesco a connettermi con il Server CUP");
gestione_errore (1);
}
return message;
}
/*Il parser è in grado di prelevare dal messaggio i campi
o i segmenti a seconda del valore di delim. Ritorna un
vettore contenete i token.*/
static Vector parser (String mes_hl7,String delim)
{
Vector query = new Vector();
boolean returnDelims = false ;//non considera i separatori come token
StringTokenizer st = new StringTokenizer(mes_hl7,delim,returnDelims);
while (st.hasMoreTokens())
{
System.out.println(st.nextToken());
query.addElement(st.nextToken()) ;
}
return query ;
}
// Connessione al database
static Connection Conn ()
{
Connection c = null;
String dbUrl;
try {
Class.forName(driver);
}
catch (ClassNotFoundException e)
{
printException ("Non trovo la driver del database", e);
gestione_errore (1);
}
dbUrl = "jdbcostgresql:" +database;
try {
c = DriverManager.getConnection(dbUrl, login , psw);
}
catch (SQLException e)
{
printException ("Non riesco a connettermi con il database " + database ,e);
gestione_errore (1);
}
textArea.appendText ("Connesso con il database " + database + "\n");
return c;
}