Foro Oficial de Java

HakoT

Lanero Reconocido
Lanero VIP
27 Jun 2007
5,834
the keyword super, es sencilla en realidad tiene que ver directamente con herencia,

CLASE PADRE

CLASE HIJA EXTENDS PADRE

esto quiere decir que la clase hija heredara todo lo que pueda del padre, es decir metodos protegidos, publicos, etc. pero no privados.

supongamos que tienes un metodo sobre escrito.

en la clase padre existe un metodo llamado getValor(), este es publico entonces este es heredado por la clase hija, pero si en la clase hija lo sobreescribes, para se llamado siemplemente escribes su nombre, pero si deseas llamar el metodo en la clase padre debes anteponer la palabra super.getValor.

Esta keywork tambien se utiliza como llamado al constructor del padre, por defecto existe un llamado a ese constructor super(), pero es transparente para el programador.

Espero que te aclare un poco. cualquier cosa preguntas.

Si es plenamente Herencia, eso es lo que quiero saber, al buscar los datos del padre heredados por el hijo como hago para llamar esos atributos, y como implemento el super....
thx
 

eighta

Lanero Reconocido
4 Jul 2006
542
Si es plenamente Herencia, eso es lo que quiero saber, al buscar los datos del padre heredados por el hijo como hago para llamar esos atributos, y como implemento el super....
thx

ok, mira este ejemplo:

public class Padre{
private int puntoX;
private int puntoY;

public int getPuntoX(){return puntoX;}
public int getPuntoY(){return puntoY;}

public Padre(int x, int y){
puntoX = x;
puntoY = y;
}
}

ahora el hijo

public class Hijo extends Padre{
public Hijo(){
super(1,2); //se utiliza super como constructor del padre
}

public int getPuntoX(){return puntoX*2;}

public void otroMethod(){
super.getPuntoX();//como sobre escribistes el metodo, para llamar
//al del padre,
utilizas super

}

}
 

jpgu7

Lanero Reconocido
20 Feb 2009
604
Cordial Saludo.

Alguién sabe donde se almacenan los .jar correspondientes a un JNLP o en tal sólo se toman del servidor pero no se almacenan. Muchas gracias por la info.
 

DFREYES

Lanero Reconocido
2 Abr 2004
239
cual es el mejor entorno para programar con java.. necesito un entorno en el que pueda utilizar sservicios web, guis, y apis y maschups. pero que sea sencillo de usar... he utilizado netbeans funciona bien aunque es demasiado pesado y hace lento el sisema. . con eclipse me encontre que casi todo lo tenia que hacer manual y no me gusto mucho... eso fue hace unos años.. no se ahora .. que me recomiendan
 

eighta

Lanero Reconocido
4 Jul 2006
542
cual es el mejor entorno para programar con java.. necesito un entorno en el que pueda utilizar sservicios web, guis, y apis y maschups. pero que sea sencillo de usar... he utilizado netbeans funciona bien aunque es demasiado pesado y hace lento el sisema. . con eclipse me encontre que casi todo lo tenia que hacer manual y no me gusto mucho... eso fue hace unos años.. no se ahora .. que me recomiendan

disculpa, ke es maschups? es lo mismo ke Mockup?
 

sairus black

Lanero Reconocido
19 Ene 2008
1,848
cual es el mejor entorno para programar con java.. necesito un entorno en el que pueda utilizar sservicios web, guis.............

Lamentablemente si deseas un ide de alta gama que te ofresca todo lo que mencionas tienes únicamente 3 opciones:

1. Netbeans: El mejor en términos técnicos y de acoplamiento, lo malo como dices es que exige una maquinota para ejecutar bien (la mi en la que corro CoD BO como si no fuera nada, el netbeans se traba).

2. Eclipse: s mas ligero que netbeans pero toca darle mas caña para hacer todo lo que quieres, además hay que fregarse buscándole plugins, eso es lo mas feo.

3. Sun Studio: La verdad no se si todavía oracle le da soporte o si sigue siendo posible descargarlo gratis en modo completo, en términos de consumo es mas económico que netbeans pero algo mas difícil de manejar.

Trial: http://www.oracle.com/technetwork/systems/index-141174.html
 

MasterOfHell

Lanero Reconocido
24 Ago 2004
305
Lamentablemente si deseas un ide de alta gama que te ofresca todo lo que mencionas tienes únicamente 3 opciones:

1. Netbeans: El mejor en términos técnicos y de acoplamiento, lo malo como dices es que exige una maquinota para ejecutar bien (la mi en la que corro CoD BO como si no fuera nada, el netbeans se traba).

2. Eclipse: s mas ligero que netbeans pero toca darle mas caña para hacer todo lo que quieres, además hay que fregarse buscándole plugins, eso es lo mas feo.

3. Sun Studio: La verdad no se si todavía oracle le da soporte o si sigue siendo posible descargarlo gratis en modo completo, en términos de consumo es mas económico que netbeans pero algo mas difícil de manejar.

Trial: http://www.oracle.com/technetwork/systems/index-141174.html


El Sun Studio que incluyes el link, no es para java. El de java estaba basado en el Netbeans y Sun lo descontinuo en el 2007.
http://www.javaworld.com/javaworld/jw-12-2007/jw-12-netbeans.html

Mi opinion personal, Eclipse y NetBeans son muy buenos ambos, depende de que tan cacharrero eres o quieres ser :p.... el eclipse es liviano pero porque la base toca completarla a punta de plugins y demas, el netbeans es mas pesado pero para mi es de lo mejor.

Ahora, tambien depende de que plataformas estas usando, por ejemplo si te vas por lo abierto en servers (JBoss y demas), usa eclipse o netbeans, pero si te vas por ejemplo con Oracle (Weblogic) no lo pienses y usa el IDE de Oracle el Jdev.. igual que si usas WebSphere de IBM... usa el entorno que recomiendan.

Si estas aprendiendo, dale con eclipse y netbeans... como estan menos amarrados a plataformas te toca configurar mas en conectividad, pero tambien aprendes mas en el proceso.
 

R4

Lanero Reconocido
29 Ene 2003
434
El MyEclipse es un eclipse con muchisima cosa instalada y configurada ya, pero es de licencia.
tienen un trial de full version por 30 dias, mire a ver si ese le gusta.
 

sairus black

Lanero Reconocido
19 Ene 2008
1,848
El Sun Studio que incluyes el link, no es para java. El de java estaba basado en el Netbeans y Sun lo descontinuo en el 2007.....

Precisamente por eso escribí:

....La verdad no se si todavía oracle le da soporte o si sigue siendo posible descargarlo gratis en modo completo.........
Yo logre hacerme con un sun studio completo en cd original, me gusto mucho lastima que ya no le den mantenimiento.... en fin la conclusión es que cada uno se queda con lo que mas le gusta, me parece que la mejor opción en especial si vas a usar J2EE es netbeans pero si no se cuenta con una maquina lo suficientemente potente puede ser un dolor de cabeza.

Hay que fijarse en la maquina, lo que se quiere hacer y sobre todo en el estilo de desarrollador que se tiene, yo soy mas retro así que con Geany me basta, pero hay gente que no puede desarrollar sino tiene debug, analizador de rendimiento y todas esas chuladas de los IDE de gama alta....cosa de gustos.:chino:
 

sairus black

Lanero Reconocido
19 Ene 2008
1,848
Señores algo sobre como romper cadenas??? QUE FUNCIONALIDAD tiene??
Y un ejemplo por favor con comentarios sobre clases obstractas e interface
Thx

Umm veamos romper cadenas, seguramente te refieres al split, no es cosa dificil por ejemplo una "Tabla" seria algo asi;

PHP:
String tabla = new String("1\t2\t3\n4\t5\ŧ6");
String filas[] = dat.split("\\n");
int cols = filas[0].split("\\t").length;
String matriz[][] = new String[filas.length][cols];
for (int i = 0; i < arr.length; i++) 
{
   matriz[i] = arr[i].split("\\t");
}

Lo anterior toma una cadena que contiene una especie de "tabla" con los numeros de 1 a 6 y la combierte en una matriz de 2 x 3. No tiene siencia. Solo recordar que split usa expresiones regurales, por eso las secuencias de escape llevan doble \.

Otra forma de recorrer una cadena por segmentos es usar la clase StringTokenizer eje:

PHP:
String caso = new String("2+3-8=10")
StringTokenizer token = new StringTokenizer(caso, "=+-", true);
while(token.hasMoreElements())
       System.out.println(token.nextToken());

Lo anterior divide la cadena cada vez que encuentra el signo +, - o =; StringTokenizer recive como parametros una cadena a "romper" un String con los caracteres a considerar como puntos de ruptura (sin espacios, el espacio tambien cuenta como caso de ruptura) y un boolena true si se desae que los caracteres de ruptura se consideren tokens o false si no.

Lo de clases abstractas e interfaces es teoria general de POO. Te paso un par de links.

http://www.webtutoriales.com/tutoriales/programacion/java/stringtokenizer-split.42.html
http://www.sc.ehu.es/sbweb/fisica/cursoJava/fundamentos/colecciones/stringtokenizer.htm
http://www.i-hacker.info/java/manejo-de-cadenas-en-java-metodos-split-indexof-substring-y-trim/
http://www.arrakis.es/~abelp/ApuntesJava/indice.htm
 

HakoT

Lanero Reconocido
Lanero VIP
27 Jun 2007
5,834
Umm veamos romper cadenas, seguramente te refieres al split, no es cosa dificil por ejemplo una "Tabla" seria algo asi;

PHP:
String tabla = new String("1\t2\t3\n4\t5\ŧ6");
String filas[] = dat.split("\\n");
int cols = filas[0].split("\\t").length;
String matriz[][] = new String[filas.length][cols];
for (int i = 0; i < arr.length; i++) 
{
   matriz[i] = arr[i].split("\\t");
}

Lo anterior toma una cadena que contiene una especie de "tabla" con los numeros de 1 a 6 y la combierte en una matriz de 2 x 3. No tiene siencia. Solo recordar que split usa expresiones regurales, por eso las secuencias de escape llevan doble \.

Otra forma de recorrer una cadena por segmentos es usar la clase StringTokenizer eje:

PHP:
String caso = new String("2+3-8=10")
StringTokenizer token = new StringTokenizer(caso, "=+-", true);
while(token.hasMoreElements())
       System.out.println(token.nextToken());

Lo anterior divide la cadena cada vez que encuentra el signo +, - o =; StringTokenizer recive como parametros una cadena a "romper" un String con los caracteres a considerar como puntos de ruptura (sin espacios, el espacio tambien cuenta como caso de ruptura) y un boolena true si se desae que los caracteres de ruptura se consideren tokens o false si no.

Lo de clases abstractas e interfaces es teoria general de POO. Te paso un par de links.

http://www.webtutoriales.com/tutoriales/programacion/java/stringtokenizer-split.42.html
http://www.sc.ehu.es/sbweb/fisica/cursoJava/fundamentos/colecciones/stringtokenizer.htm
http://www.i-hacker.info/java/manejo-de-cadenas-en-java-metodos-split-indexof-substring-y-trim/
http://www.arrakis.es/~abelp/ApuntesJava/indice.htm

Listo entonces el Rompimiento de cadenas me serviría para auto completar una búsqueda, o para no tener que escribir toda la palabra y aparezca el resultado??

BIen samuray gracias por la ayuda..... Ahora estoy dándole a una nueva vuelta que encontré, ventanas con pestañas....
 

sairus black

Lanero Reconocido
19 Ene 2008
1,848
Listo entonces el Rompimiento de cadenas me serviría para auto completar una búsqueda, o para no tener que escribir toda la palabra y aparezca el resultado??

BIen samuray gracias por la ayuda..... Ahora estoy dándole a una nueva vuelta que encontré, ventanas con pestañas....


Auto completar, bueno depronto sirve si se usa para leer tokens y buscar posibles coincidencias como en google cunado uno digita "Festival de Pizza" y el usa Festival, Pizza y Festival de Pizza como tokens para buscar en los tags de las paginas, así que lo de romper la cadena sirve para el patrón de búsqueda, pero no es suficiente falta la base de conocimiento y eso es otro cuento.

Lo que las pestañas es un juego entre layers y layouts no es muy complicado, un ejemplo:

http://www.programacion.com/articulo/swing_y_jfc_java_foundation_classes_94/23

Éxitos.
 

HakoT

Lanero Reconocido
Lanero VIP
27 Jun 2007
5,834
Auto completar, bueno depronto sirve si se usa para leer tokens y buscar posibles coincidencias como en google cunado uno digita "Festival de Pizza" y el usa Festival, Pizza y Festival de Pizza como tokens para buscar en los tags de las paginas, así que lo de romper la cadena sirve para el patrón de búsqueda, pero no es suficiente falta la base de conocimiento y eso es otro cuento.

Lo que las pestañas es un juego entre layers y layouts no es muy complicado, un ejemplo:

http://www.programacion.com/articulo/swing_y_jfc_java_foundation_classes_94/23

Éxitos.

Excelente Parce. En esas ando. Gracias por la info, probando mijo.
 

raven9t

Lanero Reconocido
22 Jun 2007
369
Hola a todos,

He creado un blog sencillo en donde se muestra la utilización de estos 3 frameworks (Vaadin, Spring, Hibernate) para crear una aplicación web, el cual pueden apreciar en el siguiente link.

http://vaadinspringhibernate.blogspot.com

Se reciben criticas constructivas.

Muy bueno tu blog, de tanto framework que he visto no conocía Vaadin. Bueno la verdad si te tengo una critica, se un poco mas explicito en tus explicaciones, no solo es soltar el codigo y ya, explica un poco mas lo que estas mostrando y porque, así se hace mas amena la lectura y menos pesada, de esta manera se capta una idea general de lo que realmente quieres hacer.

Aprovecho para aquellos que trabajan con JSF 2.0 para que prueben el framework Primefaces, que a mi parecer se lleva por delante a Icefaces.
 

sairus black

Lanero Reconocido
19 Ene 2008
1,848
Hola a todos,

He creado un blog sencillo en donde se muestra la utilización de estos 3 frameworks.....

Buen Blog, un trabajo bien logrado aunque como dice raven9t seria bueno algo mas de charla para hacer mas amena la lectura, prueba a leer el perl para apresurados, quien lo escribio es un mago para meter carreta de broma en broma y eso pega mucho en especial si quieres dar a conocer un tema nuevo, la gente seguira interesada al menos en la charla y en pro de eso iran tomandole gusto al tema de fondo; no se si te interese o no pero es un consejo comun cuando oriento pedagogia y algo que aplico cuando enseño (en especial cuando es programación) a mi me funciona muy bien y creo que un articulo es algo parecido.

En todo caso felicidades y gracias por el esfuerzo.

raven9t dijo:
Aprovecho para aquellos que trabajan con JSF 2.0 para que prueben el framework Primefaces, que a mi parecer se lleva por delante a Icefaces.

Muy buen framework, si algun dia se me da el rollo de la web llegare a considerarlo, a proposito alguna fuente de documentación en ingles para ahorrarse la flojera de traducir?...
 

pablo_emiliob

Lanero Reconocido
26 Sep 2006
110
Buenas tardes

Estoy trabajando en Hibernate y este es un Bean que yo uso.

Código:
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Mercado.Persistencia;

import Mercado.Controladora.MercadoControladora;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 *
 * @author Folger Fonseca Velasco
 */
@Entity
@Table(name = "MENU")
@NamedQueries({@NamedQuery(name = "Menu.findAll", query = "SELECT m FROM Menu m"), @NamedQuery(name = "Menu.findByMenuId", query = "SELECT m FROM Menu m WHERE m.menuId = :menuId"), @NamedQuery(name = "Menu.findByNmbMen", query = "SELECT m FROM Menu m WHERE m.nmbMen = :nmbMen"), @NamedQuery(name = "Menu.findByUrlMen", query = "SELECT m FROM Menu m WHERE m.urlMen = :urlMen"), @NamedQuery(name = "Menu.findByDescMen", query = "SELECT m FROM Menu m WHERE m.descMen = :descMen")})
public class Menu implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @Column(name = "MENU_ID")
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    private Long menuId;
    @Column(name = "NMB_MEN")
    private String nmbMen;
    @Column(name = "URL_MEN")
    private String urlMen;
    @Column(name = "DESC_MEN")
    private String descMen;
    @Column(name = "ID_USR")
    private String idUsr;
    @Column(name = "FEC_MEN")
    @Temporal(TemporalType.TIMESTAMP)
    private Date fecMen;
    @Column(name = "EST_MEN")
    private String estMen;
    @JoinTable(name = "MENU_PRODUCTO", joinColumns = {
        @JoinColumn(name = "MENU_ID", referencedColumnName = "MENU_ID")}, inverseJoinColumns = {
        @JoinColumn(name = "PRD_ID", referencedColumnName = "PRD_ID")})
    @ManyToMany
    private Collection<Producto> productoCollection;
    @OneToMany(mappedBy = "menuId",fetch=FetchType.LAZY)
    private Collection<Caracteristica> caracteristicaCollection;
    @JoinColumn(name = "CTL_ID", referencedColumnName = "CTL_ID")
    @ManyToOne
    private Catalogo ctlId;
    @OneToMany(mappedBy = "padId", fetch=FetchType.EAGER)
    private Collection<Menu> menuCollection;
    @JoinColumn(name = "PAD_ID", referencedColumnName = "MENU_ID")
    @ManyToOne
    private Menu padId;
    @JoinColumn(name = "ID_APP", referencedColumnName = "ID_APP")
    @ManyToOne
    private Aplicacion aplicacion;

    public Menu() {
        if(menuId!=null){
            try {
                MercadoControladora mc = new MercadoControladora();
                productoCollection = (ArrayList<Producto>) mc.productosPorCategoria(menuId.toString());
            } catch (Exception e) {
                productoCollection = new ArrayList<Producto>();
            }
        }
    }

    public Menu(Long menuId) {
        this.menuId = menuId;
    }

    public Long getMenuId() {
        return menuId;
    }

    public void setMenuId(Long menuId) {
        this.menuId = menuId;
    }

    public Aplicacion getAplicacion() {
        return aplicacion;
    }

    public void setAplicacion(Aplicacion aplicacion) {
        this.aplicacion = aplicacion;
    }

    public String getNmbMen() {
        return nmbMen;
    }

    public void setNmbMen(String nmbMen) {
        this.nmbMen = nmbMen;
    }

    public String getUrlMen() {
        return urlMen;
    }

    public void setUrlMen(String urlMen) {
        this.urlMen = urlMen;
    }

    public String getDescMen() {
        return descMen;
    }

    public void setDescMen(String descMen) {
        this.descMen = descMen;
    }

    public String getIdUsr() {
        return idUsr;
    }

    public void setIdUsr(String idUsr) {
        this.idUsr = idUsr;
    }

    public Date getFecMen() {
        return fecMen;
    }

    public void setFecMen(Date fecMen) {
        this.fecMen = fecMen;
    }

    public String getEstMen() {
        return estMen;
    }

    public void setEstMen(String estMen) {
        this.estMen = estMen;
    }

    public Collection<Producto> getProductoCollection() {
        return productoCollection;
    }

    public void setProductoCollection(Collection<Producto> productoCollection) {
        this.productoCollection = productoCollection;
    }

    public Collection<Caracteristica> getCaracteristicaCollection() {
        return caracteristicaCollection;
    }

    public void setCaracteristicaCollection(Collection<Caracteristica> caracteristicaCollection) {
        this.caracteristicaCollection = caracteristicaCollection;
    }

    public Catalogo getCtlId() {
        return ctlId;
    }

    public void setCtlId(Catalogo ctlId) {
        this.ctlId = ctlId;
    }

    public Collection<Menu> getMenuCollection() {
        return menuCollection;
    }

    public void setMenuCollection(Collection<Menu> menuCollection) {
        this.menuCollection = menuCollection;
    }

    public Menu getPadId() {
        return padId;
    }

    public void setPadId(Menu padId) {
        this.padId = padId;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (menuId != null ? menuId.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Menu)) {
            return false;
        }
        Menu other = (Menu) object;
        if ((this.menuId == null && other.menuId != null) || (this.menuId != null && !this.menuId.equals(other.menuId))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "Mercado.Persistencia.Menu[menuId=" + menuId + "]";
    }

}
cuando en un XHTML hago #{(fn:length(menuHij.productoCollection)) ne 0} me bota este error:

Código:
GRAVE: failed to lazily initialize a collection of role: Mercado.Persistencia.Menu.productoCollection, no session or session was closed
org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: Mercado.Persistencia.Menu.productoCollection, no session or session was closed
        at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:358)
        at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationExceptionIfNotConnected(AbstractPersistentCollection.java:350)
        at org.hibernate.collection.AbstractPersistentCollection.readSize(AbstractPersistentCollection.java:97)
        at org.hibernate.collection.PersistentBag.size(PersistentBag.java:225)
        at com.sun.facelets.tag.jstl.fn.JstlFunction.length(JstlFunction.java:88)
        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 org.apache.el.parser.AstFunction.getValue(AstFunction.java:110)
        at org.apache.el.parser.AstNotEqual.getValue(AstNotEqual.java:37)
        at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
        at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:71)
        at javax.faces.component.UIComponentBase.isRendered(UIComponentBase.java:370)
        at org.ajax4jsf.renderkit.RendererBase.renderChild(RendererBase.java:271)
        at org.ajax4jsf.renderkit.html.RepeatRenderer$1.process(RepeatRenderer.java:53)
        at org.ajax4jsf.model.SequenceDataModel.walk(SequenceDataModel.java:101)
        at org.ajax4jsf.component.UIDataAdaptor.walk(UIDataAdaptor.java:1133)
        at org.ajax4jsf.renderkit.html.RepeatRenderer.encodeChildren(RepeatRenderer.java:59)
        at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:812)
        at javax.faces.component.UIComponent.encodeAll(UIComponent.java:886)
        at javax.faces.component.UIComponent.encodeAll(UIComponent.java:892)
        at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:592)
        at org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:100)
        at org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:176)
        at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106)
        at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
        at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
        at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
        at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)
        at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
        at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
        at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
        at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
        at org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:709)
        at org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:680)
        at org.apache.jsp.forward_jsp._jspService(forward_jsp.java:55)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:386)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:619)
19/04/2011 04:42:54 PM com.sun.facelets.FaceletViewHandler handleRenderException
GRAVE: Error Rendering View[/index.xhtml]
javax.faces.FacesException: javax.el.ELException: /templates/templateCliente.xhtml @385,120 rendered="#{(fn:length(menuPad.productoCollection)) ne 0}": Problemas llamando a función 'fn:length'
        at javax.faces.component.UIComponentBase.isRendered(UIComponentBase.java:373)
        at org.ajax4jsf.renderkit.RendererBase.renderChild(RendererBase.java:271)
        at org.ajax4jsf.renderkit.html.RepeatRenderer$1.process(RepeatRenderer.java:53)
        at org.ajax4jsf.model.SequenceDataModel.walk(SequenceDataModel.java:101)
        at org.ajax4jsf.component.UIDataAdaptor.walk(UIDataAdaptor.java:1133)
        at org.ajax4jsf.renderkit.html.RepeatRenderer.encodeChildren(RepeatRenderer.java:59)
        at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:812)
        at javax.faces.component.UIComponent.encodeAll(UIComponent.java:886)
        at javax.faces.component.UIComponent.encodeAll(UIComponent.java:892)
        at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:592)
        at org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:100)
        at org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:176)
        at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106)
        at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
        at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
        at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
        at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)
        at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
        at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
        at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
        at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
        at org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:709)
        at org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:680)
        at org.apache.jsp.forward_jsp._jspService(forward_jsp.java:55)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:386)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:619)
Caused by: javax.el.ELException: /templates/templateCliente.xhtml @385,120 rendered="#{(fn:length(menuPad.productoCollection)) ne 0}": Problemas llamando a función 'fn:length'
        at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:76)
        at javax.faces.component.UIComponentBase.isRendered(UIComponentBase.java:370)
        ... 48 more
Caused by: org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: Mercado.Persistencia.Menu.productoCollection, no session or session was closed
        at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:358)
        at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationExceptionIfNotConnected(AbstractPersistentCollection.java:350)
        at org.hibernate.collection.AbstractPersistentCollection.readSize(AbstractPersistentCollection.java:97)
        at org.hibernate.collection.PersistentBag.size(PersistentBag.java:225)
        at com.sun.facelets.tag.jstl.fn.JstlFunction.length(JstlFunction.java:88)
        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 org.apache.el.parser.AstFunction.getValue(AstFunction.java:110)
        at org.apache.el.parser.AstNotEqual.getValue(AstNotEqual.java:37)
        at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
        at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:71)
        ... 49 more
19/04/2011 04:42:55 PM com.sun.faces.lifecycle.LifecycleImpl phase
ADVERTENCIA: executePhase(RENDER_RESPONSE 6,com.sun.faces.context.FacesContextImpl@1792a8e) threw exception
javax.faces.FacesException: javax.el.ELException: /templates/templateCliente.xhtml @385,120 rendered="#{(fn:length(menuPad.productoCollection)) ne 0}": Problemas llamando a función 'fn:length'
        at javax.faces.component.UIComponentBase.isRendered(UIComponentBase.java:373)
        at org.ajax4jsf.renderkit.RendererBase.renderChild(RendererBase.java:271)
        at org.ajax4jsf.renderkit.html.RepeatRenderer$1.process(RepeatRenderer.java:53)
        at org.ajax4jsf.model.SequenceDataModel.walk(SequenceDataModel.java:101)
        at org.ajax4jsf.component.UIDataAdaptor.walk(UIDataAdaptor.java:1133)
        at org.ajax4jsf.renderkit.html.RepeatRenderer.encodeChildren(RepeatRenderer.java:59)
        at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:812)
        at javax.faces.component.UIComponent.encodeAll(UIComponent.java:886)
        at javax.faces.component.UIComponent.encodeAll(UIComponent.java:892)
        at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:592)
        at org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:100)
        at org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:176)
        at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106)
        at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
        at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
        at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
        at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)
        at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
        at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
        at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
        at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
        at org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:709)
        at org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:680)
        at org.apache.jsp.forward_jsp._jspService(forward_jsp.java:55)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:386)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:619)
Caused by: javax.el.ELException: /templates/templateCliente.xhtml @385,120 rendered="#{(fn:length(menuPad.productoCollection)) ne 0}": Problemas llamando a función 'fn:length'
        at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:76)
        at javax.faces.component.UIComponentBase.isRendered(UIComponentBase.java:370)
        ... 48 more
Caused by: org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: Mercado.Persistencia.Menu.productoCollection, no session or session was closed
        at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:358)
        at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationExceptionIfNotConnected(AbstractPersistentCollection.java:350)
        at org.hibernate.collection.AbstractPersistentCollection.readSize(AbstractPersistentCollection.java:97)
        at org.hibernate.collection.PersistentBag.size(PersistentBag.java:225)
        at com.sun.facelets.tag.jstl.fn.JstlFunction.length(JstlFunction.java:88)
        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 org.apache.el.parser.AstFunction.getValue(AstFunction.java:110)
        at org.apache.el.parser.AstNotEqual.getValue(AstNotEqual.java:37)
        at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
        at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:71)
        ... 49 more
19/04/2011 04:42:55 PM org.ajax4jsf.webapp.BaseXMLFilter doXmlFilter
GRAVE: Exception in the filter chain
javax.servlet.ServletException: /templates/templateCliente.xhtml @385,120 rendered="#{(fn:length(menuPad.productoCollection)) ne 0}": Problemas llamando a función 'fn:length'
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:256)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
        at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
        at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)
        at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
        at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
        at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
        at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
        at org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:709)
        at org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:680)
        at org.apache.jsp.forward_jsp._jspService(forward_jsp.java:55)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:386)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:619)
Caused by: javax.el.ELException: /templates/templateCliente.xhtml @385,120 rendered="#{(fn:length(menuPad.productoCollection)) ne 0}": Problemas llamando a función 'fn:length'
        at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:76)
        at javax.faces.component.UIComponentBase.isRendered(UIComponentBase.java:370)
        at org.ajax4jsf.renderkit.RendererBase.renderChild(RendererBase.java:271)
        at org.ajax4jsf.renderkit.html.RepeatRenderer$1.process(RepeatRenderer.java:53)
        at org.ajax4jsf.model.SequenceDataModel.walk(SequenceDataModel.java:101)
        at org.ajax4jsf.component.UIDataAdaptor.walk(UIDataAdaptor.java:1133)
        at org.ajax4jsf.renderkit.html.RepeatRenderer.encodeChildren(RepeatRenderer.java:59)
        at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:812)
        at javax.faces.component.UIComponent.encodeAll(UIComponent.java:886)
        at javax.faces.component.UIComponent.encodeAll(UIComponent.java:892)
        at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:592)
        at org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:100)
        at org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:176)
        at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106)
        at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
        at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
        ... 33 more
Caused by: org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: Mercado.Persistencia.Menu.productoCollection, no session or session was closed
        at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:358)
        at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationExceptionIfNotConnected(AbstractPersistentCollection.java:350)
        at org.hibernate.collection.AbstractPersistentCollection.readSize(AbstractPersistentCollection.java:97)
        at org.hibernate.collection.PersistentBag.size(PersistentBag.java:225)
        at com.sun.facelets.tag.jstl.fn.JstlFunction.length(JstlFunction.java:88)
        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 org.apache.el.parser.AstFunction.getValue(AstFunction.java:110)
        at org.apache.el.parser.AstNotEqual.getValue(AstNotEqual.java:37)
        at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
        at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:71)
        ... 49 more

Porfa ayudenme con esto... GRACIAS!!!