petclinic-uncached

Merge pull request #167 from verydapeng/spring-projects/springboot Simplify

6/28/2016 3:01:46 AM

Details

pom.xml 12(+0 -12)

diff --git a/pom.xml b/pom.xml
index 277927b..3aef083 100644
--- a/pom.xml
+++ b/pom.xml
@@ -70,12 +70,6 @@
             <groupId>org.springframework</groupId>
             <artifactId>spring-context-support</artifactId>
         </dependency>
-        <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-oxm</artifactId>
-        </dependency>
-
-
 
         <!-- Tomcat -->
         <dependency>
@@ -204,12 +198,6 @@
             <artifactId>datatables-export-itext</artifactId>
             <version>${dandelion.datatables.version}</version>
         </dependency>
-        <!-- temporary fix: below dependency should not be necessary as it is a transitive dependency.
-        For some reason we can't build the app unless it is a first level dependency -->
-        <dependency>
-            <groupId>com.googlecode.json-simple</groupId>
-            <artifactId>json-simple</artifactId>
-        </dependency>
     </dependencies>
 
     <!-- Maven plugin versions are mentioned in order to guarantee the build reproducibility in the long term -->
diff --git a/src/main/java/org/springframework/samples/petclinic/PetClinicApplication.java b/src/main/java/org/springframework/samples/petclinic/PetClinicApplication.java
index 470b622..d1b31fe 100644
--- a/src/main/java/org/springframework/samples/petclinic/PetClinicApplication.java
+++ b/src/main/java/org/springframework/samples/petclinic/PetClinicApplication.java
@@ -16,36 +16,16 @@
 
 package org.springframework.samples.petclinic;
 
-import com.github.dandelion.core.web.DandelionFilter;
-import com.github.dandelion.core.web.DandelionServlet;
-import net.sf.ehcache.config.CacheConfiguration;
-import net.sf.ehcache.config.PersistenceConfiguration;
-import net.sf.ehcache.config.PersistenceConfiguration.Strategy;
-import net.sf.ehcache.store.MemoryStoreEvictionPolicy;
 import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.boot.builder.SpringApplicationBuilder;
-import org.springframework.boot.context.embedded.FilterRegistrationBean;
-import org.springframework.boot.context.embedded.ServletRegistrationBean;
 import org.springframework.boot.context.web.SpringBootServletInitializer;
-import org.springframework.cache.CacheManager;
-import org.springframework.cache.annotation.CachingConfigurerSupport;
-import org.springframework.cache.annotation.EnableCaching;
-import org.springframework.cache.ehcache.EhCacheCacheManager;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.ComponentScan;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.oxm.jaxb.Jaxb2Marshaller;
-import org.springframework.samples.petclinic.model.Vets;
-import org.springframework.web.servlet.view.xml.MarshallingView;
 
 /**
  * PetClinic Spring Boot Application.
  *
  */
-@Configuration
-@EnableAutoConfiguration
-@ComponentScan
+@SpringBootApplication
 public class PetClinicApplication extends SpringBootServletInitializer {
 
     @Override
diff --git a/src/main/java/org/springframework/samples/petclinic/web/VetController.java b/src/main/java/org/springframework/samples/petclinic/web/VetController.java
index 3121e60..54baf39 100644
--- a/src/main/java/org/springframework/samples/petclinic/web/VetController.java
+++ b/src/main/java/org/springframework/samples/petclinic/web/VetController.java
@@ -18,6 +18,7 @@ package org.springframework.samples.petclinic.web;
 import java.util.Map;
 
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.MediaType;
 import org.springframework.samples.petclinic.model.Vets;
 import org.springframework.samples.petclinic.service.ClinicService;
 import org.springframework.stereotype.Controller;
@@ -41,7 +42,7 @@ public class VetController {
         this.clinicService = clinicService;
     }
 
-    @RequestMapping(value = {"/vets.xml", "/vets.html"})
+    @RequestMapping(value = {"/vets.html"})
     public String showVetList(Map<String, Object> model) {
         // Here we are returning an object of type 'Vets' rather than a collection of Vet objects
         // so it is simpler for Object-Xml mapping
@@ -51,7 +52,7 @@ public class VetController {
         return "vets/vetList";
     }
 
-    @RequestMapping("/vets.json")
+    @RequestMapping(value = {"/vets.json", "/vets.xml"})
     public
     @ResponseBody
     Vets showResourcesVetList() {
diff --git a/src/test/java/org/springframework/samples/petclinic/web/VetControllerTests.java b/src/test/java/org/springframework/samples/petclinic/web/VetControllerTests.java
index c15ee25..6f77223 100644
--- a/src/test/java/org/springframework/samples/petclinic/web/VetControllerTests.java
+++ b/src/test/java/org/springframework/samples/petclinic/web/VetControllerTests.java
@@ -1,5 +1,6 @@
 package org.springframework.samples.petclinic.web;
 
+import org.hamcrest.xml.HasXPath;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -14,6 +15,7 @@ import org.springframework.test.web.servlet.MockMvc;
 import org.springframework.test.web.servlet.ResultActions;
 import org.springframework.test.web.servlet.setup.MockMvcBuilders;
 
+import static org.hamcrest.xml.HasXPath.hasXPath;
 import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
 import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
 
@@ -37,13 +39,11 @@ public class VetControllerTests {
     }
 
     @Test
-    public void testShowVetListXml() throws Exception {
-        testShowVetList("/vets.xml");
-    }
-
-    @Test
     public void testShowVetListHtml() throws Exception {
-        testShowVetList("/vets.html");
+        mockMvc.perform(get("/vets.html"))
+            .andExpect(status().isOk())
+            .andExpect(model().attributeExists("vets"))
+            .andExpect(view().name("vets/vetList"));
     }
 
     @Test
@@ -54,12 +54,12 @@ public class VetControllerTests {
             .andExpect(jsonPath("$.vetList[0].id").value(1));
     }
 
-    private void testShowVetList(String url) throws Exception {
-        mockMvc.perform(get(url))
+    @Test
+    public void testShowVetListXml() throws Exception {
+        mockMvc.perform(get("/vets.xml").accept(MediaType.APPLICATION_XML))
             .andExpect(status().isOk())
-            .andExpect(model().attributeExists("vets"))
-            .andExpect(view().name("vets/vetList"));
+            .andExpect(content().contentType(MediaType.APPLICATION_XML_VALUE))
+            .andExpect(content().node(hasXPath("/vets/vetList[id=1]/id")));
     }
 
-
 }