segunda-feira, 16 de novembro de 2009

[JSF] URL não é atualizada no Browser

Problema



Quando é acessado os links/menus do JSF a URL do browser não é atualizada com o endereço da pagina corrente.

Solução:



Colocar nas regras de navegação no arquivo faces-config.xml a tag
< redirect /> 



Exemplo



< navigation-rule >
< display-name >downloadChangelog< /display-name >
< from-view-id >/uncommitedChangeRequestView.jsp< /from-view-id >
< navigation-case >
< from-outcome >gotoDownloadChangelogFile< /from-outcome >
< to-view-id >/downloadChangelogFile.jsp< /to-view-id >
< redirect/ >
< /navigation-case >
< /navigation-rule >


Problemas da solução


Os seus backbeans com scopo de request perderão os atributos, então antes de aplicar a tag em uma pagina qualquer, certifique-se que não esta usando um bean com scopo de request.

segunda-feira, 26 de outubro de 2009

[tomcat] Configurando o DBCP para o Oracle XE

Oracle + Tomcat + DBCP

Abaixo segue um passo a passo de como configurar o DBCP (pool de conexões) do Tomcat 6.0 para o Oracle XE


  • Copiar copiar o jar do driver Oracle(ojdbc14-10.2.0.3.jar) para $CATALINA_HOME/lib/

  • No Tomcat 6.0 os jars do DBCP já estão presentes.

  • Configurar o arquivo Context(context.xml)


    < Resource name="jdbc/myoracle" auth="Container"
    type="javax.sql.DataSource" driverClassName="oracle.jdbc.OracleDriver"
    url="jdbc:oracle:thin:@127.0.0.1:1521:mysid"
    username="scott" password="tiger" maxActive="20" maxIdle="10"
    maxWait="-1" />



  • Configurar o arquivo web.xml

     
    < description >Oracle Datasource example< /description >
    < res-ref-name >jdbc/myoracle< /res-ref-name >
    < res-type >javax.sql.DataSource< /res-type >
    < res-auth >Container< /res-auth >
    < /resource-ref >



  • Exemplo Java: acessando uma nova conexão


    Context initContext = new InitialContext();
    Context envContext = (Context)initContext.lookup("java:/comp/env");
    DataSource ds = (DataSource)envContext.lookup("jdbc/myoracle");
    Connection conn = ds.getConnection();
    //etc.



    REFERÊNCIA
  • sexta-feira, 23 de outubro de 2009

    [oracle][tablespaces size] Mostrar o tamanho de cada tablespace

    Mostra uma relação de utilização de todas as tablespaces


    select a.TABLESPACE_NAME,
    a.BYTES/1024/1024 alloc_bytes_in_MB,
    b.BYTES/1024/1024 bytes_free_MB,
    round(((a.BYTES-b.BYTES)/a.BYTES)*100,2) percent_used,
    (round(((a.BYTES-b.BYTES)/a.BYTES)*100,2)/100) * a.BYTES/1024/1024 bytes_used_in_MB
    from
    (
    select TABLESPACE_NAME,
    sum(BYTES) BYTES
    from dba_data_files
    group by TABLESPACE_NAME
    )
    a,
    (
    select TABLESPACE_NAME,
    sum(BYTES) BYTES
    from dba_free_space
    group by TABLESPACE_NAME
    )
    b
    where a.TABLESPACE_NAME=b.TABLESPACE_NAME

    [oracle][tables size] Tamanho das tabelas de um schema

    Mostra a relação de tamanhos das tabelas de um determinado schema


    SELECT t.table_name AS "Table Name",
    t.TABLESPACE_NAME AS "Table space",
    t.num_rows AS "Rows",
    t.avg_row_len AS "Avg Row Len",
    Trunc((t.blocks * p.value)/1024) AS "Size KB", -- numero de blocos X o seu tamanho em KBs
    t.last_analyzed AS "Last Analyzed"
    FROM dba_tables t,
    v$parameter p
    WHERE t.owner = 'NOME_SCHEMA'
    AND p.name = 'db_block_size'
    ORDER BY 5 desc

    [oracle][analise statistics tables] Analise de estatísticas de tabelas

    Gera um script de analise completa de estatísticas de todas as tabelas de um determinado schema.


    SELECT 'analyze table ' || OWNER || '.' || TABLE_NAME || ' compute statistics;'
    FROM dba_tables
    WHERE owner = 'SCHEMA'

    [oracle][sessions] Matar sessões abertas

    Os comandos abaixo verificam e geram um script para matar sessões abertas de um determinado usuário


    Verificando sessões abertas


    SELECT s.sid,
    s.serial#,
    s.osuser,
    s.program
    FROM v$session s
    where osuser = 'userName'


    Matando sessões abertas


    SELECT 'ALTER SYSTEM KILL SESSION ''' || se.sid || ', ' || se.serial# ||''' IMMEDIATE ;'
    FROM v$session se where osuser = 'userName';



    Saida exemplo

    ALTER SYSTEM KILL SESSION '523, 480' IMMEDIATE ;

    [oracle][index] Rebuild indexes

    O comando abaixo ira gerar um script para rebuild dos índices


    select 'ALTER INDEX '||INDEX_NAME||' rebuild tablespace '||tablespace_name||';' from dba_indexes where TABLE_OWNER like 'NMS';

    [oracle][recyclebin] Analisando e apagando a recyclebin

    ORACLE RECYCLEBIN




    Mostra os objetos da recyclebin



    select * from recyclebin;


    Retorna o tamanho total da RECYCLEBIN e uma relação de quantos objetos existem por schema




    select r.owner,
    count(distinct r.original_name) orig_obj,
    count(distinct r.object_name) objects,
    sum(bytes)/1024 kb
    from dba_recyclebin r
    join dba_segments s
    on (r.owner = s.owner and r.object_name = s.segment_name)
    group by r.owner;



    Apaga a recyclebin



    PURGE RECYCLEBIN;

    [oracle][index error] ORA-08102: index key not found, obj# 27063, file 6, block 65802

    Banco de dados: Oracle XE

    Problema



    Quando tentei apagar um registro com dados estranhos da base a seguinte mensagem me foi informada:


    ORA-08102: index key not found, obj# 27063, file 6, block 65802


    Causa



    Pesquisando, descobri que esse erro é acontece devido ao índice estar corrompido no banco de dados.
    Para descobrir qual o objeto em questão basta pesquisar na tabela de objetos especificando o numero do objeto corrompido, descrito na mensagem.


    SELECT * from all_objects WHERE object_id=27063;


    O resultado do select acima foi as informações do indice com o problema.


    Solução



    Solução 1


    Para resolver o problema primeiramente tentei dar um rebuild no índice utilizando o seguinte comando:


    ALTER INDEX index_name REBUILD;


    Após a execução do rebuild tentei remover o registro mas não obtive sucesso.

    Solução 2


    Minha segunda abordagem foi apagar o índice mesmo, pois analisando o índice em questão verifiquei que era um índice auxiliar de FK, isso que dizer que o índice pode ser apagado e criado novamente.


    DROP INDEX index_name;


    Após apagar o índice foi possível remover o registro e depois disso recriei o índice com o script original.

    Referencia:
    http://forums.oracle.com/forums/thread.jspa?threadID=61877

    quinta-feira, 10 de setembro de 2009

    Ubuntu e iPod

    Para configurar o seu iPod nano no Ubuntu, basta seguir os seguintes passos:

    1. Baixar o programa de upload de musicas

      sudo apt-get install gtkpod

    2. Coloque o iPod na maquina e deixe o Ubuntu montar normalmente
    3. Provavelmente será uma pasta em /media/ipod (se não souber a pasta, abra a pasta /media e retire e coloque o iPod novamente na maquina, a pasta nova que aparecer será o diretório do iPod montado)
    4. Configurar o gtkpod

      1. Inicie o gtkpod (Menu Aplicativos->Som e Vídeo->gtkpod)
      2. Vá ao menu Edit->Repository/iPod Option
      3. Clique em Add New Repository ou edite as configurações do repositório aberto
      4. No campo iPod mountpoint selecione a pasta que o seu iPod foi montando(aquela pasta quando você colocou o iPod na maquina)
      5. Clique em OK, você voltará para a tela inicial do programa
      6. Clique em Add Files ou Add Folder e selecione suas musicas
      7. Após colocar todas as suas musicas clique em Save Changes
      8. Feche o programa e desmonte o iPod
      9. Pronto suas musicas irão tocar normalmente ;)

    5. Apenas na primeira vez será necessário configurar o repositório, depois é só fazer o upload normal das musicas a partir dos Add Files ou Add Folder e Save Changes

    sexta-feira, 28 de agosto de 2009

    Maven primeiras noções

    O que é o Maven?



    É um sistema de gerenciamento de dependências e build de projetos java, seu conceito é parecido com o Ant, porem o Maven tenta facilitar mais a criação de tarefas, pois exitem varias tareas prontas e pré-definidas, onde essa pré-definição acaba tornando todos os projetos que utilizam Maven com sistema de pacotes e organização padrão. Suas principais características seguem são:



    Gerencia de dependências



    Capaz de analisar as dependias do projeto e fazer o donwload dos jars do servidor local ou web, essa propriedade é bem parecida dom o apt-get do Debian; foi implementada para que o próprio projeto encontre e baixe suas dependências quando necessário, sem a necessidade de passar varios jar's de dependência do projeto, facilitando tambem a atualização das dependências quando necessário, ex: no projeto era utilizado a versão 1.2 do log4j e passou a ser utilizado a versão 1.4, o maven irá verificar que essa dependências foi atualizada e irá baixar automaticamente do servidor local ou web a nova versão utilizada do log4j e configurar novamente o sistema, garantindo assim que o projeto sempre esteja integro com suas dependias



    Plugins ou "Tarefas pré-definidas"




    O Maven possui uma caracteristica onde é possivel baixar varios plungins pré-definidos, os plungins do Maven são similares a tarefas do Ant, no entando já estão todos prontos. Para explicar melhor vou citar o seguinte exemplo, vamos supor que você esta configurando o sue projeto no Ant, para isso você teria que criar no minimo as seguintes tarefas na mão (editando o build.xml com suas tags):



    • compilar o projeto
    • rodar os testes do projeto
    • processar os recursos do projeto(imgs etc...)
    • configurar o classpah relativo
    • gerar o jar no diretorio que você mesmo especificou.


    No Maven isso tudo já esta pronto, porque já foram desenvolvidos plungins que fazem isso, pois, são tarefas que são básicas para criação de um projeto, logo para fazer a mesma coisa no Maven bastaria fazer o seguinte:



    mvn package


    O comando acima é um plugin desenvolvido para o Maven que já incorpora e utiliza diversos outros plugins como o de compilação, teste, gerencia de recursos e todos os outras atividades citadas acima para a configuração no Ant.

    domingo, 2 de agosto de 2009

    Ubuntu: HD Externo sem permissão de escrita

    Problema:
    No Ubuntu, após formatar HD externo em Reiserfs o Nautilus monta as partições mas sem permissão de escrita.

    Causa:
    Depois de alguma pesquisa e analise, descobri que o problema era devido ao Owner da partição ser o root, logo outros usuários não teriam permissão de escrita.

    Solução:

    Para outro usuario conseguir montar o HD basta coloca-lo como Owner usando o comando abaixo:


    change the mount point owner over to your username... for example, if your username is halon, and the mount point is /media/disk, then:

    sudo chown halon:halon -R /media/disk

    quinta-feira, 2 de julho de 2009

    Ouvindo rádio no Linux

    Para aqueles que gostam de usar a banda para escutar rádio; encontrei algo útil em um blog de um amigo hehehe, tá bom uma das coisas úteis..... :P


    Aí vai a lista…para ouvir no Totem, ou em seu player favorito:



    Atlântida FM Porto Alegre:
    mms://200.226.189.240/atlantidars

    Florianópolis:
    mms://200.96.99.10/atlantidasc

    Cidade FM – Porto Alegre: mms://200.96.99.10/cidade

    Rádio Gaúcha AM – Porto alegre: mms://200.96.99.10/gaucha

    Rádio Rural AM – Porto Alegre: mms://200.96.99.10/rural

    Itapema FM – Porto Alegre: mms://200.96.99.10/itapemars

    Itapema FM – Florianópolis: mms://200.96.99.10/itapemasc

    Rádio CBN AM – Porto Alegre: mms://200.96.99.10/cbn


    FONTE: MORAIS BLOG

    domingo, 28 de junho de 2009

    Ubuntu: converter video FLV para MP3

    Para converter um arquivo flv para mp3 pasta seguir os seguintes passos:

  • Instalar o programa ffmpeg

    sudo apt-get install ffmpeg



  • usar a seguinte opção

    ffmpeg -i video.flv som.mp3




    Observações: não cheguei a testar em outros formatos de arquivo, mas acredito que funcione tb ;)
  • quarta-feira, 24 de junho de 2009

    Ubuntu: Removendo a senha de chaveiro para acessar a Rede

    Estava procurando uma maneira para me livrar do tal chaveiro do Ubuntu, aquela na qual, antes de se conectar na rede aparece uma janela solicitando a senha do chaveiro.

    Bom para se livrar desse chaveiro basta fazer os seguintes passos:

  • Menu => Acessórios=> Senhas e chaves de criptografia
  • Aba Senhas
  • Menu => Arquivo => Novo
  • Digite o nome do novo Chaveiro Ex: SemSenha e precione OK
  • Botão direito sobre o novo chaveiro "Definir como Padrão"
  • Apague as entradas da rede do chaveiro antigo
  • Deslogar e logar no Ubuntu e colocar novamente a senha do Wifi
  • Pronto, na próxima vez não será requisitado a senha ;)


    Obs:
    Essa não é uma prática segura para quem quer restringir o acesso a redes na sua maquina.
  • segunda-feira, 22 de junho de 2009

    Ubuntu sincronizar legendas


    Para ajustar a sincronia de legenda errada nos filmes e series utilize o Gnome-subtitles.
    Essa ferramenta permite editar as legendas assim como adiantar ou atrasar o tempo.



    Comando para instalar:


    sudo apt-get install gnome-subtitles

    sexta-feira, 27 de março de 2009

    Ferramenta: PDF to Word

    Essa é um ferramenta que pode ser útil um dia!
    Não cheguei a testar ainda mas vale a pena registrar!


    terça-feira, 24 de março de 2009

    Eclipse: Upper/Lower case atalhos

    Lower Case: CTRL+SHIFT+Y
    Upper Case: CTRL+SHIFT+X

    sexta-feira, 20 de março de 2009

    Banco do Brasil teclado virtual problema no Firefox

    Recentemente tive um problema com o meu firefox no ubuntu, quando acessava o site do Banco do Brasil o teclado virtual de senhas não aparecia.

    Para resolver o problema basta apenas instalar o plugin java no sistema.


    sudo apt-get install sun-java6-plugin


    OBS: Para quem não tem o JAVA instalado segue todos pacotes


    sudo apt-get install sun-java6-jre sun-java6-fonts sun-java6-bin sun-java6-plugin

    domingo, 15 de março de 2009

    Ubuntu w32codes

    Script para instalação do w32codes(codes Windows e outros).



    sudo wget http://www.medibuntu.org/sources.list.d/intrepid.list --output-document=/etc/apt/sources.list.d/medibuntu.list

    sudo apt-get update && sudo apt-get install medibuntu-keyring && sudo apt-get update

    sudo apt-get install libdvdcss2
    sudo apt-get install w32codecs



    FONTE: Blog

    Ubuntu restricted extras

    No ubuntu existe um pacote que fornece suporte a vários formatos de áudio incluindo o MP3, fontes Micro$ofts, plugin Flash, DVD play e outros. Para instalar apenas digite o seguinte comando:


    sudo apt-get install ubuntu-restricted-extras

    Gparted suporte NTFS

    Nas novas versões do Ubuntu o Gparted não tem suporte a NTFS, não sei o porque, mas provavelmente tiveram problemas de lincença da Miscro$oft.

    Para adicionar o suporte ao Gparted basta instalar o seguinte pacote:


    sudo apt-get install ntfs-progs

    domingo, 18 de janeiro de 2009

    Gnome Desktop sem ícones

    Mais uma vez na minha mais recente utilização do Gnome, não gostei dos ícones
    aparecendo no Desktop.

    No KDE existia uma opção fácil de retirar os ícones do Desktop, no Gnome
    essa opção não é tão fácil assim.

    Para quem não gosta dos ícones ai va uma dica:

  • Abra o Editor de configurações, rodando o programa gconf-editor (veja “Iniciar um Programa Manualmente”).

  • Escolha apps->nautilus->desktop.

  • Marque a caixa próxima a computer_icon_visible, home_icon_visible, e trash_icon_visible.

  • As modificações são efetuadas imediatamente.
  • Nautilis abrir terminal em uma pasta

    Recentemente eu tenho utilizado o nautilus como gerenciador de arquivos
    como estava acostumado com o Konquero(que ainda é o melhor gerenciador de arquivos que existe)
    algumas coisas me fazem falta, como abrir um terminal em uma pasta qualquer.

    Então ai segue uma dica para quem quer utilizar desse conforto no nautilus

  • Instalar o plugin:

    sudo aptitude install nautilus-open-terminal


  • Reiniciar o Gnome(sair da sessão)


  • Para testar basta clicar com o botão direito do mouse na pasta desejada e escolher a opção de abrir um terminal
  •