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

Reply via email to