opendreams.proxy
Class OpenDreamsProxy

java.lang.Object
  extended by opendreams.proxy.OpenDreamsProxy

public class OpenDreamsProxy
extends Object

O OpenDreamsProxy tem como objetivo encapsular os mecanismos de acesso ao OpenDreams. Faz o login no barramento e recupara as interfaces dos serviços usados pelo cliente desse barramento.

Author:
Tecgraf PUC-Rio

Field Summary
static String DEFAULT_PROPERTIES_FILE
          Nome do arquivo default com as propriedades para acesso ao OpenDreams.
static String PROJECT_PROPERTY
          Nome da propriedade que possui o nome do projeto configurado.
 
Constructor Summary
OpenDreamsProxy()
          Constrói um proxy para o serviço OpenDreams do OpenBus, usando as propriedades do arquivo default de propriedades
OpenDreamsProxy(Properties properties)
          Constrói um proxy para o serviço OpenDreams do OpenBus, usando as propriedades especificadas.
 
Method Summary
 boolean addComponent(String className)
          Fecha a conexão com o openbus.
 void close()
          Fecha o proxy
 List<Project> getAllProjects()
          Obtém uma lista de proxies para os projetos do usuário.
 tecgraf.openbus.data_service.IHierarchicalDataService getIDataService()
          Obtém o objeto registrado no openbus que implementa a interface IOpenDreams
 IOpenDreams getIOpenDreams()
          Obtém o objeto registrado no openbus que implementa a interface IOpenDreams
 Project getProject()
          Obtém um proxy para um projeto do usuário.
 Project getProject(String projectName)
          Obtém um proxy para um projeto do usuário.
 String getProjectName()
          Obtém o nome do projeto usado para acesso ao OpenDreams.
 Properties getProperties()
          Obtém as propriedades usadas para a configuração do proxy.
 void init()
          Inicializa o contexto de acesso ao barramento, através de certificados.
 void init(String user, String password)
          Iniciliza o contexto de acesso ao barramento, através de login/senha.
 boolean isEnabled()
          Verifica se o proxy está habilitado.
 void setACSCertificate(InputStream acsCertificate)
          Atribui o arquivo com certificado público do serviço de acesso (ACS) , para ser usado na conexão por certificado.
 void setPrivatekey(InputStream privateKey)
          Atribui o arquivo com a chave privada para ser usada na conexão por certificado.
 void setThreadDelegate(String user)
          Altera o usuário para o qual a credencial está sendo delegada.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_PROPERTIES_FILE

public static String DEFAULT_PROPERTIES_FILE
Nome do arquivo default com as propriedades para acesso ao OpenDreams.


PROJECT_PROPERTY

public static String PROJECT_PROPERTY
Nome da propriedade que possui o nome do projeto configurado.

Constructor Detail

OpenDreamsProxy

public OpenDreamsProxy(Properties properties)
                throws OpenDreamsException
Constrói um proxy para o serviço OpenDreams do OpenBus, usando as propriedades especificadas.

Parameters:
properties - as propriedades previamente configuradas
Throws:
OpenDreamsException - se houve falha na carga das propriedades

OpenDreamsProxy

public OpenDreamsProxy()
                throws OpenDreamsException
Constrói um proxy para o serviço OpenDreams do OpenBus, usando as propriedades do arquivo default de propriedades

Throws:
OpenDreamsException - se houve falha na carga das propriedades
See Also:
DEFAULT_PROPERTIES_FILE
Method Detail

setPrivatekey

public void setPrivatekey(InputStream privateKey)
Atribui o arquivo com a chave privada para ser usada na conexão por certificado. Se esse arquivo não estiver definido, a conexão usa o nome do arquivo definido na propriedade openbus.acs.private.key. Esse método deve ter sido chamado antes de abrir o proxy, ou seja, antes de chamar o método init()

Parameters:
privateKey - o arquivo com chave privada usada para a conexão com o barramento

setACSCertificate

public void setACSCertificate(InputStream acsCertificate)
Atribui o arquivo com certificado público do serviço de acesso (ACS) , para ser usado na conexão por certificado. Se esse arquivo não estiver definido, a conexão usa o nome do arquivo definido na propriedade openbus.acs.certificate. Esse método deve ter sido chamado antes de abrir o proxy, ou seja, antes de chamar o método init()

Parameters:
acsCertificate - o arquivo com o certificado público do ACS, usado para a conexão com o barramento

init

public void init()
          throws OpenDreamsException
Inicializa o contexto de acesso ao barramento, através de certificados.

Throws:
OpenDreamsException - falha no acesso ao openbus

init

public void init(String user,
                 String password)
          throws OpenDreamsException
Iniciliza o contexto de acesso ao barramento, através de login/senha.

Parameters:
user - usuário LDAP
password - senha
Throws:
OpenDreamsException - falha no acesso ao openbus

getIOpenDreams

public IOpenDreams getIOpenDreams()
                           throws OpenDreamsException
Obtém o objeto registrado no openbus que implementa a interface IOpenDreams

Returns:
o serviço IOpenDreams
Throws:
OpenDreamsException - se o serviço não foi encontrado

getIDataService

public tecgraf.openbus.data_service.IHierarchicalDataService getIDataService()
                                                                      throws OpenDreamsException
Obtém o objeto registrado no openbus que implementa a interface IOpenDreams

Returns:
o serviço IOpenDreams
Throws:
OpenDreamsException - se o serviço não foi encontrado

getProject

public Project getProject()
                   throws OpenDreamsException
Obtém um proxy para um projeto do usuário. O nome do projeto deve estar definido na propriedade opendreams.project.name. do arquivo de configuração.

Returns:
um projeto.
Throws:
OpenDreamsException - se ocorrer um erro no acesso ao serviço de projetos

getProjectName

public String getProjectName()
                      throws OpenDreamsException
Obtém o nome do projeto usado para acesso ao OpenDreams. Essa propriedade é opcional, mas

Returns:
o nome do projeto
Throws:
OpenDreamsException - se o nome do projeto não estiver configurado

getProject

public Project getProject(String projectName)
                   throws OpenDreamsException
Obtém um proxy para um projeto do usuário.

Parameters:
projectName - nome do projeto
Returns:
um projeto.
Throws:
OpenDreamsException - se ocorrer um erro no acesso ao serviço de projetos

getAllProjects

public List<Project> getAllProjects()
                             throws OpenDreamsException
Obtém uma lista de proxies para os projetos do usuário.

Returns:
lista de projetos, que pode ser vazia, caso o usuário não tenha nenhum projeto.
Throws:
OpenDreamsException - se ocorrer um erro no acesso ao serviço de projetos

addComponent

public boolean addComponent(String className)
                     throws OpenDreamsException
Fecha a conexão com o openbus.

Parameters:
className - nome canônico da classe que implementa o serviço
Returns:
true caso o componente seja registrado ou false, caso contrário.
Throws:
OpenDreamsException - Caso o proxy não esteja aberto para fazer o registro das ofertas de serviço.

isEnabled

public boolean isEnabled()
Verifica se o proxy está habilitado. Para o proxy estar habilitado é necessário que o barramento esteja habilitado (openbus.enabled) e o componente esteja habilitado (opendreams.enabled).

Returns:
true se o proxy está habilitado ou false caso contrário.

close

public void close()
Fecha o proxy


setThreadDelegate

public void setThreadDelegate(String user)
Altera o usuário para o qual a credencial está sendo delegada. Essa delegação é feita na thread.

Parameters:
user - o login do usuário para o qual a credencial está sendo delegada

getProperties

public Properties getProperties()
Obtém as propriedades usadas para a configuração do proxy.

Returns:
as propriedades usadas para configuração do proxy


Tecgraf PUC-Rio