*Save user jid info in persistent storage (RMS)
*@author Gabriele Bianchi
*@return boolean
*/
public static boolean saveRecord() {
RecordStore rs = null;
try {
rs = RecordStore.openRecordStore("MyOptions",true);
}catch (RecordStoreException ex) {
return false;
}
//insert
try {
if (rs.getNumRecords() == 0) {
byte bytes[] = jid.getFullJid().getBytes();
try {
rs.addRecord(bytes,0,bytes.length);
bytes = password.getBytes();
rs.addRecord(bytes,0,bytes.length);
bytes = server_name.getBytes();
rs.addRecord(bytes,0,bytes.length);
if (isSSL) {
bytes = "yes".getBytes();
port = SSL_PORT;
}
else if (isHTTP) {
bytes = "http".getBytes();
port = HTTP_PORT;
}
else {
bytes = "no".getBytes();
port = TCP_PORT;
}
rs.addRecord(bytes,0,bytes.length);
if (jid.getMail() == null || jid.getMail().equals(""))
bytes = "null".getBytes();
else
bytes = jid.getMail().getBytes();
rs.addRecord(bytes,0,bytes.length);
if (subdomain == null)
bytes = "null".getBytes();
else
bytes = subdomain.getBytes();
rs.addRecord(bytes, 0, bytes.length);
if (Datas.avatarFile == null)
bytes = "null".getBytes();
else
bytes = Datas.avatarFile.getBytes(); //AVATAR
rs.addRecord(bytes, 0, bytes.length);
if (Datas.customPort.equals("")) {
customPort = String.valueOf(port); //custom port
}
else
port = Integer.parseInt(customPort);
bytes = customPort.getBytes(); //custom port
rs.addRecord(bytes, 0, bytes.length);
noData = false; //data set
}catch (RecordStoreException exc2){
System.out.println(exc2.getMessage());
try{
rs.closeRecordStore();
}catch (RecordStoreException exc1){
System.out.println(exc1.getMessage());
return false;
}
return false;
}
}
//update
else {
byte bytes[] = jid.getFullJid().getBytes();
try {
rs.setRecord(1,bytes,0,bytes.length);
bytes = password.getBytes();
rs.setRecord(2,bytes,0,bytes.length);
bytes = server_name.getBytes();
rs.setRecord(3,bytes,0,bytes.length);
if (isSSL){
bytes = "yes".getBytes();
port = SSL_PORT;
}
else if (isHTTP) {
bytes = "http".getBytes();
port = HTTP_PORT;
}
else {
bytes = "no".getBytes();
port = TCP_PORT;
}
rs.setRecord(4,bytes,0,bytes.length);
if (jid.getMail() == null || jid.getMail().equals(""))
bytes = "null".getBytes();
else
bytes = jid.getMail().getBytes();
rs.setRecord(5,bytes,0,bytes.length);
if (subdomain == null)
bytes = "null".getBytes();
else
bytes = subdomain.getBytes();
rs.setRecord(6, bytes, 0, bytes.length);
//AVATAR
if (avatarFile == null)
bytes = "null".getBytes();
else
bytes = avatarFile.getBytes();
rs.setRecord(7, bytes, 0, bytes.length);
if (customPort.equals("")) {
//bytes = "null".getBytes();
customPort = String.valueOf(port);
}
else
port = Integer.parseInt(customPort);
bytes = customPort.getBytes();
rs.setRecord(8, bytes, 0, bytes.length);
noData = false; //data set
}catch (RecordStoreException exc1){
System.out.println(exc1.getMessage());
try{
rs.closeRecordStore();
}catch (RecordStoreException exc2){
System.out.println(exc2.getMessage());
return false;
}
return false;
}
}
}catch (RecordStoreNotOpenException exc3){
try{
rs.closeRecordStore();
}catch (RecordStoreException exc1){return false;
}
return false;
}
try{
rs.closeRecordStore();
}catch (RecordStoreException exc1){return false;
}
return true;
}