Friday, August 28, 2015

test

    @Autowired
    public BasicDetailsServiceImpl(CommonService commonService) {
        this.commonService = commonService;       
    }

    @PostConstruct
    private void postConstruct() {
        // Initialise the ESB endpoints with the configured endpoint
        LOG.info(String.format("Initialising ESB endpoints [%s]", BasicDetailsConstants.RBEI_HRM_ESB_ENDPOINT));
       
        // Enable or disable stubbing of the ESB
        LOG.info(String.format("%s stubbing...", BasicDetailsConstants.RBEI_HRM_ESB_IS_STUBBED ? "Enabling" : "Disabling"));
       
    }

    //Method used to poulate the Dropdowns data and some pre populated text field data
    @Override
    public void initialiseForm(RequestContext requestContext, PortletRequest portletRequest) {
        LOG.debug("Entering initialiseForm" );
 
        //Autopopulate Drop down Data
        requestContext.getFlowScope().put("getTitlesStubData", getTitlesStubData());
        requestContext.getFlowScope().put("getGendersStubData", getGendersStubData());
        requestContext.getFlowScope().put("getCountriesOfBirthStubData", getCountriesOfBirthStubData());
        requestContext.getFlowScope().put("getEthnicOriginsStubData", getEthnicOriginsStubData());
        requestContext.getFlowScope().put("getNationalitiesStubData", getNationalitiesStubData());
        requestContext.getFlowScope().put("getMaritalStatusesStubData", getMaritalStatusesStubData());
       
        //Prepopulate Field Data
        BasicModel model = (BasicModel)requestContext.getFlowScope().get("BasicModel");
        if(model == null){
            model = new BasicModel();
        }
        model.setEmployeeId("AB1223344S");
        model.setHireDate("01-Jan-2000");
        model.setNiNumber("AB123456S");
        model.setDateOfBirth("12-Dec-1980");
        model.setBasicForm(new BasicDetailsForm());
        LOG.debug(String.format("Exiting initialiseForm"));
    }
   
    //Method used on Add form setting a new BasicDetailsForm   
    public BasicModel addForm(RequestContext requestContext,
            PortletRequest portletRequest) {
        LOG.debug("Entering addForm" );      
       
  // Get the form from the request if it exists, and if it doesn't, create it   
        BasicModel basicDetailsForm= (BasicModel)requestContext.getFlowScope().get("BasicModel");
        basicDetailsForm.setBasicForm(new BasicDetailsForm());  
        LOG.debug("Exiting addForm" );
        return basicDetailsForm;
    }
   
 //Method to Populate the Data for Edit Form & View Form
    public void populateForm(RequestContext requestContext,
            PortletRequest portletRequest){
        LOG.debug("Entring populateForm" );
        BasicModel basicModel = (BasicModel)requestContext.getFlowScope().get("BasicModel");
        basicModel.setBasicForm(new BasicDetailsForm());
        basicModel.setBasicForm(getBasicDetailsStubData());
        LOG.debug("Exiting populateForm" );   
    }
   
   
    //Method having stub data for titles dropown
    private Map<String, String> getTitlesStubData() {
        Map<String, String> options = new HashMap<String, String>();
        options.put("Doctor", "Doctor");
        options.put("Professor", "Professor");
        options.put("Mrs", "Mrs");
        options.put("Miss", "Miss");
        options.put("Mr", "Mr");
        return options;
    }  
   
  //Method having stub data for Marital Status dropown
    private Map<String, String> getMaritalStatusesStubData() {
        Map<String, String> options = new HashMap<String, String>();
        options.put("Separated", "Separated");
        options.put("Divorced", "Divorced");
        options.put("Single", "Single");
        options.put("Widowed", "Widowed");
        options.put("Married", "Married");
        return options;
    }
  
  //Method having stub data for Gender  dropown
    private Map<String, String> getGendersStubData() {
        Map<String, String> options = new HashMap<String, String>();
        options.put("Transgender", "Transgender");
        options.put("Female", "Female");
        options.put("Male", "Male");
        return options;
    }
   
  //Method having stub data for Countries Of Birth  dropown
    private Map<String, String> getCountriesOfBirthStubData() {
        Map<String, String> options = new HashMap<String, String>();
       
        options.put("United Kingdom", "United Kingdom");
        options.put("USA", "USA");
        return options;
    } 

  //Method having stub data for Ethnic Origins dropown
    private Map<String, String> getEthnicOriginsStubData() {
        Map<String, String> options = new HashMap<String, String>();
        options.put("White British", "White British");
        options.put("White Other", "White Other");
        options.put("Asian", "Asian");       
        options.put("Black Other", "Black Other");
        return options;
    } 
  
  //Method having stub data for Nationalities dropown
    private Map<String, String> getNationalitiesStubData() {
        Map<String, String> options = new HashMap<String, String>();
        options.put("British", "British");
        options.put("American", "American");
        return options;
    }
   
    //StubData that is used to display data on VIEW Page
    private BasicDetailsForm getBasicDetailsStubData() {
        BasicDetailsForm basicDetails = new BasicDetailsForm();
        basicDetails.setCountryOfBirth("GB");
        basicDetails.setEffectiveDate("02-Jul-2015");
        basicDetails.setEthnicOrigin("WHB");
        basicDetails.setFirstName("Emily");
        basicDetails.setGender("F");
        basicDetails.setLastName("Clark");
        basicDetails.setMaidenName("Doran");
        basicDetails.setMaritalStatus("D");
        basicDetails.setMiddleName("Alice");
        basicDetails.setNationality("GB");
        basicDetails.setPreferredName("Em");
        basicDetails.setPreviousLastName("Doran");
        basicDetails.setTitle("MISS");
        basicDetails.setWorkEmailAddress("rachel@de.rbei.com");
        basicDetails.setTitle("Mr");
        basicDetails.setMaritalStatus("Married");
        basicDetails.setGender("Male");
        basicDetails.setCountryOfBirth("USA");
        basicDetails.setEthnicOrigin("Asian");
        basicDetails.setNationality("American");
        return basicDetails;
    }  
   
    /**
     * Put all the LoV data into the flow scope for populating the select lists
     */
  
    // Validation method for field validations on Add and Edit
    @Override
    public boolean validateForm(RequestContext requestContext, PortletRequest portletRequest) {
        LOG.debug("Entring validateForm" );

        BasicModel basicModel = (BasicModel)requestContext.getFlowScope().get("BasicModel");
       
        boolean hasError = false;

        // Perform field validation
        // effectiveDate;
        if (!ValidationUtil.validateDateFormat(basicModel.getBasicForm().getEffectiveDate(), true)) {
            commonService.addErrorMessage(EFFECTIVE_DATE_ID, "Invalid effective date", requestContext);
            hasError = true;
        }

        // title;
        System.out.println("Title Data: "+basicModel.getBasicForm().getTitle());
        if (!ValidationUtil.validateExistsInLoV(getTitlesStubData(), basicModel.getBasicForm().getTitle(), true)) {
            commonService.addErrorMessage(TITLE_ID, "Invalid title", requestContext);
            hasError = true;
        }

        // lastName;
        // TODO validation rules if we get them
        if (StringUtils.isEmpty(basicModel.getBasicForm().getLastName())) {
            commonService.addErrorMessage(LAST_NAME_ID, "Invalid last name", requestContext);
            hasError = true;
        }
       
        // maritalStatus;
        if (!ValidationUtil.validateExistsInLoV(getMaritalStatusesStubData(), basicModel.getBasicForm().getMaritalStatus(), true)) {
            commonService.addErrorMessage(MARITAL_STATUS_ID, "Invalid marital status", requestContext);
            hasError = true;
        }
       
        // gender;
        if (!ValidationUtil.validateExistsInLoV(getGendersStubData(), basicModel.getBasicForm().getGender(), true)) {
            commonService.addErrorMessage(GENDER_ID, "Invalid gender", requestContext);
            hasError = true;
        }

        // countryOfBirth;
        if (!ValidationUtil.validateExistsInLoV(getCountriesOfBirthStubData(), basicModel.getBasicForm().getCountryOfBirth(), true)) {
            commonService.addErrorMessage(COUNTRY_OF_BIRTH_ID, "Invalid country of birth", requestContext);
            hasError = true;
        }

        // ethnicOrigin;
        if (!ValidationUtil.validateExistsInLoV(getEthnicOriginsStubData(), basicModel.getBasicForm().getEthnicOrigin(), true)) {
            commonService.addErrorMessage(ETHNIC_ORIGIN_ID, "Invalid ethnic origin", requestContext);
            hasError = true;
        }

        // nationality;
        if (!ValidationUtil.validateExistsInLoV(getNationalitiesStubData(), basicModel.getBasicForm().getNationality(), true)) {
            commonService.addErrorMessage(NATIONALITY_ID, "Invalid nationality", requestContext);
            hasError = true;
        }
        LOG.debug("Exiting validateForm" );
        return !hasError;
    }

    @Override
    public boolean submitForm(RequestContext requestContext, PortletRequest portletRequest) {

      return true;
    }
   
}

No comments:

Post a Comment