Certainly... Here's the two most relevant snippets, let me know if there's
something else that would be helpful...
|
| @Name("eTDocumentEditor")
| @Stateful
| @SerializedConcurrentAccess
| @Interceptors(SeamInterceptor.class)
| public class ETDocumentEditorBean implements ETDocumentEditor {
|
| @In(create = true)
| private EntityManager entityManager;
|
| @Valid
| private ETDocument instance = new ETDocument();
|
| private boolean startConv = true;
|
| @DataModel
| private List<ETContact> contactList;
|
| @DataModelSelection
| private ETContact selectedETContact;
|
| @In(create = true)
| private ETContactEditor eTContactEditor;
|
| @In(create = false, required = false)
| private ETContactFinder eTContactFinder;
|
| private boolean isNew = true;
|
| private boolean isChild = true;
|
| private String doneOutcome = "find";
|
| private String doneChildOutcome = "doneChild";
|
| @In(required = false)
| private transient ETDocumentFinder eTDocumentFinder;
|
| @In(create = true)
| private transient ResourceBundle resourceBundle;
|
| @TransactionAttribute(NOT_SUPPORTED)
| public ETDocument getInstance() {
| return instance;
| }
|
| @TransactionAttribute(NOT_SUPPORTED)
| public void setInstance(ETDocument instance) {
| this.instance = instance;
|
| }
|
| @TransactionAttribute(NOT_SUPPORTED)
| public boolean isNew() {
| return isNew;
| }
|
| public void setNew(boolean isNew) {
| this.isNew = isNew;
| }
|
| @TransactionAttribute(NOT_SUPPORTED)
| public boolean isChild() {
| return isChild;
| }
|
| @TransactionAttribute(NOT_SUPPORTED)
| public void setChild(boolean isChild) {
| this.isChild = isChild;
| }
|
| @TransactionAttribute(NOT_SUPPORTED)
| public void setDoneOutcome(String outcome) {
| doneOutcome = outcome;
| }
|
| @TransactionAttribute(NOT_SUPPORTED)
| public void setDoneChildOutcome(String outcome) {
| doneChildOutcome = outcome;
| }
|
| public String create() {
| if (entityManager.find(ETMaster.class, instance.getPartkey())
== null ) {
| FacesContext.getCurrentInstance().addMessage(
| null,
| new FacesMessage("This violates a
constraint!"));
| FacesContext.getCurrentInstance().addMessage(
| null,
| new FacesMessage("There is no
EiTradeMaster record with a primary key of " +
| instance.getPartkey()));
| return null;
| }
|
| entityManager.persist(instance);
| isNew = false;
| refreshFinder();
| return null;
| }
|
| @End(ifOutcome = {"find", "doneChild"})
| public String update() {
| refreshFinder();
| return isChild ? doneChildOutcome : doneOutcome;
| }
|
| @End(ifOutcome = {"find", "doneChild"})
| public String delete() {
| entityManager.remove(instance);
| entityManager.flush();
| refreshFinder();
| return isChild ? doneChildOutcome : doneOutcome;
| }
|
| @Begin(nested=true)
| public String updateAndCreateChild() {
| eTContactEditor.setInstance(new ETContact());
| eTContactEditor.setDocConInstance(new ETDocContact(
| new ETDocContactId(instance.getDocId(), null)));
| eTContactEditor.setNew(true);
| eTContactEditor.setChild(true);
| refreshFinder();
| return "child";
| }
|
| @End(ifOutcome = {"find", "doneChild"})
| public String done() {
|
| if (!isNew)
| entityManager.refresh(instance);
| return isChild ? doneChildOutcome : doneOutcome;
| }
|
| @Begin(nested=true)
| public String selectContact() {
| eTContactEditor.setInstance(selectedETContact);
|
eTContactEditor.setDocConInstance(entityManager.find(ETDocContact.class,
| new ETDocContactId(instance.getDocId(),
selectedETContact.getContactkey())));
| eTContactEditor.setNew(false);
| eTContactEditor.setChild(true);
|
| return "editEiTradeContact";
| }
|
| @TransactionAttribute(NOT_SUPPORTED)
| public String reorderChildren() {
| eTContactFinder.setDocumentKey(instance.getDocId());
| eTDocumentFinder.reorder();
| return null;
| }
|
| @TransactionAttribute(NOT_SUPPORTED)
| public String findChildren() {
| contactList = instance.getContacts();
| return null;
| }
|
| public List<ETContact> getContactList() {
| return contactList;
| }
|
| private void refreshFinder() {
| if (eTDocumentFinder != null) {
| eTDocumentFinder.refresh();
| }
| }
|
| @Destroy
| @Remove
| public void destroy() {
| }
|
| public ETContactFinder getETContactFinder() {
| return eTContactFinder;
| }
|
| public void setETContactFinder(ETContactFinder contactFinder) {
| eTContactFinder = contactFinder;
| }
|
| public void setContactList(List<ETContact> contactList) {
| this.contactList = contactList;
| }
|
| }
| ...
|
|
|
| editEiTradeDocument:
|
| <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
| <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
| <%@ taglib uri="http://javascript4jsf.dev.java.net/" prefix="j4j" %>
| <%@ taglib uri="http://jboss.com/products/seam/taglib" prefix="s" %>
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
| <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
| <f:view>
| <f:loadBundle basename="messages" var="msg"/>
| <head>
| <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"
/>
| <meta http-equiv="Content-Script-Type" content="text/javascript" />
| <title>
| <h:outputText value="#{msg.Create} #{msg.EiTradeDocument}"
rendered="#{eTDocumentEditor.new}"/>
| <h:outputText value="#{msg.Update}/#{msg.Delete}
#{msg.EiTradeDocument}" rendered="#{!eTDocumentEditor.new}"/>
| </title>
| <style type="text/css" media="all">
| @import "style/default/screen.css";
| </style>
| </head>
| <body>
| <h:form>
|
| <h1>
| <h:outputText value="#{msg.Create} #{msg.EiTradeDocument}"
rendered="#{eTDocumentEditor.new}"/>
| <h:outputText value="#{msg.Update}/#{msg.Delete}
#{msg.EiTradeDocument}" rendered="#{!eTDocumentEditor.new}"/>
| </h1>
|
| <div class="rvgSwitch">
| <h:selectOneMenu value="#{switcher.conversationIdOrOutcome}">
| <f:selectItem itemLabel="Create EiTradeDocument"
itemValue="editEiTradeDocument"/>
| <f:selectItem itemLabel="Create EiTradeContact"
itemValue="editEiTradeContact"/>
| <f:selectItem itemLabel="Create EiTradeMaster"
itemValue="editEiTradeMaster"/>
| <f:selectItem itemLabel="Create EiTradeUomXref"
itemValue="editEiTradeUomXref"/>
| <f:selectItem itemLabel="Find EiTradeDocument"
itemValue="findEiTradeDocument"/>
| <f:selectItem itemLabel="Find EiTradeContact"
itemValue="findEiTradeContact"/>
| <f:selectItem itemLabel="Find EiTradeMaster"
itemValue="findEiTradeMaster"/>
| <f:selectItem itemLabel="Find EiTradeUomXref"
itemValue="findEiTradeUomXref"/>
| <f:selectItems value="#{switcher.selectItems}"/>
| </h:selectOneMenu>
| <h:commandButton action="#{switcher.select}" value="Switch"/>
| </div>
|
| <div class="rvgChildren">
| <fieldset class="rvgFieldSet">
| <legend><h:outputText value="#{msg.EiTradeDocument}
#{msg.Attributes}"/></legend>
|
| <span class="rvgInputs">
| <span class="rvgMessage"><h:messages globalOnly="true"/></span>
| <s:validateAll>
| <h:panelGrid columns="4" headerClass="rvgInputs">
| <h:outputLabel value="#{msg.EiTradeDocument_documentkey}"
for="docId">
| <h:inputText value="#{eTDocumentEditor.instance.docId}"
id="docId" disabled="true"/>
| <span class="rvgMessage"><h:message for="docId"/></span>
| </h:outputLabel>
| <h:outputLabel value="#{msg.EiTradeDocument_isaidkey}"
for="isaidkey">
| <h:inputText value="#{eTDocumentEditor.instance.isaidkey}"
id="isaidkey" disabled="#{eTDocumentEditor.child}" required="true"/>
| <span class="rvgMessage"><h:message for="isaidkey"/></span>
| </h:outputLabel>
| <h:outputLabel value="#{msg.EiTradeDocument_partkey}"
for="partkey">
| <h:inputText value="#{eTDocumentEditor.instance.partkey}"
id="partkey" disabled="#{eTDocumentEditor.child}" required="true"/>
| <span class="rvgMessage"><h:message for="partkey"/></span>
| </h:outputLabel>
| <h:outputLabel value="#{msg.EiTradeDocument_tsetid}" for="tsetid">
| <h:inputText value="#{eTDocumentEditor.instance.tsetid}"
id="tsetid" required="true"/>
| <span class="rvgMessage"><h:message for="tsetid"/></span>
| </h:outputLabel>
| <h:outputLabel value="#{msg.EiTradeDocument_direction}"
for="direction">
| <h:inputText value="#{eTDocumentEditor.instance.direction}"
id="direction" required="true"/>
| <span class="rvgMessage"><h:message for="direction"/></span>
| </h:outputLabel>
| <h:outputLabel value="#{msg.EiTradeDocument_partnerGsId}"
for="partnerGsId">
| <h:inputText value="#{eTDocumentEditor.instance.partnerGsId}"
id="partnerGsId"/>
| <span class="rvgMessage"><h:message for="partnerGsId"/></span>
| </h:outputLabel>
| <h:outputLabel value="#{msg.EiTradeDocument_burrisGsId}"
for="burrisGsId">
| <h:inputText value="#{eTDocumentEditor.instance.burrisGsId}"
id="burrisGsId"/>
| <span class="rvgMessage"><h:message for="burrisGsId"/></span>
| </h:outputLabel>
| <h:outputLabel value="#{msg.EiTradeDocument_loc}" for="loc">
| <h:inputText value="#{eTDocumentEditor.instance.loc}" id="loc"
required="true"/>
| <span class="rvgMessage"><h:message for="loc"/></span>
| </h:outputLabel>
| <h:outputLabel value="#{msg.EiTradeDocument_ediset}" for="ediset">
| <h:inputText value="#{eTDocumentEditor.instance.ediset}"
id="ediset" required="true"/>
| <span class="rvgMessage"><h:message for="ediset"/></span>
| </h:outputLabel>
| <h:outputLabel value="#{msg.EiTradeDocument_rptid}" for="rptid">
| <h:inputText value="#{eTDocumentEditor.instance.rptid}"
id="rptid"/>
| <span class="rvgMessage"><h:message for="rptid"/></span>
| </h:outputLabel>
| <h:outputLabel value="#{msg.EiTradeDocument_tstprod}"
for="tstprod">
| <h:inputText value="#{eTDocumentEditor.instance.tstprod}"
id="tstprod" required="true"/>
| <span class="rvgMessage"><h:message for="tstprod"/></span>
| </h:outputLabel>
| <h:outputLabel value="#{msg.EiTradeDocument_billto}" for="billto">
| <h:inputText value="#{eTDocumentEditor.instance.billto}"
id="billto"/>
| <span class="rvgMessage"><h:message for="billto"/></span>
| </h:outputLabel>
| <h:outputLabel value="#{msg.EiTradeDocument_chrgcode}"
for="chrgcode">
| <h:inputText value="#{eTDocumentEditor.instance.chrgcode}"
id="chrgcode"/>
| <span class="rvgMessage"><h:message for="chrgcode"/></span>
| </h:outputLabel>
| </h:panelGrid>
| </s:validateAll>
| </span>
|
| <span class="rvgActions">
| <h:commandButton type="submit" value="#{msg.Create}"
action="#{eTDocumentEditor.create}" rendered="#{eTDocumentEditor.new}"
accesskey="c"><j4j:defaultAction/> </h:commandButton>
| <h:commandButton type="submit" value="#{msg.Update}"
action="#{eTDocumentEditor.update}" rendered="#{!eTDocumentEditor.new}"
accesskey="u"><j4j:defaultAction/> </h:commandButton>
| <h:commandButton type="submit" value="#{msg.Delete}"
action="#{eTDocumentEditor.delete}" rendered="#{!eTDocumentEditor.new}"
accesskey="d"/>
| <h:commandButton type="submit" value="#{msg.Done}"
action="#{eTDocumentEditor.done}" immediate="true" accesskey="e"/>
| <h:commandButton type="submit" value="#{msg.SaveAndCreate}
#{msg.EiTradeContact}" action="#{eTDocumentEditor.updateAndCreateChild}"
accesskey="s" rendered="#{!eTDocumentEditor.new}"/>
|
| </span>
|
| </fieldset>
| </div>
|
| <div class="rvgChildren">
|
| <h2>
| <h:outputText value="Associated Contacts" rendered="true"/>
| </h2>
|
| <div class="rvgChildren">
| <h:outputText value="#{msg.No} #{msg.EiTradeContact}
#{msg.MatchedSearchCriteria}" rendered="#{!eTDocumentEditor.hasContacts"/>
|
| <h:dataTable value="#{eTDocumentEditor.contactList}" var="eTContact"
rendered="true"
| rowClasses="rvgRowOne,rvgRowTwo" headerClass="rvgOrder">
| <h:column>
| <f:facet name="header">
| <h:commandLink
value="#{msg.EiTradeContact_contactkey}">
| <f:param name="orderBy" value="contactkey"/>
| </h:commandLink>
| </f:facet>
| <h:outputText value="#{eTContact.contactkey}"/>
| </h:column>
| <h:column>
| <f:facet name="header">
| <h:commandLink value="#{msg.EiTradeContact_name}">
| <f:param name="orderBy" value="name"/>
| </h:commandLink>
| </f:facet>
| <h:outputText value="#{eTContact.name}"/>
| </h:column>
| <h:column>
| <f:facet name="header">
| <h:commandLink value="#{msg.EiTradeContact_atten}">
| <f:param name="orderBy" value="atten"/>
| </h:commandLink>
| </f:facet>
| <h:outputText value="#{eTContact.atten}"/>
| </h:column>
| <h:column>
| <f:facet name="header">
| <h:commandLink value="#{msg.EiTradeContact_addr1}">
| <f:param name="orderBy" value="addr1"/>
| </h:commandLink>
| </f:facet>
| <h:outputText value="#{eTContact.addr1}"/>
| </h:column>
| <h:column>
| <f:facet name="header">
| <h:commandLink value="#{msg.EiTradeContact_addr2}">
| <f:param name="orderBy" value="addr2"/>
| </h:commandLink>
| </f:facet>
| <h:outputText value="#{eTContact.addr2}"/>
| </h:column>
| <h:column>
| <f:facet name="header">
| <h:commandLink value="#{msg.EiTradeContact_addr3}">
| <f:param name="orderBy" value="addr3"/>
| </h:commandLink>
| </f:facet>
| <h:outputText value="#{eTContact.addr3}"/>
| </h:column>
| <h:column>
| <f:facet name="header">
| <h:commandLink value="#{msg.EiTradeContact_city}" >
| <f:param name="orderBy" value="city"/>
| </h:commandLink>
| </f:facet>
| <h:outputText value="#{eTContact.city}"/>
| </h:column>
| <h:column>
| <f:facet name="header">
| <h:commandLink value="#{msg.EiTradeContact_state}" >
| <f:param name="orderBy" value="state"/>
| </h:commandLink>
| </f:facet>
| <h:outputText value="#{eTContact.state}"/>
| </h:column>
| <h:column>
| <f:facet name="header">
| <h:commandLink value="#{msg.EiTradeContact_zip}" >
| <f:param name="orderBy" value="zip"/>
| </h:commandLink>
| </f:facet>
| <h:outputText value="#{eTContact.zip}"/>
| </h:column>
| <h:column>
| <f:facet name="header">
| <h:commandLink value="#{msg.EiTradeContact_phone}" >
| <f:param name="orderBy" value="phone"/>
| </h:commandLink>
| </f:facet>
| <h:outputText value="#{eTContact.phone}"/>
| </h:column>
| <h:column>
| <f:facet name="header">
| <h:commandLink value="#{msg.EiTradeContact_cell}" >
| <f:param name="orderBy" value="cell"/>
| </h:commandLink>
| </f:facet>
| <h:outputText value="#{eTContact.cell}"/>
| </h:column>
| <h:column>
| <f:facet name="header">
| <h:commandLink value="#{msg.EiTradeContact_email}" >
| <f:param name="orderBy" value="email"/>
| </h:commandLink>
| </f:facet>
| <h:outputText value="#{eTContact.email}"/>
| </h:column>
|
| <h:column>
| <f:facet name="header"><h:outputText
value="#{msg.Action}"/></f:facet>
| <h:commandButton
action="#{eTDocumentEditor.selectContact}"
value="#{eTContactSelector.buttonLabel}"/>
| </h:column>
| </h:dataTable>
| </div>
| </div>
|
|
| </h:form>
|
| </body>
| </f:view>
| </html>
|
|
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3993582#3993582
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3993582
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user