Autor |
Mensagem |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 02/04/2008 23:17:30
|
dsfextreme
Equipe
![[Avatar]](/forum/images/avatar/54229abfcfa5649e7003b83dd4755294.jpg)
Membro desde: 01/04/2008 16:35:42
Mensagens: 16
Offline
|
Code:
23:08:27,265 ERROR [DispatcherServlet] Could not complete request
br.com.linkcom.neo.controller.crud.CrudException
at br.com.linkcom.neo.controller.crud.CrudController.doListagem(CrudController.java:126)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at br.com.linkcom.neo.controller.MultiActionController.invokeNamedMethod(MultiActionController.java:505)
at br.com.linkcom.neo.controller.MultiActionController.handleRequestInternal(MultiActionController.java:367)
at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:139)
at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:44)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:717)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:658)
at br.com.linkcom.neo.controller.DispatcherServlet.doService(DispatcherServlet.java:59)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:392)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:347)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at br.com.linkcom.neo.core.web.NeoFilter.doFilter(NeoFilter.java:95)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:159)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.NullPointerException
at br.com.linkcom.neo.persistence.ListagemResult.init(ListagemResult.java:68)
at br.com.linkcom.neo.persistence.ListagemResult.<init>(ListagemResult.java:43)
at br.com.linkcom.neo.persistence.GenericDAO.findForListagem(GenericDAO.java:510)
at br.com.linkcom.neo.service.GenericService.findForListagem(GenericService.java:50)
at br.com.linkcom.neo.controller.crud.CrudController.getLista(CrudController.java:168)
at br.com.linkcom.neo.controller.crud.CrudController.setListagemInfo(CrudController.java:154)
at br.com.linkcom.neo.controller.crud.CrudController.doListagem(CrudController.java:123)
... 37 more
23:08:27,265 ERROR [[modulo]] Servlet.service() for servlet modulo threw exception
br.com.linkcom.neo.controller.crud.CrudException
at br.com.linkcom.neo.controller.crud.CrudController.doListagem(CrudController.java:126)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at br.com.linkcom.neo.controller.MultiActionController.invokeNamedMethod(MultiActionController.java:505)
at br.com.linkcom.neo.controller.MultiActionController.handleRequestInternal(MultiActionController.java:367)
at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:139)
at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:44)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:717)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:658)
at br.com.linkcom.neo.controller.DispatcherServlet.doService(DispatcherServlet.java:59)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:392)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:347)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at br.com.linkcom.neo.core.web.NeoFilter.doFilter(NeoFilter.java:95)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:159)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.NullPointerException
at br.com.linkcom.neo.persistence.ListagemResult.init(ListagemResult.java:68)
at br.com.linkcom.neo.persistence.ListagemResult.<init>(ListagemResult.java:43)
at br.com.linkcom.neo.persistence.GenericDAO.findForListagem(GenericDAO.java:510)
at br.com.linkcom.neo.service.GenericService.findForListagem(GenericService.java:50)
at br.com.linkcom.neo.controller.crud.CrudController.getLista(CrudController.java:168)
at br.com.linkcom.neo.controller.crud.CrudController.setListagemInfo(CrudController.java:154)
at br.com.linkcom.neo.controller.crud.CrudController.doListagem(CrudController.java:123)
... 37 more
Não consigo resolver.......
Aguardo e obrigado.
|
|
 |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 03/04/2008 12:32:52
|
pedro.goncalves
Equipe
Membro desde: 17/04/2007 16:12:20
Mensagens: 539
Localização: Belo Horizonte - MG
Offline
|
Posta ai o seu crud, service, dao e bean
|
Pedro Gonçalves
http://pedrogoncalves.com.br
 |
|
 |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 03/04/2008 13:01:11
|
dsfextreme
Equipe
![[Avatar]](/forum/images/avatar/54229abfcfa5649e7003b83dd4755294.jpg)
Membro desde: 01/04/2008 16:35:42
Mensagens: 16
Offline
|
pedro.goncalves wrote:
Posta ai o seu crud, service, dao e bean
Pode deixar, mais tarde coloco o fonte aqui.
Obrigado mais uma vez.
|
|
 |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 03/04/2008 14:50:23
|
pedro.goncalves
Equipe
Membro desde: 17/04/2007 16:12:20
Mensagens: 539
Localização: Belo Horizonte - MG
Offline
|
ok
|
Pedro Gonçalves
http://pedrogoncalves.com.br
 |
|
 |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 04/04/2008 21:35:22
|
dsfextreme
Equipe
![[Avatar]](/forum/images/avatar/54229abfcfa5649e7003b83dd4755294.jpg)
Membro desde: 01/04/2008 16:35:42
Mensagens: 16
Offline
|
Conforme solicitado , seguem as classes criadas.
Mas agora o erro é outro...
Code:
package org.neoframework.exemplo.bean;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
@Entity
@SequenceGenerator(name="sq_uf", sequenceName="sq_uf")
public class Uf {
Integer id;
String nome;
String sigla;
@Id
@GeneratedValue(strategy=GenerationType.AUTO, generator="sq_uf")
public Integer getId() {
return id;
}
public String getNome() {
return nome;
}
public String getSigla() {
return sigla;
}
public void setId(Integer id) {
this.id = id;
}
public void setNome(String nome) {
this.nome = nome;
}
public void setSigla(String sigla) {
this.sigla = sigla;
}
}
Code:
/**
*
*/
package org.neoframework.exemplo.controller;
import org.neoframework.exemplo.bean.Uf;
import br.com.linkcom.neo.controller.Controller;
import br.com.linkcom.neo.controller.crud.CrudController;
import br.com.linkcom.neo.controller.crud.FiltroListagem;
/**
* @author Neo
*
*/
@Controller(path="/modulo/crud/Uf")
public class UfCrud extends CrudController<FiltroListagem, Uf, Uf> {
}
Code:
/**
*
*/
package org.neoframework.exemplo.dao;
import org.neoframework.exemplo.bean.Uf;
import br.com.linkcom.neo.persistence.GenericDAO;
/**
* @author Neo
*
*/
public class UfDAO extends GenericDAO<Uf> {
}
Code:
/**
*
*/
package org.neoframework.exemplo.service;
import org.neoframework.exemplo.bean.Uf;
import br.com.linkcom.neo.service.GenericService;
/**
* @author Neo
*
*/
public class UfService extends GenericService<Uf> {
}
Code:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns si="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<!-- Listener que inicializa a aplicação -->
<listener>
<listener-class>br.com.linkcom.neo.core.web.init.ContextLoaderListener</listener-class>
</listener>
<!-- Filtro para criar o contexto do NEO -->
<filter>
<filter-name>neoFilter</filter-name>
<filter-class>br.com.linkcom.neo.core.web.NeoFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>neoFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- Servlet necessário para Ajax -->
<servlet>
<servlet-name>ajaxServlet</servlet-name>
<servlet-class>br.com.linkcom.neo.view.AjaxServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ajaxServlet</servlet-name>
<url-pattern>/ajax/*</url-pattern>
</servlet-mapping>
<!-- Servlet necessário do NEO, provê JS e CSS -->
<servlet>
<servlet-name>resourceServlet</servlet-name>
<servlet-class>br.com.linkcom.neo.view.ResourceServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>resourceServlet</servlet-name>
<url-pattern>/resource/*</url-pattern>
</servlet-mapping>
<!-- Módulo da aplicação -->
<servlet>
<servlet-name>modulo</servlet-name>
<servlet-class>br.com.linkcom.neo.controller.DispatcherServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>modulo</servlet-name>
<url-pattern>/modulo/*</url-pattern>
</servlet-mapping>
</web-app>
Erro que acontece agora
Code:
org.apache.jasper.JasperException: The absolute uri: http://java.sun.com/jsp/jslt/core cannot be resolved in either web.xml or the jar files deployed with this application
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:50)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:114)
org.apache.jasper.compiler.TagLibraryInfoImpl.generateTLDLocation(TagLibraryInfoImpl.java:316)
org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:147)
org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:418)
org.apache.jasper.compiler.Parser.parseDirective(Parser.java:483)
org.apache.jasper.compiler.Parser.parseElements(Parser.java:1543)
org.apache.jasper.compiler.Parser.parse(Parser.java:126)
org.apache.jasper.compiler.ParserController.doParse(ParserController.java:211)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:100)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:146)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:267)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:255)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:556)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:293)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:966)
org.apache.jsp.WEB_002dINF.jsp.modulo.base_jsp._jspService(org.apache.jsp.WEB_002dINF.jsp.modulo.base_jsp:67)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:97)
org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250)
org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:961)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:738)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:658)
br.com.linkcom.neo.controller.DispatcherServlet.doService(DispatcherServlet.java:59)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:392)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:347)
javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
br.com.linkcom.neo.core.web.NeoFilter.doFilter(NeoFilter.java:95)
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
|
|
 |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 05/04/2008 15:09:34
|
pedro.goncalves
Equipe
Membro desde: 17/04/2007 16:12:20
Mensagens: 539
Localização: Belo Horizonte - MG
Offline
|
Verifique se você tem a biblioteca jstl no seu classpath...
obrigado.
|
Pedro Gonçalves
http://pedrogoncalves.com.br
 |
|
 |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 05/04/2008 16:57:14
|
dsfextreme
Equipe
![[Avatar]](/forum/images/avatar/54229abfcfa5649e7003b83dd4755294.jpg)
Membro desde: 01/04/2008 16:35:42
Mensagens: 16
Offline
|
Resolvido
Code:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
estava escrito
Code:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jslt/core"%>
Valeu !
|
|
 |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 06/04/2008 20:46:54
|
pedro.goncalves
Equipe
Membro desde: 17/04/2007 16:12:20
Mensagens: 539
Localização: Belo Horizonte - MG
Offline
|
ok!
|
Pedro Gonçalves
http://pedrogoncalves.com.br
 |
|
 |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 06/04/2008 21:11:17
|
dsfextreme
Equipe
![[Avatar]](/forum/images/avatar/54229abfcfa5649e7003b83dd4755294.jpg)
Membro desde: 01/04/2008 16:35:42
Mensagens: 16
Offline
|
pedro.goncalves wrote:
ok!
Obrigado.
gostaria de fazer mais uma pergunta.
Como faço para usar uma tela Flex no seu exemplo.
Tem como usar o blazeds para realizar o mapeamento
Não rola de fazer um screencast ae não
Não consegui fazer funcionar a integração com o GraniteDs.
Tô no sal
Obrigado.
|
|
 |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 06/04/2008 22:56:28
|
pedro.goncalves
Equipe
Membro desde: 17/04/2007 16:12:20
Mensagens: 539
Localização: Belo Horizonte - MG
Offline
|
Você está usando o flexBuilder?
se sim, qual versão?
|
Pedro Gonçalves
http://pedrogoncalves.com.br
 |
|
 |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 07/04/2008 09:22:51
|
dsfextreme
Equipe
![[Avatar]](/forum/images/avatar/54229abfcfa5649e7003b83dd4755294.jpg)
Membro desde: 01/04/2008 16:35:42
Mensagens: 16
Offline
|
Sim, estou usando a versão 3.
Na verdade estou usando 2 ambientes diferentes.
Um flexBuilder 3 e o outro é o ambiente que vc montou com o a versão do Eclipse 3.2 + MyEclipse + FlexBuilder Pluguin 3 + Neo Framework
O que eu gostaria de fazer era usar o Blazeds + o Neo Framework.
Ao invés de usar as páginas JSP que vc cria , que é bem prático e rápido,
usar uma interface do Flex.
Mas não sei se daria certo.
Aguardo e obrigado mais uma vez.
E desculpe a minha ignorância, é que já lí tanta coisa que acho que estou perdido.
Pelo que eu lí na documentação do blazeds é que tenho que mapear o service desta forma:
The following example shows a basic Remoting Service definition. The service contains a destination that references a security constraint, which is also shown. The destination uses a default adapter, java-object, defined at the service level.
<service id="remoting-service"
class="flex.messaging.services.RemotingService">
<adapters>
<adapter-definition id="java-object"
class="flex.messaging.services.remoting.adapters.JavaAdapter"
default="true"/>
</adapters>
<default-channels>
<channel ref="samples-amf"/>
</default-channels>
<destination id="SampleEmployeeRO">
<properties>
<source>samples.explorer.EmployeeManager</source>
<scope>application</scope>
</properties>
<security>
<security-constraint ref="privileged-users"/>
</security>
</destination>
</service>
...
<security>
<security-constraint id="privileged-users">
<auth-method>Custom</auth-method>
<roles>
<role>privilegedusers</role>
<role>admins</role>
</roles>
</security-constraint>
...
</security>
Seria só isso mesmo ?
Alguém já tentou e funcionou ?
T+.
|
|
 |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 07/04/2008 23:11:44
|
pedro.goncalves
Equipe
Membro desde: 17/04/2007 16:12:20
Mensagens: 539
Localização: Belo Horizonte - MG
Offline
|
Cara.. o blaze funciona um pouquinho diferente ao granite, seria necessário montar uma classe para fornecer a fábrica do spring.
Vou ver se monto uma integração e posto aqui. pode ser?
|
Pedro Gonçalves
http://pedrogoncalves.com.br
 |
|
 |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 09/04/2008 10:05:20
|
dsfextreme
Equipe
![[Avatar]](/forum/images/avatar/54229abfcfa5649e7003b83dd4755294.jpg)
Membro desde: 01/04/2008 16:35:42
Mensagens: 16
Offline
|
pedro.goncalves wrote:
Cara.. o blaze funciona um pouquinho diferente ao granite, seria necessário montar uma classe para fornecer a fábrica do spring.
Vou ver se monto uma integração e posto aqui. pode ser?
Claro que sim , vai ser bacana poder integrar com o Blazeds !
Vou tentar fazer o exemplo novamente.
Obrigado.
|
|
 |
|