[
https://issues.jboss.org/browse/RF-12276?page=com.atlassian.jira.plugin.s...
]
Christian Werner edited comment on RF-12276 at 5/23/12 3:56 AM:
----------------------------------------------------------------
Unfortunately, the change to Majorra is not easy as it is a relatively complex production
system. Unfortunately, we can not reproduce the problem easily. The error occurs only
sporadically and only affects in Microsoft IE.
I can you post the JSF- and bean code:
1. We invoke a popup panel with a menuItem-component via Ajax request:
{noformat}
<cmp:genericConfirmation number="1" forceoppanel="true"
message="#{messages.propagation_label_javascript_send_propagations}"
action="#{propagationsSetReadyToSendStatus.process}" />
...
<h:form id="PropagationListForm" styleClass="yform">
...
<rich:dropDownMenu>
<rich:menuItem
label="#{messages.controls_label_send_propagations}"
icon="#{resource['images.buttons:status_green.png']}"
iconDisabled="#{resource['images.buttons:status_disable.png']}"
rendered="#{propagationsController.userInManagerRoles}"
mode="ajax">
<rich:componentControl event="click"
target="genericpanel1" operation="show" />
</rich:menuItem>
</rich:dropDownMenu>
...
</h:form>
{noformat}
Composite component: genericConfirmation.xhtml
{noformat}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<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:ui="http://java.sun.com/jsf/facelets"
xmlns:c="http://java.sun.com/jsp/jstl/core"
xmlns:composite="http://java.sun.com/jsf/composite"
xmlns:t="http://myfaces.apache.org/tomahawk"
xmlns:topas="http://www.ecomradegroup.de/topas"
xmlns:a4j="http://richfaces.org/a4j"
xmlns:rich="http://richfaces.org/rich"
xmlns:cmp="http://java.sun.com/jsf/composite/components">
<composite:interface>
<composite:attribute name="action" shortDescription="action method of
bean" method-signature="java.lang.String action()"
required="false" />
<composite:attribute name="actionListener"
shortDescription="actionlistener method of bean"
method-signature="void actionListener(javax.faces.event.ActionEvent)"
required="false" />
<composite:attribute name="header" shortDescription="header
label" type="java.lang.String" required="false" />
<composite:attribute name="message" shortDescription="output message
to confirm" type="java.lang.String" required="true" />
<composite:attribute name="number" shortDescription="to use more then
one panel" type="java.lang.String" required="false" />
<composite:attribute name="forceoppanel" type="java.lang.boolean"
required="false" default="false" />
</composite:interface>
<composite:implementation>
<rich:popupPanel id="massenoperationspanel" minWidth="350"
maxWidth="350" minHeight="100" maxHeight="100"
resizeable="false" moveable="false">
<f:facet name="header">
<h:panelGroup>
<h:outputText value="#{messages.general_title_operationjob}" />
</h:panelGroup>
</f:facet>
<h:panelGrid columns="3">
<h:graphicImage library="images.status"
name="loadinfo_net.gif" alt="Loading..." />
<cmp:spacer width="20" />
<h:outputText value="#{messages.general_label_operationjob}" />
</h:panelGrid>
</rich:popupPanel>
<rich:popupPanel id="genericpanel#{cc.attrs.number}"
minWidth="400" maxWidth="500" minHeight="70"
maxHeight="170" resizeable="false" moveable="false"
onmaskclick="#{rich:component(topas:concat('genericpanel',
cc.attrs.number))}.hide()">
<f:facet name="header">
<h:panelGroup>
<c:if test="#{cc.attrs.header != null}">
<h:outputText value="#{cc.attrs.header}" />
</c:if>
<c:if test="#{cc.attrs.header == null}">
<h:outputText value="?" escape="false" />
</c:if>
</h:panelGroup>
</f:facet>
<f:facet name="controls">
<h:outputLink value="#">
<h:graphicImage library="images.panels" name="close.png"
alt="close" />
<rich:componentControl event="click" operation="hide"
target="genericpanel#{cc.attrs.number}" />
</h:outputLink>
</f:facet>
<a4j:outputPanel layout="block" styleClass="subcolumns">
<h:form styleClass="yform">
<t:div>
<h:outputText value="#{cc.attrs.message}"
styleClass="center" style="margin-bottom: 3em;" />
</t:div>
<t:div styleClass="type-button center">
<c:if test="#{cc.attrs.action != null}">
<c:if test="#{cc.attrs.forceoppanel != null}">
<h:commandButton value="#{messages.general_button_ok}"
action="#{cc.attrs.action}" style="margin-right: 5px;"
onclick="#{rich:component(topas:concat('genericpanel',
cc.attrs.number))}.hide();#{rich:component('massenoperationspanel')}.show()"
/>
</c:if>
<c:if test="#{cc.attrs.forceoppanel == null}">
<h:commandButton value="#{messages.general_button_ok}"
action="#{cc.attrs.actionListener}" style="margin-right: 5px;" />
</c:if>
</c:if>
<c:if test="#{cc.attrs.actionListener != null}">
<c:if test="#{cc.attrs.forceoppanel != null}">
<h:commandButton value="#{messages.general_button_ok}"
actionListener="#{cc.attrs.action}" style="margin-right: 5px;"
onclick="#{rich:component(topas:concat('genericpanel',
cc.attrs.number))}.hide();#{rich:component('massenoperationspanel')}.show()"
/>
</c:if>
<c:if test="#{cc.attrs.forceoppanel == null}">
<h:commandButton value="#{messages.general_button_ok}"
actionListener="#{cc.attrs.actionListener}" style="margin-right: 5px;"
/>
</c:if>
</c:if>
<a4j:commandButton value="#{messages.general_button_cancel}">
<rich:componentControl event="click" operation="hide"
target="genericpanel#{cc.attrs.number}" />
</a4j:commandButton>
</t:div>
</h:form>
</a4j:outputPanel>
</rich:popupPanel>
</composite:implementation>
</html>
{noformat}
2. In current popup panel, the action method is called
propagationsSetReadyToSendStatus.process using a commandLink. The onclick event closes the
current popup and then open a status popup-panel to show the data to be processed
Bean
{noformat}
package com.ecg.webseed.ui.propagation.actions;
import java.util.ArrayList;
import java.util.List;
import org.apache.myfaces.orchestra.conversation.annotations.ConversationName;
import org.apache.myfaces.orchestra.conversation.annotations.ConversationRequire;
import org.springframework.context.annotation.Scope;
import org.springframework.context.annotation.ScopedProxyMode;
import org.springframework.security.access.annotation.Secured;
import org.springframework.stereotype.Controller;
import com.ecg.topas.web.component.errorhandling.Message;
import com.ecg.topas.web.component.errorhandling.ViewBusinessService;
import com.ecg.webseed.model.vorhaben.VermehrungsVorhaben;
import com.ecg.webseed.model.vorhaben.VermehrungsVorhabenStatus;
import com.ecg.webseed.ui.propagation.PropagationConstants;
import com.ecg.webseed.util.IConstants;
import com.topas.server.persistence.enhancement.Enhancement;
import com.topas.server.persistence.enhancement.Expression;
import com.topas.server.persistence.enhancement.LogicType;
import com.topas.server.persistence.enhancement.LogicalExpression;
@Controller("propagationsSetReadyToSendStatus")
@Scope(value = IConstants.SCOPE_CONVERSATION_ACCESS, proxyMode = ScopedProxyMode.DEFAULT)
@ConversationRequire(conversationNames = IConstants.PROPAGATIONS_CONVERSATION)
@ConversationName(value = IConstants.PROPAGATIONS_CONVERSATION)
@ViewBusinessService
public class PropagationsSetReadyToSendStatus extends AbstractMassOperationAction {
@Override
@Message(code = com.topas.server.web.IConstants.MESSAGE_CODE_DONE)
@Secured({ PropagationConstants.ROLE_PROPAGATION_MANAGER, "RUN_AS_SYSTEM" })
public void process() throws Exception {
List<Enhancement> ehl = new
ArrayList<Enhancement>(getController().getEnhancementsForList());
LogicalExpression or = new LogicalExpression(LogicType.OR);
or.addExpression(new
Expression("status").setEq(VermehrungsVorhabenStatus.SOWINGDATA_EXIST.value()));
or.addExpression(new
Expression("status").setEq(VermehrungsVorhabenStatus.IMPORTED.value()));
ehl.add(or);
iteratePropagations(getController().getFilter().getQueryExample(), ehl, new
ActionCallback() {
public void action(VermehrungsVorhaben vorhaben) {
getVorhabenBO().initialize(vorhaben);
getVorhabenBO().changeVorhabenStatusTo(VermehrungsVorhabenStatus.READY_TO_SEND);
getVorhabenBO().save();
getVorhabenBO().evict();
}
});
}
}
{noformat}
After the request the status popup-panel will be close and is not reloaded. Now, other
bulk operations are invoked by the process begins again. At about the 3rd or 4th menuItem
call, the error occurs. In the background, no exception is thrown.
was (Author: christianwerner):
Unfortunately, the change to Majorra is not easy as it is a relatively complex
production system. Unfortunately, we can not reproduce the problem easily. The error
occurs only sporadically and only affects in Microsoft IE.
I can you post the JSF- and bean code:
1. We invoke a popup panel with a menuItem-component via Ajax request:
{noformat}
<cmp:genericConfirmation number="1" forceoppanel="true"
message="#{messages.propagation_label_javascript_send_propagations}"
action="#{propagationsSetReadyToSendStatus.process}" />
...
<h:form id="PropagationListForm" styleClass="yform">
...
<rich:dropDownMenu>
<rich:menuItem
label="#{messages.controls_label_send_propagations}"
icon="#{resource['images.buttons:status_green.png']}"
iconDisabled="#{resource['images.buttons:status_disable.png']}"
rendered="#{propagationsController.userInManagerRoles}"
mode="ajax">
<rich:componentControl event="click"
target="genericpanel1" operation="show" />
</rich:menuItem>
</rich:dropDownMenu>
...
</h:form>
{noformat}
Composite component: genericConfirmation.xhtml
{noformat}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<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:ui="http://java.sun.com/jsf/facelets"
xmlns:c="http://java.sun.com/jsp/jstl/core"
xmlns:composite="http://java.sun.com/jsf/composite"
xmlns:t="http://myfaces.apache.org/tomahawk"
xmlns:topas="http://www.ecomradegroup.de/topas"
xmlns:a4j="http://richfaces.org/a4j"
xmlns:rich="http://richfaces.org/rich"
xmlns:cmp="http://java.sun.com/jsf/composite/components">
<composite:interface>
<composite:attribute name="action" shortDescription="action method of
bean" method-signature="java.lang.String action()"
required="false" />
<composite:attribute name="actionListener"
shortDescription="actionlistener method of bean"
method-signature="void actionListener(javax.faces.event.ActionEvent)"
required="false" />
<composite:attribute name="header" shortDescription="header
label" type="java.lang.String" required="false" />
<composite:attribute name="message" shortDescription="output message
to confirm" type="java.lang.String" required="true" />
<composite:attribute name="number" shortDescription="to use more then
one panel" type="java.lang.String" required="false" />
<composite:attribute name="forceoppanel" type="java.lang.boolean"
required="false" default="false" />
</composite:interface>
<composite:implementation>
<rich:popupPanel id="massenoperationspanel" minWidth="350"
maxWidth="350" minHeight="100" maxHeight="100"
resizeable="false" moveable="false">
<f:facet name="header">
<h:panelGroup>
<h:outputText value="#{messages.general_title_operationjob}" />
</h:panelGroup>
</f:facet>
<h:panelGrid columns="3">
<h:graphicImage library="images.status"
name="loadinfo_net.gif" alt="Loading..." />
<cmp:spacer width="20" />
<h:outputText value="#{messages.general_label_operationjob}" />
</h:panelGrid>
</rich:popupPanel>
<rich:popupPanel id="genericpanel#{cc.attrs.number}"
minWidth="400" maxWidth="500" minHeight="70"
maxHeight="170" resizeable="false" moveable="false"
onmaskclick="#{rich:component(topas:concat('genericpanel',
cc.attrs.number))}.hide()">
<f:facet name="header">
<h:panelGroup>
<c:if test="#{cc.attrs.header != null}">
<h:outputText value="#{cc.attrs.header}" />
</c:if>
<c:if test="#{cc.attrs.header == null}">
<h:outputText value="?" escape="false" />
</c:if>
</h:panelGroup>
</f:facet>
<f:facet name="controls">
<h:outputLink value="#">
<h:graphicImage library="images.panels" name="close.png"
alt="close" />
<rich:componentControl event="click" operation="hide"
target="genericpanel#{cc.attrs.number}" />
</h:outputLink>
</f:facet>
<a4j:outputPanel layout="block" styleClass="subcolumns">
<h:form styleClass="yform">
<t:div>
<h:outputText value="#{cc.attrs.message}"
styleClass="center" style="margin-bottom: 3em;" />
</t:div>
<t:div styleClass="type-button center">
<c:if test="#{cc.attrs.action != null}">
<c:if test="#{cc.attrs.forceoppanel != null}">
<h:commandButton value="#{messages.general_button_ok}"
action="#{cc.attrs.action}" style="margin-right: 5px;"
onclick="#{rich:component(topas:concat('genericpanel',
cc.attrs.number))}.hide();#{rich:component('massenoperationspanel')}.show()"
/>
</c:if>
<c:if test="#{cc.attrs.forceoppanel == null}">
<h:commandButton value="#{messages.general_button_ok}"
action="#{cc.attrs.actionListener}" style="margin-right: 5px;" />
</c:if>
</c:if>
<c:if test="#{cc.attrs.actionListener != null}">
<c:if test="#{cc.attrs.forceoppanel != null}">
<h:commandButton value="#{messages.general_button_ok}"
actionListener="#{cc.attrs.action}" style="margin-right: 5px;"
onclick="#{rich:component(topas:concat('genericpanel',
cc.attrs.number))}.hide();#{rich:component('massenoperationspanel')}.show()"
/>
</c:if>
<c:if test="#{cc.attrs.forceoppanel == null}">
<h:commandButton value="#{messages.general_button_ok}"
actionListener="#{cc.attrs.actionListener}" style="margin-right: 5px;"
/>
</c:if>
</c:if>
<a4j:commandButton value="#{messages.general_button_cancel}">
<rich:componentControl event="click" operation="hide"
target="genericpanel#{cc.attrs.number}" />
</a4j:commandButton>
</t:div>
</h:form>
</a4j:outputPanel>
</rich:popupPanel>
</composite:implementation>
</html>
{noformat}
2. In current popup panel, the action method is called
propagationsSetReadyToSendStatus.process using a commandLink. The onclick event closes the
current popup and then open a status popup-panel to show the data to be processed
Bean
{noformat}
package com.ecg.webseed.ui.propagation.actions;
import java.util.ArrayList;
import java.util.List;
import org.apache.myfaces.orchestra.conversation.annotations.ConversationName;
import org.apache.myfaces.orchestra.conversation.annotations.ConversationRequire;
import org.springframework.context.annotation.Scope;
import org.springframework.context.annotation.ScopedProxyMode;
import org.springframework.security.access.annotation.Secured;
import org.springframework.stereotype.Controller;
import com.ecg.topas.web.component.errorhandling.Message;
import com.ecg.topas.web.component.errorhandling.ViewBusinessService;
import com.ecg.webseed.model.vorhaben.VermehrungsVorhaben;
import com.ecg.webseed.model.vorhaben.VermehrungsVorhabenStatus;
import com.ecg.webseed.ui.propagation.PropagationConstants;
import com.ecg.webseed.util.IConstants;
import com.topas.server.persistence.enhancement.Enhancement;
import com.topas.server.persistence.enhancement.Expression;
import com.topas.server.persistence.enhancement.LogicType;
import com.topas.server.persistence.enhancement.LogicalExpression;
@Controller("propagationsSetReadyToSendStatus")
@Scope(value = IConstants.SCOPE_CONVERSATION_ACCESS, proxyMode = ScopedProxyMode.DEFAULT)
@ConversationRequire(conversationNames = IConstants.PROPAGATIONS_CONVERSATION)
@ConversationName(value = IConstants.PROPAGATIONS_CONVERSATION)
@ViewBusinessService
public class PropagationsSetReadyToSendStatus extends AbstractMassOperationAction {
@Override
@Message(code = com.topas.server.web.IConstants.MESSAGE_CODE_DONE)
@Secured({ PropagationConstants.ROLE_PROPAGATION_MANAGER, "RUN_AS_SYSTEM" })
public void process() throws Exception {
List<Enhancement> ehl = new
ArrayList<Enhancement>(getController().getEnhancementsForList());
LogicalExpression or = new LogicalExpression(LogicType.OR);
or.addExpression(new
Expression("status").setEq(VermehrungsVorhabenStatus.SOWINGDATA_EXIST.value()));
or.addExpression(new
Expression("status").setEq(VermehrungsVorhabenStatus.IMPORTED.value()));
ehl.add(or);
iteratePropagations(getController().getFilter().getQueryExample(), ehl, new
ActionCallback() {
public void action(VermehrungsVorhaben vorhaben) {
getVorhabenBO().initialize(vorhaben);
getVorhabenBO().changeVorhabenStatusTo(VermehrungsVorhabenStatus.READY_TO_SEND);
getVorhabenBO().save();
getVorhabenBO().evict();
}
});
}
}
{noformat}
After the request the status popup-panel will be close and is not reloaded. Now, other
bulk operations are invoked by the process begins again. At about the 3rd or 4th menuItem
call, the error occurs. In the background, no exception is thrown.
script tags has been rendered in the wrong sequence
---------------------------------------------------
Key: RF-12276
URL:
https://issues.jboss.org/browse/RF-12276
Project: RichFaces
Issue Type: Bug
Security Level: Public(Everyone can see)
Affects Versions: 4.2.2.Final
Environment: MyFaces 2.1.7, Tomcat 6.0.35
Reporter: Christian Werner
Labels: waiting_on_user
This bug was affected in IE8, works with Firefox
After submit a form (using the action method of commandButton in a popup panel), appear
in various javascript errors on IE8:
{noformat}
Benutzer-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR
2.0.50727)
Zeitstempel: Tue, 22 May 2012 13:16:54 UTC
Meldung: 'jQuery' ist undefiniert
Zeile: 3
Zeichen: 1
Code: 0
URI:
http://christian:8080/webseed.ui/javax.faces.resource/richfaces-utils.js....
Meldung: 'jQuery' ist undefiniert
Zeile: 1
Zeichen: 1
Code: 0
URI:
http://christian:8080/webseed.ui/javax.faces.resource/AutocompleteBase.js...
Meldung: 'jQuery' ist undefiniert
Zeile: 1
Zeichen: 1
Code: 0
URI:
http://christian:8080/webseed.ui/javax.faces.resource/Autocomplete.js.jsf...
Meldung: Objekt erwartet
Zeile: 189
Zeichen: 1
Code: 0
URI:
http://christian:8080/webseed.ui/jsp/propagation/propagations.jsf?convers...
Meldung: Objekt erwartet
Zeile: 193
Zeichen: 1
Code: 0
URI:
http://christian:8080/webseed.ui/jsp/propagation/propagations.jsf?convers...
Meldung: Objekt erwartet
Zeile: 197
Zeichen: 1
Code: 0
URI:
http://christian:8080/webseed.ui/jsp/propagation/propagations.jsf?convers...
Meldung: Objekt erwartet
Zeile: 201
Zeichen: 1
Code: 0
URI:
http://christian:8080/webseed.ui/jsp/propagation/propagations.jsf?convers...
Meldung: Objekt erwartet
Zeile: 205
Zeichen: 1
Code: 0
URI:
http://christian:8080/webseed.ui/jsp/propagation/propagations.jsf?convers...
Meldung: Objekt erwartet
Zeile: 209
Zeichen: 1
Code: 0
URI:
http://christian:8080/webseed.ui/jsp/propagation/propagations.jsf?convers...
Meldung: Objekt erwartet
Zeile: 213
Zeichen: 1
Code: 0
URI:
http://christian:8080/webseed.ui/jsp/propagation/propagations.jsf?convers...
Meldung: Objekt erwartet
Zeile: 217
Zeichen: 1
Code: 0
URI:
http://christian:8080/webseed.ui/jsp/propagation/propagations.jsf?convers...
Meldung: Objekt erwartet
Zeile: 221
Zeichen: 1
Code: 0
URI:
http://christian:8080/webseed.ui/jsp/propagation/propagations.jsf?convers...
Meldung: Objekt erwartet
Zeile: 225
Zeichen: 1
Code: 0
URI:
http://christian:8080/webseed.ui/jsp/propagation/propagations.jsf?convers...
{noformat}
A couple of javascripts of richfaces components (ie. autocomplete.js) are rendered before
the jquery script in the DOM. The autocomplete component works then no longer in IE8.
It then looks like this:
{noformat}
<link rel="stylesheet" type="text/css"
href="/webseed.ui/javax.faces.resource/print.css.jsf?ln=styles.print"
media="print" /><script type="text/javascript"
src="/webseed.ui/javax.faces.resource/richfaces-utils.js.jsf?conversationContext=1"><!--
//--></script><script type="text/javascript"
src="/webseed.ui/javax.faces.resource/richfaces-selection.js.jsf?conversationContext=1"><!--
//--></script><script type="text/javascript"
src="/webseed.ui/javax.faces.resource/AutocompleteBase.js.jsf?ln=org.richfaces&conversationContext=1"><!--
//--></script><script type="text/javascript"
src="/webseed.ui/javax.faces.resource/Autocomplete.js.jsf?ln=org.richfaces&conversationContext=1"><!--
//--></script><link rel="stylesheet" media="screen"
type="text/css"
href="/webseed.ui/rfRes/Autocomplete.ecss.jsf?db=eAHrmrY!HgAFywI!&ln=org.richfaces&conversationContext=1"
/><script type="text/javascript"
src="/webseed.ui/javax.faces.resource/jsf.js.jsf?ln=javax.faces&stage=Development&conversationContext=1"><!--
//--></script><script type="text/javascript"
src="/webseed.ui/javax.faces.resource/jquery.js.jsf?conversationContext=1"><!--
//--></script><script type="text/javascript"
src="/webseed.ui/javax.faces.resource/richfaces.js.jsf?conversationContext=1"><!--
//--></script><script type="text/javascript"
src="/webseed.ui/javax.faces.resource/richfaces-queue.js.jsf?conversationContext=1">
{noformat}
The normal output looks like this. Comically affected are the scripts at the end to find.
Coincidence?
{noformat}
<link rel="stylesheet" type="text/css"
href="/webseed.ui/javax.faces.resource/print.css.jsf?ln=styles.print"
media="print" /><link rel="stylesheet" media="screen"
type="text/css"
href="/webseed.ui/javax.faces.resource/layout.css.jsf?ln=styles&conversationContext=1"
/><script type="text/javascript"
src="/webseed.ui/javax.faces.resource/jsf.js.jsf?ln=javax.faces&stage=Development&conversationContext=1"><!--
//--></script><script type="text/javascript"
src="/webseed.ui/javax.faces.resource/jquery.js.jsf?conversationContext=1"><!--
//--></script><script type="text/javascript"
src="/webseed.ui/javax.faces.resource/richfaces.js.jsf?conversationContext=1"><!--
//--></script><script type="text/javascript"
src="/webseed.ui/javax.faces.resource/richfaces-queue.js.jsf?conversationContext=1"><!--
//--></script><script type="text/javascript"
src="/webseed.ui/javax.faces.resource/richfaces-base-component.js.jsf?conversationContext=1"><!--
//--></script><script type="text/javascript"
src="/webseed.ui/javax.faces.resource/status.js.jsf?ln=org.richfaces&conversationContext=1"><!--
//--></script><script type="text/javascript"
src="/webseed.ui/javax.faces.resource/richfaces-event.js.jsf?conversationContext=1"><!--
//--></script><script type="text/javascript"
src="/webseed.ui/javax.faces.resource/popupPanel.js.jsf?ln=org.richfaces&conversationContext=1"><!--
//--></script><script type="text/javascript"
src="/webseed.ui/javax.faces.resource/popupPanelBorders.js.jsf?ln=org.richfaces&conversationContext=1"><!--
//--></script><script type="text/javascript"
src="/webseed.ui/javax.faces.resource/popupPanelSizer.js.jsf?ln=org.richfaces&conversationContext=1"><!--
//--></script><link rel="stylesheet" media="screen"
type="text/css"
href="/webseed.ui/rfRes/popupPanel.ecss.jsf?db=eAHrmrY!HgAFywI!&ln=org.richfaces&conversationContext=1"
/><script type="text/javascript"
src="/webseed.ui/javax.faces.resource/component-control.js.jsf?ln=org.richfaces&conversationContext=1"><!--
//--></script><script type="text/javascript"
src="/webseed.ui/javax.faces.resource/togglePanel.js.jsf?ln=org.richfaces&conversationContext=1"><!--
//--></script><script type="text/javascript"
src="/webseed.ui/javax.faces.resource/tabPanel.js.jsf?ln=org.richfaces&conversationContext=1"><!--
//--></script><link rel="stylesheet" media="screen"
type="text/css"
href="/webseed.ui/rfRes/tabPanel.ecss.jsf?db=eAHrmrY!HgAFywI!&ln=org.richfaces&conversationContext=1"
/><script type="text/javascript"
src="/webseed.ui/javax.faces.resource/togglePanelItem.js.jsf?ln=org.richfaces&conversationContext=1"><!--
//--></script><script type="text/javascript"
src="/webseed.ui/javax.faces.resource/tab.js.jsf?ln=org.richfaces&conversationContext=1"><!--
//--></script><script type="text/javascript"
src="/webseed.ui/javax.faces.resource/poll.js.jsf?ln=org.richfaces&conversationContext=1"><!--
//--></script><script type="text/javascript"
src="/webseed.ui/javax.faces.resource/toolbar.js.jsf?ln=org.richfaces&conversationContext=1"><!--
//--></script><link rel="stylesheet" media="screen"
type="text/css"
href="/webseed.ui/rfRes/toolbar.ecss.jsf?db=eAHrmrY!HgAFywI!&ln=org.richfaces&conversationContext=1"
/><script type="text/javascript"
src="/webseed.ui/javax.faces.resource/jquery.position.js.jsf?conversationContext=1"><!--
//--></script><script type="text/javascript"
src="/webseed.ui/javax.faces.resource/popup.js.jsf?ln=org.richfaces&conversationContext=1"><!--
//--></script><script type="text/javascript"
src="/webseed.ui/javax.faces.resource/menuKeyNavigation.js.jsf?ln=org.richfaces&conversationContext=1"><!--
//--></script><script type="text/javascript"
src="/webseed.ui/javax.faces.resource/menu-base.js.jsf?ln=org.richfaces&conversationContext=1"><!--
//--></script><script type="text/javascript"
src="/webseed.ui/javax.faces.resource/menu.js.jsf?ln=org.richfaces&conversationContext=1"><!--
//--></script><link rel="stylesheet" media="screen"
type="text/css"
href="/webseed.ui/rfRes/dropdownmenu.ecss.jsf?db=eAHrmrY!HgAFywI!&ln=org.richfaces&conversationContext=1"
/><script type="text/javascript"
src="/webseed.ui/javax.faces.resource/menuitem.js.jsf?ln=org.richfaces&conversationContext=1"><!--
//--></script><script type="text/javascript"
src="/webseed.ui/javax.faces.resource/message.js.jsf?ln=org.richfaces&conversationContext=1"><!--
//--></script><link rel="stylesheet" media="screen"
type="text/css"
href="/webseed.ui/rfRes/msg.ecss.jsf?db=eAHrmrY!HgAFywI!&ln=org.richfaces&conversationContext=1"
/><script type="text/javascript"
src="/webseed.ui/javax.faces.resource/jquery.hotkeys.js.jsf?ln=org.richfaces&conversationContext=1"><!--
//--></script><script type="text/javascript"
src="/webseed.ui/javax.faces.resource/hotkey.js.jsf?ln=org.richfaces&conversationContext=1"><!--
//--></script><script type="text/javascript"
src="/webseed.ui/javax.faces.resource/collapsiblePanel.js.jsf?ln=org.richfaces&conversationContext=1"><!--
//--></script><script type="text/javascript"
src="/webseed.ui/javax.faces.resource/collapsiblePanelItem.js.jsf?ln=org.richfaces&conversationContext=1"><!--
//--></script><link rel="stylesheet" media="screen"
type="text/css"
href="/webseed.ui/rfRes/icons.ecss.jsf?db=eAHrmrY!HgAFywI!&ln=org.richfaces&conversationContext=1"
/><link rel="stylesheet" media="screen"
type="text/css"
href="/webseed.ui/rfRes/collapsiblePanel.ecss.jsf?db=eAHrmrY!HgAFywI!&ln=org.richfaces&conversationContext=1"
/><link rel="stylesheet" media="screen"
type="text/css"
href="/webseed.ui/rfRes/panel.ecss.jsf?db=eAHrmrY!HgAFywI!&ln=org.richfaces&conversationContext=1"
/><script type="text/javascript"
src="/webseed.ui/javax.faces.resource/datatable.js.jsf?ln=org.richfaces&conversationContext=1"><!--
//--></script><link rel="stylesheet" media="screen"
type="text/css"
href="/webseed.ui/rfRes/datatable.ecss.jsf?db=eAHrmrY!HgAFywI!&ln=org.richfaces&conversationContext=1"
/><script type="text/javascript"
src="/webseed.ui/javax.faces.resource/tooltip.js.jsf?ln=org.richfaces&conversationContext=1"><!--
//--></script><link rel="stylesheet" media="screen"
type="text/css"
href="/webseed.ui/rfRes/tooltip.ecss.jsf?db=eAHrmrY!HgAFywI!&ln=org.richfaces&conversationContext=1"
/><script type="text/javascript"
src="/webseed.ui/javax.faces.resource/datascroller.js.jsf?ln=org.richfaces&conversationContext=1"><!--
//--></script><link rel="stylesheet" media="screen"
type="text/css"
href="/webseed.ui/rfRes/datascroller.ecss.jsf?db=eAHrmrY!HgAFywI!&ln=org.richfaces&conversationContext=1"
/><link rel="stylesheet" media="screen"
type="text/css"
href="/webseed.ui/rfRes/list.ecss.jsf?db=eAHrmrY!HgAFywI!&ln=org.richfaces&conversationContext=1"
/><script type="text/javascript"
src="/webseed.ui/javax.faces.resource/richfaces-utils.js.jsf?conversationContext=1"><!--
//--></script><script type="text/javascript"
src="/webseed.ui/javax.faces.resource/richfaces-selection.js.jsf?conversationContext=1"><!--
//--></script><script type="text/javascript"
src="/webseed.ui/javax.faces.resource/AutocompleteBase.js.jsf?ln=org.richfaces&conversationContext=1"><!--
//--></script><script type="text/javascript"
src="/webseed.ui/javax.faces.resource/Autocomplete.js.jsf?ln=org.richfaces&conversationContext=1"><!--
//--></script>
{noformat}
Nice greetings,
Christian
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see:
http://www.atlassian.com/software/jira