-
Notifications
You must be signed in to change notification settings - Fork 53
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge remote-tracking branch 'java/subdir' into java-app
Signed-off-by: Tom Wilkie <tom.wilkie@gmail.com>
- Loading branch information
Showing
9 changed files
with
331 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,88 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | ||
<modelVersion>4.0.0</modelVersion> | ||
|
||
<groupId>com.example</groupId> | ||
<artifactId>TianMiao</artifactId> | ||
<version>0.0.1-SNAPSHOT</version> | ||
<packaging>war</packaging> | ||
|
||
<name>TianMiao</name> | ||
<description>Demo project for Online Shopping</description> | ||
|
||
<parent> | ||
<groupId>org.springframework.boot</groupId> | ||
<artifactId>spring-boot-starter-parent</artifactId> | ||
<version>2.0.4.RELEASE</version> | ||
<relativePath/> <!-- lookup parent from repository --> | ||
</parent> | ||
|
||
<properties> | ||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> | ||
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> | ||
<java.version>10</java.version> | ||
</properties> | ||
|
||
<dependencies> | ||
<dependency> | ||
<groupId>org.springframework.boot</groupId> | ||
<artifactId>spring-boot-starter-data-jpa</artifactId> | ||
</dependency> | ||
<dependency> | ||
<groupId>org.springframework.boot</groupId> | ||
<artifactId>spring-boot-starter-web</artifactId> | ||
<exclusions> | ||
<exclusion> | ||
<groupId>org.springframework.boot</groupId> | ||
<artifactId>spring-boot-starter-tomcat</artifactId> | ||
</exclusion> | ||
</exclusions> | ||
</dependency> | ||
<dependency> | ||
<groupId>org.springframework.boot</groupId> | ||
<artifactId>spring-boot-starter-tomcat</artifactId> | ||
<scope>provided</scope> | ||
</dependency> | ||
<dependency> | ||
<groupId>org.springframework.boot</groupId> | ||
<artifactId>spring-boot-devtools</artifactId> | ||
<scope>runtime</scope> | ||
</dependency> | ||
<dependency> | ||
<groupId>mysql</groupId> | ||
<artifactId>mysql-connector-java</artifactId> | ||
<scope>runtime</scope> | ||
</dependency> | ||
<dependency> | ||
<groupId>org.springframework.boot</groupId> | ||
<artifactId>spring-boot-starter-test</artifactId> | ||
<scope>test</scope> | ||
</dependency> | ||
<dependency> | ||
<groupId>javax.xml.bind</groupId> | ||
<artifactId>jaxb-api</artifactId> | ||
</dependency> | ||
<dependency> | ||
<groupId>javax.servlet</groupId> | ||
<artifactId>javax.servlet-api</artifactId> | ||
</dependency> | ||
<dependency> | ||
<groupId>org.javassist</groupId> | ||
<artifactId>javassist</artifactId> | ||
<version>3.25.0-GA</version> | ||
</dependency> | ||
</dependencies> | ||
|
||
<build> | ||
<finalName>${artifactId}</finalName> | ||
<plugins> | ||
<plugin> | ||
<groupId>org.springframework.boot</groupId> | ||
<artifactId>spring-boot-maven-plugin</artifactId> | ||
</plugin> | ||
</plugins> | ||
</build> | ||
|
||
|
||
</project> |
19 changes: 19 additions & 0 deletions
19
app/src/main/java/com/example/TianMiao/Requestapp/LoggingFilterConfig.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
package com.example.TianMiao; | ||
|
||
import org.springframework.context.annotation.Bean; | ||
import org.springframework.context.annotation.Configuration; | ||
import org.springframework.web.filter.CommonsRequestLoggingFilter; | ||
|
||
@Configuration | ||
public class RequestLoggingFilterConfig { | ||
|
||
@Bean | ||
public CommonsRequestLoggingFilter logFilter() { | ||
CommonsRequestLoggingFilter filter | ||
= new CommonsRequestLoggingFilter(); | ||
filter.setIncludeQueryString(true); | ||
filter.setIncludeHeaders(true); | ||
filter.setIncludeClientInfo(true); | ||
return filter; | ||
} | ||
} |
21 changes: 21 additions & 0 deletions
21
app/src/main/java/com/example/TianMiao/TianMiaoApplicatapp/ion.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
package com.example.TianMiao; | ||
|
||
import org.springframework.boot.SpringApplication; | ||
import org.springframework.boot.autoconfigure.SpringBootApplication; | ||
import org.springframework.boot.builder.SpringApplicationBuilder; | ||
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; | ||
import org.springframework.data.jpa.repository.config.EnableJpaAuditing; | ||
|
||
@SpringBootApplication | ||
@EnableJpaAuditing | ||
public class TianMiaoApplication extends SpringBootServletInitializer { | ||
|
||
@Override | ||
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { | ||
return application.sources(TianMiaoApplication.class); | ||
} | ||
|
||
public static void main(String[] args) { | ||
SpringApplication.run(TianMiaoApplication.class, args); | ||
} | ||
} |
62 changes: 62 additions & 0 deletions
62
app/src/main/java/com/example/TianMiao/contapp/roller/UserController.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
package com.example.TianMiao.controller; | ||
|
||
import java.util.List; | ||
import java.util.Map; | ||
|
||
import javax.validation.Valid; | ||
|
||
import org.springframework.beans.factory.annotation.Autowired; | ||
import org.springframework.http.ResponseEntity; | ||
import org.springframework.web.bind.annotation.DeleteMapping; | ||
import org.springframework.web.bind.annotation.GetMapping; | ||
import org.springframework.web.bind.annotation.PathVariable; | ||
import org.springframework.web.bind.annotation.PostMapping; | ||
import org.springframework.web.bind.annotation.PutMapping; | ||
import org.springframework.web.bind.annotation.RequestBody; | ||
import org.springframework.web.bind.annotation.RequestMapping; | ||
import org.springframework.web.bind.annotation.RestController; | ||
|
||
import com.example.TianMiao.exception.ResourceNotFoundException; | ||
import com.example.TianMiao.model.User; | ||
import com.example.TianMiao.repository.UserRepository; | ||
|
||
@RestController | ||
@RequestMapping("/api") | ||
public class UserController { | ||
@Autowired | ||
UserRepository userRepository; | ||
|
||
@GetMapping("/users") | ||
public List<User> getAllUsers() { | ||
return userRepository.findAll(); | ||
} | ||
|
||
@PostMapping("/users") | ||
public User createUser(@Valid @RequestBody User user) { | ||
return userRepository.save(user); | ||
} | ||
|
||
@GetMapping("/users/{id}") | ||
public User getUserById(@PathVariable(value = "id") Long userId) { | ||
return userRepository.findById(userId) | ||
.orElseThrow(() -> new ResourceNotFoundException("User", "id", userId)); | ||
} | ||
|
||
@PutMapping("/notes/{id}") | ||
public User updateUser(@PathVariable(value = "id") Long userId, @Valid @RequestBody User userDetails) { | ||
User user = userRepository.findById(userId) | ||
.orElseThrow(() -> new ResourceNotFoundException("User", "id", userId)); | ||
|
||
user.setUsername(userDetails.getUsername()); | ||
User updatedUser = userRepository.save(user); | ||
return updatedUser; | ||
} | ||
|
||
@DeleteMapping("/notes/{id}") | ||
public ResponseEntity<?> deleteUser(@PathVariable(value = "id") Long userId) { | ||
User user = userRepository.findById(userId) | ||
.orElseThrow(() -> new ResourceNotFoundException("User", "id", userId)); | ||
userRepository.delete(user); | ||
return ResponseEntity.ok().build(); | ||
} | ||
} |
30 changes: 30 additions & 0 deletions
30
app/src/main/java/com/example/TianMiao/exceptapp/ion/ResourceNotFoundException.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
package com.example.TianMiao.exception; | ||
|
||
import org.springframework.http.HttpStatus; | ||
import org.springframework.web.bind.annotation.ResponseStatus; | ||
|
||
@ResponseStatus(value = HttpStatus.NOT_FOUND) | ||
public class ResourceNotFoundException extends RuntimeException { | ||
private String resourceName; | ||
private String fieldName; | ||
private Object fieldValue; | ||
|
||
public ResourceNotFoundException( String resourceName, String fieldName, Object fieldValue) { | ||
super(String.format("%s not found with %s : '%s'", resourceName, fieldName, fieldValue)); | ||
this.resourceName = resourceName; | ||
this.fieldName = fieldName; | ||
this.fieldValue = fieldValue; | ||
} | ||
|
||
public String getResourceName() { | ||
return resourceName; | ||
} | ||
|
||
public String getFieldName() { | ||
return fieldName; | ||
} | ||
|
||
public Object getFieldValue() { | ||
return fieldValue; | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,72 @@ | ||
package com.example.TianMiao.model; | ||
|
||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; | ||
import org.springframework.data.annotation.CreatedDate; | ||
import org.springframework.data.annotation.LastModifiedDate; | ||
import org.springframework.data.jpa.domain.support.AuditingEntityListener; | ||
import javax.persistence.*; | ||
import javax.validation.constraints.NotBlank; | ||
|
||
import java.io.Serializable; | ||
import java.util.Date; | ||
|
||
@Entity | ||
@Table(name = "user") | ||
@EntityListeners(AuditingEntityListener.class) | ||
@JsonIgnoreProperties(value = {"createdAt", "updatedAt"}, allowGetters = true) | ||
public class User implements Serializable { | ||
/** | ||
* | ||
*/ | ||
private static final long serialVersionUID = 1L; | ||
|
||
@Id | ||
@GeneratedValue(strategy = GenerationType.IDENTITY) | ||
private Long id; | ||
|
||
@NotBlank | ||
private String username; | ||
|
||
@Column(nullable = false, updatable = false) | ||
@Temporal(TemporalType.TIMESTAMP) | ||
@CreatedDate | ||
private Date createdAt; | ||
|
||
@Column(nullable = false) | ||
@Temporal(TemporalType.TIMESTAMP) | ||
@LastModifiedDate | ||
private Date updatedAt; | ||
|
||
public Long getId() { | ||
return id; | ||
} | ||
|
||
public void setId(Long id) { | ||
this.id = id; | ||
} | ||
|
||
public String getUsername() { | ||
return username; | ||
} | ||
|
||
public void setUsername(String username) { | ||
this.username = username; | ||
} | ||
|
||
public Date getCreatedAt() { | ||
return createdAt; | ||
} | ||
|
||
public void setCreatedAt(Date createdAt) { | ||
this.createdAt = createdAt; | ||
} | ||
|
||
public Date getUpdatedAt() { | ||
return updatedAt; | ||
} | ||
|
||
public void setUpdatedAt(Date updatedAt) { | ||
this.updatedAt = updatedAt; | ||
} | ||
|
||
} |
11 changes: 11 additions & 0 deletions
11
app/src/main/java/com/example/TianMiao/repositapp/ory/UserRepository.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
package com.example.TianMiao.repository; | ||
|
||
import org.springframework.data.jpa.repository.JpaRepository; | ||
import org.springframework.stereotype.Repository; | ||
|
||
import com.example.TianMiao.model.User; | ||
|
||
@Repository | ||
public interface UserRepository extends JpaRepository<User, Long> { | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
## Spring DATASOURCE (DataSourceAutoConfiguration & DataSourceProperties) | ||
spring.datasource.url = jdbc:mysql://mysql/TianMiao?allowPublicKeyRetrieval=true&useSSL=false | ||
spring.datasource.username = root | ||
spring.datasource.password = password | ||
|
||
|
||
## Hibernate Properties | ||
# The SQL dialect makes Hibernate generate better SQL for the chosen database | ||
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5InnoDBDialect | ||
|
||
# Hibernate ddl auto (create, create-drop, validate, update) | ||
spring.jpa.hibernate.ddl-auto = update |
16 changes: 16 additions & 0 deletions
16
app/src/tapp/est/java/com/example/TianMeow/TianMeowApplicationTests.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
package com.example.TianMeow; | ||
|
||
import org.junit.Test; | ||
import org.junit.runner.RunWith; | ||
import org.springframework.boot.test.context.SpringBootTest; | ||
import org.springframework.test.context.junit4.SpringRunner; | ||
|
||
@RunWith(SpringRunner.class) | ||
@SpringBootTest | ||
public class TianMeowApplicationTests { | ||
|
||
@Test | ||
public void contextLoads() { | ||
} | ||
|
||
} |