Mensagens enviadas por: RafaelVS
Índice dos Fóruns » Perfil de RafaelVS » Mensagens enviadas por RafaelVS
Autor Mensagem
O generator do tipo "assigned" quer dizer que sua aplicação irá informar o valor da PK.
Acho que você mandou o HBM que estava usando após criar o tal serviço para criar a chave.

Manda o HBM que estava sendo usado quando deu o erro que originou o tópico. E também manda o stacktrace completo da Exception.
Acho que não tem como... você precisa entender como é feito o esquema para abrir os arquivos binários retornados em uma solicitação http...

Basicamente, o servidor, quando envia a resposta binária, ele diz em um cabeçalho qual o tipo do conteúdo (contentType). Quando o browser recebe a resposta, ele verifica o contentType e, então, vai procurar na máquina do cliente qual o programa que é capaz de exibir aquele tipo de conteúdo e, portanto, acaba existindo alguma dependência de programa do lado do cliente para ele visualizar os arquivos. (Se você não quer que ele dependa do MS Office por ser proprietário, caso ele tenha outros editores, como o OpenOffice ou BrOffice ele seria capaz de visualizar tais arquivos, embora nem sempre tudo que é feito no MS Office pode ser visualizado exatamente igual nos outros editores).

Inclusive, acho que você não sabia, mas o cliente só consegue abrir PDF porque ele tem o Adobe Acrobat Reader (ou algum outro leitor de PDF) instalado na máquina dele. Se ele não tivesse, então ele também não conseguiria abrir o PDF (no caso do windows, provavelmente apareceria aquela tela perguntando para o usuário qual programa ele deseja escolher para abrir o arquivo).

Quanto a exibir arquivos doc e xls no html, você precisaria utilizar alguma API para conseguir ler o conteúdo dos arquivos (como Apache POI) e montar o HTML manualmente. Atualmente o POI tem maior suporte para XLS... O suporte a doc ainda é meio precário... mas acho que é um trabalho muito grande montar o HTML a partir de um doc/xls (você teria que montar toda a formatação do html manualmente.. não teria uma maneira automática de fazer).

Se você realmente não quiser esta dependência, então você vai ter que mudar a maneira como recebe as informações. Por exemplo, ao invés de você receber arquivos DOC e XLS para exibir ao cliente, você vai ter que apresentar formulários que solicitem os dados necessários (os dados que estariam nos arquivos) e aí você já teria os dados puros (já pularia a etapa de fazer parse nos arquivos usando o POI). Em seguida, você montaria a página HTML com esses dados.
Cara, não precisa fazer isso no código. Mostra aí como você mapeou sua classe (annotation ou xml) que talvez possamos te ajudar a encontrar onde está o erro...

Imagine só você se preocupar em escrever código pra gerar a primary key para todas as entidades do sistema? E ainda mais seguindo essa estratégia que você está fazendo de consultar todos e obter o próximo. Se isso for um sistema que você está desenvolvendo na sua empresa, a performance dele vai estar lá embaixo.
Putz, que requisito feladamae, hein?

É melhor você entrar em acordo com o usuário e dizer que tem que respeitar o limite do tamanho hehehe

Não sei se é possível mudar o tamanho da fonte em tempo de execução, pois o relatório é um arquivo compilado e, acho que pra mudar a fonte, você teria que fazer algo que editasse o .jrxml dinamicamente e recompilasse para ele gerar um novo .jasper com o tamanho da fonte desejado.

(Mas note que todo o meu post seria inútil se houvesse uma maneira de parametrizar o tamanho da fonte e informar o valor em tempo de execução )
Não sei se dá pra fazer isso que você quer com arquivos do Office...

O que acontece com os arquivos PDF, na verdade, é que o browser deve estar com algum plugin da Adobe instalado e então ele verifica que a resposta é do tipo application/pdf e, então, ele já abre o pdf no browser, sem pedir para baixar.

Note que ele não abre o PDF em uma página HTML, como você disse; na verdade, ele abre no browser, através de um plugin do browser (você não consegue, por exemplo, ver o código fonte do html com o PDF dentro de uma tag embed da vida).
padcoe wrote:Cara..simples:



As 2 Galinhas possuem o mesmo Id, mas são objetos diferentes. É exatamente isso que estou enfrentando, eu queria saber se tem alguma forma de eu evitar inserir 2x o objetos diferentes mas com o mesmo valor?

Eu to tendo que percorrer a lista 2x, será que usar um Map e setar o Id como Key, resolveria?

[]'s


Já que para você 2 galinhas são iguais quando possuem o mesmo id, então basta você:

1. Implementar o método equals da classe Galinha que retorna true se os ids são iguais.
2. Ao invés de usar List/ArrayList, utilize Set/HashSet.

Ex.:



Pode haver algum erro de compilação aí porque digitei daqui do fórum, mas o que vale é a idéia.
Cara, as vezes a gente pensa que tá tudo certo, mas não está (obviamente não está tudo certo, pois se estivesse não estaríamos tendo esta conversa hehehe)... Mas então, dê uma olhada direitinho no mapeamento e dá uma olhada na dica do nandobgi... às vezes, no Oracle, quando o usuário (que você configurou para conectar na base de dados) está sem permissão (grant), ele dá a mensagem de que a tabela ou view não existe.
Só para te ajudar a entender o que o Thingol fez, vou tentar explicar o que você precisaria ajustar no seu código para fazer o que você queria...

1. Você não passa os argumentos no método run.. se você precisar passar algum valor a ser utilizado em uma Thread, você precisa informar esse valor no construtor.
2. Você deve implementar o método run() - note que não recebe parâmetros - e colocar o código que será executado quando a thread for iniciada.
3. Para iniciar a Thread, você não chama o método run(), você deve chamar o método start().

Sabendo isso, veja como fazer na prática no código que Thingol mostrou.
Se não houvesse o requisito de colocar o id da empresa no log, você poderia utilizar orientação a aspectos para isolar o interesse de Log. Desta maneira, seu código ficaria mais limpo, sem códigos de log e sem precisar instanciar o Logger e ainda desacoplaria seu código retirando a dependência da API do Log4J.

Havendo o requisito de colocar o id da empresa, ainda é possível utilizar AOP se houver alguma maneira de obter tal informação através de algum método estático, mas se o id da empresa for informado como um parâmetro do método que está sendo logado, então pode ficar complicado escrever um aspecto que consiga obter essa informação.


e é interesse guardar os acessos das empresas, recomendo a separação por pacotes/interfaces.

Exemplo: br.com.empresa1.cadastros.usuario (interface)
br.com.empresa2.cadastros.usuario (interface)
br.com.empresa3.cadastros.usuario (interface)
br.com.interno.cadastros.usuario (implementação)

Assim vc poderia separar os logs por pacotes (br.com.empresa1,2,3)

em arquivos separados (empresa1.log,empresa2.log,empresa3.log).


Acho que o Aleck não percebeu que a empresa provavelmente é uma entidade persistida no banco e que em tempo de compilação não se conhece todas as empresas cadastradas (nem é admissível ter que recompilar o código toda vez que o usuário cadastre/altere/exclua uma nova empresa no sistema), o que torna inviável a solução proposta por ele.
Tem sim. Basta colocar o breakpoint onde você deseja iniciar a depuração. Para acompanhar passo a passo, coloque na perspectiva de Debug e lá você verá a pilha de execução de cada thread. Você pode, inclusive, decidir a ordem em que as threads irão executar, pois elas estarão em pause, esperando que você "solte o debug" e você pode escolher qual thread liberar primeiro.
lidianycs wrote:Mas não consigo integrar no meu projeto por que o http://javacsv.sourceforge.net/index.html?com/csvreader/CsvWriter.html , simplesmente recebe um OutputStream e escreve os dados nele, mas não aceita um ServletOutputStream


Se o método do seu CsvWriter recebe um OutputStream, então ele aceita sim um ServletOutputStream, pois essa classe herda de OutputStream.

Então, você poderia simplesmente passar o response.getOutputStream para o método do CsvWriter.
Pessoal, consegui processar o RTF trocando as tags por valores do banco, como desejado, utilizando RTFTemplate. Porém, essa API gera um novo RTF e estou tendo dificuldade em encontrar uma API (de preferência free) que converta esse RTF final em um PDF.

Pelas minhas pesquisas, só encontrei algumas ferramentas (muitas que só rodam no Windows), mas nenhuma API para Java. Apenas no iText vi um comentário sobre uma futura feature que irá ler o RTF e escrever seu conteúdo em PDF, mas não sei quando isso ficará pronto. Alguém conhece alguma API que faça essa conversão (RTF to PDF)?

[]'s
Pessoal, estou precisando fazer um relatório PDF a partir de um template em RTF (que será editado e formatado pelo usuário e como ele bem quiser) com algumas "tags especiais" que serão substituídas por valores armazenados no banco de dados. Além disso, uma das dificuldades maiores é que no template há uma tabela, que será preenchida com uma coleção de dados, vinda do banco.

Pelo que pesquisei até agora encontrei algumas possíveis soluções, como WindWard e rtf2pdf, mas ambas são pagas. Uma é muito cara, mas faz tudo que preciso, e a outra é relativamente barata, mas precisa de um processamento adicional, pois ela lê um rtf e gera um xml + xsl, daí precisaria ainda processar o xml para trocar as tags pelos valores do banco para, por fim, gerar o pdf (além disso, o teste que fiz com essa segunda apresentou falhas na hora de gerar o pdf, então acho que ela não é muito confiável).

Gostaria de saber se vocês já fizeram algo parecido com isso e qual teria sido a solução encontrada.

[]'s
fabioebner wrote:Pessoa como eu faco para associar varios checkbox a um ArrayList no meu Bean?

eu tenho uma lista de cidades cada uma com um checkbox do lado.. o valor desse checkbox e o codigo da cidade.. eu quero dar a opcao para o usuario selecionar mais de um. .e qdo ele der CADSTRAR eu recuperar todos os check selecinados e adicionar na tabela.. alguem tem um exemplinho de como fazer isso??


obrigado


Cara, não tem mistério.

1. Coloca o mesmo name nos checkbox, exemplo:

<input type="checkbox" name="cidadeCodigo" value="1" />
<input type="checkbox" name="cidadeCodigo" value="2" />
<input type="checkbox" name="cidadeCodigo" value="3" />

2. Os checkbox que o usuário marcar podem ser recuperados no Servlet através do trecho:



Qqr dúvida, joga aih.
[]'s
http://www.apress.com/book/free wrote:Free eBook download is temporarily unavailable. Sorry for the inconvenience.


 
Índice dos Fóruns » Perfil de RafaelVS » Mensagens enviadas por RafaelVS
Ir para:   
Powered by JForum 2.1.8 © JForum Team