Skip to content

Commit

Permalink
Added JPA repository
Browse files Browse the repository at this point in the history
  • Loading branch information
Craig Cook committed Sep 6, 2017
1 parent 38ba334 commit 33f6fdb
Show file tree
Hide file tree
Showing 12 changed files with 105 additions and 194 deletions.
16 changes: 8 additions & 8 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,9 @@ jobs:
include:
- stage: test
script: mvn test cobertura:cobertura coveralls:cobertura && java -cp ~/codacy-coverage-reporter-assembly-latest.jar com.codacy.CodacyCoverageReporter -l Java -r target/site/cobertura/coverage.xml
- stage: publish artifact
script: mvn -s .travis.settings.xml deploy
skip_cleanup: true
# - stage: publish artifact
# script: mvn -s .travis.settings.xml deploy
# skip_cleanup: true
- stage: deploy to test
script: mvn package
deploy:
Expand All @@ -35,8 +35,8 @@ jobs:
region: "eu-west-2"
app: "movie-service"
env: "movie-service-test"
- stage: performance test
script:
- rm -rf results && mkdir results
- apache-jmeter-3.0/bin/jmeter.sh -j results/jmeter.log -p scripts/jmeter.properties -t scripts/load_test.jmx -n -l results/load_test.jtl
- scripts/generate_files_from_jtl.sh load_test
# - stage: performance test
# script:
# - rm -rf results && mkdir results
# - apache-jmeter-3.0/bin/jmeter.sh -j results/jmeter.log -p scripts/jmeter.properties -t scripts/load_test.jmx -n -l results/load_test.jtl
# - scripts/generate_files_from_jtl.sh load_test
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,4 +44,4 @@ Publish artifact
* https://docs.travis-ci.com/user/build-stages/
* https://github.com/cfpb/jmeter-bootstrap
* https://spring.io/guides/gs/securing-web/

* https://spring.io/guides/gs/accessing-data-rest/
38 changes: 35 additions & 3 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -50,10 +50,19 @@
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.2.4</version>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-rest</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
</dependency>


<!-- Logging -->
<!--<dependency>-->
<!--<groupId>log4j</groupId>-->
Expand All @@ -71,6 +80,13 @@
<!--<version>1.5.8</version>-->
<!--</dependency>-->

<!-- Other -->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.2.4</version>
</dependency>

<!-- Test -->
<dependency>
<groupId>junit</groupId>
Expand All @@ -90,6 +106,12 @@
<version>${jmock.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>

<!--Mock -->
<dependency>
<groupId>org.mockito</groupId>
Expand Down Expand Up @@ -145,7 +167,17 @@
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>spring-releases</id>
<url>https://repo.spring.io/libs-release</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>spring-releases</id>
<url>https://repo.spring.io/libs-release</url>
</pluginRepository>
</pluginRepositories>

<build>
<finalName>movie-service</finalName>
Expand Down
37 changes: 0 additions & 37 deletions src/main/java/org/cccs/dtd/cache/Store.java

This file was deleted.

46 changes: 0 additions & 46 deletions src/main/java/org/cccs/dtd/domain/AbstractEntity.java

This file was deleted.

14 changes: 0 additions & 14 deletions src/main/java/org/cccs/dtd/domain/Entity.java

This file was deleted.

36 changes: 26 additions & 10 deletions src/main/java/org/cccs/dtd/domain/Movie.java
Original file line number Diff line number Diff line change
@@ -1,24 +1,40 @@
package org.cccs.dtd.domain;

import java.util.UUID;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;

/**
* Created by boycook on 04/02/2014.
*/
public class Movie extends AbstractEntity implements Entity {
public Movie() {
this(null, null);
@Entity
public class Movie {

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;

private String name;
private String description;

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public Movie(UUID id) {
this(id, null, null);
public String getDescription() {
return description;
}

public Movie(String name, String description) {
this(UUID.randomUUID(), name, description);
public void setDescription(String description) {
this.description = description;
}

protected Movie(UUID id, String name, String description) {
super(id, name, description, Type.MOVIE);
public long getId() {
return id;
}
}
15 changes: 15 additions & 0 deletions src/main/java/org/cccs/dtd/persistence/MovieRepository.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package org.cccs.dtd.persistence;

import org.cccs.dtd.domain.Movie;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.repository.query.Param;
import org.springframework.data.rest.core.annotation.RepositoryRestResource;

import java.util.List;

@RepositoryRestResource(collectionResourceRel = "movies", path = "movies")
public interface MovieRepository extends PagingAndSortingRepository<Movie, Long> {

List<Movie> findByName(@Param("name") String name);

}
19 changes: 9 additions & 10 deletions src/main/java/org/cccs/dtd/web/MovieController.java
Original file line number Diff line number Diff line change
@@ -1,32 +1,31 @@
package org.cccs.dtd.web;

import org.cccs.dtd.cache.Store;
import org.cccs.dtd.domain.Movie;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

import java.util.ArrayList;

/**
* Controller object
* Created by craig on 03/09/2017.
*/

@Controller
@Controller()
public class MovieController {

private Store store;

public MovieController() {
this.store = new Store();
this.store.addItem(new Movie("Star Wars IV", "A New Hope"));
this.store.addItem(new Movie("Star Wars V", "The Empire Strikes Back"));
this.store.addItem(new Movie("Star Wars VI", "Return of the Jedi"));
this.store.addItem(new Movie("Star Wars I", "The Phantom Menace"));
// this.store = new StoreX();
// this.store.addItem(new Movie("Star Wars IV", "A New Hope"));
// this.store.addItem(new Movie("Star Wars V", "The Empire Strikes Back"));
// this.store.addItem(new Movie("Star Wars VI", "Return of the Jedi"));
// this.store.addItem(new Movie("Star Wars I", "The Phantom Menace"));
}

@RequestMapping("/movies")
String getMovies(Model model) {
model.addAttribute("movies", store.getAll());
model.addAttribute("movies", new ArrayList<Movie>());
return "movies";
}
}
3 changes: 2 additions & 1 deletion src/main/resources/application.properties
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
welcome.message: Welcome to Movie Service
welcome.message: Welcome to Movie Service
spring.data.rest.basePath=/api
59 changes: 0 additions & 59 deletions src/test/java/org/cccs/dtd/cache/TestStore.java

This file was deleted.

Loading

0 comments on commit 33f6fdb

Please sign in to comment.