[JBoss Seam] - convertEntity: mixing session and conversation data
by awheeler
I am using Seam 1.2.1GA and I have problem with s:convertEntity such as:
| <h:selectOneMenu id="clientBranch" value="#{loggedInUser.clientBranch}" styleClass="input-field" required="true" style="width:50%">
| <s:selectItems value="#{editVehicleIncident.userBranchList}" var="b" label="#{b.companyName}" noSelectionLabel="[Select your company branch]" hideNoSelectionLabel="true"/>
| <s:convertEntity/>
| </h:selectOneMenu>
|
The bean loggedInUser is a session bean. When the form submits JSF reports that the field is not valid. I have debugged the EntityConverter class and it returns the selected value correctly from the getAsObject function. This means (I assume) the validation error is occuring within JSF, in my case MyFaces.
The session bean function is:
| public List<Company> getBranchList() {
| return this.flattenedBranches;
| }
|
To experiment I sourced the list from a bean in the current conversation. This function gets the list from the session bean and merges it (using entityManager) into a local list.
| @In(value="loggedInUser", required=true)
| private IUser user;
|
| private List<Company> userBranchList;
| public List<Company> getUserBranchList() {
| if (this.userBranchList == null) {
| this.userBranchList = new ArrayList<Company>();
| Iterator itr = this.loggedInUser.getBranchList().iterator();
| while (itr.hasNext()) {
| Company branch = (Company)itr.next();
|
| this.userBranchList.add(super.getEntityManager().merge(branch));
| }
| }
|
| return this.userBranchList;
| }
|
This works without JSF reporting any validation problems.
I really don't understand why this does not work for session data as the EntityConverter class uses entityManager.find to look-up the data using the data's primary key. This means that the EntityConverter is returning a "merged" result using the current conversation's entityManager.
Does anyone have any thoughts?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4071015#4071015
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4071015
18Â years, 8Â months
[JBoss Seam] - Re: File upload - performance has taken a dive
by jazir1979
I reproduced it using the seam-ui example, with a large file for "Pete Muir's Picture". I had loads of the following:
| 2007-08-06 11:45:20,921 DEBUG [org.jboss.seam.contexts.Contexts] found in event context: person
| 2007-08-06 11:45:20,921 DEBUG [org.jboss.seam.contexts.Contexts] found in event context: person
| 2007-08-06 11:45:20,921 DEBUG [org.jboss.seam.contexts.Contexts] found in event context: person
| 2007-08-06 11:45:20,921 DEBUG [org.jboss.seam.contexts.Contexts] found in event context: person
| 2007-08-06 11:45:20,921 DEBUG [org.jboss.seam.contexts.Contexts] found in event context: person
| 2007-08-06 11:45:20,921 DEBUG [org.jboss.seam.contexts.Contexts] found in event context: person
| 2007-08-06 11:45:20,921 DEBUG [org.jboss.seam.contexts.Contexts]
| ....
|
I'm running Seam 2 Beta with a few individual patches applied. I can't work from CVS because our network here prevents me from doing a checkout. Is it possible it's something that was fixed in CVS? Anything that rings a bell? This is a showstopper for our customer demo next week :(
"pete.muir(a)jboss.org" wrote : I can't reproduce in an example. So you'll need to provide a testcase I think.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4071012#4071012
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4071012
18Â years, 8Â months
[JBoss Seam] - Double click problem . Seam-Version: 1.2.1.GA
by lilianas
Hi:
I am using Seam-Version: 1.2.1.GA.
I am using PageFlow. I have a problem when i press a lot of time the next buttom , i have the following error
*****************
2007-08-06 09:15:04 StandardWrapperValve[FacesServlet]: Servlet.service() for servlet FacesServlet threw exception
javax.faces.el.EvaluationException: /normal-application.jspx @13,72 rendered="#{normalCreditApplication.serviceProvider}": Exception getting value of property serviceProvider of base of type : com.yoogalu.ncf.web.seam.bean.NormalCreditApplication_$$_javassist_2
Caused by: org.jboss.seam.NoConversationException: no long-running conversation for @Conversational bean: normalCreditApplication
**********************
I read that with Seam-Version: 1.2.1.GA i will not have problem with double click. Can you give some suggestion? . This problem only occur when i press the buttom a lot of times.
Thank for your help
It is my pageflow
<pageflow-definition xmlns="http://jboss.com/products/seam/pageflow"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://jboss.com/products/seam/pageflow http://jboss.com/products/seam/pageflow-1.2.xsd"
name="normalCreditApplicationFlow">
<start-state>
</start-state>
<page name="normal" view-id="/normal-application.jspx"
back="disabled">
<page name="normalSerialNumberPrint" view-id="/normal-serialnumber-print.jspx"
back="enabled">
<page name="normalListPossibleDebtors"
view-id="/list-existing-debtors.jspx" back="disabled">
<page name="normalListPossibleDebtorsPrint"
view-id="/list-existing-debtors.jspx" back="disabled">
<page name="toEditApplication" view-id="/loan-application.jspx">
<page name="salary" view-id="/salaryApplication.jspx"
back="disabled">
<end-conversation />
</pageflow-definition>
My bean :
package com.yoogalu.ncf.web.seam.bean;
import java.io.Serializable;
import java.sql.Timestamp;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.faces.event.ValueChangeEvent;
import org.jboss.seam.ScopeType;
import org.jboss.seam.annotations.Begin;
import org.jboss.seam.annotations.Conversational;
import org.jboss.seam.annotations.In;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Out;
import org.jboss.seam.annotations.Scope;
import org.jboss.seam.annotations.datamodel.DataModel;
import org.jboss.seam.annotations.datamodel.DataModelSelection;
import org.jboss.seam.core.FacesMessages;
import com.yoogalu.framework.FrameworkConstants;
import com.yoogalu.ncf.core.cache.CompanyCache;
import com.yoogalu.ncf.core.cache.DealerCache;
import com.yoogalu.ncf.core.cache.ServiceProviderCache;
import com.yoogalu.ncf.core.cache.StoreCache;
import com.yoogalu.ncf.core.entity.AppCustomer;
import com.yoogalu.ncf.core.entity.Application;
import com.yoogalu.ncf.core.entity.Company;
import com.yoogalu.ncf.core.entity.Customer;
import com.yoogalu.ncf.core.entity.Dealer;
import com.yoogalu.ncf.core.entity.Invoice;
import com.yoogalu.ncf.core.entity.ServiceProvider;
import com.yoogalu.ncf.core.entity.Store;
import com.yoogalu.ncf.core.util.AppContext;
import com.yoogalu.ncf.web.seam.Tokens;
import com.yoogalu.ncf.web.seam.Util;
import com.yoogalu.ncf.web.seam.bean.UserCredentials;
@Name("normalCreditApplication")
@Scope(ScopeType.CONVERSATION)
@Conversational
public class NormalCreditApplication implements Serializable {
private static final long serialVersionUID = FrameworkConstants.SERIAL_VERSION_UID;
private static final int MAX_SERIAL = 999;
private static final String APPLICATIONREF = "applicationRef";
private static final String APPLICANTNAME1 = "applicantName1";
private static final String APPLICANTNAME2 = "applicantName2";
private static final String SERIALNO = "serialNo";
private static final String DEALERNAME = "dealerName";
private static final String APPFEE = "appFee";
private static final String APPSTATUS_NEWAPPLICATION = "N";
private static final String NAMETEMPLATE = "template";
private static final String PRIVACY = "privacy";
private static final String ONE = "One";
private static final String TWO = "Two";
private static final String APPLICATIONFEE = "applicationFee";
private static final String NAMEFIELD1VALUE = "________________________________";
private static final String DATEFIELD1VALUE = "___/___/_____";
private static final String DATETEXT1VALUE = "Date";
private static final String NAMEFIELD1 = "nameField1";
private static final String DATEFIELD1 = "dateField1";
private static final String DATETEXT1 = "dateText1";
private static final String NAMEFIELD2 = "nameField2";
private static final String DATEFIELD2 = "dateField2";
private static final String DATETEXT2 = "dateText2";
private Dealer dealer;
private String surnameSearch;
private String firstNameSearch;
private String serialNumberUser;
private List listPossibleDebtors;
private boolean serviceProvider;
private boolean secondApplicant;
private String idServiceProvider;
private String companyName;
private String storeName;
private String dealerName;
private Integer numRows;
private boolean flgPrint;
private AutoCompleteLocation autoCompleteLocation ;
@Out(value = Tokens.entityLookup4Application, scope = ScopeType.CONVERSATION)
private Application application;
@Out(value = "mapPrint", scope = ScopeType.CONVERSATION, required = false)
private transient Map<String, String> mapPrint;
@In(value = Tokens.bean4UserCredentials, scope = ScopeType.SESSION)
private transient UserCredentials userCredentials;
@DataModelSelection(value = "listPossibleDebtors")
private Customer customerSelected;
@In
private FacesMessages facesMessages;
@Begin(join = true, pageflow = "normalCreditApplicationFlow")
public void beginStandard() {
initApplication();
}
@Begin(join = true, pageflow = "normalCreditApplicationFlow")
public void beginServProv() {
initApplication();
setServiceProvider(true);
String serviceProviderContractType = Util.getBundledMessageResource(Tokens.SERVICEPROVIDERCONTRACTTYPE);
getApplication().setContractTypeCode(serviceProviderContractType);
}
private void initApplication() {
this.autoCompleteLocation = new AutoCompleteLocation();
this.application = new Application();
this.application.setApplicationDate(new Timestamp(System.currentTimeMillis()));
this.application.setAppStatus(APPSTATUS_NEWAPPLICATION);
Customer firstCustomer = new Customer();
Customer secondCustomer = new Customer();
AppCustomer firstAppCustomer = new AppCustomer();
AppCustomer secondAppCustomer = new AppCustomer();
Invoice invoice = new Invoice();
firstAppCustomer.setCustomer(firstCustomer);
firstAppCustomer.setApplicantNo(new Integer(1));
secondAppCustomer.setCustomer(secondCustomer);
secondAppCustomer.setApplicantNo(new Integer(2));
this.application.setPrimaryInvoice(invoice);
this.application.setApplicant1(firstAppCustomer);
this.application.setApplicant2(secondAppCustomer);
if (!userCredentials.isAllStoresAccessor()) {
this.autoCompleteLocation.setStoreSel(Util.getStoreCodeDashStoreName(userCredentials.getStoreId()));
this.autoCompleteLocation.setCompanySel(Util.getCompanyCodeDashStoreName(userCredentials.getCompanyId()));
}
}
public void searchPossibleDebtorsbyUser() {
final List customers;
customers = Util.getApplicationService().searchCustomerByName(getFirstNameSearch(), getSurnameSearch());
setListPossibleDebtors(customers);
this.numRows = customers.size();
}
public void searchPossibleDebtorsbySystem() {
final List customers;
customers = Util.getApplicationService().searchCustomerByName(
this.getApplication().getApplicant1().getCustomer().getFirstName(),
this.getApplication().getApplicant1().getCustomer().getSurname());
setFirstNameSearch(this.getApplication().getApplicant1().getCustomer().getFirstName());
setSurnameSearch(this.getApplication().getApplicant1().getCustomer().getSurname());
setListPossibleDebtors(customers);
this.numRows = customers.size();
}
public void setMapPrint() {
String nameFile = null;
String applicationFee = null;
String valueApplicationFee = null;
String filePath = null;
mapPrint = new HashMap<String, String>();
// Obtain the name of the pdf template
if (isSecondApplicant()) {
nameFile = PRIVACY + TWO;
} else {
nameFile = PRIVACY + ONE;
}
if (getApplication().getContractTypeCode() != null) {
nameFile = nameFile + getApplication().getContractTypeCode().toUpperCase();
}
try {
filePath = Util.getBundledMessageResource(nameFile);
} catch (Exception e) {
filePath = null;
}
if (filePath == null) {
if (getApplication().getContractTypeCode() != null) {
nameFile = PRIVACY + getApplication().getContractTypeCode().toUpperCase();
}
try {
filePath = Util.getBundledMessageResource(nameFile);
} catch (Exception e) {
filePath = null;
}
}
// Obtain the value of applicationFee
if (getApplication().getContractTypeCode() != null) {
applicationFee = APPLICATIONFEE + getApplication().getContractTypeCode().toUpperCase();
}
try {
valueApplicationFee = Util.getBundledMessageResource(applicationFee);
} catch (Exception e) {
valueApplicationFee = null;
}
if (valueApplicationFee == null) {
try {
valueApplicationFee = Util.getBundledMessageResource(APPLICATIONFEE);
} catch (Exception e) {
valueApplicationFee = null;
}
}
// Set the map to print
this.mapPrint.put(APPLICATIONREF, this.getDealer().getFranchiseCode() + Tokens.SPACE + Tokens.DASH + Tokens.SPACE
+ getApplication().getPrimaryInvoice().getInvoiceNo().toString());
this.mapPrint.put(APPLICANTNAME1, getApplication().getApplicant1().getCustomer().getFullName());
this.mapPrint.put(APPLICANTNAME2, getApplication().getApplicant2().getCustomer().getFullName());
this.mapPrint.put(SERIALNO, getApplication().getSerialNo());
this.mapPrint.put(APPFEE, valueApplicationFee);
this.mapPrint.put(NAMETEMPLATE, filePath);
if (serviceProvider) {
String nameField2 = Tokens.SPACE;
String dateField2 = Tokens.SPACE;
String dateText2 = Tokens.SPACE;
if (secondApplicant) {
nameField2 = NAMEFIELD1VALUE;
dateField2 = DATEFIELD1VALUE;
dateText2 = DATETEXT1VALUE;
// }
}
this.mapPrint.put(NAMEFIELD1, NAMEFIELD1VALUE);
this.mapPrint.put(DATEFIELD1, DATEFIELD1VALUE);
this.mapPrint.put(DATETEXT1, DATETEXT1VALUE);
this.mapPrint.put(NAMEFIELD2, nameField2);
this.mapPrint.put(DATEFIELD2, dateField2);
this.mapPrint.put(DATETEXT2, dateText2);
this.mapPrint.put(DEALERNAME, "Dealer: " + this.getDealer().getFranchiseName().toUpperCase()
+ " and Services Dealer: " + getApplication().getServiceProvider().getName().toUpperCase());
} else {
this.mapPrint.put(DEALERNAME, this.getDealer().getFranchiseName());
}
}
public boolean validateSecondApplicant() {
if (!getApplication().getApplicant2().getCustomer().getFirstName().trim().equals(Tokens.BLANK)
&& !getApplication().getApplicant2().getCustomer().getSurname().trim().equals(Tokens.BLANK)) {
setSecondApplicant(true);
return true;
} else if (getApplication().getApplicant2().getCustomer().getFirstName().trim().equals(Tokens.BLANK)
&& getApplication().getApplicant2().getCustomer().getSurname().trim().equals(Tokens.BLANK)
&& getApplication().getApplicant2().getCustomer().getMiddleName().trim().equals(Tokens.BLANK)) {
setSecondApplicant(false);
return true;
} else if (!getApplication().getApplicant2().getCustomer().getFirstName().trim().equals(Tokens.BLANK)
|| !getApplication().getApplicant2().getCustomer().getSurname().trim().equals(Tokens.BLANK)
|| !getApplication().getApplicant2().getCustomer().getMiddleName().trim().equals(Tokens.BLANK)) {
setSecondApplicant(false);
facesMessages.add(Util.getBundledMessageResource(Tokens.MSG_INVALIDNAME_SECONDAPPPLICANT));
}
return false;
}
public boolean validateLocation() {
try {
int idDealer = Util.obtainDealerId(this.autoCompleteLocation.getCompanySel(), this.autoCompleteLocation.getStoreSel(), this.autoCompleteLocation.getDealerSel());
int idCompany = Util.obtainCompanyId(this.autoCompleteLocation.getCompanySel());
int idStore = Util.obtainStoreId(this.autoCompleteLocation.getCompanySel(), this.autoCompleteLocation.getStoreSel());
getApplication().setDealerId(null);
getApplication().setStoreId(null);
this.setDealerName(null);
this.setStoreName(null);
this.setCompanyName(null);
this.setDealer(null);
if (idDealer > 0) {
DealerCache dealerCache = (DealerCache) AppContext.getCache(DealerCache.class.getSimpleName());
Dealer dealerAux = (Dealer) dealerCache.getEntityById(idDealer);
StoreCache storeCache = (StoreCache) AppContext.getCache(StoreCache.class.getSimpleName());
Store storeAux = (Store) storeCache.getEntityById(idStore);
CompanyCache companyCache = (CompanyCache) AppContext.getCache(CompanyCache.class.getSimpleName());
Company companyAux = (Company) companyCache.getEntityById(idCompany);
if (dealerAux != null) {
getApplication().setDealerId(dealerAux.getId());
getApplication().setStoreId(dealerAux.getStoreId());
this.setDealer(dealerAux);
this.setDealerName(dealerAux.getDepartmentCode() + Tokens.DASH + dealerAux.getFranchiseName());
this.setStoreName(storeAux.getStoreCode() + Tokens.DASH + storeAux.getName());
this.setCompanyName(companyAux.getCompanyCode() + Tokens.DASH + companyAux.getName());
return true;
}
}
facesMessages.add(Util.getBundledMessageResource(Tokens.MSG_INVALID_LOCATION));
return false;
} catch (Exception e) {
facesMessages.add(Util.getBundledMessageResource(Tokens.MSG_INVALID_LOCATION));
return false;
}
}
public void calculateSerialNumber() {
double serialNoSyst = Math.random() * MAX_SERIAL;
getApplication().setSerialNo(getDealer().getDepartmentCode() + (int) serialNoSyst + Tokens.BLANK);
}
public boolean validaSerialNumber() {
if (getSerialNumberUser() != null) {
if (getSerialNumberUser().equals("111")) { // return
// getApplication().getSerialNo().equals(getSerialNumberUser());
return true;
} else {
facesMessages.add(Util.getBundledMessageResource(Tokens.MSG_INVALID_SERIALNUMBER));
return false;
}
} else {
facesMessages.add(Util.getBundledMessageResource(Tokens.MSG_INVALID_SERIALNUMBER));
return false;
}
}
public boolean validaDefaultPrintPrivacy() {
if ((Util.getBundledMessageResource(Tokens.DEFAULTPRINTPRIVACY).toUpperCase().equals(Tokens.YES))) {
return true;
} else {
return false;
}
}
public boolean validaInvoiceNo() {
if (Util.getApplicationService().isUniqueInvoiceNo(this.getDealer(), getApplication().getPrimaryInvoice().getInvoiceNo())) {
// this.setMsgWrongInvoiceNo(Util.getBundledMessageResource(Tokens.BLANK));
return true;
} else {
// this.setMsgWrongInvoiceNo(Util.getBundledMessageResource(Tokens.MSG_INVALID_INVOICENO));
facesMessages.add( Util.getBundledMessageResource(Tokens.MSG_INVALID_INVOICENO));
return false;
}
}
public String getSurnameSearch() {
return surnameSearch;
}
public void setSurnameSearch(String surnameSearch) {
this.surnameSearch = surnameSearch;
}
public String getFirstNameSearch() {
return firstNameSearch;
}
public void setFirstNameSearch(String firstNameSearch) {
this.firstNameSearch = firstNameSearch;
}
public String getSerialNumberUser() {
return serialNumberUser;
}
public void setSerialNumberUser(String serialNumberUser) {
this.serialNumberUser = serialNumberUser;
}
@DataModel
public List getListPossibleDebtors() {
return listPossibleDebtors;
}
public void setListPossibleDebtors(List listPossibleDebtors) {
this.listPossibleDebtors = listPossibleDebtors;
}
public boolean getServiceProvider() {
return serviceProvider;
}
public void setServiceProvider(boolean serviceProvider) {
this.serviceProvider = serviceProvider;
}
public String getIdServiceProvider() {
return idServiceProvider;
}
public void setIdServiceProvider(String idServiceProvider) {
this.idServiceProvider = idServiceProvider;
}
public boolean isSecondApplicant() {
return secondApplicant;
}
public void setSecondApplicant(boolean secondApplicant) {
this.secondApplicant = secondApplicant;
}
public Customer getCustomerSelected() {
return customerSelected;
}
public void setCustomerSelected(Customer customerSelected) {
this.customerSelected = customerSelected;
}
public void setSelectCustomerOne() {
if (customerSelected != null) {
getApplication().getApplicant1().setCustomer(customerSelected);
if (customerSelected.getLatestAppCustomer() != null) {
Application app = Util.getApplicationService().findApplicationById(
customerSelected.getLatestAppCustomer().getApplication().getId());
application.getApplicant1().copyFrom(app.getApplicant1());
}
}
}
public Application getApplication() {
return application;
}
public void setApplication(Application application) {
this.application = application;
}
public void createApplication() {
getApplication().setStoreId(getDealer().getStoreId());
getApplication().setDealerId(getDealer().getId());
getApplication().setFranchiseCode(getDealer().getFranchiseCode());
getApplication().getApplicant1().setApplication(getApplication());
getApplication().getPrimaryInvoice().setDealerId(getApplication().getDealerId());
getApplication().getPrimaryInvoice().setApplication(getApplication());
getApplication().getPrimaryInvoice().setStoreId(getApplication().getStoreId());
if (isSecondApplicant()) {
getApplication().getApplicant2().setApplication(getApplication());
} else {
getApplication().setApplicant2(null);
}
Util.getApplicationService().saveApplication(getApplication());
}
public List getListServiceProviders() {
ServiceProviderCache serviceProviderCache = (ServiceProviderCache) AppContext.getCache(ServiceProviderCache.class
.getSimpleName());
List serviceProviders = (List) serviceProviderCache.getEntityList();
return serviceProviders;
}
public void onSelectServiceProvider(ValueChangeEvent event) {
ServiceProvider serProvider = (ServiceProvider) event.getNewValue();
getApplication().setServiceProvider(serProvider);
}
public void setPrinting() {
this.setFlgPrint(true);
}
public void setNoPrinting() {
this.setFlgPrint(false);
}
public Dealer getDealer() {
return dealer;
}
public void setDealer(Dealer dealer) {
this.dealer = dealer;
}
public String getCompanyName() {
return companyName;
}
public void setCompanyName(String companyName) {
this.companyName = companyName;
}
public String getDealerName() {
return dealerName;
}
public void setDealerName(String dealerName) {
this.dealerName = dealerName;
}
public String getStoreName() {
return storeName;
}
public void setStoreName(String storeName) {
this.storeName = storeName;
}
public boolean isFlgPrint() {
return flgPrint;
}
public void setFlgPrint(boolean flgPrint) {
this.flgPrint = flgPrint;
}
public AutoCompleteLocation getAutoCompleteLocation() {
return autoCompleteLocation;
}
public void setAutoCompleteLocation(AutoCompleteLocation autoCompleteLocation) {
this.autoCompleteLocation = autoCompleteLocation;
}
public Integer getNumRows() {
return numRows;
}
public void setNumRows(Integer numRows) {
this.numRows = numRows;
}
}
*****************
My page
<?xml version="1.0" encoding="UTF-8"?>
<jsp:root xmlns="http://www.w3.org/1999/xhtml"
xmlns:a4j="https://ajax4jsf.dev.java.net/ajax"
xmlns:a="https://ajax4jsf.dev.java.net/ajax"
xmlns:c="http://java.sun.com/jstl/core"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:jsp="http://java.sun.com/JSP/Page"
xmlns:rich="http://richfaces.ajax4jsf.org/rich"
xmlns:s="http://jboss.com/products/seam/taglib"
xmlns:ui="http://java.sun.com/jsf/facelets" version="2.0">
<h:messages globalOnly="true" styleClass="alertMsgBold" />
<h:form id='normalApp'>
<s:validateAll>
<a4j:region id="autocomplete">
<h:outputText id="idHeaderLocation"
value="#{msg['creditApplication.headerLocation']}"
styleClass="header1" />
<c:if test="#{userCredentials.allStoresAccessor}">
ALLSTORE=TRUE<h:outputText for="company"
value="#{msg['creditApplication.company']}" />asfasf
<a4j:outputPanel id="companyPanel">
<a4j:region id="companyRegion" renderRegionOnly="false">
<h:inputText
value="#{normalCreditApplication.autoCompleteLocation.companySel}"
size="50" required="true" id="company" />
<rich:suggestionbox for="company"
suggestionAction="#{normalCreditApplication.autoCompleteLocation.autocompleteCompany}"
var="company" height="200" width="250" requestDelay="350"
focus="store" ignoreDupResponses="true">
<a4j:support event="onselect"
action="#{normalCreditApplication.autoCompleteLocation.onSelectCompany}"
reRender="storePanel,dealerPanel"
oncomplete="setFocus('normalApp:store');" />
<h:column>
<h:outputText value="#{company.companyCode}-#{company.name}" />
</h:column>
</rich:suggestionbox>
</a4j:region>
</a4j:outputPanel>
<a4j:outputPanel ajaxRendered="true">
<h:message for="company" styleClass="alertMsg" />
</a4j:outputPanel>
</c:if>
<c:if test="#{!userCredentials.allStoresAccessor}">
<h:outputText for="company"
value="#{msg['creditApplication.company']}" />
<h:outputText for="company"
value="#{normalCreditApplication.autoCompleteLocation.companySel}" />
</c:if>
<c:if test="#{userCredentials.allStoresAccessor}">
<h:outputText for="store"
value="#{msg['creditApplication.store']}" />
<a4j:outputPanel id="storePanel">
<a4j:region id="storeRegion" renderRegionOnly="false">
<h:inputText
value="#{normalCreditApplication.autoCompleteLocation.storeSel}"
size="50" required="true" id="store" />
<rich:suggestionbox for="store" requestDelay="350"
suggestionAction="#{normalCreditApplication.autoCompleteLocation.autocompleteStore}"
var="store" height="200" width="250" focus="dealer">
<a4j:support event="onselect"
action="#{normalCreditApplication.autoCompleteLocation.onSelectStore}"
reRender="dealerPanel"
oncomplete="setFocus('normalApp:dealer');" />
<h:column>
<h:outputText value="#{store.storeCode}-#{store.name}" />
</h:column>
</rich:suggestionbox>
</a4j:region>
</a4j:outputPanel>
<a4j:outputPanel ajaxRendered="true">
<h:message for="store" styleClass="alertMsg" />
</a4j:outputPanel>
</c:if>
<c:if test="#{!userCredentials.allStoresAccessor}">
<h:outputText for="store"
value="#{msg['creditApplication.store']}" />
<h:outputText for="store"
value="#{normalCreditApplication.autoCompleteLocation.storeSel}" />
</c:if>
<h:outputText for="dealer"
value="#{msg['creditApplication.dealer']}" />
<a4j:outputPanel id="dealerPanel">
<h:inputText
value="#{normalCreditApplication.autoCompleteLocation.dealerSel}"
size="50" id="dealer" required="true" />
<rich:suggestionbox for="dealer" requestDelay="350"
suggestionAction="#{normalCreditApplication.autoCompleteLocation.autocompleteDealer}"
var="dealer" height="200" width="250">
<a4j:support event="onselect"
oncomplete="setFocus('normalApp:invoice');" />
<h:column>
<h:outputText
value="#{dealer.departmentCode}-#{dealer.franchiseName}" />
</h:column>
</rich:suggestionbox>
</a4j:outputPanel>
<a4j:outputPanel ajaxRendered="true">
<h:message for="dealer" styleClass="alertMsg" />
</a4j:outputPanel>
</a4j:region>
<h:outputText id="headerApplicationDetails"
value="#{msg['creditApplication.headerApplicationDetails']}"
styleClass="header1" />
<h:outputText for="invoice"
value="#{msg['creditApplication.invoice']}" />
<h:inputText id="invoice"
value="#{normalCreditApplication.application.primaryInvoice.invoiceNo}"
required="true"></h:inputText>
<h:message for="invoice" styleClass="alertMsg" />
<h:outputText for="headerFirstApplicant"
value="#{msg['creditApplication.headerFirstApplicant']}"
styleClass="header1" />
<h:outputText for="firstName"
value="#{msg['creditApplication.firstName']}" />
<h:inputText id="firstName"
value="#{normalCreditApplication.application.applicant1.customer.firstName}"
required="true"></h:inputText>
<h:message for="firstName" styleClass="alertMsg" />
<h:outputText for="middleName"
value="#{msg['creditApplication.middleName']}" />
<h:inputText id="middleName"
value="#{normalCreditApplication.application.applicant1.customer.middleName}"></h:inputText>
<h:message for="middleName" styleClass="alertMsg" />
<h:outputText for="surname"
value="#{msg['creditApplication.surname']}" />
<h:inputText id="surname"
value="#{normalCreditApplication.application.applicant1.customer.surname}"
required="true"></h:inputText>
<h:message for="surname" styleClass="alertMsg" />
<h:outputText for="headerSecondApplicant"
value="#{msg['creditApplication.headerSecondApplicant']}"
styleClass="header1" />
<h:outputText for="firstNameSecond"
value="#{msg['creditApplication.firstName']}" />
<h:inputText id="firstNameSecond"
value="#{normalCreditApplication.application.applicant2.customer.firstName}"></h:inputText>
<h:message for="firstNameSecond" styleClass="alertMsg" />
<h:outputText for="middleNameSecond"
value="#{msg['creditApplication.middleName']}" />
<h:inputText id="middleNameSecond"
value="#{normalCreditApplication.application.applicant2.customer.middleName}"></h:inputText>
<h:message for="middleNameSecond" styleClass="alertMsg" />
<h:outputLabel for="surnameSecond"
value="#{msg['creditApplication.surname']}" />
<h:inputText id="surnameSecond"
value="#{normalCreditApplication.application.applicant2.customer.surname}"></h:inputText>
<h:message for="surnameSecond" styleClass="alertMsg" />
<f:subview rendered="#{normalCreditApplication.serviceProvider}">
<h:outputText id="headerServiceProvider"
value="#{msg['creditApplication.headerServiceProvider']}"
styleClass="header1" />
<h:outputLabel for="serviceProv"
value="#{msg['creditApplication.serviceProvider']}" />
<h:selectOneMenu
value="#{normalCreditApplication.application.serviceProvider}"
style="width:280px"
valueChangeListener="#{normalCreditApplication.onSelectServiceProvider}"
id="serviceProviderId">
<s:selectItems
value="#{normalCreditApplication.listServiceProviders}"
var="serviceProvider" onchange="submit()" immediate="true"
label="#{serviceProvider.name}" />
<f:converter converterId="serviceProviderConverter" />
</h:selectOneMenu>
<h:message for="serviceProv"
styleClass="alertMsg" />
</f:subview>
</s:validateAll>
<h:commandButton value="#{msg['creditApplication.next']}"
action="next" styleClass="buttom" />
</h:form>
</jsp:root>
The errror:
2007-08-06 09:15:04 StandardWrapperValve[FacesServlet]: Servlet.service() for servlet FacesServlet threw exception
javax.faces.el.EvaluationException: /normal-application.jspx @13,72 rendered="#{normalCreditApplication.serviceProvider}": Exception getting value of property serviceProvider of base of type : com.yoogalu.ncf.web.seam.bean.NormalCreditApplication_$$_javassist_2
at com.sun.facelets.el.LegacyValueBinding.getValue(LegacyValueBinding.java:60)
at javax.faces.component.UIComponentBase.isRendered(UIComponentBase.java:1078)
at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:601)
at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:605)
at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:605)
at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:138)
at org.ajax4jsf.framework.ajax.AjaxViewRoot.access$001(AjaxViewRoot.java:53)
at org.ajax4jsf.framework.ajax.AjaxViewRoot$1.invokeRoot(AjaxViewRoot.java:256)
at org.ajax4jsf.framework.ajax.JsfOneOneInvoker.invokeOnRegionOrRoot(JsfOneOneInvoker.java:53)
at org.ajax4jsf.framework.ajax.AjaxContext.invokeOnRegionOrRoot(AjaxContext.java:191)
at org.ajax4jsf.framework.ajax.AjaxViewRoot.processDecodes(AjaxViewRoot.java:272)
at org.apache.myfaces.lifecycle.ApplyRequestValuesExecutor.execute(ApplyRequestValuesExecutor.java:32)
at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:95)
at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:70)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:139)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at com.yoogalu.ncf.web.servlet.Boilerplate.doFilter(Boilerplate.java:42)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.ajax4jsf.framework.ajax.xmlfilter.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:127)
at org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter(BaseFilter.java:277)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:264)
at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107)
at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:110)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at org.acegisecurity.wrapper.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:81)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:217)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at org.acegisecurity.ui.logout.LogoutFilter.doFilter(LogoutFilter.java:106)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:229)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:148)
at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:595)
Caused by: javax.faces.el.EvaluationException: Bean: com.yoogalu.ncf.web.seam.bean.NormalCreditApplication_$$_javassist_2, property: serviceProvider
at org.apache.myfaces.el.PropertyResolverImpl.getProperty(PropertyResolverImpl.java:461)
at org.apache.myfaces.el.PropertyResolverImpl.getValue(PropertyResolverImpl.java:85)
at com.sun.facelets.el.LegacyELContext$LegacyELResolver.getValue(LegacyELContext.java:141)
at com.sun.el.parser.AstValue.getValue(AstValue.java:118)
at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:192)
at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:71)
at com.sun.facelets.el.LegacyValueBinding.getValue(LegacyValueBinding.java:56)
... 66 more
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.GeneratedMethodAccessor279.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.myfaces.el.PropertyResolverImpl.getProperty(PropertyResolverImpl.java:457)
... 72 more
Caused by: org.jboss.seam.NoConversationException: no long-running conversation for @Conversational bean: normalCreditApplication
at org.jboss.seam.interceptors.ConversationalInterceptor.aroundInvoke(ConversationalInterceptor.java:55)
at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:69)
at org.jboss.seam.interceptors.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:27)
at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:69)
at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:103)
at org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:151)
at org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:87)
at com.yoogalu.ncf.web.seam.bean.NormalCreditApplication_$$_javassist_2.getServiceProvider(NormalCreditApplication_$$_javassist_2.java)
... 76 more
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4071010#4071010
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4071010
18Â years, 8Â months
[EJB 3.0] - Re: IllegalArgumentException on remove
by waynebaylor
try changing the snippet:
public void destroy (NewsEntity newsEntity)
| {
| em.merge (newsEntity);
| if( em.contains (newsEntity))
| logger.info ("The Entity is attached to current Persistence Context");
| else
| logger.error ("Entity is not attached!");
| /* throws exception */
| em.remove (newsEntity);
| }
to something like:
public void destroy (NewsEntity newsEntity)
| {
| NewsEntity managedEntity = em.merge (newsEntity);
|
| if( em.contains (managedEntity))
| {
| logger.info ("The Entity is attached to current Persistence Context");
| }
| else
| {
| logger.error ("Entity is not attached!");
| }
|
| /* throws exception */
| em.remove (managedEntity);
| }
the problem is that you should be using the managed object returned by the EntityManager.merge() method.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4071009#4071009
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4071009
18Â years, 8Â months
[JBoss Seam] - DocumentException, Invalid byte 3 of 3-byte UTF-8 sequence
by wkzk
Hi.
I 'm using seam 2.0b.
When I put CJK character message in the in the pages.xml like this.
| <?xml version="1.0" encoding="UTF-8"?>
| <pages xmlns="http://jboss.com/products/seam/pages"
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
| xsi:schemaLocation="http://jboss.com/products/seam/pages http://jboss.com/products/seam/pages-2.0.xsd"
|
| .....
|
| <exception class="jp.jbug.example.seam.BlogEntryException">
| <redirect view-id="/error2.xhtml">
| <message>some CJK character here!!</message>
| </redirect>
| </exception>
|
| ......
|
|
I got an DocumentException and error messages
| java.lang.RuntimeException: org.dom4j.DocumentException: Error on line 47 of document : Invalid byte 3 of 3-byte UTF-8 sequence. Nested exception: Invalid byte 3 of 3-byte UTF-8 sequence.
| at org.jboss.seam.navigation.Pages.getDocumentRoot(Pages.java:924)
| at org.jboss.seam.navigation.Pages.parse(Pages.java:882)
| at org.jboss.seam.navigation.Pages.initialize(Pages.java:108)
| 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:585)
| at org.jboss.seam.util.Reflections.invoke(Reflections.java:21)
| at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:124)
| at org.jboss.seam.Component.callComponentMethod(Component.java:2015)
| at org.jboss.seam.Component.callCreateMethod(Component.java:1938)
| at org.jboss.seam.Component.newInstance(Component.java:1917)
| at org.jboss.seam.Component.getInstance(Component.java:1814)
| at org.jboss.seam.Component.getInstance(Component.java:1793)
| at org.jboss.seam.Component.getInstance(Component.java:1770)
| at org.jboss.seam.Component.getInstance(Component.java:1765)
| at org.jboss.seam.navigation.Pages.instance(Pages.java:582)
| at org.jboss.seam.core.ConversationPropagation.restoreNaturalConversationId(ConversationPropagation.java:94)
| at org.jboss.seam.core.ConversationPropagation.restoreConversationId(ConversationPropagation.java:47)
| at org.jboss.seam.jsf.SeamPhaseListener.afterRestoreView(SeamPhaseListener.java:371)
| at org.jboss.seam.jsf.SeamPhaseListener.afterServletPhase(SeamPhaseListener.java:211)
| at org.jboss.seam.jsf.SeamPhaseListener.afterPhase(SeamPhaseListener.java:184)
| at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:280)
| at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
| at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
| at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:82)
| at org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:68)
| at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:68)
| at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
| at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:68)
| at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
| at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:68)
| at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:44)
| at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:68)
| at org.ajax4jsf.framework.ajax.xmlfilter.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:127)
| at org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter(BaseFilter.java:277)
| at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:60)
| at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:68)
| at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
| at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:68)
| at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:149)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
| at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
| 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.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
| at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
| at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
| at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
| at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
| at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
| at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
| at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
| at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
| at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
| at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
| at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580)
| at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
| at java.lang.Thread.run(Thread.java:595)
| Caused by: org.dom4j.DocumentException: Error on line 47 of document : Invalid byte 3 of 3-byte UTF-8 sequence. Nested exception: Invalid byte 3 of 3-byte UTF-8 sequence.
| at org.dom4j.io.SAXReader.read(SAXReader.java:482)
| at org.dom4j.io.SAXReader.read(SAXReader.java:343)
| at org.jboss.seam.util.XML.getRootElement(XML.java:21)
| at org.jboss.seam.navigation.Pages.getDocumentRoot(Pages.java:920)
|
any missing configuration?
Shige
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4071007#4071007
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4071007
18Â years, 8Â months
[JBoss Seam] - Exception to integrate with JasperReport
by sherman04
I'm working on seam 1.2.1 GA and Jboss 4.0.5 GA, and trying to integrate with JasperReport 1.3.4.
I've got a page for entering jasper report parameters, an SFSB to handle the parameters and pass them to a class method of a report util to generate the report. The method looks up a data source by jndi and gets connection from it for JasperFillManager to fill up the report. When I run the report the first time by click a submit button at the page, everything works fine. But when I click the button again after a while (about 15 minutes), I've got the following exception. The SFSB has not got any non-serializable local value and has not got any references to jasper report objects. I set 120 minutes timeout for web session, seam conversation, and max-bean-life.
| 11:00:41,203 ERROR [ExceptionFilter] uncaught exception
| javax.servlet.ServletException: /report/gstReturn.xhtml @39,53 value="#{gstReturnAction.returnPeriod}":
| Exception getting value of property returnPeriod of base of type : org.javassist.tmp.java.lang.Object_$$_javassist_86
| at javax.faces.webapp.FacesServlet.service(FacesServlet.java:152)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:144)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:63)
| at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
| at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
| at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:57)
| at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
| at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:79)
| at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
| at org.jboss.seam.web.SeamFilter.doFilter(SeamFilter.java:84)
| 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:96)
| 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.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
| at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432)
| at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
| at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
| at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
| at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
| 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:869)
| at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
| 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(Unknown Source)
| 11:00:41,234 ERROR [ExceptionFilter] exception root cause
| javax.faces.el.EvaluationException: /report/gstReturn.xhtml @39,53 value="#{gstReturnAction.returnPeriod}":
| Exception getting value of property returnPeriod of base of type : org.javassist.tmp.java.lang.Object_$$_javassist_86
| at com.sun.facelets.el.LegacyValueBinding.getValue(LegacyValueBinding.java:60)
| at javax.faces.component.UIOutput.getValue(UIOutput.java:77)
| at javax.faces.component.UIInput.validate(UIInput.java:357)
| at javax.faces.component.UIInput.processValidators(UIInput.java:183)
| at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:624)
| at javax.faces.component.UIForm.processValidators(UIForm.java:70)
| at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:624)
| at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:146)
| at org.apache.myfaces.lifecycle.LifecycleImpl.processValidations(LifecycleImpl.java:262)
| at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:76)
| at javax.faces.webapp.FacesServlet.service(FacesServlet.java:137)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:144)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:63)
| at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
| at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
| at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:57)
| at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
| at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:79)
| at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
| at org.jboss.seam.web.SeamFilter.doFilter(SeamFilter.java:84)
| 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:96)
| 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.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
| at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432)
| at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
| at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
| at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
| at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
| 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:869)
| at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
| 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(Unknown Source)
| Caused by: javax.faces.el.EvaluationException: Bean: org.javassist.tmp.java.lang.Object_$$_javassist_86, property: returnPeriod
| at org.apache.myfaces.el.PropertyResolverImpl.getProperty(PropertyResolverImpl.java:442)
| at org.apache.myfaces.el.PropertyResolverImpl.getValue(PropertyResolverImpl.java:82)
| at com.sun.facelets.el.LegacyELContext$LegacyELResolver.getValue(LegacyELContext.java:141)
| at com.sun.el.parser.AstValue.getValue(AstValue.java:125)
| at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:195)
| at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:71)
| at com.sun.facelets.el.LegacyValueBinding.getValue(LegacyValueBinding.java:56)
| ... 43 more
| Caused by: java.lang.reflect.InvocationTargetException
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
| at java.lang.reflect.Method.invoke(Unknown Source)
| at org.apache.myfaces.el.PropertyResolverImpl.getProperty(PropertyResolverImpl.java:438)
| ... 49 more
| Caused by: java.lang.RuntimeException: java.io.IOException
| at org.jboss.ejb3.stateful.StatefulBeanContext.extractBeanAndInterceptors(StatefulBeanContext.java:367)
| at org.jboss.ejb3.stateful.StatefulBeanContext.getInstance(StatefulBeanContext.java:309)
| at org.jboss.injection.JndiFieldInjector.inject(JndiFieldInjector.java:61)
| at org.jboss.ejb3.stateful.StatefulContainer.invokePostActivate(StatefulContainer.java:373)
| at org.jboss.ejb3.stateful.StatefulBeanContext.postActivate(StatefulBeanContext.java:183)
| at org.jboss.ejb3.cache.simple.StatefulSessionFilePersistenceManager.activateSession(StatefulSessionFilePersistenceManager.java:312)
| at org.jboss.ejb3.cache.simple.SimpleStatefulCache.get(SimpleStatefulCache.java:265)
| at org.jboss.ejb3.stateful.StatefulInstanceInterceptor.invoke(StatefulInstanceInterceptor.java:61)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
| at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
| at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:102)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
| at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:47)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
| at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
| at org.jboss.ejb3.stateful.StatefulContainer.localInvoke(StatefulContainer.java:203)
| at org.jboss.ejb3.stateful.StatefulLocalProxy.invoke(StatefulLocalProxy.java:98)
| at $Proxy203.getReturnPeriod(Unknown Source)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
| at java.lang.reflect.Method.invoke(Unknown Source)
| at org.jboss.seam.util.Reflections.invoke(Reflections.java:20)
| at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:31)
| at org.jboss.seam.intercept.ClientSideInterceptor$1.proceed(ClientSideInterceptor.java:72)
| at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:57)
| at org.jboss.seam.interceptors.RemoveInterceptor.aroundInvoke(RemoveInterceptor.java:40)
| at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:69)
| at org.jboss.seam.interceptors.SynchronizationInterceptor.aroundInvoke(SynchronizationInterceptor.java:31)
| at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:69)
| at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:103)
| at org.jboss.seam.intercept.ClientSideInterceptor.invoke(ClientSideInterceptor.java:50)
| at org.javassist.tmp.java.lang.Object_$$_javassist_86.getReturnPeriod(Object_$$_javassist_86.java)
| ... 54 more
| Caused by: java.io.IOException
| at org.jboss.serial.persister.RegularObjectPersister.readSlotWithMethod(RegularObjectPersister.java:107)
| at org.jboss.serial.persister.RegularObjectPersister.defaultRead(RegularObjectPersister.java:269)
| at org.jboss.serial.persister.RegularObjectPersister.readData(RegularObjectPersister.java:241)
| at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.readObjectDescriptionFromStreaming(ObjectDescriptorFactory.java:412)
| at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.objectFromDescription(ObjectDescriptorFactory.java:82)
| at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectInput.readObject(DataContainer.java:643)
| at org.jboss.serial.persister.RegularObjectPersister.readSlotWithFields(RegularObjectPersister.java:353)
| at org.jboss.serial.persister.RegularObjectPersister.defaultRead(RegularObjectPersister.java:273)
| at org.jboss.serial.persister.RegularObjectPersister.readData(RegularObjectPersister.java:241)
| at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.readObjectDescriptionFromStreaming(ObjectDescriptorFactory.java:412)
| at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.objectFromDescription(ObjectDescriptorFactory.java:82)
| at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectInput.readObject(DataContainer.java:643)
| at org.jboss.serial.persister.ArrayPersister.readObjectArray(ArrayPersister.java:196)
| at org.jboss.serial.persister.ArrayPersister.readData(ArrayPersister.java:172)
| at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.readObjectDescriptionFromStreaming(ObjectDescriptorFactory.java:412)
| at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.objectFromDescription(ObjectDescriptorFactory.java:82)
| at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectInput.readObject(DataContainer.java:643)
| at org.jboss.serial.io.JBossObjectInputStream.readObjectOverride(JBossObjectInputStream.java:163)
| at java.io.ObjectInputStream.readObject(Unknown Source)
| at org.jboss.serial.io.MarshalledObject.get(MarshalledObject.java:68)
| at org.jboss.ejb3.stateful.StatefulBeanContext.extractBeanAndInterceptors(StatefulBeanContext.java:342)
| ... 87 more
| Caused by: java.lang.reflect.InvocationTargetException
| at sun.reflect.GeneratedMethodAccessor370.invoke(Unknown Source)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
| at java.lang.reflect.Method.invoke(Unknown Source)
| at org.jboss.serial.persister.RegularObjectPersister.readSlotWithMethod(RegularObjectPersister.java:103)
| ... 107 more
| Caused by: org.jboss.serial.exception.SerializationException: Could not create instance of org.jboss.resource.adapter.jdbc.WrappedConnection - org.jboss.resource.adapter.jdbc.WrappedConnection
| at org.jboss.serial.classmetamodel.ClassMetaData.newInstance(ClassMetaData.java:342)
| at org.jboss.serial.persister.RegularObjectPersister.readData(RegularObjectPersister.java:239)
| at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.readObjectDescriptionFromStreaming(ObjectDescriptorFactory.java:412)
| at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.objectFromDescription(ObjectDescriptorFactory.java:82)
| at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectInput.readObject(DataContainer.java:643)
| at org.jboss.serial.persister.ObjectInputStreamProxy.readObjectOverride(ObjectInputStreamProxy.java:68)
| at java.io.ObjectInputStream.readObject(Unknown Source)
| at java.util.HashMap.readObject(Unknown Source)
| ... 111 more
| Caused by: java.lang.InstantiationException: org.jboss.resource.adapter.jdbc.WrappedConnection
| at java.lang.Class.newInstance0(Unknown Source)
| at java.lang.Class.newInstance(Unknown Source)
| at org.jboss.serial.classmetamodel.ClassMetaData.newInstance(ClassMetaData.java:334)
| ... 118 more
|
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4071004#4071004
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4071004
18Â years, 8Â months