Trouble with my Business Prosse scoped Data
harpritt Jul 15, 2007 4:12 PMHi 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