http://git-wip-us.apache.org/repos/asf/nutch/blob/ffa16784/nutch-plugins/language-identifier/src/test/org/apache/nutch/analysis/lang/pt.test
----------------------------------------------------------------------
diff --git 
a/nutch-plugins/language-identifier/src/test/org/apache/nutch/analysis/lang/pt.test
 
b/nutch-plugins/language-identifier/src/test/org/apache/nutch/analysis/lang/pt.test
new file mode 100644
index 0000000..58c7e05
--- /dev/null
+++ 
b/nutch-plugins/language-identifier/src/test/org/apache/nutch/analysis/lang/pt.test
@@ -0,0 +1,105 @@
+Reinício da sessão
+Declaro reaberta a sessão do Parlamento Europeu, que tinha sido interrompida 
na sexta-feira, 17 de Dezembro último, e renovo todos os meus votos, esperando 
que tenham tido boas férias.
+Como puderam constatar, o grande "bug do ano 2000" não aconteceu. Em 
contrapartida, os cidadãos de alguns dos nossos países foram vítimas de 
catástrofes naturais verdadeiramente terríveis. Os senhores manifestaram o 
desejo de se proceder a um debate sobre o assunto nos próximos dias, durante 
este período de sessões. Entretanto, gostaria - como também me foi pedido 
por um certo número de colegas - que observássemos um minuto de silêncio por 
todas as vítimas, nomeadamente das tempestades, nos diferentes países da 
União Europeia que foram afectados. Convido-os a levantarem-se para um minuto 
de silêncio.
+(O Parlamento, de pé, guarda um minuto de silêncio)
+
+Senhora Presidente, intervenho para um ponto de ordem. Certamente que já 
tomou conhecimento, pelas notícias transmitidas na imprensa e na televisão, 
dos diversos atentados à bomba e assassínios perpetrados no Sri Lanka. Uma 
das pessoas recentemente assassinadas foi o senhor Kumar Ponnambalam, que ainda 
há poucos meses visitara o Parlamento Europeu. Será que a senhora Presidente 
poderia enviar uma carta à Presidente do Sri Lanka manifestando o pesar do 
Parlamento por esta e outras mortes violentas perpetradas no seu país, e 
instando­a a envidar todos os esforços ao seu alcance para procurar obter uma 
reconciliação pacífica na situação extremamente difícil que ali se vive?
+
+Sim, Senhor Deputado Evans, penso que uma iniciativa no sentido que acaba de 
sugerir seria perfeitamente adequada. Se a assembleia estiver de acordo, farei 
como sugeriu o senhor deputado Evans.
+
+Senhora Presidente, intervenho para um ponto de ordem. Nos termos do artigo 
143º do Regimento, gostaria que me desse o seu parecer em relação à 
inadmissibilidade de uma proposta. A questão que pretendo focar incide sobre 
um relatório que será aqui tratado na quinta­feira, ocasião em que tenciono 
levantá­la novamente.
+O relatório Cunha sobre os resultados dos programas de orientação 
plurianuais para as frotas de pesca, inscrito na ordem do dia de quinta­feira, 
contém, no seu nº 6, uma proposta no sentido da aplicação de sanções, sob 
a forma de uma redução automática das quotas, aos Estados­Membros que não 
cumpram anualmente os objectivos de redução da respectiva frota definidos nos 
programas de orientação plurianuais. Mais se propõe que a aplicação das 
sanções seja feita independentemente da salvaguarda do princípio da 
estabilidade relativa. O princípio da estabilidade relativa constitui, em 
minha opinião, um princípio jurídico fundamental da política comum da 
pesca, pelo que toda e qualquer proposta que vise subvertê­lo é, com 
certeza, juridicamente inadmissível. Gostaria de saber se posso levantar uma 
objecção deste tipo ao que constitui meramente um relatório, não uma 
proposta legislativa, e se tenho competência para o fazer na quinta­feira.
+
+Com efeito, é precisamente nessa altura que, se o desejar, poderá levantar a 
questão, isto é, na quinta-feira antes do início da apresentação do 
relatório.
+
+Senhora Presidente, coincidindo com a primeira sessão deste ano do Parlamento 
Europeu, nos Estados Unidos, no Texas, está marcada, lamentavelmente para a 
próxima quinta-feira, a execução de um condenado à morte, um jovem de 34 
anos a quem designaremos por X.
+A pedido de um deputado francês, o senhor deputado Zimeray, já foi 
apresentada uma petição, que teve muitos signatários, entre os quais o 
abaixo assinado, mas peço­lhe, em conformidade com a orientação 
repetidamente expressa pelo Parlamento Europeu e por toda a Comunidade 
Europeia, que intervenha, com o prestígio do seu cargo e da Instituição que 
representa, junto do Presidente e do Governador do Texas, Bush, que tem poder 
para suspender a condenação à morte e perdoar o condenado.
+E tudo isso em conformidade com os princípios que sempre defendemos.
+
+Obrigada, Senhor Deputado Segni, fá-lo-ei de boa vontade. Com efeito, essa é 
a linha das posições que o nosso Parlamento sempre adoptou.
+
+Senhora Presidente, gostaria de chamar a sua atenção para um caso de que 
este Parlamento repetidamente se tem ocupado. É o caso de Alexander Nikitin. 
Congratulamo-nos todos aqui pelo facto de o tribunal o ter posto em liberdade e 
ter tornado claro que também na Rússia o acesso às informações sobre o 
ambiente constitui direito constitucional. No entanto, sucede agora que ele 
deverá será novamente acusado, uma vez que o Ministério Público irá 
interpor recurso. Sabemos e constatámo­lo realmente em muitíssimas 
resoluções - precisamente durante a última sessão plenária do ano passado 
- que aqui não se trata apenas de um caso jurídico e que é errado acusar 
Alexander Nikitin de crime e de traição, uma vez que nós, que somos 
afectados, podemos tirar proveito dos resultados por ele conseguidos. Estes 
resultados constituem a base do Programa Europeu de Defesa do Mar de Barents e, 
por esse motivo, peço-lhe que analise um projecto de carta que lhe expõe os 
factos ma
 is importantes, e que, de acordo com as decisões do Parlamento, torne clara 
esta posição na Rússia.
+
+Sim, Senhora Deputada Schroedter, analisarei de boa vontade os factos 
relativos a essa questão, logo que receba a sua carta.
+
+­ (NL) Senhora Presidente, em primeiro lugar, gostaria de a felicitar pelo 
facto de ter cumprido a sua palavra e de agora, neste primeiro período de 
sessões do novo ano, ter aumentado realmente muito o número de canais de 
televisão nos nossos gabinetes. Todavia, Senhora Presidente, não se fez 
aquilo que eu tinha pedido. É certo que há agora dois canais finlandeses e um 
português, mas continua a não haver um único canal holandês, como eu lhe 
tinha pedido, porque também os holandeses gostam de ver os noticiários, todos 
os meses, quando somos mandados para aqui, para este desterro. Queria, 
portanto, pedir­lhe, uma vez mais, que tome a seu cargo fazer com que também 
recebamos um canal holandês.
+
+Senhora Deputada Plooij-van Gorsel, posso dizer-lhe que essa questão se 
encontra inscrita na ordem de trabalhos da reunião dos Questores de 
quarta­feira. Será analisada, espero, num espírito construtivo.
+
+Senhora Presidente, poder­me­á dizer por que razão este Parlamento não 
respeita a legislação por si próprio aprovada em matéria de segurança e 
higiene? Por que razão não foi efectuado neste edifício onde nos encontramos 
qualquer ensaio sobre a qualidade do ar desde que fomos eleitos? Por que razão 
o nosso Comité da Segurança e Higiene não se reúne desde 1998? Porque não 
foi efectuado qualquer exercício de simulação de incêndio nos edifícios do 
Parlamento, quer em Bruxelas quer em Estrasburgo? Porque não se encontram 
afixadas instruções a seguir em caso de incêndio? Por que razão as escadas 
não foram melhoradas desde o meu acidente? Porque não são criadas zonas 
obrigatórias de não fumadores? Considero absolutamente vergonhoso o facto de 
não respeitarmos a legislação que nós próprios aprovámos.
+
+Senhora Deputada Lynne, tem toda a razão. Vou verificar se nada disso foi 
efectivamente feito. Submeterei também o problema ao Colégio dos Questores e 
estou certa de que os nossos Questores levarão a peito fazer com que 
respeitemos a regulamentação que, com efeito, aprovamos.
+
+­ (ES) Senhora Presidente, a senhora deputada Díez González e eu próprio 
tínhamos apresentado algumas perguntas a respeito de certas opiniões da 
senhora Vice-presidente, senhora Comissária de Palacio, que tinham sido 
reproduzidas num jornal espanhol. Os serviços competentes não as incluíram 
na ordem do dia, por considerarem que já lhes tinha sido dada resposta numa 
sessão anterior.
+Rogo-lhe que reconsidere esta decisão, porque as coisas não se passaram 
assim. As perguntas a que tinha sido dada resposta anteriormente referiam-se à 
intervenção da senhora Comissária de Palacio em determinado dossier e não a 
essas declarações aparecidas no jornal ABC, no dia 18 do passado mês de 
Novembro.
+
+Cara colega, vamos verificar tudo isso. Confesso que, para já, as coisas me 
parecem um pouco confusas. Assim, vamos rever essa questão muito seriamente, 
para que tudo fique em ordem.
+
+Senhora Presidente, gostaria de saber se esta semana o Parlamento terá 
oportunidade de manifestar a sua inequívoca posição de descontentamento face 
à decisão, hoje tomada, de não renovar o embargo de armas destinadas à 
Indonésia, tendo em atenção que a grande maioria da assembleia apoiou o 
referido embargo quando este foi decretado. Perante a situação que se vive 
naquela região, a decisão hoje tomada de não renovar o embargo de armas é 
extremamente perigosa. O Parlamento deveria, pois, enviar um sinal inequívoco 
do seu descontentamento face à suspensão do embargo, uma vez que é essa a 
posição da grande maioria da assembleia. A recusa por parte dos 
Estados­Membros da União Europeia de renovar o embargo de armas destinadas à 
Indonésia é uma atitude irresponsável. Como já aqui foi afirmado, a 
situação que ali se vive é extremamente volátil. Existe, aliás, o risco de 
poder haver um golpe militar no futuro. Não sabemos exactamente o que ali se 
está a 
 passar. Como é possível a UE permitir que os fabricantes europeus de 
armamentos obtenham lucros à custa das vidas de seres humanos inocentes?
+
+Seja como for, essa questão não figura, para já, entre os pedidos de 
aplicação do processo de urgência para a próxima quinta-feira.
+
+Ordem dos trabalhos
+Segue-se na ordem do dia a fixação da ordem de trabalhos. Foi distribuída a 
versão final do projecto de ordem do dia do presente período de sessões, 
elaborada pela Conferência dos Presidentes, reunida na quinta-feira, 13 de 
Janeiro, nos termos do artigo 110º do Regimento. Relativamente a segunda e 
terça-feiras, não foram apresentados pedidos de modificação.
+Quarta-feira:
+O Grupo do Partido dos Socialistas Europeus pede a inclusão de uma 
declaração da Comissão sobre os seus objectivos estratégicos para os 
próximos cinco anos, bem com o sobre a reforma administrativa da Comissão.
+Gostaria que o senhor deputado Barón Crespo, autor do pedido, interviesse 
para o justificar, caso pretenda, evidentemente. Em seguida, faremos como é 
costume: ouviremos um orador a favor e um orador contra.
+
+­ (ES) Senhora Presidente, a apresentação do programa político da 
Comissão Prodi para toda a legislatura foi inicialmente uma proposta do Grupo 
do Partido dos Socialistas Europeus, que, em Setembro, conseguiu a unanimidade 
na Conferência dos Presidentes, bem como a aceitação explícita do 
Presidente da Comissão, Romano Prodi, que reiterou o seu compromisso no seu 
discurso de investidura.
+Este compromisso é importante na medida em que a Comissão é um organismo 
que, de acordo com os Tratados, detém o monopólio da iniciativa e que, 
portanto, determina fundamentalmente o que vai ser a actividade política e 
legislativa deste Parlamento nos próximos cinco anos. Recordo, além disso, 
Senhora Presidente, que, na anterior legislatura, este Parlamento deu, em duas 
ocasiões diferentes, o seu voto de confiança ao Presidente da Comissão, 
Romano Prodi, coisa que voltou a fazer em Julho, nesta legislatura. Mais tarde, 
já com a nova Comissão em funcionamento, voltou a dar um voto de confiança a 
toda a Comissão em Setembro. Já houve, portanto, tempo suficiente para a 
Comissão preparar o seu programa e para nós podermos tomar conhecimento dele 
e explaná­lo aos cidadãos. Neste sentido, recordo a resolução de 15 de 
Setembro, em que se recomendava a apresentação da proposta dentro do mais 
breve prazo possível.
+Os factos ocorridos na semana passada - que tiveram origem à margem da 
Conferência dos Presidentes, e que a utilizaram só para corroborar e 
ratificar decisões tomadas fora dela - criam um dilema: ou a Comissão não se 
encontra em condições de apresentar esse programa (e nesse caso conviria que 
o explicasse. Segundo as palavras da sua Presidente, porém, encontra­se em 
condições de o fazer e dado que a Comissão se encontra representada pela 
Vice­presidente, senhora Comissária de Palacio, creio que antes de se 
proceder à votação seria conveniente conhecer a situação da Comissão 
relativamente à sua disponibilidade para apresentar o programa, tal como tinha 
sido acordado), ou então o Parlamento não se encontra em condições de 
examinar este programa como, aparentemente, alguns pretendem. Em minha 
opinião, esta segunda hipótese significaria o abandono das nossas 
responsabilidades como Parlamento, além de introduzir uma tese original, um 
método desconhecido que 
 consiste em dar a conhecer por escrito aos grupos políticos o discurso 
pragmático da Comissão com uma semana de antecedência - e não no dia 
anterior, como se tinha acordado -, tendo em conta o facto de o programa 
legislativo ir ser discutido em Fevereiro, de modo que poderíamos prescindir 
do debate, porque no dia seguinte a imprensa e a Internet já o teriam dado a 
conhecer a todos os cidadãos, não tendo já o Parlamento motivo para se 
ocupar do assunto.
+Como o meu grupo é de opinião que um Parlamento foi feito para escutar, para 
debater e para reflectir, pensamos não haver motivo algum que justifique este 
adiamento. Cremos, além disso, que sim, que a Comissão se encontra em 
condições de o fazer, que estamos perfeitamente a tempo de poder restabelecer 
o acordo original entre o Parlamento e a Comissão e de proceder 
responsavelmente perante as nossas concidadãs e os nossos concidadãos. Logo, 
a proposta do Grupo do Partido dos Socialistas Europeus que a senhora mencionou 
é que se mantenha a apresentação na quarta­feira do programa da legislatura 
da Comissão Prodi, incluindo neste programa também o projecto de reforma 
administrativa, porque, de outro modo, podemos vir a encontrar­nos numa 
situação paradoxal: com a desculpa de não existir texto, nega­se, por um 
lado, ao Presidente da Comissão o direito de fazer uso da palavra neste 
Parlamento, e, por outro lado, a possibilidade de realização de um debate 
sobre a r
 eforma sem que este Parlamento conheça previamente os textos em que se 
baseia. Rogo­lhe, portanto, Senhora Presidente, que peça à Comissão que se 
manifeste agora e que depois se proceda à votação.
+(Aplausos da bancada do Grupo PSE)
+
+Senhora Presidente, caros colegas, estou realmente um pouco estupefacto em 
relação à atitude do colega Barón Crespo, que exige agora que este ponto da 
ordem do dia seja inscrito na ordem do dia de quarta-feira.
+Senhor Deputado Barón Crespo, o senhor não pôde comparecer na passada 
quinta-feira à Conferência dos Presidentes. Não o critico por isso; de vez 
em quando acontece enviarmos um representante. O colega Hänsch representou-o 
nessa ocasião. Realizámos um exaustivo debate na Conferência dos 
Presidentes. Apenas o seu grupo defendeu a posição que o senhor agora 
defende. Procedemos seguidamente à votação. Cada presidente tem tantos votos 
quantos os membros do seu grupo. Teve lugar uma votação em relação a este 
ponto. Se bem me recordo, a votação teve o seguinte resultado: 422 votos 
contra 180 e umas poucas abstenções. Ou seja, todos os grupos, com a 
excepção dos Não-inscritos - mas esses nem sequer constituem grupo - 
chegaram a consenso; apenas o seu grupo defendia que se procedesse do modo que 
aqui propôs. Todos os restantes discordavam. Foi essa a decisão.
+Agora gostaria de dizer algo a respeito da matéria de fundo desta questão. 
Confiamos na Comissão, em Romano Prodi e a esmagadora maioria do nosso grupo 
depositou, como todos sabemos, a sua confiança em Romano Prodi e na Comissão, 
na sequência de um difícil processo. No entanto, somos também da opinião de 
que deveria haver um debate sobre esta estratégia da Comissão que seguisse um 
procedimento ordenado, e não só com base numa declaração oral pronunciada 
aqui no Parlamento Europeu, mas também com base num documento que seja 
decidido na Comissão e que apresente uma descrição deste programa para um 
período de cinco anos. Esse documento não existe!
+
+A Comissão irá apresentar em Fevereiro o programa para o ano 2000. Nós 
demos o nosso acordo, se a Comissão não quiser ainda elaborar o Programa para 
2000 em Janeiro, então que o faça em Fevereiro. Votámos a favor. Não 
pretendemos entrar em conflito com a Comissão só por entrar, mas somos da 
opinião de que, se for possível, a Comissão e o Parlamento devem seguir um 
mesmo caminho. Todavia, enquanto Parlamento, somos também o órgão 
controlador da Comissão e nem tudo o que provém da Comissão tem de coincidir 
com a nossa opinião.
+Gostaria que nos pudéssemos preparar seriamente nos diferentes grupos para um 
debate sobre o programa para os próximos cinco anos. Não é possível 
prepararmo-nos se ouvirmos aqui falar de uma declaração e não soubermos qual 
o conteúdo dessa mesma declaração. Por esse motivo, sugerimos - e a minha 
impressão é que a Comissão também está aberta a estas considerações - 
que se agende para Fevereiro o debate sobre o programa a longo prazo da 
Comissão até ao ano 2005. Espero que a Comissão chegue a acordo, até essa 
data, relativamente a um programa que nos venha a propor, e sugerimos que, 
também em Fevereiro, realizemos o debate sobre o programa legislativo da 
Comissão para o ano 2000. É, portanto, também um contexto objectivo sério 
que nos aconselha a realizar conjuntamente o debate sobre os dois programas. 
Por isso, o meu grupo rejeita decididamente a proposta do Grupo do Partido dos 
Socialistas Europeus!
+(Aplausos do Grupo PPE-DE)
+
+Senhora Presidente, quero deixar bem claro que, acima de tudo, a Comissão tem 
o máximo respeito pelas decisões deste Parlamento e, entre elas, a de 
estabelecer a sua ordem do dia. Respeitamos, portanto, o que este Parlamento 
possa decidir nesse sentido.
+Quero, porém, deixar igualmente bem claro que o Presidente da Comissão, 
Romano Prodi, se comprometeu com o Parlamento a acrescentar um novo debate, 
como recordou o senhor deputado Barón Crespo, ao debate anual sobre o programa 
legislativo da Comissão, sobre as grandes linhas de actuação para o próximo 
período de cinco anos, quer dizer, para esta legislatura.
+Quero dizer, Senhora Presidente, que, no acordo a que se chegou no mês de 
Setembro, este debate se distinguia daquilo que constitui a apresentação 
anual do programa legislativo da Comissão. Quero dizer também, Senhora 
Presidente, que, por parte da Comissão, estamos preparados e dispostos a 
realizar esse debate quando for conveniente, que estávamos preparados para o 
realizar esta semana, como se tinha acordado inicialmente, partindo da base de 
que o programa seria apresentado na véspera, num discurso aos grupos 
parlamentares.
+Quero, portanto, Senhora Presidente, reiterar que, pela nossa parte, já 
discutimos o programa de actuação para os próximos cinco anos e que estamos 
preparados para, quando o Parlamento decidir - esta mesma semana, se for essa a 
sua decisão - vir expor aqui o programa para os próximos cinco anos, e, no 
mês que vem, o programa para o ano 2000, que era o que estava absolutamente 
combinado.
+
+Proponho que votemos o pedido do Grupo do Partido dos Socialistas Europeus que 
visa voltar a inscrever a declaração da Comissão sobre os seus objectivos 
estratégicos.
+(O Parlamento rejeita o pedido) Presidente. Ainda no que respeita ao dia de 
quarta­feira, recebi uma outra proposta referente à pergunta oral relativa ao 
imposto sobre o capital. O Grupo do Partido Popular Europeu/Democratas Europeus 
pede que esse ponto seja retirado da ordem do dia.
+Algum colega pretende tomar a palavra em nome do grupo e justificar esse 
pedido?
+
+Senhora Presidente, estou a ouvir alguns risos da bancada do Grupo do Partido 
dos Socialistas Europeus, mas foi-me dito que também largos círculos do Grupo 
do Partido dos Socialistas Europeus teriam gostado de retirar este ponto da 
ordem do dia, visto que aquando da votação na Conferência dos Presidentes, o 
parecer do grupo de trabalho das colegas e dos colegas competentes do Grupo do 
Partido dos Socialistas Europeus não foi apresentado. Não sei se esta 
informação é correcta, mas nós, Grupo PPE­DE, ficaríamos, em todo o caso, 
gratos se este ponto fosse retirado, uma vez que o Parlamento já se debruçou 
sobre esta questão várias vezes. Existem também decisões contra um imposto 
deste tipo. Por esse motivo, o meu grupo vem requerer a supressão deste ponto 
da ordem do dia.
+
+Obrigada, Senhor Deputado Poettering.
+Dou a palavra ao senhor deputado Wurtz, que intervirá contra este pedido.
+
+Senhora Presidente, antes de mais, gostaria de realçar a ausência de lógica 
do senhor deputado Poettering. Há pouco, pregou um sermão ao Grupo do Partido 
dos Socialistas Europeus porque este volta atrás numa decisão tomada muito 
claramente na Conferência dos Presidentes. Agora, faz a mesma coisa. Nós 
discutimos, fomos unânimes - à excepção do Grupo do Partido Popular 
Europeu/Democratas Europeus e do Grupo do Partido Europeu dos Liberais, 
Democratas e Reformistas - e eu cheguei mesmo a observar, como se recordarão, 
caros confrades presidentes, que a questão não é a de saber se estamos a 
favor ou contra a taxa de Todin, mas sim a de saber se ousamos ouvir o que a 
Comissão e o Conselho pensam dela. Não é pedir muito. Assim, reitero a 
proposta de se manter essa pergunta oral à Comissão e ao Conselho, a fim de 
conhecermos, de uma vez por todas, a posição daquelas duas instâncias 
perante esta proposta, relativamente modesta, mas que emitiria um sinal 
importante di
 rigido à opinião pública, sobretudo depois da emoção criada em torno do 
fracasso da Conferência de Seattle.
+
+Coloco à votação o pedido do Grupo do Partido Popular Europeu/Democratas 
Europeus, que visa retirar da ordem do dia a pergunta oral relativa ao imposto 
sobre o capital.
+(O Parlamento rejeita o pedido, com 164 votos a favor, 166 votos contra e 7 
abstenções)
+
+Senhora Presidente, gostaria de agradecer ao senhor deputado Poettering a 
publicidade que acaba de dar a este debate. Obrigado.
+
+­ (ES) Senhora Presidente, será que se contou o meu voto, que não pôde ser 
efectuado electronicamente, pelo facto de eu não ter o cartão? O meu voto era 
"a favor".
+
+Efectivamente, se juntarmos os dois colegas que se manifestaram, obteremos 
como resultado...
+
+­ (ES) Senhora Presidente, a Presidência anunciou o resultado da votação. 
Não há lugar para mudanças.
+
+Caros colegas, mais uma vez, temos todos de trazer o cartão à segunda-feira. 
Estamos perante um problema. Por conseguinte, tenho de tomar uma decisão.
+Também eu me esqueci do meu cartão, e teria votado contra. Assim, considero 
que a pergunta oral se mantém inscrita na ordem do dia
+É a última vezes que contaremos os cartões esquecidos. Que fique bem claro 
e que se informe toda a gente.
+(Aplausos)Sim, a pergunta oral mantém-se na ordem do dia, e sim, a presidente 
tem o direito de votar, como também tem o direito de se esquecer do cartão.
+Vamos prosseguir com as outras modificações da ordem de trabalhos.
+
+Senhora Presidente, na votação anterior - e aceitarei a sua decisão nesta 
matéria - sobre a questão dos objectivos estratégicos da Comissão, informei 
que gostaria de, em nome do Grupo ELDR, usar da palavra antes da votação. Tal 
não se verificou. Solicitar­lhe­ia, pois, que, antes de passarmos ao 
próximo ponto da ordem do dia, me fosse permitido fazer uma declaração de 
voto em nome do meu grupo. Trata­se de uma questão importante. Seria 
vantajoso para a reputação deste Parlamento declarar de que modo as pessoas 
interpretam o que acabamos de fazer à luz da sua própria análise política.
+
+Senhora Presidente, não pretendo relançar o debate, mas tinha também pedido 
a palavra para me pronunciar sobre o pedido do senhor deputado Barón Crespo. 
Também não me chamou. Lamento-o, mas já se procedeu à votação, a decisão 
foi tomada, portanto, esqueçamos o assunto.
+
+Peço muita desculpa, Senhor Deputado Hänsch e Senhor Deputado Cox, mas não 
vi que estavam a pedir a palavra. Dito isto, penso que as posições estão 
muito claras e que serão correctamente reproduzidas na acta. Quando amanhã 
aprovarmos a acta da sessão de hoje, os colegas que considerarem que as 
posições não foram suficientemente bem explicadas, podem pedir 
modificações. Penso que se trata de uma boa solução. Evidentemente que a 
acta da reunião de amanhã terá em conta todas as explicações 
suplementares. Creio ser uma solução melhor do que proceder agora a 
declarações de voto que nos levariam muito longe. Senhor Deputado Cox, Senhor 
Deputado Hänsch, estão de acordo?
+
+Senhora Presidente, se o resultado da votação reflectir correctamente o 
sentido de voto do meu grupo, não me posso opor ao mesmo, nem o farei. Se a 
sua decisão for no sentido de eu não poder fazer uma declaração de voto, 
terei de a aceitar, mas com reservas.
+
+Prestaremos portanto muita atenção à redacção da acta. Aliás, prestamos 
sempre. Se não reflectir bem as nossas posições, podemos sempre corrigi-la.
+(O Parlamento aprova a ordem de trabalhos assim modificada)
+

http://git-wip-us.apache.org/repos/asf/nutch/blob/ffa16784/nutch-plugins/language-identifier/src/test/org/apache/nutch/analysis/lang/sv.test
----------------------------------------------------------------------
diff --git 
a/nutch-plugins/language-identifier/src/test/org/apache/nutch/analysis/lang/sv.test
 
b/nutch-plugins/language-identifier/src/test/org/apache/nutch/analysis/lang/sv.test
new file mode 100644
index 0000000..b43b5df
--- /dev/null
+++ 
b/nutch-plugins/language-identifier/src/test/org/apache/nutch/analysis/lang/sv.test
@@ -0,0 +1,108 @@
+Återupptagande av sessionen
+Jag förklarar Europaparlamentets session återupptagen efter avbrottet den 17 
december. Jag vill på nytt önska er ett gott nytt år och jag hoppas att ni 
haft en trevlig semester.
+Som ni kunnat konstatera ägde "den stora år 2000-buggen" aldrig rum. 
Däremot har invånarna i ett antal av våra medlemsländer drabbats av 
naturkatastrofer som verkligen varit förskräckliga. Ni har begärt en debatt 
i ämnet under sammanträdesperiodens kommande dagar. Till dess vill jag att 
vi, som ett antal kolleger begärt, håller en tyst minut för offren för 
bl.a. stormarna i de länder i Europeiska unionen som drabbats. Jag ber er resa 
er för en tyst minut.
+(Parlamentet höll en tyst minut.)
+
+Fru talman! Det gäller en ordningsfråga. Ni känner till från media att det 
skett en rad bombexplosioner och mord i Sri Lanka. En av de personer som mycket 
nyligen mördades i Sri Lanka var Kumar Ponnambalam, som besökte 
Europaparlamentet för bara några månader sedan. Skulle det vara möjligt 
för er, fru talman, att skriva ett brev till den srilankesiska presidenten i 
vilket parlamentets beklagande uttrycks över hans och de övriga brutala 
dödsfallen i Sri Lanka och uppmanar henne att göra allt som står i hennes 
makt för att få en fredlig lösning på en mycket komplicerad situation?
+
+Ja, herr Evans, jag tror att ett initiativ i den riktning ni just föreslagit 
skulle vara mycket lämpligt. Om kammaren instämmer skall jag göra som herr 
Evans föreslagit.
+
+Fru talman! Det gäller en ordningsfråga. Jag skulle vilja ha råd från er 
vad gäller artikel 143 om avvisning av ett ärende som otillåtligt. Min 
fråga har att göra med något som kommer att behandlas på torsdag och som 
jag då kommer att ta upp igen.
+Cunhas betänkande om de fleråriga utvecklingsprogrammen behandlas i 
parlamentet på torsdag och det innehåller ett förslag i punkt 6 om att 
något slag av kvoteringspåföljder bör införas för länder som misslyckas 
med att uppfylla sina årliga mål rörande minskning av flottorna. I 
betänkandet står det att detta bör göras trots principen om relativ 
stabilitet. Jag anser att principen om relativ stabilitet är en grundläggande 
rättsprincip inom den gemensamma fiskeripolitiken, och ett förslag som skulle 
undergräva den måste betraktas som rättsligt otillåtligt. Jag vill veta om 
jag kan göra en sådan invändning mot ett betänkande, som alltså inte är 
ett lagförslag, och om det är något som jag har behörighet att göra på 
torsdag.
+
+Det är faktiskt just vid det tillfället som ni, om ni vill, kan ta upp denna 
fråga, dvs. på torsdag innan betänkandet läggs fram.
+
+Fru talman! Under årets första sammanträdesperiod för Europaparlamentet 
bestämde man dessvärre i Texas i USA att nästa torsdag avrätta en 
dödsdömd, en ung man på 34 år som vi kan kalla Hicks.
+PÃ¥ uppmaning av en fransk parlamentsledamot, Zimeray, har redan en 
framställning gjorts, undertecknad av många, bland annat jag själv, men jag 
uppmanar er, i enlighet med de riktlinjer som Europaparlamentet och hela den 
europeiska gemenskapen alltid har hållit fast vid, att med all den tyngd ni 
har i kraft av ert ämbete och den institution ni företräder, uppmana Texas 
guvernör, Bush, att uppskjuta verkställigheten och att benåda den dömde.
+Detta är helt i linje med de principer som vi alltid har hävdat.
+
+Tack, herr Segni, det skall jag gärna göra. Det ligger faktiskt helt i linje 
med de ståndpunkter vårt parlament alltid antagit.
+
+Fru talman! Jag vill fästa er uppmärksamhet vid ett fall som parlamentet vid 
upprepade tillfällen har befattat sig med. Det gäller fallet Alexander 
Nikitin. Alla gläder vi oss åt att domstolen har friat honom och tydligt 
visat att tillgängligheten till miljöinformation är en konstitutionell 
rättighet även i Ryssland. Nu är det emellertid så att han skall åtalas 
på nytt i och med att allmänne åklagaren överklagar. Vi är medvetna om, 
vilket vi också - inte minst under förra årets sista plenarsammanträde - 
har kunnat konstatera i en lång rad beslut, att detta inte enbart är ett 
juridiskt fall och att det är fel att beskylla Alexander Nikitin för 
kriminalitet och förräderi, eftersom vi som berörda parter drar nytta av de 
resultat han har kommit fram till. Resultaten utgör grunden för de europeiska 
programmen för skydd av Barents hav, och därför ber jag er granska ett 
utkast till ett brev som skildrar de viktigaste fakta samt att i enlighet med 
parlamen
 tsbesluten visa Ryssland denna ståndpunkt klart och tydligt.
+
+Ja, fru Schroedter, jag skall mycket gärna granska fakta rörande denna 
fråga när jag fått ert brev.
+
+Fru talman! Först skulle jag vilja ge er en komplimang för det faktum att ni 
hållit ert ord och att det nu, under det nya årets första 
sammanträdesperiod, faktiskt har skett en kraftig utökning av antalet 
TV-kanaler på våra rum. Men, fru talman, det som jag bad om har inte 
inträffat. Det finns nu visserligen två finska kanaler och en portugisisk, 
men det finns fortfarande ingen nederländsk kanal. Jag bad er om en 
nederländsk kanal, eftersom nederländare också gärna vill ta del av 
nyheterna varje månad då vi blir förvisade till den här platsen. Jag skulle 
således på nytt vilja be er att ombesörja att vi också får en nederländsk 
kanal.
+
+Fru Plooij-van Gorsel! Jag kan tala om för er att frågan finns på 
föredragningslistan för kvestorernas möte på onsdag. Jag hoppas att den 
kommer att granskas i en positiv anda.
+
+Fru talman! Kan ni berätta för mig varför detta parlament inte följer den 
arbetsskyddslagstiftning det faktiskt antar? Varför har det inte genomförts 
något luftkvalitetstest i denna byggnad efter denna mandatperiods början? 
Varför har inte arbetsskyddskommittén haft några sammanträden sedan 1998? 
Varför har det inte skett några brandövningar i parlamentets byggnader i 
Bryssel eller Strasbourg? Varför finns det inga instruktioner om hur man skall 
bete sig om det börjar brinna? Varför har inte trapporna byggts om efter den 
olycka jag råkade ut för? Varför upprätthåller man inte bestämmelserna om 
rökfria områden? Jag tycker det är skrämmande att vi antar lagstiftning som 
vi inte själva följer.
+(Applåder)
+
+Fru Lynne! Ni har helt rätt och jag skall kontrollera om allt detta faktiskt 
inte har gjorts. Jag skall också överlämna problemet till kvestorerna och 
jag är övertygad om att de är måna om att se till att vi respekterar de 
regler som vi faktiskt röstat fram.
+
+Fru talman! Díez González och jag har ställt några frågor angående vissa 
av vice ordförande de Palacios åsikter som återgavs i en spansk dagstidning. 
De ansvariga har inte tagit med dessa frågor på föredragningslistan, 
eftersom man ansåg att dessa hade besvarats vid ett tidigare sammanträde.
+Jag ber att man omprövar det beslutet, eftersom så inte är fallet. De 
frågor som tidigare besvarats handlade om de Palacios inblandning i ett 
särskilt ärende, inte om de uttalanden som återgavs i dagstidningen ABC den 
18 november i fjol.
+
+Kära kollega! Vi skall kontrollera allt detta. Jag erkänner att för 
närvarande förefaller saker och ting litet oklara. Vi skall alltså se över 
detta mycket noga så allt blir i sin ordning.
+
+Fru talman! Jag vill veta om det kommer att gå ut ett tydligt budskap från 
parlamentet under veckan om vårt missnöje rörande dagens beslut om att 
vägra en förnyelse av vapenembargot mot Indonesien, med hänsyn till att det 
stora flertalet i detta parlament har stött vapenembargot mot Indonesien? 
Dagens beslut att inte förnya embargot är oerhört farligt med hänsyn till 
situationen där. Parlamentet bör alltså sända ut ett budskap, eftersom 
detta är vad det stora flertalet vill. Det är oansvarigt av EU:s 
medlemsstater att vägra att förnya embargot. Som olika personer har sagt, är 
situationen där oerhört turbulent. Det finns faktiskt en risk för en 
framtida militärkupp. Vi vet inte vad som händer. Så varför skall 
vapentillverkarna i EU profitera på oskyldiga människors bekostnad?
+(Applåder)
+
+I vilket fall som helst är frågan för närvarande inte föremål för 
någon begäran om brådskande förfarande på torsdag.
+
+Arbetsplan
+Nästa punkt på föredragningslistan är fastställande av arbetsplanen. Det 
slutgiltiga förslaget till föredragningslista som utarbetats av 
talmanskonferensen vid sammanträdet den 13 januari i enlighet med artikel 110 
i arbetsordningen har delats ut. För måndag och tisdag har inga ändringar 
föreslagits.
+Beträffande onsdag:
+Den socialistiska gruppen har begärt att ett uttalande från kommissionen om 
dess strategiska mål för de fem kommande åren samt om kommissionens 
administrativa reform skall tas upp.
+Jag skulle vilja att Barón Crespo, som lämnat begäran, uttalar sig för att 
motivera den, om han vill, naturligtvis. Sedan gör vi som vi brukar: vi 
lyssnar till en talare för och en talare emot.
+
+Fru talman! Framläggandet av kommission Prodis politiska program för hela 
mandatperioden bottnar i ett förslag från Europeiska socialdemokratiska 
partiets grupp som antogs med enhällighet på talmanskonferensen i september 
samt ett tydligt godkännande från ordförande Prodi som upprepade detta 
åtagande i sitt anförande i samband med tillträdandet av sitt ämbete.
+Detta åtagande är viktigt, med tanke på att kommissionen är det organ som 
enligt fördragen har ensam initiativrätt, och det utgör därför grunden 
till parlamentets politiska och lagstiftande verksamhet de kommande fem åren. 
Jag vill dessutom, fru talman, påminna om att parlamentet vid två tillfällen 
under föregående mandatperiod röstade om förtroendet för ordförande 
Prodi; man röstade på nytt om detta under denna mandatperiod i juli, och 
sedan, när den nya kommissionen hade påbörjat sitt arbete, gav man i 
september en förtroenderöst till hela kommissionen. Därför har det funnits 
tillräckligt mycket tid för kommissionen att förbereda sitt program och för 
att oss att ta del av detta och redogöra för detta inför medborgarna. Jag 
vill också påminna om resolutionen av den 15 september, där man 
rekommenderade att förslaget skulle läggas fram så snart som möjligt.
+Det som hände förra veckan - något som inleddes utanför 
talmanskonferensen, en konferens som endast utnyttjades för att bestyrka och 
bekräfta det beslut som fattats utanför ramarna för denna - utgör ett 
dilemma: antingen är det så att kommissionen inte är i stånd att presentera 
programmet (i sådant fall bör den klargöra detta. Enligt ordförandens 
uttalanden kan man presentera programmet. Med tanke på att kommissionen 
företräds av vice ordförande de Palacio, anser jag att vi innan 
omröstningen sker bör få veta huruvida kommissionen är beredd att lägga 
fram programmet, så som man kommit överens om); annars är parlamentet inte i 
stånd att granska programmet, så som vissa tycks anse. Enligt min uppfattning 
skulle den sistnämnda hypotesen innebära att vi försummade vårt ansvar som 
parlament, förutom att man då skulle införa en grundtes, en okänd metod som 
innebär att de politiska grupperna skriftligen får ta del av kommissionens 
tankar kring progr
 ammet en vecka i förväg i stället för en dag i förväg, som man kommit 
överens om. Då bör man tänka på att lagstiftningsprogrammet skall 
debatteras i februari, och därför skulle vi lika gärna kunna avstå från 
den debatten, för pressen och Internet skulle redan dagen därpå tillkännage 
programmet för alla medborgare, och det skulle inte längre finnas någon 
anledning för parlamentet att ägna sig åt frågan.
+Eftersom min grupp anser att parlamentet är till för att lyssna, för att 
debattera och för att reflektera, anser vi att det inte finns något som 
rättfärdigar en senareläggning av debatten, och om kommissionen är beredd 
till det, menar vi att det fortfarande är möjligt att återupprätta det 
ursprungliga avtalet mellan parlamentet och kommissionen och agera på ett 
ansvarsfullt sätt gentemot våra medborgare. Därför innebär förslaget 
från Europeiska socialdemokratiska partiets grupp, som fru talmannen nämnde, 
att kommission Prodis lagstiftningsprogram läggs fram på onsdag som planerat, 
och att man inbegriper förslaget om en administrativ reform, för i annat fall 
kan en paradoxal situation uppstå: å ena sidan vägras kommissionens 
ordförande, med ursäkten att det inte finns något dokument, rätten att tala 
i parlamentet, å andra sidan omöjliggörs en debatt om reformen, eftersom 
parlamentet inte tidigare har fått ta del av dokumenten i fråga. Därför be
 r jag, fru talman, att ni uppmanar kommissionen att uttala sig och att vi 
därefter går till omröstning.
+(Applåder från PSE)
+
+Fru talman, ärade kolleger! Jag måste säga att jag är något förvånad 
över kollegan Barón Crespos agerande när han nu kräver att denna punkt på 
föredragningslistan flyttas till onsdagen.
+Herr Barón Crespo! Ni kunde inte närvara vid talmanskonferensen förra 
torsdagen. Det tänker jag inte kritisera: det händer alltid att man har en 
ställföreträdare. Kollegan Hänsch var där och företrädde er. Vi förde 
en grundlig debatt på talmanskonferensen. Det var bara er egen grupp som 
förespråkade det ni nu talar om. Därefter röstade vi. Varje ordförande har 
ju lika många röster som hans eller hennes grupp har medlemmar. Det röstades 
på denna punkt. Omröstningen resulterade vad jag kan minnas i följande 
siffror: 422 röster mot 180, med några få nedlagda röster. Detta betyder 
att alla grupper, med undantag för de grupplösa - men de är ju heller ingen 
grupp - var överens, och endast er grupp ansåg att man borde förfara på det 
sätt som ni har föreslagit här. Alla andra var av en annan åsikt. Sådant 
blev beslutet.
+Nu vill jag själv säga något i ämnet. Vi hyser förtroende för 
kommissionen, för Romano Prodi, och en mycket stor majoritet av vår grupp 
uttalade sitt förtroende för Romano Prodi och kommissionen efter en, som alla 
vet, svår process. Men vi anser också att vi måste föra en debatt om 
kommissionens strategi under ordnade former, inte bara utifrån ett muntligt 
uttalande här i Europaparlamentet utan också från ett dokument som 
kommissionen har beslutat om och som beskriver programmet för fem år 
framöver. Något sådant dokument existerar inte!
+(Applåder)
+I februari skall kommissionen lägga fram programmet för år 2000. Vi har 
sagt att detta går för sig, om kommissionen inte vill göra klart program 
2000 redan i januari, då gör vi det i februari. Det har vi sagt ja till. Vi 
vill ju för den delen inte gräla med kommissionen utan anser att kommission 
och parlament så långt det är möjligt skall gå samma väg. Men samtidigt 
är vi som parlament kontrollinstans gentemot kommissionen. Och allt som kommer 
från kommissionen behöver inte nödvändigtvis vara vår åsikt.
+Jag vill att vi inom grupperna skall kunna förbereda oss på ett klokt sätt 
inför en debatt om femårsprogrammet. Man kan inte förbereda sig genom att 
sitta här och lyssna på ett uttalande utan att alls veta vad som ligger bakom 
ett sådant uttalande. Därför rekommenderar vi - och jag har intrycket att 
kommissionen likaledes är öppen för den tanken - att debatten om 
kommissionens långsiktiga arbete fram till år 2000 förs nu i februari - jag 
hoppas också att kommissionen till dess har kommit överens om ett program att 
föreslå - och att vi samtidigt i februari kan debattera kommissionens 
lagstiftningsprogram för år 2000. Det är sålunda även av förnuftiga och 
sakliga skäl som vi bör debattera bägge programmen samtidigt. Därför 
tillbakavisar min grupp å det bestämdaste den socialistiska gruppens förslag!
+(Applåder från PPE-DE-gruppen)
+
+Fru talman! Jag vill i första hand klargöra att kommissionen hyser den 
största respekt för parlamentets beslut, och därmed även för beslutet om 
fastställandet av arbetsplanen. Vi respekterar således i det avseendet 
parlamentets beslut. Samtidigt vill jag klargöra att ordförande Prodi har 
lovat parlamentet ytterligare en debatt, precis som Barón påpekade, förutom 
den årliga debatten om kommissionens lagstiftningsprogram, en debatt om de 
viktigaste handlingslinjerna under den kommande femårsperioden, det vill säga 
under denna mandatperiod.
+Det jag vill säga, fru talman, är att man i den överenskommelse som 
uppnåddes i september, gjorde en åtskillnad mellan den debatten och 
framställandet av kommissionens årliga lagstiftningsprogram. Och jag vill 
också, fru talman, säga att vi från kommissionens sida är förberedda och 
färdiga för denna debatt när än det må vara, att vi är redo att hålla 
debatten denna vecka, så som man i princip avtalade, med tanke på att 
utkastet redan har presenterats i ett anförande inför de parlamentariska 
grupperna.
+Därför, fru talman, vill jag än en gång påpeka att vi för vår del har 
diskuterat igenom åtgärdsprogrammet för de kommande fem åren, och att vi 
är redo att, när som helst då parlamentet beslutar det, - den här veckan om 
man bestämmer sig för det - komma och presentera programmet för de kommande 
fem åren, och sedan nästa månad, programmet för år 2000, precis som 
avtalat.
+
+Jag föreslår att vi röstar om begäran från den socialistiska gruppen att 
på nytt föra upp kommissionens uttalande om dess strategiska mål på 
föredragningslistan.
+(Parlamentet avslog begäran.) Talmannen. Beträffande onsdagen har jag också 
mottagit ett annat förslag beträffande den muntliga frågan om kapitalskatt. 
PPE-DE-gruppen begär att denna punkt skall strykas från föredragningslistan.
+Vill någon kollega begära ordet för gruppens räkning och motivera denna 
begäran?
+
+Fru talman! Eftersom jag hör att det skrattas bland socialisterna: man har 
sagt mig att även vida kretsar inom den socialistiska gruppen gärna vill se 
den här punkten avförd från föredragningslistan, eftersom det vid 
omröstningen på talmanskonferensen saknades votum för berörda kolleger i 
den socialistiska arbetsgruppen. Jag vet inte huruvida denna information 
stämmer, men vi i PPE-DE-gruppen vore i alla fall tacksamma ifall punkten 
ströks, då ju parlamentet redan har befattat sig med frågan flera gånger. 
Det finns också beslut fattade mot en sådan skatt. Därför yrkar min grupp 
på att punkten avförs från föredragningslistan.
+
+Tack, herr Poettering.
+Vi skall nu lyssna till Wurtz som skall uttala sig emot denna begäran.
+
+Fru talman! Jag skulle till att börja med vilja understryka Poetterings 
bristande logik. Han har just läxat upp den socialistiska gruppen för att den 
ändrat sig när det gäller ett beslut som fattats med mycket liten marginal i 
talmanskonferensen. Men han gör samma sak själv. Vi diskuterade och var 
eniga, utom PPE-gruppen och den liberala gruppen, och jag noterade t.o.m., det 
minns ni säkert kära ordförandekolleger, att frågan inte handlar om 
huruvida ni är för eller emot Todinskatten, utan om ni vågar höra vad 
kommissionen och rådet tycker om den. Det är inte för mycket begärt. Jag 
upprepar därför förslaget att behålla denna muntliga fråga till 
kommissionen och rådet för att en gång för alla få veta vilken 
inställning dessa två instanser har till denna relativt blygsamma begäran, 
som ändå skulle utgöra en viktig signal till allmänheten, särskilt med 
tanke på den oro som uppstod efter den misslyckade konferensen i Seattle.
+
+Vi skall rösta om begäran från PPE-DE-gruppen som syftar till att stryka 
den muntliga frågan om kapitalskatt från föredragningslistan.
+(Parlamentet avslog begäran med 164 röster för, 166 emot. 7 ledamöter 
avstod från att rösta.)
+
+Fru talman! Jag skulle vilja tacka Poettering för att han just gjort reklam 
för denna debatt. Tack.
+
+Fru talman! Jag undrar om även min röst har räknats, trots att den inte 
kunde avges på elektronisk väg, eftersom jag inte har något kort? Jag 
röstade "för".
+
+Om man lägger till de två kolleger som yttrat sig blir resultatet...
+
+Fru talman! Ordförandeskapet har redan meddelat resultatet från 
omröstningen. Det finns inget utrymme för några ändringar.
+(Applåder)
+
+Kära kolleger! Ännu en gång vill jag påpeka att alla måste ha sitt kort 
på måndagen. Det är tydligt att vi har ett problem här. Jag måste därför 
fatta ett beslut.
+Jag har också glömt mitt kort och jag skulle ha röstat emot. Jag anser 
därför att den muntliga frågan kvarstår på föredragningslistan.
+(Applåder) Det är sista gången vi tar hänsyn till att ni glömt korten. 
Jag hoppas att alla har förstått och vi skall se till att alla får veta det.
+(Applåder)
+Ja, den munliga frågan kvarstår på föredragningslistan och, ja, talmannen 
har rätt att rösta, liksom hon har rätt att också glömma sitt kort.
+Vi fortsätter nu med övriga ändringar i föredragningslistan.
+
+Fru talman! Under den tidigare omröstningen - och jag kommer att följa ert 
utslag i denna fråga - rörande frågan om kommissionens strategiska plan, 
sade jag att jag ville uttala mig före omröstningen på min grupps vägnar. 
SÃ¥ blev inte fallet. Jag skulle uppskatta om jag vid denna punkts avslutande 
kunde få avge en röstförklaring på min grupps vägnar. Detta är en viktig 
fråga. Det skulle vara användbart för kammarens räkning att upplysa om hur 
folk uppfattar vad vi just gjort mot bakgrund av deras egen politiska analys.
+
+Fru talman! Jag skall inte ta upp debatten på nytt, men även jag hade 
begärt ordet för att ta ställning till herr Barón Crespos begäran. Ni lät 
mig aldrig komma till tals. Det beklagar jag, men omröstningen har 
genomförts, beslutet har fattats, alltså får det vara.
+
+Jag är ledsen, herr Hänsch och herr Cox, jag såg inte att ni hade begärt 
ordet. Jag tror ändå att ståndpunkterna är tydliga och de kommer att 
bekräftas i protokollet. När vi i morgon justerar protokollet från dagens 
sammanträde kan de kolleger, som då anser att ståndpunkterna inte 
förklarats tillräckligt tydligt, begära ändringar. Jag tror att det är ett 
bra sätt. Naturligtvis kommer man i protokollet från morgondagens 
sammanträde att ta hänsyn till alla kompletterande förklaringar. Jag tror 
att det är bättre än att nu genomföra röstförklaringar som kommer att 
leda mycket långt. Vad säger ni om det, herr Cox och herr Hänsch?
+
+Fru talman! Om omröstningsregistreringen på ett korrekt sätt visar hur min 
grupp röstade, skall jag och kan jag inte protestera mot denna. Om ert utslag 
innebär att jag inte kan avge en röstförklaring, accepterar jag detta men 
med reservation.
+
+Vi skall alltså vara mycket noggranna vid upprättandet av protokollet. Det 
är vi för övrigt alltid. Om det inte återger ståndpunkterna 
tillfredsställande, kan vi eventuellt ändra i det.
+(Arbetsplanen fastställdes med dessa ändringar.)
+

http://git-wip-us.apache.org/repos/asf/nutch/blob/ffa16784/nutch-plugins/language-identifier/src/test/org/apache/nutch/analysis/lang/test-referencial.txt
----------------------------------------------------------------------
diff --git 
a/nutch-plugins/language-identifier/src/test/org/apache/nutch/analysis/lang/test-referencial.txt
 
b/nutch-plugins/language-identifier/src/test/org/apache/nutch/analysis/lang/test-referencial.txt
new file mode 100644
index 0000000..ca32073
--- /dev/null
+++ 
b/nutch-plugins/language-identifier/src/test/org/apache/nutch/analysis/lang/test-referencial.txt
@@ -0,0 +1,10 @@
+da.test;da
+de.test;de
+el.test;el
+en.test;en
+es.test;es
+fi.test;fi
+fr.test;fr
+it.test;it
+nl.test;nl
+pt.test;pt

http://git-wip-us.apache.org/repos/asf/nutch/blob/ffa16784/nutch-plugins/lib-htmlunit/build-ivy.xml
----------------------------------------------------------------------
diff --git a/nutch-plugins/lib-htmlunit/build-ivy.xml 
b/nutch-plugins/lib-htmlunit/build-ivy.xml
new file mode 100644
index 0000000..7022f4e
--- /dev/null
+++ b/nutch-plugins/lib-htmlunit/build-ivy.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<project name="lib-htmlunit" default="deps-jar" 
xmlns:ivy="antlib:org.apache.ivy.ant">
+
+    <property name="ivy.install.version" value="2.1.0" />
+    <condition property="ivy.home" value="${env.IVY_HOME}">
+      <isset property="env.IVY_HOME" />
+    </condition>
+    <property name="ivy.home" value="${user.home}/.ant" />
+    <property name="ivy.checksums" value="" />
+    <property name="ivy.jar.dir" value="${ivy.home}/lib" />
+    <property name="ivy.jar.file" value="${ivy.jar.dir}/ivy.jar" />
+
+    <target name="download-ivy" unless="offline">
+
+        <mkdir dir="${ivy.jar.dir}"/>
+        <!-- download Ivy from web site so that it can be used even without 
any special installation -->
+        <get 
src="http://repo2.maven.org/maven2/org/apache/ivy/ivy/${ivy.install.version}/ivy-${ivy.install.version}.jar";
 
+             dest="${ivy.jar.file}" usetimestamp="true"/>
+    </target>
+
+    <target name="init-ivy" depends="download-ivy">
+      <!-- try to load ivy here from ivy home, in case the user has not 
already dropped
+              it into ant's lib dir (note that the latter copy will always 
take precedence).
+              We will not fail as long as local lib dir exists (it may be 
empty) and
+              ivy is in at least one of ant's lib dir or the local lib dir. -->
+        <path id="ivy.lib.path">
+            <fileset dir="${ivy.jar.dir}" includes="*.jar"/>
+
+        </path>
+        <taskdef resource="org/apache/ivy/ant/antlib.xml"
+                 uri="antlib:org.apache.ivy.ant" classpathref="ivy.lib.path"/>
+    </target>
+
+  <target name="deps-jar" depends="init-ivy">
+    <ivy:retrieve pattern="lib/[artifact]-[revision].[ext]" sync="true"/>
+  </target>
+
+</project>

http://git-wip-us.apache.org/repos/asf/nutch/blob/ffa16784/nutch-plugins/lib-htmlunit/build.xml
----------------------------------------------------------------------
diff --git a/nutch-plugins/lib-htmlunit/build.xml 
b/nutch-plugins/lib-htmlunit/build.xml
new file mode 100644
index 0000000..14f5d8f
--- /dev/null
+++ b/nutch-plugins/lib-htmlunit/build.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<project name="lib-htmlunit" default="jar-core">
+
+  <import file="../build-plugin.xml"/>
+
+  <!-- Add compilation dependencies to classpath -->
+  <path id="plugin.deps">    
+    <fileset dir="${nutch.root}/build">
+      <include name="**/lib-http/*.jar" />
+    </fileset>
+  </path>
+</project>

http://git-wip-us.apache.org/repos/asf/nutch/blob/ffa16784/nutch-plugins/lib-htmlunit/ivy.xml
----------------------------------------------------------------------
diff --git a/nutch-plugins/lib-htmlunit/ivy.xml 
b/nutch-plugins/lib-htmlunit/ivy.xml
new file mode 100644
index 0000000..6430535
--- /dev/null
+++ b/nutch-plugins/lib-htmlunit/ivy.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" ?>
+
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+
+<ivy-module version="1.0">
+  <info organisation="org.apache.nutch" module="${ant.project.name}">
+    <license name="Apache 2.0"/>
+    <ivyauthor name="Apache Nutch Team" url="http://nutch.apache.org"/>
+    <description>
+        Apache Nutch
+    </description>
+  </info>
+
+  <configurations>
+    <include file="../../../ivy/ivy-configurations.xml"/>
+  </configurations>
+
+  <publications>
+    <!--get the artifact from our module name-->
+    <artifact conf="master"/>
+  </publications>
+
+  <dependencies>
+    <!-- begin selenium dependencies -->
+    <dependency org="org.seleniumhq.selenium" name="selenium-java" 
rev="2.44.0" />
+    
+    <dependency org="com.opera" name="operadriver" rev="1.5">
+      <exclude org="org.seleniumhq.selenium" name="selenium-remote-driver" />
+    </dependency>
+    <dependency org="com.codeborne" name="phantomjsdriver" rev="1.2.1" >
+      <exclude org="org.seleniumhq.selenium" name="selenium-remote-driver" />
+      <exclude org="org.seleniumhq.selenium" name="selenium-java" />
+    </dependency>
+    <!-- end selenium dependencies -->
+  </dependencies>
+  
+</ivy-module>

http://git-wip-us.apache.org/repos/asf/nutch/blob/ffa16784/nutch-plugins/lib-htmlunit/plugin.xml
----------------------------------------------------------------------
diff --git a/nutch-plugins/lib-htmlunit/plugin.xml 
b/nutch-plugins/lib-htmlunit/plugin.xml
new file mode 100644
index 0000000..290a137
--- /dev/null
+++ b/nutch-plugins/lib-htmlunit/plugin.xml
@@ -0,0 +1,166 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!--
+ ! A common framework for http protocol implementations
+ !-->
+<plugin
+   id="lib-htmlunit"
+   name="HTTP Framework"
+   version="1.0"
+   provider-name="org.apache.nutch">
+
+   <runtime>
+     <library name="lib-htmlunit.jar">
+        <export name="*"/>
+     </library>
+     <!-- all classes from dependent libraries are exported -->
+     <library name="cglib-nodep-2.1_3.jar">
+       <export name="*"/>
+     </library>
+     <library name="commons-codec-1.9.jar">
+       <export name="*"/>
+     </library>
+     <library name="commons-collections-3.2.1.jar">
+       <export name="*"/>
+     </library>
+     <library name="commons-exec-1.1.jar">
+       <export name="*"/>
+     </library>
+     <library name="commons-io-2.4.jar">
+       <export name="*"/>
+     </library>
+     <library name="commons-jxpath-1.3.jar">
+       <export name="*"/>
+     </library>
+     <library name="commons-lang3-3.3.2.jar">
+       <export name="*"/>
+     </library>
+     <library name="commons-logging-1.1.3.jar">
+       <export name="*"/>
+     </library>
+     <library name="cssparser-0.9.14.jar">
+       <export name="*"/>
+     </library>
+     <library name="gson-2.3.jar">
+       <export name="*"/>
+     </library>
+     <library name="guava-18.0.jar">
+       <export name="*"/>
+     </library>
+     <library name="htmlunit-2.15.jar">
+       <export name="*"/>
+     </library>
+     <library name="htmlunit-core-js-2.15.jar">
+       <export name="*"/>
+     </library>
+     <library name="httpclient-4.3.4.jar">
+       <export name="*"/>
+     </library>
+     <library name="httpcore-4.3.2.jar">
+       <export name="*"/>
+     </library>
+     <library name="httpmime-4.3.3.jar">
+       <export name="*"/>
+     </library>
+     <library name="ini4j-0.5.2.jar">
+       <export name="*"/>
+     </library>
+     <library name="jetty-http-8.1.15.v20140411.jar">
+       <export name="*"/>
+     </library>
+     <library name="jetty-io-8.1.15.v20140411.jar">
+       <export name="*"/>
+     </library>
+     <library name="jetty-util-8.1.15.v20140411.jar">
+       <export name="*"/>
+     </library>
+     <library name="jetty-websocket-8.1.15.v20140411.jar">
+       <export name="*"/>
+     </library>
+     <library name="jna-3.4.0.jar">
+       <export name="*"/>
+     </library>
+     <library name="nekohtml-1.9.21.jar">
+       <export name="*"/>
+     </library>
+     <library name="netty-3.5.2.Final.jar">
+       <export name="*"/>
+     </library>
+     <library name="operadriver-1.5.jar">
+       <export name="*"/>
+     </library>
+     <library name="operalaunchers-1.1.jar">
+       <export name="*"/>
+     </library>
+     <library name="phantomjsdriver-1.2.1.jar">
+       <export name="*"/>
+     </library>
+     <library name="platform-3.4.0.jar">
+       <export name="*"/>
+     </library>
+     <library name="protobuf-java-2.4.1.jar">
+       <export name="*"/>
+     </library>
+     <library name="sac-1.3.jar">
+       <export name="*"/>
+     </library>
+     <library name="selenium-api-2.44.0.jar">
+       <export name="*"/>
+     </library>
+     <library name="selenium-chrome-driver-2.44.0.jar">
+       <export name="*"/>
+     </library>
+     <library name="selenium-firefox-driver-2.44.0.jar">
+       <export name="*"/>
+     </library>
+     <library name="selenium-htmlunit-driver-2.44.0.jar">
+       <export name="*"/>
+     </library>
+     <library name="selenium-ie-driver-2.44.0.jar">
+       <export name="*"/>
+     </library>
+     <library name="selenium-java-2.44.0.jar">
+       <export name="*"/>
+     </library>
+     <library name="selenium-remote-driver-2.44.0.jar">
+       <export name="*"/>
+     </library>
+     <library name="selenium-safari-driver-2.44.0.jar">
+       <export name="*"/>
+     </library>
+     <library name="selenium-support-2.44.0.jar">
+       <export name="*"/>
+     </library>
+     <library name="serializer-2.7.1.jar">
+       <export name="*"/>
+     </library>
+     <library name="webbit-0.4.14.jar">
+       <export name="*"/>
+     </library>
+     <library name="xalan-2.7.1.jar">
+       <export name="*"/>
+     </library>
+     <library name="xercesImpl-2.11.0.jar">
+       <export name="*"/>
+     </library>
+     <library name="xml-apis-1.4.01.jar">
+       <export name="*"/>
+     </library>
+   </runtime>
+
+</plugin>

http://git-wip-us.apache.org/repos/asf/nutch/blob/ffa16784/nutch-plugins/lib-htmlunit/pom.xml
----------------------------------------------------------------------
diff --git a/nutch-plugins/lib-htmlunit/pom.xml 
b/nutch-plugins/lib-htmlunit/pom.xml
new file mode 100644
index 0000000..e128b8a
--- /dev/null
+++ b/nutch-plugins/lib-htmlunit/pom.xml
@@ -0,0 +1,55 @@
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one or more
+  ~ contributor license agreements.  See the NOTICE file distributed with
+  ~ this work for additional information regarding copyright ownership.
+  ~ The ASF licenses this file to You under the Apache License, Version 2.0
+  ~ (the "License"); you may not use this file except in compliance with
+  ~ the License.  You may obtain a copy of the License at
+  ~
+  ~     http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.apache.nutch</groupId>
+        <artifactId>nutch-plugins</artifactId>
+        <version>1.13-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+    <artifactId>lib-htmlunit</artifactId>
+    <packaging>jar</packaging>
+
+    <name>lib-htmlunit</name>
+    <url>http://nutch.apache.org</url>
+
+    <properties>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    </properties>
+    <dependencies>
+        <dependency>
+            <groupId>org.seleniumhq.selenium</groupId>
+            <artifactId>selenium-java</artifactId>
+            <version>2.44.0</version>
+        </dependency>
+        <dependency>
+            <groupId>com.opera</groupId>
+            <artifactId>operadriver</artifactId>
+            <version>1.5</version>
+        </dependency>
+        <dependency>
+            <groupId>com.codeborne</groupId>
+            <artifactId>phantomjsdriver</artifactId>
+            <version>1.2.1</version>
+        </dependency>
+    </dependencies>
+
+</project>

http://git-wip-us.apache.org/repos/asf/nutch/blob/ffa16784/nutch-plugins/lib-htmlunit/src/main/java/org/apache/nutch/protocol/htmlunit/HtmlUnitWebDriver.java
----------------------------------------------------------------------
diff --git 
a/nutch-plugins/lib-htmlunit/src/main/java/org/apache/nutch/protocol/htmlunit/HtmlUnitWebDriver.java
 
b/nutch-plugins/lib-htmlunit/src/main/java/org/apache/nutch/protocol/htmlunit/HtmlUnitWebDriver.java
new file mode 100644
index 0000000..064894e
--- /dev/null
+++ 
b/nutch-plugins/lib-htmlunit/src/main/java/org/apache/nutch/protocol/htmlunit/HtmlUnitWebDriver.java
@@ -0,0 +1,189 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.nutch.protocol.htmlunit;
+
+import java.io.BufferedInputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.util.concurrent.TimeUnit;
+
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.fs.FileSystem;
+import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.io.IOUtils;
+import org.openqa.selenium.By;
+import org.openqa.selenium.JavascriptExecutor;
+import org.openqa.selenium.OutputType;
+import org.openqa.selenium.TakesScreenshot;
+import org.openqa.selenium.TimeoutException;
+import org.openqa.selenium.WebDriver;
+import org.openqa.selenium.WebElement;
+import org.openqa.selenium.htmlunit.HtmlUnitDriver;
+import org.openqa.selenium.io.TemporaryFilesystem;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.gargoylesoftware.htmlunit.WebClient;
+
+public class HtmlUnitWebDriver extends HtmlUnitDriver {
+
+  private static final Logger LOG = 
LoggerFactory.getLogger(HtmlUnitWebDriver.class);
+  private static boolean enableJavascript;
+  private static boolean enableCss;
+  private static boolean enableRedirect;
+  private static long javascriptTimeout;
+  private static int maxRedirects;
+  
+  public HtmlUnitWebDriver() {
+    super(enableJavascript);
+  }
+  
+  @Override
+  protected WebClient modifyWebClient(WebClient client) {
+    client.getOptions().setJavaScriptEnabled(enableJavascript);
+    client.getOptions().setCssEnabled(enableCss);
+    client.getOptions().setRedirectEnabled(enableRedirect);
+    if(enableJavascript)
+      client.setJavaScriptTimeout(javascriptTimeout);
+      client.getOptions().setThrowExceptionOnScriptError(false);
+      if(enableRedirect)
+        client.addWebWindowListener(new 
HtmlUnitWebWindowListener(maxRedirects));
+         return client;
+  }
+  
+  public static WebDriver getDriverForPage(String url, Configuration conf) {
+    long pageLoadTimout = conf.getLong("page.load.delay", 3);
+    enableJavascript = conf.getBoolean("htmlunit.enable.javascript", true);
+    enableCss = conf.getBoolean("htmlunit.enable.css", false);
+    javascriptTimeout = conf.getLong("htmlunit.javascript.timeout", 3500);
+    int redirects = Integer.parseInt(conf.get("http.redirect.max", "0"));
+    enableRedirect = redirects <= 0 ? false : true;
+    maxRedirects = redirects;
+         
+    WebDriver driver = null;
+         
+    try {
+      driver = new HtmlUnitWebDriver();
+      driver.manage().timeouts().pageLoadTimeout(pageLoadTimout, 
TimeUnit.SECONDS);
+      driver.get(url);
+     } catch(Exception e) {
+       if(e instanceof TimeoutException) {
+              LOG.debug("HtmlUnit WebDriver: Timeout Exception: Capturing 
whatever loaded so far...");
+              return driver;
+     }
+     cleanUpDriver(driver);
+     throw new RuntimeException(e);
+    }
+
+    return driver;
+  }
+
+  public static String getHTMLContent(WebDriver driver, Configuration conf) {
+    try {
+      if (conf.getBoolean("take.screenshot", false))
+        takeScreenshot(driver, conf);
+                 
+      String innerHtml = "";
+      if(enableJavascript) {
+             WebElement body = driver.findElement(By.tagName("body"));
+             innerHtml = 
(String)((JavascriptExecutor)driver).executeScript("return 
arguments[0].innerHTML;", body); 
+      }
+      else
+             innerHtml = driver.getPageSource().replaceAll("&amp;", "&");
+      return innerHtml;
+    } catch(Exception e) {
+           TemporaryFilesystem.getDefaultTmpFS().deleteTemporaryFiles();
+       cleanUpDriver(driver);
+       throw new RuntimeException(e);
+    } 
+  }
+
+  public static void cleanUpDriver(WebDriver driver) {
+    if (driver != null) {
+      try {
+        driver.close();
+        driver.quit();
+        TemporaryFilesystem.getDefaultTmpFS().deleteTemporaryFiles();
+      } catch (Exception e) {
+        throw new RuntimeException(e);
+      }
+    }
+  }
+
+  /**
+   * Function for obtaining the HTML BODY using the selected
+   * {@link org.openqa.selenium.WebDriver}.
+   * There are a number of configuration properties within
+   * <code>nutch-site.xml</code> which determine whether to
+   * take screenshots of the rendered pages and persist them
+   * as timestamped .png's into HDFS.
+   * @param url the URL to fetch and render
+   * @param conf the {@link org.apache.hadoop.conf.Configuration}
+   * @return the rendered inner HTML page
+   */
+  public static String getHtmlPage(String url, Configuration conf) {
+    WebDriver driver = getDriverForPage(url, conf);
+
+    try {
+      if (conf.getBoolean("take.screenshot", false))
+             takeScreenshot(driver, conf);
+
+      String innerHtml = "";
+      if(enableJavascript) {
+             WebElement body = driver.findElement(By.tagName("body"));
+         innerHtml = 
(String)((JavascriptExecutor)driver).executeScript("return 
arguments[0].innerHTML;", body); 
+      }
+      else
+         innerHtml = driver.getPageSource().replaceAll("&amp;", "&");
+      return innerHtml;
+
+    } catch (Exception e) {
+           TemporaryFilesystem.getDefaultTmpFS().deleteTemporaryFiles();
+      throw new RuntimeException(e);
+    } finally {
+      cleanUpDriver(driver);
+    }
+  }
+
+  private static void takeScreenshot(WebDriver driver, Configuration conf) {
+    try {
+      String url = driver.getCurrentUrl();
+      File srcFile = 
((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
+      LOG.debug("In-memory screenshot taken of: {}", url);
+      FileSystem fs = FileSystem.get(conf);
+      if (conf.get("screenshot.location") != null) {
+         Path screenshotPath = new Path(conf.get("screenshot.location") + "/" 
+ srcFile.getName());
+        OutputStream os = null;
+        if (!fs.exists(screenshotPath)) {
+          LOG.debug("No existing screenshot already exists... creating new 
file at {} {}.", screenshotPath, srcFile.getName());
+          os = fs.create(screenshotPath);
+        }
+        InputStream is = new BufferedInputStream(new FileInputStream(srcFile));
+        IOUtils.copyBytes(is, os, conf);
+        LOG.debug("Screenshot for {} successfully saved to: {} {}", url, 
screenshotPath, srcFile.getName()); 
+      } else {
+        LOG.warn("Screenshot for {} not saved to HDFS (subsequently disgarded) 
as value for "
+            + "'screenshot.location' is absent from nutch-site.xml.", url);
+      }
+    } catch (Exception e) {
+       cleanUpDriver(driver);
+       throw new RuntimeException(e);
+    }
+  }
+}

http://git-wip-us.apache.org/repos/asf/nutch/blob/ffa16784/nutch-plugins/lib-htmlunit/src/main/java/org/apache/nutch/protocol/htmlunit/HtmlUnitWebWindowListener.java
----------------------------------------------------------------------
diff --git 
a/nutch-plugins/lib-htmlunit/src/main/java/org/apache/nutch/protocol/htmlunit/HtmlUnitWebWindowListener.java
 
b/nutch-plugins/lib-htmlunit/src/main/java/org/apache/nutch/protocol/htmlunit/HtmlUnitWebWindowListener.java
new file mode 100644
index 0000000..c2b88a6
--- /dev/null
+++ 
b/nutch-plugins/lib-htmlunit/src/main/java/org/apache/nutch/protocol/htmlunit/HtmlUnitWebWindowListener.java
@@ -0,0 +1,53 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.nutch.protocol.htmlunit;
+
+import com.gargoylesoftware.htmlunit.WebWindowEvent;
+import com.gargoylesoftware.htmlunit.WebWindowListener;
+
+public class HtmlUnitWebWindowListener implements WebWindowListener {
+
+  private Integer redirectCount = 0;
+  private Integer maxRedirects = 0;
+  
+  public HtmlUnitWebWindowListener() {
+    
+  }
+  
+  public HtmlUnitWebWindowListener(int maxRedirects) {
+    this.maxRedirects = maxRedirects;
+  }
+  
+  @Override
+  public void webWindowOpened(WebWindowEvent event) {
+    
+  }
+
+  @Override
+  public void webWindowContentChanged(WebWindowEvent event) {
+    redirectCount++;
+    if(redirectCount > maxRedirects)
+      throw new RuntimeException("Redirect Count: " + redirectCount + " 
exceeded the Maximum Redirects allowed: " + maxRedirects);
+  }
+
+  @Override
+  public void webWindowClosed(WebWindowEvent event) {
+    
+  }
+  
+}
+

http://git-wip-us.apache.org/repos/asf/nutch/blob/ffa16784/nutch-plugins/lib-http/build.xml
----------------------------------------------------------------------
diff --git a/nutch-plugins/lib-http/build.xml b/nutch-plugins/lib-http/build.xml
new file mode 100644
index 0000000..f26a409
--- /dev/null
+++ b/nutch-plugins/lib-http/build.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<project name="lib-http" default="jar-core">
+
+  <import file="../build-plugin.xml"/>
+
+</project>

http://git-wip-us.apache.org/repos/asf/nutch/blob/ffa16784/nutch-plugins/lib-http/ivy.xml
----------------------------------------------------------------------
diff --git a/nutch-plugins/lib-http/ivy.xml b/nutch-plugins/lib-http/ivy.xml
new file mode 100644
index 0000000..1a86d68
--- /dev/null
+++ b/nutch-plugins/lib-http/ivy.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" ?>
+
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+
+<ivy-module version="1.0">
+  <info organisation="org.apache.nutch" module="${ant.project.name}">
+    <license name="Apache 2.0"/>
+    <ivyauthor name="Apache Nutch Team" url="http://nutch.apache.org"/>
+    <description>
+        Apache Nutch
+    </description>
+  </info>
+
+  <configurations>
+    <include file="../../..//ivy/ivy-configurations.xml"/>
+  </configurations>
+
+  <publications>
+    <!--get the artifact from our module name-->
+    <artifact conf="master"/>
+  </publications>
+
+  <dependencies>
+  </dependencies>
+  
+</ivy-module>

http://git-wip-us.apache.org/repos/asf/nutch/blob/ffa16784/nutch-plugins/lib-http/plugin.xml
----------------------------------------------------------------------
diff --git a/nutch-plugins/lib-http/plugin.xml 
b/nutch-plugins/lib-http/plugin.xml
new file mode 100644
index 0000000..a96e59d
--- /dev/null
+++ b/nutch-plugins/lib-http/plugin.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!--
+ ! A common framework for http protocol implementations
+ !-->
+<plugin
+   id="lib-http"
+   name="HTTP Framework"
+   version="1.0"
+   provider-name="org.apache.nutch">
+
+   <runtime>
+     <library name="lib-http.jar">
+        <export name="*"/>
+     </library>
+   </runtime>
+
+</plugin>

http://git-wip-us.apache.org/repos/asf/nutch/blob/ffa16784/nutch-plugins/lib-http/pom.xml
----------------------------------------------------------------------
diff --git a/nutch-plugins/lib-http/pom.xml b/nutch-plugins/lib-http/pom.xml
new file mode 100644
index 0000000..0c39ff9
--- /dev/null
+++ b/nutch-plugins/lib-http/pom.xml
@@ -0,0 +1,38 @@
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one or more
+  ~ contributor license agreements.  See the NOTICE file distributed with
+  ~ this work for additional information regarding copyright ownership.
+  ~ The ASF licenses this file to You under the Apache License, Version 2.0
+  ~ (the "License"); you may not use this file except in compliance with
+  ~ the License.  You may obtain a copy of the License at
+  ~
+  ~     http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.apache.nutch</groupId>
+        <artifactId>nutch-plugins</artifactId>
+        <version>1.13-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+    <artifactId>lib-http</artifactId>
+    <packaging>jar</packaging>
+
+    <name>lib-http</name>
+    <url>http://nutch.apache.org</url>
+
+    <properties>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    </properties>
+
+</project>

http://git-wip-us.apache.org/repos/asf/nutch/blob/ffa16784/nutch-plugins/lib-http/src/main/java/org/apache/nutch/protocol/http/api/BlockedException.java
----------------------------------------------------------------------
diff --git 
a/nutch-plugins/lib-http/src/main/java/org/apache/nutch/protocol/http/api/BlockedException.java
 
b/nutch-plugins/lib-http/src/main/java/org/apache/nutch/protocol/http/api/BlockedException.java
new file mode 100644
index 0000000..b1103f8
--- /dev/null
+++ 
b/nutch-plugins/lib-http/src/main/java/org/apache/nutch/protocol/http/api/BlockedException.java
@@ -0,0 +1,26 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.nutch.protocol.http.api;
+
+public class BlockedException extends HttpException {
+
+  public BlockedException(String msg) {
+    super(msg);
+  }
+
+}

Reply via email to