[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico] [Índice de assunto]

Re: [reverbel-sod] Re: [EP1] Manipular estado do Customer



On Mon, 2006-04-17 at 12:29 -0300, Cleiton Cabral wrote:
> > Para construir a lista de MovieCopies alugados para um Customer,
> > percorra a coleção de serventes de MovieCopy e olhe o campo "id do
> > Customer" de cada servente. (No caso de entidades armazenadas num BD
> > relacional, você faria isso com um comando SQL: "SELECT ID FROM
> > MOVIE_COPY MC WHERE MC.CUSTOMER_ID = CUSTOMER_ID".) Note que a coleção
> > de serventes de MovieCopy servirá também para implementar a interface
> > MovieCopyHome.
> Professor,
> Mas como eu consigo obter uma coleção de serventes de MovieCopy? 

Faça o servente do MovieCopyHome ter uma coleção (inicialmente vazia) de
MovieCopies. A operação create do MovieCopyHome deve adicionar novos
elementos a essa coleção. 

> Eu notei que na classe MovieCopyListHelper existe um método "read", abaixo:
> public static VideoRentalStore.MovieCopy[] read (final org.omg.CORBA.portable.InputStream _in)
> Imagino que este método devolva uma lista de serventes MovieCopy, é isso mesmo? Se sim, o que devo passar nesse parâmetro "_in"??

Não, esse é um método auxiliar, para "desempacotar" uma MovieCopyList
que se encontra no "formato de transmissão" de CORBA (CDR). O método lê
um stream de bytes do parâmetro _in e reconstitui uma MovieCopyList que
tinha sido "empacotada para viagem". O tradutor IDL gera esse método
para que os stubs e o esqueleto o chamem quando estiverem desempacotando
MovieCopyLists passadas como parâmetros ou resultados das operações. O
array devolvido pelo método é a MovieCopyList desempacotada (no
mapeamento de IDL para Java, uma seqüência IDL vira um array Java).

Usuários normalmente não chamam MovieCopyListHelper.read() e nem
precisam saber que esse método existe. Quem chama esse método são os
stubs/esqueletos gerados pelo tradutor IDL. Como exemplo, olhe a
"implementação" de getCopies() na classe stub do Movie. Ela chama
MovieCopyListHelper.read() para desempacotar a MovieCopyList recebida do
servidor.

Reverbel


> Abraços
> Cleiton Cabral.