Boa tarder Srs e Sras.
Estou com um problema no mínimo estranho.
Criei vários casos de uso do tipo 'Caso de Uso 'Manter Classe' (Tabular) e tudo funcionou perfeitamente conforme capítulo 6 do livro.
Mas quando tento usar esse caso de uso com uma entidade chamada 'modalidade' com somente um campo chamado 'descricao' dá o erro: Property 'indExcPlc' not found on type java.lang.String.
já comparei os códigos gerados com os outros de outros casos de uso gerado (usei o winmerge para compararar) e tudo está exatamente igual com exceção do nome da classe.
se mudo o nome da entidade pra qualquer outro funciona, pois criei 4 outras e tudo funcionou perfeitamente.
Abaixo o código fonte gerado, o erro ocorre no arquivo "modalidade.xhtml" a linha está destacada em vermelho.
Será que essa é uma palavra reservada ou algo parecido ?
package com.teste.app.entity; import org.apache.myfaces.extensions.validator.crossval.annotation.RequiredIf; import javax.validation.constraints.NotNull; import org.apache.myfaces.extensions.validator.crossval.annotation.RequiredIfType; import javax.persistence.Id; import javax.validation.constraints.Size; import javax.persistence.GenerationType; import javax.persistence.MappedSuperclass; import com.powerlogic.jcompany.config.domain.PlcReference; import com.powerlogic.jcompany.domain.validation.PlcValGroupEntityList; import javax.persistence.GeneratedValue; ---------- MODALIDADE ------------------ @MappedSuperclass public abstract class Modalidade extends AppBaseEntity { @NotNull(groups=PlcValGroupEntityList.class) @RequiredIf(valueOf="descricao",is=RequiredIfType.not_empty) @Size(max = 1) private String sitHistoricoPlc="A"; @Id @GeneratedValue(strategy=GenerationType.AUTO, generator = "SE_MODALIDADE") private Long id; @NotNull(groups=PlcValGroupEntityList.class) @RequiredIf(valueOf="id",is=RequiredIfType.not_empty) @Size(max = 100) @PlcReference(testDuplicity=true) public String descricao; public Long getId() { return id; } public void setId(Long id) { this.id=id; } public String getDescricao() { return descricao; } public void setDescricao(String descricao) { this.descricao=descricao; } public String getSitHistoricoPlc() { return sitHistoricoPlc; } public void setSitHistoricoPlc(String sitHistoricoPlc) { this.sitHistoricoPlc=sitHistoricoPlc; } }---------- MODALIDADEENTITY ------------------package com.teste.app.entity; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.Access; import javax.persistence.SequenceGenerator; import javax.persistence.Table; import javax.persistence.AccessType; import com.powerlogic.jcompany.commons.config.stereotypes.SPlcEntity; import javax.persistence.Entity; import javax.persistence.Transient; /** * Classe Concreta gerada a partir do assistente */ @SPlcEntity @Entity @Table(name="MODALIDADE") @SequenceGenerator(name="SE_MODALIDADE", sequenceName="SE_MODALIDADE") @Access(AccessType.FIELD) @NamedQueries({ @NamedQuery(name="ModalidadeEntity.queryMan", query="from ModalidadeEntity where sitHistoricoPlc='A'"), @NamedQuery(name="ModalidadeEntity.querySelLookup", query="select id as id, descricao as descricao from ModalidadeEntity where id = ? order by id asc") }) public class ModalidadeEntity extends Modalidade { private static final long serialVersionUID = 1L; /* * Construtor padrao */ public ModalidadeEntity() { } @Override public String toString() { return getDescricao(); } @Transient private String indExcPlc = "N"; public void setIndExcPlc(String indExcPlc) { this.indExcPlc = indExcPlc; } public String getIndExcPlc() { return indExcPlc; } }
----------------------- modaliade.xhtml --------------------------
<?xml version="1.0" encoding="UTF-8"?> gt; <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:p="http://primefaces.prime.com.tr/ui" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:plcf="http://www.powerlogic.com.br/plcf" xmlns:tr="http://myfaces.apache.org/trinidad" xmlns:trh="http://myfaces.apache.org/trinidad/html"> <ui:composition template="/fcls/template/PlcGeralTemplate.xhtml"> <ui:define name="plc-corpo-formulario"> <div id="plc-corpo-formulario" class="plc-corpo-formulario plc-form-tabular"> <fieldset class="plc-fieldset"> <legend class="plc-fieldset-legend">#{msg['modalidade.titulo']}</legend> <plcf:iteracao var="modalidade" id="modalidade" value="#{modalidadeLista.itensPlc}" columnClasses="celulaFormulario" headerClass="celulaFormulario"> <h:column> <h:outputText value="#{rowCounter.index}."/> </h:column> <h:column rendered="#{empty requestScope.visualizaDocumentoPlc}"> <f:facet name="header"> <plcf:tituloExclusao>Exc.</plcf:tituloExclusao> </f:facet> <span class="celulaFormularioCaixaMarcacao"> <plcf:caixaExclusao id="indExcPlc" value="#{modalidade.indExcPlc}"/> </span> </h:column> <h:column> <f:facet name="header"> <plcf:titulo value="#{msg['label.id']}"/> </f:facet> <plcf:oid id="id" value="#{modalidade.id}" ajudaChave="ajuda.id"/> </h:column> <h:column> <f:facet name="header"> <plcf:titulo value="#{msg['label.descricao']}"/> </f:facet> <plcf:texto id="descricao" value="#{modalidade.descricao}" ajudaChave="ajuda.descricao"/> </h:column> </plcf:iteracao> </fieldset> </div> </ui:define> </ui:composition> </html>
Autor: Fred Lima
33 comentários