Long ou long... Pq JME não consegue converter String em Long?

[color=darkblue][b]Olá Pessoal. Boa Noite a todos. Estou tendo um problema muito cabuloso.

Eu tenho um serviço em um web service que retorna as tarefas que um determinado usuário deve cumprir e também um outro serviço para o Login
Eu estou usando o projeto emprestado de um amigo, eu apenas quero acessá-lo pelo meu cliente Mobile (JME).
Então, eu tenho as classes de persistência (JPA), o Banco de Dados está no Derby mesmo e o servidor é o Glassfish. Tudo no Netbeans.
No JME eu criei um novo cliente de serviço web (botão direito etc e tal) o que já gera um pacote com os arquivos etc e tal
Questão é que eu tenho esse campo chamado ID que no banco de dados é do tipo BIGINT e na JPA é do tipo LONG
Os métodos do serviço retornam todos eles strings… eu quebro essa string no meu cliente movel e pego a string ID que me interessa
essa ID eu pego na hora q o cliente faz o login e então eu tenho q passar essa string como parametro para o método das tarefas
o problema é q eu tenho q converter uma string em um Long e não estou conseguindo
no mobile estou usando LWUIT
Por favor gente alguém me dê uma luz
ai vão os códigos
obrigada[/b][/color]

TABELAS SQL

CREATE TABLE Usuario ( Id BIGINT GENERATED ALWAYS AS IDENTITY NOT NULL, Nome VARCHAR ( 255 ) NOT NULL, Login VARCHAR ( 55 ) NOT NULL, Senha VARCHAR ( 55 ) NOT NULL, Cargo BIGINT NOT NULL, CONSTRAINT PK_Usuario PRIMARY KEY (Id), CONSTRAINT UQ_Login UNIQUE (Login), CONSTRAINT FK_Cargo1 FOREIGN KEY (Cargo) REFERENCES Cargo (Id) );

CREATE TABLE Tarefa ( Id BIGINT GENERATED ALWAYS AS IDENTITY NOT NULL, Solicitante BIGINT NOT NULL, Efetuador BIGINT NOT NULL, Procedimento BIGINT NOT NULL, CONSTRAINT PK_Tarefa PRIMARY KEY (Id), CONSTRAINT FK_Usuario6 FOREIGN KEY (Solicitante) REFERENCES Usuario (Id), CONSTRAINT FK_Usuario7 FOREIGN KEY (Efetuador) REFERENCES Usuario (Id), CONSTRAINT FK_Procedimento1 FOREIGN KEY (Procedimento) REFERENCES Procedimento (Id) );

SERVIDOR:

[code]
package br.com.servidor;

import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;

/**
*

  • @author Administrador
    */
    @WebService()
    public class Sus_WebService {

    private String loginResult = null;
    private String senhaResult = null;

    /**

    • Operação de serviço web
      */
      @WebMethod(operationName = “Login”)
      public String Login(@WebParam(name = “login”) String login, @WebParam(name = “senha”) String senha) {

      EntityManagerFactory emf = Persistence.createEntityManagerFactory(“Sus_WebService_1PU”);
      EntityManager em = emf.createEntityManager();
      StringBuilder sb = new StringBuilder();

      try {
      Usuario usuario = (Usuario) em.createNamedQuery(“Usuario.findByLogin”).setParameter(“login”, login).getSingleResult();
      loginResult = usuario.getLogin();
      senhaResult = usuario.getSenha();
      if (usuario != null && (senhaResult.equals(senha)) && (loginResult.equals(login))) {
      sb.append(usuario.getLogin() + “§”);
      sb.append(usuario.getSenha() + “§”);
      sb.append(usuario.getId());
      System.out.println(“sb: " + sb.toString());
      }
      } catch (Exception e) {
      System.out.println(” \n \t Excessao: \t " + e.getMessage());
      System.out.println(" \n \t valor de SB: \t " + sb.toString());
      System.out.println(" \n \t valor de login e senha: \t " + login + “\t” + senha);
      login = “”;
      senha = “”;
      sb.append(login);
      sb.append(senha);
      System.out.println(" \n \n \t —> valor de SB após limpar variavel: \t " + sb.toString());
      System.out.println(" \n \n \t —> valor de login e senha após limpar variavel: \t " + login + “\t” + senha);
      e.printStackTrace();
      }
      return sb.toString();
      }

    /**

    • Operação de serviço web
      */
      @WebMethod(operationName = “TarefasTeste”)
      public String TarefasTeste(@WebParam(name = “id”) Long id) {
      EntityManagerFactory emf = Persistence.createEntityManagerFactory(“Sus_WebService_1PU”);
      EntityManager em = emf.createEntityManager();
      StringBuilder sb = new StringBuilder();
      try {

       //Long id = (Long) usuarioId;
       Usuario user = (Usuario) em.createNamedQuery("Usuario.findById").setParameter("id", id).getSingleResult();
       if (user != null) {
           for (Tarefa t : user.getTarefaCollection()) {
               if (t.getProcedimento().getRealizacao() == null) {
                   sb.append(t.getId() + "§");
                   sb.append(t.getEfetuador() + "§");
                   sb.append(t.getProcedimento() + "§");
                   sb.append(t.getSolicitante() + "§");
               }
           }
       }
      

      } catch (Exception e) {
      System.out.println(e.getMessage());
      e.printStackTrace();
      }
      System.out.println(“tarefas: " + sb.toString());
      if (!sb.toString().isEmpty()) {
      System.out.println(” \n \n \t DENTRO DO IF !SB.TOSTRING().ISEMPTY()");
      return sb.toString().substring(0, sb.toString().length() - 1);
      } else {
      System.out.println(" \n \n \t DENTRO DO ELSE !SB.TOSTRING().ISEMPTY()");
      return “”;
      }
      }
      }[/code]

LOGIN NO MOBILE:

class ConnectionThread extends Thread {

        private String loginResult;
        private String senhaResult;

        public void run() {
            System.out.println("Dento do método Connection Thread \n login: " + login + "\t senha: " + senha);
            Sus_WebServiceService stub = new Sus_WebServiceService_Stub();
            String result = null;
            try {
                stub.Login(login, senha);
                result = stub.Login(login, senha);
                System.out.println("Result: " + result);
                int first = result.toString().indexOf("§");
                if (first > 0) {
                    int second = first + result.toString().substring(first + 1).indexOf("§") + 1;
                    loginResult = (result.toString().substring(0, first));
                    senhaResult = (result.toString().substring(first + 1, second));
                    idResult = (result.toString().substring(second + 1));
                }
                System.out.println(" \n \t LOGIN RESULT: " + loginResult + " \n \t SENHA RESULT: " + senhaResult + " \n \t ID RESULT: " + idResult);

                if ((loginResult == null) && (senhaResult == null)) {
                    System.out.println("dentro do if");
                    ta_dialog.setText("Erro na Autenticação");
                    dialog.setTitle("Atenção:");
                    dialog();
                } else {
                    System.out.println("dentro do else");
                    ta_dialog.setText("Login Efetuado Corretamente");
                    dialog.setTitle("Autenticado:");
                    dialog();
                    fmTarefas.show();
                }
            } catch (RemoteException ex) {
                System.out.println("dentro do exception");
                ex.printStackTrace();
            }
        }
    }

TAREFAS NO MOBILE:

[code]class ConnectionTarefas extends Thread {
//private Long idr;
private String idR;
private String efetuadorResult;
private String solicitacaoResult;
private String procedimentoResult;

    public void run() {
        System.out.println("Dento do método Connection Tarefas \n");
        Sus_WebServiceService stub = new Sus_WebServiceService_Stub();
        String result = null;
        try {
            id = new Long(idResult);
            result = stub.TarefasTeste(id);
            System.out.println("Result: " + result);  
            int first = result.toString().indexOf("§");
            if (first > 0) {
                int second = first + result.toString().substring(first + 1).indexOf("§") + 1;
                idR = (result.toString().substring(0, first));
                efetuadorResult = (result.toString().substring(first + 1, second));
                procedimentoResult = (result.toString().substring(second + 1));
                solicitacaoResult = (result.toString().substring(second + 1));
            }
            System.out.println("ID R: " + idR + "EFETUADOR RESULT: " + efetuadorResult + "PROCEDIMENTO RESULT: " + procedimentoResult + "SOLICITACAO RESULT" + solicitacaoResult);

            if (idResult == null) {
                System.out.println("dentro do if");
                ta_dialog.setText("Nenhuma Tarefa");
                dialog.setTitle("Atenção:");
                dialog();
            } else {
                System.out.println("dentro do else");

            }
        } catch (RemoteException ex) {
            System.out.println("dentro do exception");
            ex.printStackTrace();
        }
    }
}[/code]