RMI Vetor

Olá gALLera. estou meio q desesperado… sou iniciante em java e tenho um trabalho da pos graduação para resolver… é o seguinte o prof. deu um modulo que tenho que alterar para que o pro nao passa linha por linha e sim um vetor… ALLguem me ajude por favor…

/** Criacao do Objeto Remoto /
/
* Importacao dos pacotes JDBC e RMI, alem de implementar a interface remota JR. O Objeto eh uma

  • subclasse de UnicastRemoteObject que o define como objeto remoto /
    import java.util.
    ;
    import java.rmi.;
    import java.sql.
    ;
    import java.rmi.server.UnicastRemoteObject;
    public class JRImpl extends UnicastRemoteObject implements JR {

    /** Declaracao das variaveis do objeto remoto /
    /
    * Por se tratar de um gerenciamento de multiplas conexoes ao database, define-se um vetor privado

    • que permite ate 5 instancias do objeto JRConnection */

    private JRConnection jrc[]=new JRConnection[5];

    /** Criacao do construtor do objeto remoto /
    /
    * Construtor default */

    public JRImpl() throws RemoteException {
    }

    /** Criacao dos metodos do objeto remoto /
    /
    * Estes metodos serao chamados pelo cliente. Eles implementam os mesmos nomes e parametros

    • declarados na interface remota /
      /
      * O metodo openDatabase() eh sincronizado para prevenir multiplas chamadas concorrentes dos
    • clientes */

    /** Metodo de abertura de uma conexao ao database */

    public synchronized int openDatabase() throws RemoteException, SQLException,
    ClassNotFoundException {
    int connectionId;
    // Loop pela tabela de conexao ate uqe seja encontrado um slot vazio
    for (connectionId=0; connectionId<jrc.length; connectionId++) {
    if (jrc [connectionId]==null)
    break;
    }
    // Se nenhum slot vazio eh encontrado, eh gerado um erro
    if (connectionId>=jrc.length) {
    System.out.println(“Sem conexao !!!”);
    return -1;
    }
    // Cria uma conexao ao novo processo e executa-o
    jrc [connectionId]=new JRConnection();
    // Chama o metodo do novo processo para abrir uma conexao ao database
    jrc[connectionId].openDatabase();
    // Retorna o identificador da conexao
    return connectionId;
    }

    /** Executa uma consulta SQL com uma clausula WHERE */
    public void performSearch(int id, String searchString) throws RemoteException, SQLException {
    jrc[id].performSearch(searchString);
    }

    // /** Percorre a proxima linha a partir do resultado da consulta */
    public String getNextRow(int id) throws RemoteException, SQLException {
    return jrc[id].getNextRow();
    }

    /** Fecha a conexao ao database */
    public void closeDatabase(int id) throws RemoteException, SQLException {
    jrc[id].closeDatabase();
    jrc[id]=null;
    }
    }