11 Replies Latest reply on Jul 9, 2007 7:24 AM by harpritt k

    @Factory annotation

    harpritt k Novice

      Hi

      Appologies if i use the wrong terms to descibe my current problem, im new to SEAM and im just about keeping my head above water

      I have 4 dropdown menus that i wish to populate with SelectItem Objects.

      I decided the best way (limited knowledge) was to use the @Factory annotation to define the 4 components in a Stateful Session.... and then retrieve them using the #{component1} etc in the drop downs.
      (my Stateful session bean contains 4 @Factory annotations)

      ... Problem is that only one of the components contains any data in the scope so the JSF page complains about requiring not null components.

      in the end i settled for standard accessors as below. Any advice as to where i was going wrong wiht the @Factory annotation would be very helpful. Many Thanks


      @Stateful
      @Name("GsmsCrManager")
      
      @Local(GsmsCrsManager.class)
      @Remote(GsmsCrsManager.class)
      
      
      public class GsmsCrManagerImpl {
      
      
       public SelectItem[] getCrReasons() {
       SelectItem[] crReasons = new SelectItem[7];
       crReasons[0] = new SelectItem("Correction of Error or Omission");
       crReasons[1] = new SelectItem("Clarification of Existing Content");
       crReasons[2] = new SelectItem("New Content");
       crReasons[3] = new SelectItem("Change in Operating Procedures");
       crReasons[4] = new SelectItem("Change in Regulations");
       crReasons[5] = new SelectItem("Change in Equipment");
       crReasons[6] = new SelectItem("Change in Organisation");
       return crReasons;
       }
      
       public SelectItem[] getCrActions() {
       SelectItem[] crActions = new SelectItem[5];
       crActions[0] = new SelectItem("Create a New document");
       crActions[1] = new SelectItem("Edit Existing document");
       crActions[2] = new SelectItem("Delete Existing document");
       crActions[3] = new SelectItem("Move Existing document");
       crActions[4] = new SelectItem("Request an action not covered by the above");
       return crActions;
       }
      
      
       public SelectItem[] getCrAudience() {
       SelectItem[] crAudience = new SelectItem[5];
       crAudience[0] = new SelectItem("Crew");
       crAudience[1] = new SelectItem("sdfsd");
       crAudience[2] = new SelectItem("asda");
       crAudience[3] = new SelectItem("asd
       crAudience[4] = new SelectItem("sdfgdsfg");
       return crAudience;
       }
      
      
       public SelectItem[] getCrAudienceReviewalUrgency() {
       SelectItem[] crAudienceReviewalUrgency = new SelectItem[5];
       crAudienceReviewalUrgency[0] = new SelectItem("High");
       crAudienceReviewalUrgency[1] = new SelectItem("Medium/High");
       crAudienceReviewalUrgency[2] = new SelectItem("Medium");
       crAudienceReviewalUrgency[3] = new SelectItem("Low/Medium");
       crAudienceReviewalUrgency[4] = new SelectItem("Low");
       return crAudienceReviewalUrgency;
       }
      
       @Destroy @Remove
       public void destroy(){
      
      }
      }