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;

}