[jboss-user] [JBoss Seam] - Trouble with my Business Prosse scoped Data

harpritt do-not-reply at jboss.com
Sun Jul 15 16:12:34 EDT 2007


Hi everyone

... im drowning again

2 weeks into SEAM and im loving it....but im find this problem a bit much for me, any help is appreciated.

Ive basically taken the "ticketing" example and moded it for my change request system. 

i use the @Create to populate my changerequest object by using the changeRequestId that i have bound to the business scope.... only problem is that changeRequestId is never anything but null..... im really stuck and am in noob hell






  | 
  | 
  | @Stateful
  | @Name("ticketSystem")
  | @Conversational
  | public class TicketSystemAction implements TicketSystem {
  | 
  |     @In(required = false)
  |     @Out(required = false)
  |     ChangeRequest changerequest;
  | 
  |  
  |     @In(required = false)
  |     @Out(scope = BUSINESS_PROCESS, required = false)
  |     String changeRequestId;
  | 
  |     @In(required = false)
  |     GsmsMetaData gsmsMetaData;
  | 
  |     @In(required = false)
  |     NewGSMSData newGsmsData;
  | 
  |     @In(required = false)
  |     RequestState requestState;
  | 
  |     @In(required = false)
  |     RequestReference requestReference;
  | 
  |     @In
  |     User user;
  | 
  |     @Create
  |     public void getChangeRequestId() {
  |         if (changerequest == null) {
  |              changerequest = getChangeRequestDAO().findCrById(Integer.parseInt(changeRequestId));
  |         }
  |     }
  | 
  |     @Begin
  |     public String newTicket() {
  |         if (changerequest.getCrAction().equals("EDIT")) {
  |             return "editdoc";
  |         }
  |         if (changerequest.getCrAction().equals("NEW")) {
  |             return "newdoc";
  |         }
  |         if (changerequest.getCrAction().equals("MOVE")) {
  |             return "movedoc";
  |         }
  |         if (changerequest.getCrAction().equals("DELETE")) {
  |             return "deletedoc";
  |         }
  |         if (changerequest.getCrAction().equals("OTHER")) {
  |             return "other";
  |         }
  |         //throw exception
  |         return "home";
  |     }
  | 
  |     @End
  |     @CreateProcess(definition = "changerequestprocess")
  |     public String submitTicket() {
  | 
  |         // here is what we take what we have from the client and turn it into a change request
  | 
  |         //Need to persist the request ref before we create the CR.
  |         if (requestReference == null) {
  |             requestReference = new RequestReference();
  |             requestReference.setReferenceId("IDREQUIRED");
  |             getChangeRequestDAO().saveReqRef(requestReference);
  |         } else {
  |             getChangeRequestDAO().saveReqRef(requestReference);
  |         }
  | 
  | 
  |         StateFileAttachment fileAtt = new StateFileAttachment();
  | 
  |         //TODO GET PRINCIPLE
  |         changerequest.setCrEditor(user.getUsername());
  |         changerequest.setCrApprover("Barrie");
  | 
  |         //This will be defined later when amaniel takes the change request
  |         //and adds it to his tasklist
  |         //changerequest.setCrProcessor("Amaniel");
  | 
  |         //crs1.setCrReason("Hate the content");
  |         //crs1.setCrTargetAudience("everyone");
  |         //crs1.setCrTargetAudienceReviewalUrgency("not really");
  |         //crs1.setCrAction("EDIT");
  | 
  |         changerequest.getRequestStates().add(requestState);
  | 
  |         //reqState.setReqStateDetail("Change this to that");
  |         java.util.Date today = new java.util.Date();
  |         requestState.setReqStateTimestamp(new java.sql.Timestamp(today.getTime()));
  | 
  |         //TODO
  |         requestState.setReqStateEditor(user.getUsername());
  |         requestState.setChngRequest(changerequest);
  |         requestState.getReqStateFileAttachments().add(fileAtt);
  |         requestState.getNewData().put(newGsmsData.getReqReference(), newGsmsData);
  |         requestState.setReqStateType(StateType.SUBMITTED);
  | 
  |         newGsmsData.setReqReference(getChangeRequestDAO().findReqRefByReferenceId(requestReference.getReferenceId()));
  |         newGsmsData.setReqState(requestState);
  |         newGsmsData.getDocumentMetaData().put("keywords", gsmsMetaData.getDataValue());
  | 
  |         fileAtt.setFileAttName("Name");
  |         fileAtt.setFileAttPath("Path");
  |         fileAtt.setReqState(requestState);
  | 
  | 
  |         changeRequestId = getChangeRequestDAO().saveCr(changerequest) + "";
  | 
  | 
  |         return "home";
  |     }
  | 
  | .......... More and more
  | 


PS is it ok for a class to work in both business and conversational contexts?

Many Many Many Thanks

Lasard..... police academy




View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4064353#4064353

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4064353



More information about the jboss-user mailing list