From 4232fa188ac2cbb3fe47cf20b949a47479ace5b0 Mon Sep 17 00:00:00 2001 From: eparaschiv Date: Wed, 24 Jul 2013 23:36:55 +0300 Subject: [PATCH] adding controller, cleanup --- spring-security-rest/pom.xml | 376 +++++++++--------- .../org/baeldung/persistence/model/Foo.java | 73 ++++ .../java/org/baeldung/spring/WebConfig.java | 5 +- .../web/controller/FooController.java | 48 +++ 4 files changed, 320 insertions(+), 182 deletions(-) create mode 100644 spring-security-rest/src/main/java/org/baeldung/persistence/model/Foo.java create mode 100644 spring-security-rest/src/main/java/org/baeldung/web/controller/FooController.java diff --git a/spring-security-rest/pom.xml b/spring-security-rest/pom.xml index 3cf7aef128..1a84797582 100644 --- a/spring-security-rest/pom.xml +++ b/spring-security-rest/pom.xml @@ -1,215 +1,229 @@ - - 4.0.0 - org.baeldung - spring-security-rest - 0.1-SNAPSHOT + + 4.0.0 + org.baeldung + spring-security-rest + 0.1-SNAPSHOT - spring-security-rest - war + spring-security-rest + war - + - + - - org.springframework.security - spring-security-web - ${org.springframework.security.version} - - - org.springframework.security - spring-security-config - ${org.springframework.security.version} - + + org.springframework.security + spring-security-web + ${org.springframework.security.version} + + + org.springframework.security + spring-security-config + ${org.springframework.security.version} + - + - - org.springframework - spring-core - ${org.springframework.version} - - - org.springframework - spring-context - ${org.springframework.version} - - - org.springframework - spring-jdbc - ${org.springframework.version} - - - org.springframework - spring-beans - ${org.springframework.version} - - - org.springframework - spring-aop - ${org.springframework.version} - - - org.springframework - spring-tx - ${org.springframework.version} - - - org.springframework - spring-expression - ${org.springframework.version} - + + org.springframework + spring-core + ${org.springframework.version} + + + org.springframework + spring-context + ${org.springframework.version} + + + org.springframework + spring-jdbc + ${org.springframework.version} + + + org.springframework + spring-beans + ${org.springframework.version} + + + org.springframework + spring-aop + ${org.springframework.version} + + + org.springframework + spring-tx + ${org.springframework.version} + + + org.springframework + spring-expression + ${org.springframework.version} + - - org.springframework - spring-web - ${org.springframework.version} - - - org.springframework - spring-webmvc - ${org.springframework.version} - + + org.springframework + spring-web + ${org.springframework.version} + + + org.springframework + spring-webmvc + ${org.springframework.version} + - + - - javax.servlet - javax.servlet-api - 3.0.1 - provided - + + javax.servlet + javax.servlet-api + 3.0.1 + provided + - - javax.servlet - jstl - 1.2 - runtime - + + javax.servlet + jstl + 1.2 + runtime + + + - + + com.fasterxml.jackson.core + jackson-databind + 2.2.2 + + + - - com.google.guava - guava - ${guava.version} - + + com.google.guava + guava + ${guava.version} + + + org.apache.commons + commons-lang3 + 3.1 + - + - - junit - junit-dep - ${junit.version} - test - + + junit + junit-dep + ${junit.version} + test + - - org.hamcrest - hamcrest-core - ${org.hamcrest.version} - test - - - org.hamcrest - hamcrest-library - ${org.hamcrest.version} - test - + + org.hamcrest + hamcrest-core + ${org.hamcrest.version} + test + + + org.hamcrest + hamcrest-library + ${org.hamcrest.version} + test + - - org.mockito - mockito-core - ${mockito.version} - test - + + org.mockito + mockito-core + ${mockito.version} + test + - + - - spring-security-rest - - - src/main/resources - true - - + + spring-security-rest + + + src/main/resources + true + + - + - - org.apache.maven.plugins - maven-surefire-plugin - ${maven-surefire-plugin.version} - - - - - - - - - + + org.apache.maven.plugins + maven-surefire-plugin + ${maven-surefire-plugin.version} + + + + + + + + + - - org.codehaus.cargo - cargo-maven2-plugin - ${cargo-maven2-plugin.version} - - true - - jetty8x - embedded - - - - - - - 8082 - - - - + + org.codehaus.cargo + cargo-maven2-plugin + ${cargo-maven2-plugin.version} + + true + + jetty8x + embedded + + + + + + + 8082 + + + + - + - + - - - 3.2.3.RELEASE - 3.1.4.RELEASE + + + 3.2.3.RELEASE + 3.1.4.RELEASE - - 4.2.2.Final - 5.1.25 + + 4.2.2.Final + 5.1.25 - - 1.7.5 - 1.0.11 + + 1.7.5 + 1.0.11 - - 5.0.1.Final + + 5.0.1.Final - - 14.0.1 - 3.1 + + 14.0.1 + 3.1 - - 1.3 - 4.11 - 1.9.5 + + 1.3 + 4.11 + 1.9.5 - 4.2.4 - 4.2.5 + 4.2.4 + 4.2.5 - 1.8.1 - 1.8.9 + 1.8.1 + 1.8.9 - - 1.4.2 - 2.15 - + + 1.4.2 + 2.15 + \ No newline at end of file diff --git a/spring-security-rest/src/main/java/org/baeldung/persistence/model/Foo.java b/spring-security-rest/src/main/java/org/baeldung/persistence/model/Foo.java new file mode 100644 index 0000000000..0124424f59 --- /dev/null +++ b/spring-security-rest/src/main/java/org/baeldung/persistence/model/Foo.java @@ -0,0 +1,73 @@ +package org.baeldung.persistence.model; + +import java.io.Serializable; + +public class Foo implements Serializable { + + private long id; + + private String name; + + public Foo() { + super(); + } + + public Foo(final String name) { + super(); + + this.name = name; + } + + // API + + public long getId() { + return id; + } + + public void setId(final long id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(final String name) { + this.name = name; + } + + // + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((name == null) ? 0 : name.hashCode()); + return result; + } + + @Override + public boolean equals(final Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + final Foo other = (Foo) obj; + if (name == null) { + if (other.name != null) + return false; + } else if (!name.equals(other.name)) + return false; + return true; + } + + @Override + public String toString() { + final StringBuilder builder = new StringBuilder(); + builder.append("Foo [name=").append(name).append("]"); + return builder.toString(); + } + +} diff --git a/spring-security-rest/src/main/java/org/baeldung/spring/WebConfig.java b/spring-security-rest/src/main/java/org/baeldung/spring/WebConfig.java index 29ddb3eaec..4d1d6e6403 100644 --- a/spring-security-rest/src/main/java/org/baeldung/spring/WebConfig.java +++ b/spring-security-rest/src/main/java/org/baeldung/spring/WebConfig.java @@ -2,10 +2,13 @@ package org.baeldung.spring; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.config.annotation.EnableWebMvc; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; @Configuration @ComponentScan("org.baeldung.web") -public class WebConfig { +@EnableWebMvc +public class WebConfig extends WebMvcConfigurerAdapter { public WebConfig() { super(); diff --git a/spring-security-rest/src/main/java/org/baeldung/web/controller/FooController.java b/spring-security-rest/src/main/java/org/baeldung/web/controller/FooController.java new file mode 100644 index 0000000000..642878b918 --- /dev/null +++ b/spring-security-rest/src/main/java/org/baeldung/web/controller/FooController.java @@ -0,0 +1,48 @@ +package org.baeldung.web.controller; + +import static org.apache.commons.lang3.RandomStringUtils.randomAlphabetic; + +import java.util.List; + +import javax.servlet.http.HttpServletResponse; + +import org.baeldung.persistence.model.Foo; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.ApplicationEventPublisher; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.util.UriComponentsBuilder; + +import com.google.common.collect.Lists; + +@Controller +@RequestMapping(value = "/foos") +public class FooController { + + @Autowired + private ApplicationEventPublisher eventPublisher; + + public FooController() { + super(); + } + + // API + + // read + + @RequestMapping(value = "/{id}", method = RequestMethod.GET) + @ResponseBody + public Foo findOne(@PathVariable("id") final Long id, final UriComponentsBuilder uriBuilder, final HttpServletResponse response) { + return new Foo(randomAlphabetic(6)); + } + + @RequestMapping(method = RequestMethod.GET) + @ResponseBody + public List findAll() { + return Lists.newArrayList(new Foo(randomAlphabetic(6))); + } + +}