Example usage for org.springframework.web.servlet ModelAndView getModel

List of usage examples for org.springframework.web.servlet ModelAndView getModel

Introduction

In this page you can find the example usage for org.springframework.web.servlet ModelAndView getModel.

Prototype

public Map<String, Object> getModel() 

Source Link

Document

Return the model map.

Usage

From source file:org.openmrs.web.controller.ConceptFormControllerTest.java

/**
 * Test adding a concept with a preferred name, short name, description and synonyms.
 * /* w  ww  .  j  a  v  a 2 s .c om*/
 * @throws Exception
 */
@Test
public void shouldUpdateConceptWithNameAlreadyInSynonymList() throws Exception {
    final String EXPECTED_PREFERRED_NAME = "no such concept";
    final String EXPECTED_SHORT_NAME = "nonesuch";
    final String EXPECTED_DESCRIPTION = "this is not really a concept";
    final String EXPECTED_SYNONYM_A = "phantom";
    final String EXPECTED_SYNONYM_B = EXPECTED_PREFERRED_NAME;
    final String EXPECTED_SYNONYM_C = "mock";

    ConceptService cs = Context.getConceptService();

    // make sure the concept doesn't already exist
    Concept conceptToAdd = cs.getConceptByName(EXPECTED_PREFERRED_NAME);
    assertNull(conceptToAdd);

    ConceptFormController conceptFormController = (ConceptFormController) applicationContext
            .getBean("conceptForm");

    MockHttpServletRequest mockRequest = new MockHttpServletRequest();
    MockHttpServletResponse response = new MockHttpServletResponse();

    mockRequest.setMethod("POST");
    mockRequest.setParameter("action", "");
    mockRequest.setParameter("synonymsByLocale[en_GB][0].name", EXPECTED_SYNONYM_A);
    mockRequest.setParameter("synonymsByLocale[en_GB][1].name", EXPECTED_SYNONYM_B);
    mockRequest.setParameter("synonymsByLocale[en_GB][2].name", EXPECTED_SYNONYM_C);
    mockRequest.setParameter("shortNamesByLocale[en_GB].name", EXPECTED_SHORT_NAME);
    mockRequest.setParameter("descriptionsByLocale[en_GB].description", EXPECTED_DESCRIPTION);
    mockRequest.setParameter("namesByLocale[en_GB].name", EXPECTED_PREFERRED_NAME);
    mockRequest.setParameter("concept.datatype", "1");

    ModelAndView mav = conceptFormController.handleRequest(mockRequest, response);
    assertNotNull(mav);
    assertTrue(mav.getModel().isEmpty());

    Concept actualConcept = cs.getConceptByName(EXPECTED_PREFERRED_NAME);
    assertNotNull(actualConcept);
    Collection<ConceptName> actualNames = actualConcept.getNames();
    assertEquals(4, actualNames.size());
    assertEquals(EXPECTED_PREFERRED_NAME, actualConcept.getFullySpecifiedName(britishEn).getName());
    assertNotNull(actualConcept.getShortNameInLocale(britishEn));
    assertEquals(EXPECTED_SHORT_NAME, actualConcept.getShortNameInLocale(britishEn).getName());

}

From source file:org.openmrs.web.controller.ConceptFormControllerTest.java

/**
 * Test adding a concept with a preferred name, short name, description and synonyms.
 * //from   w ww  .  ja  v a2 s. c  o  m
 * @throws Exception
 */
@Test
public void shouldUpdateConceptWithShortNameAlreadyInSynonymList() throws Exception {
    final String EXPECTED_PREFERRED_NAME = "no such concept";
    final String EXPECTED_SHORT_NAME = "nonesuch";
    final String EXPECTED_DESCRIPTION = "this is not really a concept";
    final String EXPECTED_SYNONYM_A = "phantom";
    final String EXPECTED_SYNONYM_B = EXPECTED_SHORT_NAME;
    final String EXPECTED_SYNONYM_C = "mock";

    ConceptService cs = Context.getConceptService();

    // make sure the concept doesn't already exist
    Concept conceptToAdd = cs.getConceptByName(EXPECTED_PREFERRED_NAME);
    assertNull(conceptToAdd);

    ConceptFormController conceptFormController = (ConceptFormController) applicationContext
            .getBean("conceptForm");

    MockHttpServletRequest mockRequest = new MockHttpServletRequest();
    MockHttpServletResponse response = new MockHttpServletResponse();

    mockRequest.setMethod("POST");
    mockRequest.setParameter("action", "");
    mockRequest.setParameter("synonymsByLocale[en_GB][0].name", EXPECTED_SYNONYM_A);
    mockRequest.setParameter("synonymsByLocale[en_GB][1].name", EXPECTED_SYNONYM_B);
    mockRequest.setParameter("synonymsByLocale[en_GB][2].name", EXPECTED_SYNONYM_C);
    mockRequest.setParameter("shortNamesByLocale[en_GB].name", EXPECTED_SHORT_NAME);
    mockRequest.setParameter("descriptionsByLocale[en_GB].description", EXPECTED_DESCRIPTION);
    mockRequest.setParameter("namesByLocale[en_GB].name", EXPECTED_PREFERRED_NAME);
    mockRequest.setParameter("concept.datatype", "1");

    ModelAndView mav = conceptFormController.handleRequest(mockRequest, response);
    assertNotNull(mav);
    assertTrue(mav.getModel().isEmpty());

    Concept actualConcept = cs.getConceptByName(EXPECTED_PREFERRED_NAME);
    assertNotNull(actualConcept);
    Collection<ConceptName> actualNames = actualConcept.getNames();
    assertEquals(4, actualNames.size());
    assertEquals(EXPECTED_PREFERRED_NAME, actualConcept.getFullySpecifiedName(britishEn).getName());
    assertNotNull(actualConcept.getShortNameInLocale(britishEn));
    assertEquals(EXPECTED_SHORT_NAME, actualConcept.getShortNameInLocale(britishEn).getName());

}

From source file:org.openmrs.web.controller.ConceptFormControllerTest.java

/**
 * This tests removing a concept set/*from   w  w  w  .j ava2s  . c  o  m*/
 * 
 * @throws Exception
 */
@Test
public void shouldRemoveConceptSet() throws Exception {
    ConceptService cs = Context.getConceptService();

    ConceptFormController conceptFormController = (ConceptFormController) applicationContext
            .getBean("conceptForm");
    MockHttpServletRequest mockRequest = new MockHttpServletRequest();

    mockRequest.setMethod("POST");
    mockRequest.setParameter("action", "");
    mockRequest.setParameter("conceptId", "23");
    mockRequest.setParameter("namesByLocale[en_GB].name", "FOOD CONSTRUCT");
    mockRequest.setParameter("concept.datatype", "4");
    mockRequest.setParameter("concept.class", "10");
    mockRequest.setParameter("concept.conceptSets", "18 19");

    ModelAndView mav = conceptFormController.handleRequest(mockRequest, new MockHttpServletResponse());
    assertNotNull(mav);
    assertTrue(mav.getModel().isEmpty());

    Concept concept = cs.getConcept(23);
    assertNotNull(concept);
    assertEquals(2, concept.getConceptSets().size());
}

From source file:org.openmrs.web.controller.ConceptFormControllerTest.java

/**
 * This tests removing an answer//from  w  w  w .  j ava2 s.  c o  m
 * 
 * @throws Exception
 */
@Test
public void shouldRemoveConceptAnswer() throws Exception {
    ConceptService cs = Context.getConceptService();

    ConceptFormController conceptFormController = (ConceptFormController) applicationContext
            .getBean("conceptForm");
    MockHttpServletRequest mockRequest = new MockHttpServletRequest();

    mockRequest.setMethod("POST");
    mockRequest.setParameter("action", "");
    mockRequest.setParameter("conceptId", "21");
    mockRequest.setParameter("namesByLocale[en_GB].name", "FOOD ASSISTANCE FOR ENTIRE FAMILY");
    mockRequest.setParameter("concept.datatype", "2");
    mockRequest.setParameter("concept.class", "7");
    mockRequest.setParameter("concept.answers", "7 8");

    ModelAndView mav = conceptFormController.handleRequest(mockRequest, new MockHttpServletResponse());
    assertNotNull(mav);
    assertTrue(mav.getModel().isEmpty());

    Concept concept = cs.getConcept(21);
    assertNotNull(concept);
    assertEquals(2, concept.getAnswers(false).size());
}

From source file:org.openmrs.web.controller.ConceptFormControllerTest.java

/**
 * This test makes sure that all answers are deleted if the user changes this concept's datatype
 * to something other than "Coded"/*w  ww .j  a  va2  s .  c om*/
 * 
 * @throws Exception
 */
@Test
public void shouldRemoveConceptAnswersIfDatatypeChangedFromCoded() throws Exception {
    ConceptService cs = Context.getConceptService();

    ConceptFormController conceptFormController = (ConceptFormController) applicationContext
            .getBean("conceptForm");
    MockHttpServletRequest mockRequest = new MockHttpServletRequest();

    mockRequest.setMethod("POST");
    mockRequest.setParameter("action", "");
    mockRequest.setParameter("conceptId", "4"); // this must be a concept id that is not used in an observation in order to be changed
    mockRequest.setParameter("namesByLocale[en_GB].name", "CIVIL STATUS");
    mockRequest.setParameter("concept.datatype", "1"); // set it to something other than "Coded"
    mockRequest.setParameter("concept.class", "10");
    mockRequest.setParameter("concept.answers", "5 6");

    ModelAndView mav = conceptFormController.handleRequest(mockRequest, new MockHttpServletResponse());
    assertNotNull(mav);
    assertTrue(mav.getModel().isEmpty());

    Concept concept = cs.getConcept(4);
    assertNotNull(concept);
    assertEquals(0, concept.getAnswers(false).size());
}

From source file:org.openmrs.web.controller.ConceptFormControllerTest.java

/**
 * @see ConceptFormController#onSubmit(HttpServletRequest,HttpServletResponse,Object,BindException)
 *///from w w  w  .  j a v a 2s  . c  o m
@Test
@Verifies(value = "should set the local preferred name", method = "onSubmit(HttpServletRequest,HttpServletResponse,Object,BindException)")
public void onSubmit_shouldSetTheLocalPreferredName() throws Exception {
    ConceptService cs = Context.getConceptService();
    Concept concept = cs.getConcept(5497);
    //sanity check, the current preferred Name should be different from what will get set in the form
    Assert.assertNotSame("CD3+CD4+ABS CNT", concept.getPreferredName(britishEn).getName());

    ConceptFormController conceptFormController = (ConceptFormController) applicationContext
            .getBean("conceptForm");
    MockHttpServletRequest mockRequest = new MockHttpServletRequest();
    mockRequest.setMethod("POST");
    mockRequest.setParameter("action", "");
    mockRequest.setParameter("conceptId", "5497");
    mockRequest.setParameter("preferredNamesByLocale[en_GB]", "CD3+CD4+ABS CNT");

    ModelAndView mav = conceptFormController.handleRequest(mockRequest, new MockHttpServletResponse());
    assertNotNull(mav);
    assertTrue(mav.getModel().isEmpty());

    Assert.assertEquals("CD3+CD4+ABS CNT", concept.getPreferredName(britishEn).getName());
    //preferred name should be the new one that has been set from the form
    Assert.assertEquals(true, concept.getPreferredName(britishEn).isLocalePreferred());
}

From source file:org.openmrs.web.controller.ConceptFormControllerTest.java

/**
 * @see ConceptFormController#onSubmit(HttpServletRequest,HttpServletResponse,Object,BindException)
 */// ww w  .  j  a  v  a2  s  . c  om
@Test
@Verifies(value = "should void a synonym marked as preferred when it is removed", method = "onSubmit(HttpServletRequest,HttpServletResponse,Object,BindException)")
public void onSubmit_shouldVoidASynonymMarkedAsPreferredWhenItIsRemoved() throws Exception {
    ConceptService cs = Context.getConceptService();
    Concept concept = cs.getConcept(5497);
    //mark one of the synonyms as preferred
    ConceptName preferredName = new ConceptName("pref name", britishEn);
    preferredName.setLocalePreferred(true);
    concept.addName(preferredName);
    cs.saveConcept(concept);

    ConceptFormController conceptFormController = (ConceptFormController) applicationContext
            .getBean("conceptForm");
    MockHttpServletRequest mockRequest = new MockHttpServletRequest();
    mockRequest.setMethod("POST");
    mockRequest.setParameter("action", "");
    mockRequest.setParameter("conceptId", "5497");
    //remove the synonym that is marked as preferred
    mockRequest.setParameter("synonymsByLocale[en_GB][0].voided", "true");

    ModelAndView mav = conceptFormController.handleRequest(mockRequest, new MockHttpServletResponse());
    assertNotNull(mav);
    assertTrue(mav.getModel().isEmpty());

    Assert.assertEquals(true, preferredName.isVoided());
}

From source file:org.openmrs.web.controller.ConceptFormControllerTest.java

/**
 * Test adding a concept with a preferred name, short name, description and synonyms.
 * //from  w  ww .  jav  a  2s. co m
 * @throws Exception
 */
@Test
public void shouldReplacePreviousDescription() throws Exception {
    final String EXPECTED_PREFERRED_NAME = "no such concept";
    final String EXPECTED_SHORT_NAME = "nonesuch";
    final String ORIGINAL_DESCRIPTION = "this is indescribable";
    final String EXPECTED_DESCRIPTION = "this is not really a concept";
    final String EXPECTED_SYNONYM_A = "phantom";
    final String EXPECTED_SYNONYM_B = EXPECTED_SHORT_NAME;
    final String EXPECTED_SYNONYM_C = "mock";

    ConceptService cs = Context.getConceptService();

    // first, add the concept with an original description
    Concept conceptToUpdate = new Concept();
    conceptToUpdate.addName(new ConceptName("demo name", Context.getLocale()));
    ConceptDescription originalConceptDescription = new ConceptDescription();
    originalConceptDescription.setLocale(britishEn);
    originalConceptDescription.setDescription(ORIGINAL_DESCRIPTION);
    conceptToUpdate.addDescription(originalConceptDescription);
    cs.saveConcept(conceptToUpdate);

    // then submit changes through the controller
    ConceptFormController conceptFormController = (ConceptFormController) applicationContext
            .getBean("conceptForm");

    MockHttpServletRequest mockRequest = new MockHttpServletRequest();
    MockHttpServletResponse response = new MockHttpServletResponse();

    mockRequest.setMethod("POST");
    mockRequest.setParameter("action", "");
    mockRequest.setParameter("synonymsByLocale[en_GB][0].name", EXPECTED_SYNONYM_A);
    mockRequest.setParameter("synonymsByLocale[en_GB][1].name", EXPECTED_SYNONYM_B);
    mockRequest.setParameter("synonymsByLocale[en_GB][2].name", EXPECTED_SYNONYM_C);
    mockRequest.setParameter("shortNamesByLocale[en_GB].name", EXPECTED_SHORT_NAME);
    mockRequest.setParameter("descriptionsByLocale[en_GB].description", EXPECTED_DESCRIPTION);
    mockRequest.setParameter("namesByLocale[en_GB].name", EXPECTED_PREFERRED_NAME);
    mockRequest.setParameter("concept.datatype", "1");

    ModelAndView mav = conceptFormController.handleRequest(mockRequest, response);
    assertNotNull(mav);
    assertTrue(mav.getModel().isEmpty());

    Concept actualConcept = cs.getConceptByName(EXPECTED_PREFERRED_NAME);
    assertNotNull(actualConcept);

    assertNotNull(actualConcept.getDescription(britishEn));
    assertEquals(EXPECTED_DESCRIPTION, actualConcept.getDescription(britishEn).getDescription());
}

From source file:org.openmrs.web.controller.ConceptFormControllerTest.java

/**
 * This test makes sure that ConceptComplex objects can be edited
 * //  w  w w  .  j a  v  a  2  s  . c  om
 * @throws Exception
 */
@Test
public void shouldEditConceptComplex() throws Exception {
    executeDataSet("org/openmrs/api/include/ObsServiceTest-complex.xml");

    ConceptService cs = Context.getConceptService();

    ConceptFormController conceptFormController = (ConceptFormController) applicationContext
            .getBean("conceptForm");
    MockHttpServletRequest mockRequest = new MockHttpServletRequest();

    mockRequest.setMethod("POST");
    mockRequest.setParameter("action", "");
    mockRequest.setParameter("conceptId", "8473");
    mockRequest.setParameter("namesByLocale[en_GB].name", "A complex concept");
    mockRequest.setParameter("descriptionsByLocale[en_GB].description", "some description");
    mockRequest.setParameter("concept.datatype", "13");
    mockRequest.setParameter("concept.class", "5");
    mockRequest.setParameter("handlerKey", "TextHandler"); // switching it from an ImageHandler to a TextHandler

    ModelAndView mav = conceptFormController.handleRequest(mockRequest, new MockHttpServletResponse());
    assertNotNull(mav);
    assertTrue(mav.getModel().isEmpty());

    Concept concept = cs.getConcept(8473);
    assertEquals(ConceptComplex.class, concept.getClass());
    ConceptComplex complex = (ConceptComplex) concept;
    assertEquals("TextHandler", complex.getHandler());
}

From source file:org.openmrs.web.controller.ConceptFormControllerTest.java

/**
 * @verifies should add new concept attributes
 * @throws Exception/*from w  ww .j  a v  a2  s.  c o  m*/
 */
@Test
public void shouldSaveConceptAttribute() throws Exception {
    executeDataSet(CONCEPT_ATTRIBUTES_XML);
    ConceptService cs = Context.getConceptService();
    ConceptAttributeType conceptAttributeType = cs.getConceptAttributeType(1);

    final Integer conceptId = 5089;

    ConceptFormController conceptFormController = (ConceptFormController) applicationContext
            .getBean("conceptForm");

    MockHttpServletRequest mockRequest = new MockHttpServletRequest();

    mockRequest.setMethod("POST");
    mockRequest.setParameter("action", "");
    mockRequest.setParameter("conceptId", conceptId.toString());
    mockRequest.setParameter("attribute." + conceptAttributeType.getId() + ".new[1]", "2014-03-12");

    ModelAndView mav = conceptFormController.handleRequest(mockRequest, new MockHttpServletResponse());
    assertNotNull(mav);
    assertTrue(mav.getModel().isEmpty());

    Concept actualConcept = cs.getConcept(conceptId);
    assertNotNull(actualConcept);
    final Collection<ConceptAttribute> attributes = actualConcept.getAttributes();
    assertEquals(1, attributes.size());
    final ConceptAttribute conceptAttribute = attributes.iterator().next();
    assertEquals("2014-03-12", conceptAttribute.getValueReference());
}