mirror of
https://github.com/spring-projects/spring-petclinic.git
synced 2025-07-22 15:25:49 +00:00
Add SonarQube and change travis
This commit is contained in:
parent
2f50fa5d6a
commit
026fcd0509
29 changed files with 186 additions and 243 deletions
|
@ -10,14 +10,18 @@ before_install:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
include:
|
include:
|
||||||
|
- stage: javaformat
|
||||||
|
script: ./mvnw clean spring-javaformat:apply
|
||||||
- stage: test
|
- stage: test
|
||||||
script: ./mvnw clean test
|
script: ./mvnw test
|
||||||
- stage: verify
|
- stage: verify
|
||||||
script: ./mvnw verify
|
script: ./mvnw verify
|
||||||
|
- stage: sonar
|
||||||
|
script: ./mvnw verify org.sonarsource.scanner.maven:sonar-maven-plugin:sonar
|
||||||
|
|
||||||
cache:
|
cache:
|
||||||
directories:
|
directories:
|
||||||
- $HOME/.m2
|
- $HOME/.m2
|
||||||
|
|
||||||
notifications:
|
notifications:
|
||||||
# email: email@provider.com
|
email: pedsf.fullstack@gmail.com
|
||||||
|
|
63
pom.xml
63
pom.xml
|
@ -33,7 +33,7 @@
|
||||||
<wro4j.version>1.9.0</wro4j.version>
|
<wro4j.version>1.9.0</wro4j.version>
|
||||||
<checkstyle.version>8.32</checkstyle.version>
|
<checkstyle.version>8.32</checkstyle.version>
|
||||||
|
|
||||||
<jacoco.version>0.8.5</jacoco.version>
|
<jacoco.version>0.8.6</jacoco.version>
|
||||||
<junit.version>4.13</junit.version>
|
<junit.version>4.13</junit.version>
|
||||||
<lifecycle-mapping.version>1.0.0</lifecycle-mapping.version>
|
<lifecycle-mapping.version>1.0.0</lifecycle-mapping.version>
|
||||||
<lombok.version>1.18.12</lombok.version>
|
<lombok.version>1.18.12</lombok.version>
|
||||||
|
@ -42,6 +42,26 @@
|
||||||
<nohttp-checkstyle.version>0.0.4.RELEASE</nohttp-checkstyle.version>
|
<nohttp-checkstyle.version>0.0.4.RELEASE</nohttp-checkstyle.version>
|
||||||
<spring-format.version>0.0.25</spring-format.version>
|
<spring-format.version>0.0.25</spring-format.version>
|
||||||
<spring-cloud-starter-security.version>2.2.4.RELEASE</spring-cloud-starter-security.version>
|
<spring-cloud-starter-security.version>2.2.4.RELEASE</spring-cloud-starter-security.version>
|
||||||
|
|
||||||
|
<!-- =================================================================== -->
|
||||||
|
<!-- SONARQUBE -->
|
||||||
|
<!-- Set environment values in your computer and in Travis-CI -->
|
||||||
|
<!-- =================================================================== -->
|
||||||
|
<sonar.projectKey>${env.SONAR_PETCLINIC_PROJECTKEY}</sonar.projectKey>
|
||||||
|
<sonar.organization>${env.SONAR_ORGANIZATION}</sonar.organization>
|
||||||
|
<sonar.host.url>https://sonarcloud.io</sonar.host.url>
|
||||||
|
<sonar.login>${env.SONAR_PETCLINIC_TOKEN}</sonar.login>
|
||||||
|
<sonar.language>java</sonar.language>
|
||||||
|
<sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
|
||||||
|
<sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis>
|
||||||
|
<sonar-maven-plugin.version>3.7.0.1746</sonar-maven-plugin.version>
|
||||||
|
<sonar.coverage.jacoco.xmlReportPaths>target/site/jacoco/jacoco.xml,../target/site/jacoco-aggregate/jacoco.xml</sonar.coverage.jacoco.xmlReportPaths>
|
||||||
|
<sonar.coverage.exclusions>
|
||||||
|
org/springframework/samples/petclinic/common/*.java,
|
||||||
|
org/springframework/samples/petclinic/dto/*.java,
|
||||||
|
org/springframework/samples/petclinic/model/*.java
|
||||||
|
org/springframework/samples/petclinic/repository/*.java
|
||||||
|
</sonar.coverage.exclusions>
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
<!-- ===================================================================== -->
|
<!-- ===================================================================== -->
|
||||||
|
@ -253,6 +273,21 @@
|
||||||
<!-- BUILD -->
|
<!-- BUILD -->
|
||||||
<!-- ===================================================================== -->
|
<!-- ===================================================================== -->
|
||||||
<build>
|
<build>
|
||||||
|
<pluginManagement>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-compiler-plugin</artifactId>
|
||||||
|
<version>3.8.1</version>
|
||||||
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.sonarsource.scanner.maven</groupId>
|
||||||
|
<artifactId>sonar-maven-plugin</artifactId>
|
||||||
|
<version>3.6.0.1398</version>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</pluginManagement>
|
||||||
|
|
||||||
<plugins>
|
<plugins>
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>io.spring.javaformat</groupId>
|
<groupId>io.spring.javaformat</groupId>
|
||||||
|
@ -322,10 +357,33 @@
|
||||||
</execution>
|
</execution>
|
||||||
</executions>
|
</executions>
|
||||||
</plugin>
|
</plugin>
|
||||||
|
<!-- ==================================================== Jacoco -->
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.jacoco</groupId>
|
<groupId>org.jacoco</groupId>
|
||||||
<artifactId>jacoco-maven-plugin</artifactId>
|
<artifactId>jacoco-maven-plugin</artifactId>
|
||||||
<version>${jacoco.version}</version>
|
<version>${jacoco.version}</version>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<id>prepare-and-report</id>
|
||||||
|
<goals>
|
||||||
|
<goal>prepare-agent</goal>
|
||||||
|
<goal>report</goal>
|
||||||
|
</goals>
|
||||||
|
</execution>
|
||||||
|
<execution>
|
||||||
|
<id>report-aggregate</id>
|
||||||
|
<phase>verify</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>report-aggregate</goal>
|
||||||
|
</goals>
|
||||||
|
<configuration>
|
||||||
|
<outputDirectory>${project.basedir}/../target/site/jacoco-aggregate</outputDirectory>
|
||||||
|
</configuration>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
<!--plugin>
|
||||||
|
|
||||||
<executions>
|
<executions>
|
||||||
<execution>
|
<execution>
|
||||||
<goals>
|
<goals>
|
||||||
|
@ -340,7 +398,7 @@
|
||||||
</goals>
|
</goals>
|
||||||
</execution>
|
</execution>
|
||||||
</executions>
|
</executions>
|
||||||
</plugin>
|
</plugin-->
|
||||||
|
|
||||||
<!-- Spring Boot Actuator displays build-related information if a git.properties
|
<!-- Spring Boot Actuator displays build-related information if a git.properties
|
||||||
file is present at the classpath -->
|
file is present at the classpath -->
|
||||||
|
@ -561,6 +619,7 @@
|
||||||
</pluginManagement>
|
</pluginManagement>
|
||||||
</build>
|
</build>
|
||||||
</profile>
|
</profile>
|
||||||
|
|
||||||
</profiles>
|
</profiles>
|
||||||
|
|
||||||
</project>
|
</project>
|
||||||
|
|
45
readme.md
45
readme.md
|
@ -26,7 +26,6 @@ Or you can run it from Maven directly using the Spring Boot Maven plugin. If you
|
||||||
## In case you find a bug/suggested improvement for Spring Petclinic
|
## In case you find a bug/suggested improvement for Spring Petclinic
|
||||||
Our issue tracker is available here: https://github.com/spring-projects/spring-petclinic/issues
|
Our issue tracker is available here: https://github.com/spring-projects/spring-petclinic/issues
|
||||||
|
|
||||||
|
|
||||||
## Database configuration
|
## Database configuration
|
||||||
|
|
||||||
In its default configuration, Petclinic uses an in-memory database (H2) which
|
In its default configuration, Petclinic uses an in-memory database (H2) which
|
||||||
|
@ -43,6 +42,50 @@ docker run -e MYSQL_USER=petclinic -e MYSQL_PASSWORD=petclinic -e MYSQL_ROOT_PAS
|
||||||
|
|
||||||
Further documentation is provided [here](https://github.com/spring-projects/spring-petclinic/blob/main/src/main/resources/db/mysql/petclinic_db_setup_mysql.txt).
|
Further documentation is provided [here](https://github.com/spring-projects/spring-petclinic/blob/main/src/main/resources/db/mysql/petclinic_db_setup_mysql.txt).
|
||||||
|
|
||||||
|
## Email configuration for Mailtrap
|
||||||
|
Open an account on https://mailtrap.io to see email exchanges.
|
||||||
|
Set environment variables for Mailtrap connection :
|
||||||
|
- SPRING_MAIL_USERNAME
|
||||||
|
- SPRING_MAIL_PASSWORD
|
||||||
|
|
||||||
|
Theses values are used in application.properties.
|
||||||
|
|
||||||
|
## Oauth2 configuration for login with Google, Facebook and Github
|
||||||
|
Open an API account on the provider you want to add.
|
||||||
|
Set the environment variable corresponding.
|
||||||
|
- OAUTH2_GOOGLE_CLIENT_ID
|
||||||
|
- OAUTH2_GOOGLE_CLIENT_SECRET
|
||||||
|
- OAUTH2_GITHUB_CLIENT_ID
|
||||||
|
- OAUTH2_GITHUB_CLIENT_SECRET
|
||||||
|
- OAUTH2_FACEBOOK_CLIENT_ID
|
||||||
|
- OAUTH2_FACEBOOK_CLIENT_SECRET
|
||||||
|
|
||||||
|
Theses values are used in oauth2.properties.
|
||||||
|
Decomment corresponding lines in src/main/resources/oauth2.properties for using it on your project.
|
||||||
|
|
||||||
|
## SonarQube configuration
|
||||||
|
Open an account on https://sonarcloud.io.
|
||||||
|
Link SonarQube to your repository on GitHub, GitLab...
|
||||||
|
Start a new project for spring-petclinic.
|
||||||
|
Setup manually the configuration for your project with Maven and set values in your environment for :
|
||||||
|
- SONAR_PETCLINIC_PROJECTKEY
|
||||||
|
- SONAR_ORGANIZATION
|
||||||
|
- SONAR_PETCLINIC_TOKEN
|
||||||
|
|
||||||
|
Theses values are used in lines below from pom.xml.
|
||||||
|
|
||||||
|
```
|
||||||
|
<sonar.projectKey>${env.SONAR_PETCLINIC_PROJECTKEY}</sonar.projectKey>
|
||||||
|
<sonar.organization>${env.SONAR_ORGANIZATION}</sonar.organization>
|
||||||
|
<sonar.host.url>https://sonarcloud.io</sonar.host.url>
|
||||||
|
<sonar.login>${env.SONAR_PETCLINIC_TOKEN}</sonar.login>
|
||||||
|
```
|
||||||
|
|
||||||
|
## Travis-CI Configuration
|
||||||
|
Open an account on https://travis-ci.org
|
||||||
|
Link Travis-CI to your repository on GitHub, GitLab...
|
||||||
|
Set environment variable in your Travis-CI project for Mailtrap, Oauth2 and SonarQube.
|
||||||
|
|
||||||
## Working with Petclinic in your IDE
|
## Working with Petclinic in your IDE
|
||||||
|
|
||||||
### Prerequisites
|
### Prerequisites
|
||||||
|
|
|
@ -37,14 +37,14 @@ public final class CommonAttribute {
|
||||||
|
|
||||||
public static final String PET = "pet";
|
public static final String PET = "pet";
|
||||||
|
|
||||||
public static final String SELECTIONS = "selections";
|
|
||||||
|
|
||||||
public static final String PET_BIRTH_DATE = "birthDate";
|
public static final String PET_BIRTH_DATE = "birthDate";
|
||||||
|
|
||||||
public static final String PET_NAME = "name";
|
public static final String PET_NAME = "name";
|
||||||
|
|
||||||
public static final String PET_TYPE = "type";
|
public static final String PET_TYPE = "type";
|
||||||
|
|
||||||
|
public static final String SELECTIONS = "selections";
|
||||||
|
|
||||||
public static final String TOKEN = "token";
|
public static final String TOKEN = "token";
|
||||||
|
|
||||||
public static final String URLS = "urls";
|
public static final String URLS = "urls";
|
||||||
|
|
|
@ -15,6 +15,8 @@
|
||||||
*/
|
*/
|
||||||
package org.springframework.samples.petclinic.dto.business;
|
package org.springframework.samples.petclinic.dto.business;
|
||||||
|
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
import org.springframework.beans.support.MutableSortDefinition;
|
import org.springframework.beans.support.MutableSortDefinition;
|
||||||
import org.springframework.beans.support.PropertyComparator;
|
import org.springframework.beans.support.PropertyComparator;
|
||||||
import org.springframework.core.style.ToStringCreator;
|
import org.springframework.core.style.ToStringCreator;
|
||||||
|
@ -30,6 +32,8 @@ import java.util.*;
|
||||||
*
|
*
|
||||||
* @author Paul-Emmanuel DOS SANTOS FACAO
|
* @author Paul-Emmanuel DOS SANTOS FACAO
|
||||||
*/
|
*/
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
public class OwnerDTO extends PersonDTO {
|
public class OwnerDTO extends PersonDTO {
|
||||||
|
|
||||||
@NotEmpty
|
@NotEmpty
|
||||||
|
@ -44,30 +48,6 @@ public class OwnerDTO extends PersonDTO {
|
||||||
|
|
||||||
private Set<PetDTO> pets;
|
private Set<PetDTO> pets;
|
||||||
|
|
||||||
public String getAddress() {
|
|
||||||
return this.address;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setAddress(String address) {
|
|
||||||
this.address = address;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getCity() {
|
|
||||||
return this.city;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCity(String city) {
|
|
||||||
this.city = city;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getTelephone() {
|
|
||||||
return this.telephone;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTelephone(String telephone) {
|
|
||||||
this.telephone = telephone;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected Set<PetDTO> getPetsInternal() {
|
protected Set<PetDTO> getPetsInternal() {
|
||||||
if (this.pets == null) {
|
if (this.pets == null) {
|
||||||
this.pets = new HashSet<>();
|
this.pets = new HashSet<>();
|
||||||
|
|
|
@ -15,6 +15,8 @@
|
||||||
*/
|
*/
|
||||||
package org.springframework.samples.petclinic.dto.business;
|
package org.springframework.samples.petclinic.dto.business;
|
||||||
|
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
import org.springframework.beans.support.MutableSortDefinition;
|
import org.springframework.beans.support.MutableSortDefinition;
|
||||||
import org.springframework.beans.support.PropertyComparator;
|
import org.springframework.beans.support.PropertyComparator;
|
||||||
import org.springframework.format.annotation.DateTimeFormat;
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
@ -28,6 +30,8 @@ import java.util.*;
|
||||||
*
|
*
|
||||||
* @author Paul-Emmanuel DOS SANTOS FACAO
|
* @author Paul-Emmanuel DOS SANTOS FACAO
|
||||||
*/
|
*/
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
public class PetDTO extends NamedDTO {
|
public class PetDTO extends NamedDTO {
|
||||||
|
|
||||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||||
|
@ -39,30 +43,6 @@ public class PetDTO extends NamedDTO {
|
||||||
|
|
||||||
private Set<VisitDTO> visits = new LinkedHashSet<>();
|
private Set<VisitDTO> visits = new LinkedHashSet<>();
|
||||||
|
|
||||||
public void setBirthDate(LocalDate birthDate) {
|
|
||||||
this.birthDate = birthDate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public LocalDate getBirthDate() {
|
|
||||||
return this.birthDate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public PetTypeDTO getType() {
|
|
||||||
return this.type;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setType(PetTypeDTO type) {
|
|
||||||
this.type = type;
|
|
||||||
}
|
|
||||||
|
|
||||||
public OwnerDTO getOwner() {
|
|
||||||
return owner;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setOwner(OwnerDTO owner) {
|
|
||||||
this.owner = owner;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected Set<VisitDTO> getVisitsInternal() {
|
protected Set<VisitDTO> getVisitsInternal() {
|
||||||
if (this.visits == null) {
|
if (this.visits == null) {
|
||||||
this.visits = new HashSet<>();
|
this.visits = new HashSet<>();
|
||||||
|
|
|
@ -15,6 +15,8 @@
|
||||||
*/
|
*/
|
||||||
package org.springframework.samples.petclinic.dto.business;
|
package org.springframework.samples.petclinic.dto.business;
|
||||||
|
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
import org.springframework.format.annotation.DateTimeFormat;
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
import org.springframework.samples.petclinic.dto.common.BaseDTO;
|
import org.springframework.samples.petclinic.dto.common.BaseDTO;
|
||||||
import org.springframework.samples.petclinic.model.business.Visit;
|
import org.springframework.samples.petclinic.model.business.Visit;
|
||||||
|
@ -27,6 +29,8 @@ import java.time.LocalDate;
|
||||||
*
|
*
|
||||||
* @author Paul-Emmanuel DOS SANTOS FACAO
|
* @author Paul-Emmanuel DOS SANTOS FACAO
|
||||||
*/
|
*/
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
public class VisitDTO extends BaseDTO {
|
public class VisitDTO extends BaseDTO {
|
||||||
|
|
||||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||||
|
@ -44,30 +48,6 @@ public class VisitDTO extends BaseDTO {
|
||||||
this.date = LocalDate.now();
|
this.date = LocalDate.now();
|
||||||
}
|
}
|
||||||
|
|
||||||
public LocalDate getDate() {
|
|
||||||
return this.date;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setDate(LocalDate date) {
|
|
||||||
this.date = date;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getDescription() {
|
|
||||||
return this.description;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setDescription(String description) {
|
|
||||||
this.description = description;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Integer getPetId() {
|
|
||||||
return this.petId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setPetId(Integer petId) {
|
|
||||||
this.petId = petId;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean equals(Object o) {
|
public boolean equals(Object o) {
|
||||||
if (this == o)
|
if (this == o)
|
||||||
|
|
|
@ -15,6 +15,9 @@
|
||||||
*/
|
*/
|
||||||
package org.springframework.samples.petclinic.dto.common;
|
package org.springframework.samples.petclinic.dto.common;
|
||||||
|
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -23,30 +26,14 @@ import java.io.Serializable;
|
||||||
*
|
*
|
||||||
* @author Paul-Emmanuel DOS SANTOS FACAO
|
* @author Paul-Emmanuel DOS SANTOS FACAO
|
||||||
*/
|
*/
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
public class BaseDTO implements Serializable {
|
public class BaseDTO implements Serializable {
|
||||||
|
|
||||||
private Integer id;
|
private Integer id;
|
||||||
|
|
||||||
public Integer getId() {
|
|
||||||
return id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setId(Integer id) {
|
|
||||||
this.id = id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isNew() {
|
public boolean isNew() {
|
||||||
return this.id == null;
|
return this.id == null;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* @Override public boolean equals(Object o) { if (this == o) return true;
|
|
||||||
*
|
|
||||||
* if (!(o instanceof BaseDTO)) return false;
|
|
||||||
*
|
|
||||||
* BaseDTO baseDTO = (BaseDTO) o;
|
|
||||||
*
|
|
||||||
* return new EqualsBuilder().append(getId(), baseDTO.getId()).isEquals(); }
|
|
||||||
*/
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,8 +15,8 @@
|
||||||
*/
|
*/
|
||||||
package org.springframework.samples.petclinic.dto.common;
|
package org.springframework.samples.petclinic.dto.common;
|
||||||
|
|
||||||
import org.apache.commons.lang3.builder.EqualsBuilder;
|
import lombok.Getter;
|
||||||
import org.apache.commons.lang3.builder.HashCodeBuilder;
|
import lombok.Setter;
|
||||||
|
|
||||||
import javax.validation.constraints.NotEmpty;
|
import javax.validation.constraints.NotEmpty;
|
||||||
|
|
||||||
|
@ -25,6 +25,8 @@ import javax.validation.constraints.NotEmpty;
|
||||||
*
|
*
|
||||||
* @author Paul-Emmanuel DOS SANTOS FACAO
|
* @author Paul-Emmanuel DOS SANTOS FACAO
|
||||||
*/
|
*/
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
public class PersonDTO extends BaseDTO {
|
public class PersonDTO extends BaseDTO {
|
||||||
|
|
||||||
@NotEmpty
|
@NotEmpty
|
||||||
|
@ -33,22 +35,6 @@ public class PersonDTO extends BaseDTO {
|
||||||
@NotEmpty
|
@NotEmpty
|
||||||
private String lastName;
|
private String lastName;
|
||||||
|
|
||||||
public String getFirstName() {
|
|
||||||
return this.firstName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setFirstName(String firstName) {
|
|
||||||
this.firstName = firstName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getLastName() {
|
|
||||||
return this.lastName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setLastName(String lastName) {
|
|
||||||
this.lastName = lastName;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean equals(Object o) {
|
public boolean equals(Object o) {
|
||||||
if (this == o)
|
if (this == o)
|
||||||
|
|
|
@ -3,10 +3,8 @@ package org.springframework.samples.petclinic.dto.common;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import org.apache.commons.lang3.builder.EqualsBuilder;
|
import org.apache.commons.lang3.builder.EqualsBuilder;
|
||||||
import org.apache.commons.lang3.builder.HashCodeBuilder;
|
|
||||||
import org.springframework.samples.petclinic.common.CommonError;
|
import org.springframework.samples.petclinic.common.CommonError;
|
||||||
import org.springframework.samples.petclinic.common.CommonParameter;
|
import org.springframework.samples.petclinic.common.CommonParameter;
|
||||||
import org.springframework.samples.petclinic.model.common.Role;
|
|
||||||
import org.springframework.security.core.GrantedAuthority;
|
import org.springframework.security.core.GrantedAuthority;
|
||||||
import org.springframework.security.core.authority.SimpleGrantedAuthority;
|
import org.springframework.security.core.authority.SimpleGrantedAuthority;
|
||||||
import org.springframework.security.core.userdetails.UserDetails;
|
import org.springframework.security.core.userdetails.UserDetails;
|
||||||
|
|
|
@ -29,6 +29,8 @@ import javax.persistence.Table;
|
||||||
import javax.validation.constraints.Digits;
|
import javax.validation.constraints.Digits;
|
||||||
import javax.validation.constraints.NotEmpty;
|
import javax.validation.constraints.NotEmpty;
|
||||||
|
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
import org.springframework.beans.support.MutableSortDefinition;
|
import org.springframework.beans.support.MutableSortDefinition;
|
||||||
import org.springframework.beans.support.PropertyComparator;
|
import org.springframework.beans.support.PropertyComparator;
|
||||||
import org.springframework.core.style.ToStringCreator;
|
import org.springframework.core.style.ToStringCreator;
|
||||||
|
@ -43,7 +45,9 @@ import org.springframework.samples.petclinic.model.common.Person;
|
||||||
* @author Sam Brannen
|
* @author Sam Brannen
|
||||||
* @author Michael Isvy
|
* @author Michael Isvy
|
||||||
*/
|
*/
|
||||||
@Entity
|
@Getter
|
||||||
|
@Setter
|
||||||
|
@Entity(name = "Owner")
|
||||||
@Table(name = "owners")
|
@Table(name = "owners")
|
||||||
public class Owner extends Person {
|
public class Owner extends Person {
|
||||||
|
|
||||||
|
@ -63,30 +67,6 @@ public class Owner extends Person {
|
||||||
@OneToMany(cascade = CascadeType.ALL, mappedBy = "owner")
|
@OneToMany(cascade = CascadeType.ALL, mappedBy = "owner")
|
||||||
private Set<Pet> pets;
|
private Set<Pet> pets;
|
||||||
|
|
||||||
public String getAddress() {
|
|
||||||
return this.address;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setAddress(String address) {
|
|
||||||
this.address = address;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getCity() {
|
|
||||||
return this.city;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCity(String city) {
|
|
||||||
this.city = city;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getTelephone() {
|
|
||||||
return this.telephone;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTelephone(String telephone) {
|
|
||||||
this.telephone = telephone;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected Set<Pet> getPetsInternal() {
|
protected Set<Pet> getPetsInternal() {
|
||||||
if (this.pets == null) {
|
if (this.pets == null) {
|
||||||
this.pets = new HashSet<>();
|
this.pets = new HashSet<>();
|
||||||
|
|
|
@ -31,6 +31,8 @@ import javax.persistence.ManyToOne;
|
||||||
import javax.persistence.Table;
|
import javax.persistence.Table;
|
||||||
import javax.persistence.Transient;
|
import javax.persistence.Transient;
|
||||||
|
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
import org.springframework.beans.support.MutableSortDefinition;
|
import org.springframework.beans.support.MutableSortDefinition;
|
||||||
import org.springframework.beans.support.PropertyComparator;
|
import org.springframework.beans.support.PropertyComparator;
|
||||||
import org.springframework.format.annotation.DateTimeFormat;
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
@ -43,7 +45,9 @@ import org.springframework.samples.petclinic.model.common.NamedEntity;
|
||||||
* @author Juergen Hoeller
|
* @author Juergen Hoeller
|
||||||
* @author Sam Brannen
|
* @author Sam Brannen
|
||||||
*/
|
*/
|
||||||
@Entity
|
@Getter
|
||||||
|
@Setter
|
||||||
|
@Entity(name = "Pet")
|
||||||
@Table(name = "pets")
|
@Table(name = "pets")
|
||||||
public class Pet extends NamedEntity {
|
public class Pet extends NamedEntity {
|
||||||
|
|
||||||
|
@ -62,30 +66,6 @@ public class Pet extends NamedEntity {
|
||||||
@Transient
|
@Transient
|
||||||
private Set<Visit> visits = new LinkedHashSet<>();
|
private Set<Visit> visits = new LinkedHashSet<>();
|
||||||
|
|
||||||
public void setBirthDate(LocalDate birthDate) {
|
|
||||||
this.birthDate = birthDate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public LocalDate getBirthDate() {
|
|
||||||
return this.birthDate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public PetType getType() {
|
|
||||||
return this.type;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setType(PetType type) {
|
|
||||||
this.type = type;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Owner getOwner() {
|
|
||||||
return this.owner;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setOwner(Owner owner) {
|
|
||||||
this.owner = owner;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected Set<Visit> getVisitsInternal() {
|
protected Set<Visit> getVisitsInternal() {
|
||||||
if (this.visits == null) {
|
if (this.visits == null) {
|
||||||
this.visits = new HashSet<>();
|
this.visits = new HashSet<>();
|
||||||
|
|
|
@ -41,7 +41,7 @@ import org.springframework.samples.petclinic.model.common.Person;
|
||||||
* @author Sam Brannen
|
* @author Sam Brannen
|
||||||
* @author Arjen Poutsma
|
* @author Arjen Poutsma
|
||||||
*/
|
*/
|
||||||
@Entity
|
@Entity(name = "Vet")
|
||||||
@Table(name = "vets")
|
@Table(name = "vets")
|
||||||
public class Vet extends Person {
|
public class Vet extends Person {
|
||||||
|
|
||||||
|
|
|
@ -12,11 +12,11 @@ import javax.persistence.Table;
|
||||||
*
|
*
|
||||||
* @author Paul-Emmanuel DOS SANTOS FACAO
|
* @author Paul-Emmanuel DOS SANTOS FACAO
|
||||||
*/
|
*/
|
||||||
@Entity(name = "AuthProvider")
|
|
||||||
@Table(name = "auth_providers")
|
|
||||||
@NoArgsConstructor
|
|
||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
|
@NoArgsConstructor
|
||||||
|
@Entity(name = "AuthProvider")
|
||||||
|
@Table(name = "auth_providers")
|
||||||
public class AuthProvider extends NamedEntity {
|
public class AuthProvider extends NamedEntity {
|
||||||
|
|
||||||
public AuthProvider(Integer id, String name) {
|
public AuthProvider(Integer id, String name) {
|
||||||
|
|
|
@ -21,12 +21,12 @@ import java.util.UUID;
|
||||||
*
|
*
|
||||||
* @author Paul-Emmanuel DOS SANTOS FACAO
|
* @author Paul-Emmanuel DOS SANTOS FACAO
|
||||||
*/
|
*/
|
||||||
@Entity(name = "Credential")
|
|
||||||
@Table(name = "credentials")
|
|
||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
|
@Entity(name = "Credential")
|
||||||
|
@Table(name = "credentials")
|
||||||
public class Credential extends BaseEntity {
|
public class Credential extends BaseEntity {
|
||||||
|
|
||||||
private static final int TOKEN_EXPIRATION = 60 * 24;
|
private static final int TOKEN_EXPIRATION = 60 * 24;
|
||||||
|
|
|
@ -11,12 +11,12 @@ import java.io.Serializable;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
|
|
||||||
@Entity
|
|
||||||
@Table(name = "privileges")
|
|
||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
|
@Entity(name = "Privilege")
|
||||||
|
@Table(name = "privileges")
|
||||||
public class Privilege implements Serializable {
|
public class Privilege implements Serializable {
|
||||||
|
|
||||||
@Id
|
@Id
|
||||||
|
|
|
@ -18,12 +18,12 @@ import java.util.HashSet;
|
||||||
*
|
*
|
||||||
* @author Paul-Emmanuel DOS SANTOS FACAO
|
* @author Paul-Emmanuel DOS SANTOS FACAO
|
||||||
*/
|
*/
|
||||||
@Entity
|
|
||||||
@Table(name = "roles")
|
|
||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
|
@Entity(name = "Role")
|
||||||
|
@Table(name = "roles")
|
||||||
public class Role implements Serializable {
|
public class Role implements Serializable {
|
||||||
|
|
||||||
@Id
|
@Id
|
||||||
|
|
|
@ -2,8 +2,6 @@ package org.springframework.samples.petclinic.model.common;
|
||||||
|
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import org.apache.commons.lang3.builder.EqualsBuilder;
|
|
||||||
import org.apache.commons.lang3.builder.HashCodeBuilder;
|
|
||||||
import org.springframework.samples.petclinic.common.CommonError;
|
import org.springframework.samples.petclinic.common.CommonError;
|
||||||
import org.springframework.samples.petclinic.common.CommonParameter;
|
import org.springframework.samples.petclinic.common.CommonParameter;
|
||||||
import org.springframework.security.core.GrantedAuthority;
|
import org.springframework.security.core.GrantedAuthority;
|
||||||
|
@ -22,10 +20,10 @@ import java.util.*;
|
||||||
*
|
*
|
||||||
* @author Paul-Emmanuel DOS SANTOS FACAO
|
* @author Paul-Emmanuel DOS SANTOS FACAO
|
||||||
*/
|
*/
|
||||||
@Entity
|
|
||||||
@Table(name = "users")
|
|
||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
|
@Entity(name = "User")
|
||||||
|
@Table(name = "users")
|
||||||
public class User extends Person implements Serializable, UserDetails {
|
public class User extends Person implements Serializable, UserDetails {
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
package org.springframework.samples.petclinic.model.common;
|
package org.springframework.samples.petclinic.model.common;
|
||||||
|
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
|
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -7,6 +10,8 @@ import java.time.LocalDate;
|
||||||
*
|
*
|
||||||
* @author Paul-Emmanuel DOS SANTOS FACAO
|
* @author Paul-Emmanuel DOS SANTOS FACAO
|
||||||
*/
|
*/
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
public class WebSocketMessage {
|
public class WebSocketMessage {
|
||||||
|
|
||||||
public static final String ALERT = "alert";
|
public static final String ALERT = "alert";
|
||||||
|
@ -39,36 +44,4 @@ public class WebSocketMessage {
|
||||||
this.type = type;
|
this.type = type;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getSender() {
|
|
||||||
return sender;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setSender(String sender) {
|
|
||||||
this.sender = sender;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getTime() {
|
|
||||||
return time;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTime(String time) {
|
|
||||||
this.time = time;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getContent() {
|
|
||||||
return content;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setContent(String content) {
|
|
||||||
this.content = content;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getType() {
|
|
||||||
return type;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setType(String type) {
|
|
||||||
this.type = type;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,7 +4,6 @@ import org.springframework.data.jpa.repository.Query;
|
||||||
import org.springframework.data.repository.Repository;
|
import org.springframework.data.repository.Repository;
|
||||||
import org.springframework.data.repository.query.Param;
|
import org.springframework.data.repository.query.Param;
|
||||||
import org.springframework.samples.petclinic.model.common.Credential;
|
import org.springframework.samples.petclinic.model.common.Credential;
|
||||||
import org.springframework.samples.petclinic.model.common.User;
|
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
|
@ -8,7 +8,6 @@ import org.springframework.samples.petclinic.model.common.AuthProvider;
|
||||||
import org.springframework.samples.petclinic.model.common.Credential;
|
import org.springframework.samples.petclinic.model.common.Credential;
|
||||||
import org.springframework.samples.petclinic.repository.AuthProviderRepository;
|
import org.springframework.samples.petclinic.repository.AuthProviderRepository;
|
||||||
import org.springframework.samples.petclinic.repository.CredentialRepository;
|
import org.springframework.samples.petclinic.repository.CredentialRepository;
|
||||||
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
|
|
||||||
import org.springframework.security.oauth2.client.authentication.OAuth2AuthenticationToken;
|
import org.springframework.security.oauth2.client.authentication.OAuth2AuthenticationToken;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
@ -22,16 +21,12 @@ public class CredentialService {
|
||||||
|
|
||||||
private final CredentialRepository credentialRepository;
|
private final CredentialRepository credentialRepository;
|
||||||
|
|
||||||
private final BCryptPasswordEncoder bCryptPasswordEncoder;
|
|
||||||
|
|
||||||
private final AuthProviderRepository authProviderRepository;
|
private final AuthProviderRepository authProviderRepository;
|
||||||
|
|
||||||
private final ModelMapper modelMapper = new ModelMapper();
|
private final ModelMapper modelMapper = new ModelMapper();
|
||||||
|
|
||||||
public CredentialService(CredentialRepository credentialRepository, BCryptPasswordEncoder bCryptPasswordEncoder,
|
public CredentialService(CredentialRepository credentialRepository, AuthProviderRepository authProviderRepository) {
|
||||||
AuthProviderRepository authProviderRepository) {
|
|
||||||
this.credentialRepository = credentialRepository;
|
this.credentialRepository = credentialRepository;
|
||||||
this.bCryptPasswordEncoder = bCryptPasswordEncoder;
|
|
||||||
this.authProviderRepository = authProviderRepository;
|
this.authProviderRepository = authProviderRepository;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -17,6 +17,11 @@ import javax.mail.internet.MimeMessage;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Simple Service to send email from PetClinic to users.
|
||||||
|
*
|
||||||
|
* @author Paul-Emmanuel DOS SANTOS FACAO
|
||||||
|
*/
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Service("EmailService")
|
@Service("EmailService")
|
||||||
public class EmailService {
|
public class EmailService {
|
||||||
|
|
|
@ -73,9 +73,7 @@ public class PrivilegeService implements BaseService<Privilege, PrivilegeDTO> {
|
||||||
Collection<Privilege> privileges = privilegeRepository.findAll();
|
Collection<Privilege> privileges = privilegeRepository.findAll();
|
||||||
List<PrivilegeDTO> privilegeDTOS = new ArrayList<>();
|
List<PrivilegeDTO> privilegeDTOS = new ArrayList<>();
|
||||||
|
|
||||||
privileges.forEach(privilege -> {
|
privileges.forEach(privilege -> privilegeDTOS.add(entityToDTO(privilege)));
|
||||||
privilegeDTOS.add(entityToDTO(privilege));
|
|
||||||
});
|
|
||||||
|
|
||||||
return privilegeDTOS;
|
return privilegeDTOS;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
package org.springframework.samples.petclinic.service.common;
|
package org.springframework.samples.petclinic.service.common;
|
||||||
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.security.authentication.AuthenticationManager;
|
import org.springframework.security.authentication.AuthenticationManager;
|
||||||
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
|
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
|
||||||
|
@ -8,7 +7,12 @@ import org.springframework.security.core.context.SecurityContextHolder;
|
||||||
import org.springframework.security.core.userdetails.UserDetails;
|
import org.springframework.security.core.userdetails.UserDetails;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
@Slf4j
|
/**
|
||||||
|
* Simple Service between AuthProvider entity and AuthProviderDTO Data Transfert Object.
|
||||||
|
*
|
||||||
|
* @author Paul-Emmanuel DOS SANTOS FACAO
|
||||||
|
*/
|
||||||
|
|
||||||
@Service("SecurityService")
|
@Service("SecurityService")
|
||||||
public class SecurityServiceImpl implements SecurityService {
|
public class SecurityServiceImpl implements SecurityService {
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
package org.springframework.samples.petclinic.service.common;
|
package org.springframework.samples.petclinic.service.common;
|
||||||
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.samples.petclinic.dto.common.UserDTO;
|
import org.springframework.samples.petclinic.dto.common.UserDTO;
|
||||||
import org.springframework.security.core.userdetails.UserDetails;
|
import org.springframework.security.core.userdetails.UserDetails;
|
||||||
|
@ -9,7 +8,11 @@ import org.springframework.security.core.userdetails.UsernameNotFoundException;
|
||||||
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
|
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
@Slf4j
|
/**
|
||||||
|
* Simple Service to get UserDetails for authentification from UserService.
|
||||||
|
*
|
||||||
|
* @author Paul-Emmanuel DOS SANTOS FACAO
|
||||||
|
*/
|
||||||
@Service("UserDetailsService")
|
@Service("UserDetailsService")
|
||||||
public class UserDetailsServiceImpl implements UserDetailsService {
|
public class UserDetailsServiceImpl implements UserDetailsService {
|
||||||
|
|
||||||
|
|
|
@ -81,9 +81,7 @@ public class UserService implements BaseService<User, UserDTO> {
|
||||||
Collection<User> users = userRepository.findAll();
|
Collection<User> users = userRepository.findAll();
|
||||||
List<UserDTO> userDTOS = new ArrayList<>();
|
List<UserDTO> userDTOS = new ArrayList<>();
|
||||||
|
|
||||||
users.forEach(user -> {
|
users.forEach(user -> userDTOS.add(entityToDTO(user)));
|
||||||
userDTOS.add(entityToDTO(user));
|
|
||||||
});
|
|
||||||
|
|
||||||
return userDTOS;
|
return userDTOS;
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,17 +2,10 @@
|
||||||
spring.security.oauth2.client.registration.google.client-id=${OAUTH2_GOOGLE_CLIENT_ID}
|
spring.security.oauth2.client.registration.google.client-id=${OAUTH2_GOOGLE_CLIENT_ID}
|
||||||
spring.security.oauth2.client.registration.google.client-secret=${OAUTH2_GOOGLE_CLIENT_SECRET}
|
spring.security.oauth2.client.registration.google.client-secret=${OAUTH2_GOOGLE_CLIENT_SECRET}
|
||||||
|
|
||||||
#spring.security.oauth2.client.registration.github.client-id=${OAUTH2_GITHUB_CLIENT_ID}
|
spring.security.oauth2.client.registration.github.client-id=${OAUTH2_GITHUB_CLIENT_ID}
|
||||||
#spring.security.oauth2.client.registration.github.client-secret=${OAUTH2_GITHUB_CLIENT_SECRET}
|
spring.security.oauth2.client.registration.github.client-secret=${OAUTH2_GITHUB_CLIENT_SECRET}
|
||||||
spring.security.oauth2.client.registration.github.client-id=d3e47fc2ddd966fa4352
|
|
||||||
spring.security.oauth2.client.registration.github.client-secret=3bc0f6b8332f93076354c2a5bada2f5a05aea60d
|
|
||||||
|
|
||||||
|
#spring.security.oauth2.client.registration.facebook.client-id=${OAUTH2_FACEBOOK_CLIENT_ID}
|
||||||
|
#spring.security.oauth2.client.registration.facebook.client-secret=${OAUTH2_FACEBOOK_CLIENT_SECRET}
|
||||||
spring.security.oauth2.client.registration.facebook.client-id=121189305185277
|
spring.security.oauth2.client.registration.facebook.client-id=121189305185277
|
||||||
spring.security.oauth2.client.registration.facebook.client-secret=42ffe5aa7379e8326387e0fe16f34132
|
spring.security.oauth2.client.registration.facebook.client-secret=42ffe5aa7379e8326387e0fe16f34132
|
||||||
|
|
||||||
#spring.security.oauth2.client.registration.twitter.client-id=YrtJmnJJjpxEH3289eVyFxCNt
|
|
||||||
#spring.security.oauth2.client.registration.twitter.client-secret=aMMFcgJlGpSKvAuiwBgWSXCzjzcOezLgGZtkdmGISUPk7CIzcB
|
|
||||||
|
|
||||||
#spring.security.oauth2.client.registration.linkedin.client-id=121189305185277
|
|
||||||
#spring.security.oauth2.client.registration.linkedin.client-secret=42ffe5aa7379e8326387e0fe16f34132
|
|
||||||
|
|
||||||
|
|
|
@ -62,7 +62,7 @@ class CredentialServiceIntegrationTest {
|
||||||
void beforeEach() {
|
void beforeEach() {
|
||||||
allCredentials = credentialRepository.findAll();
|
allCredentials = credentialRepository.findAll();
|
||||||
|
|
||||||
credentialService = new CredentialService(credentialRepository, bCryptPasswordEncoder, authProviderRepository);
|
credentialService = new CredentialService(credentialRepository, authProviderRepository);
|
||||||
authProvider = new AuthProvider(PROVIDER_TEST_ID, PROVIDER_TEST_NAME);
|
authProvider = new AuthProvider(PROVIDER_TEST_ID, PROVIDER_TEST_NAME);
|
||||||
credential = new Credential(PROVIDER_TEST_ID, EMAIL_TEST, PASSWORD_TEST, true);
|
credential = new Credential(PROVIDER_TEST_ID, EMAIL_TEST, PASSWORD_TEST, true);
|
||||||
credential.setToken(TOKEN_TEST);
|
credential.setToken(TOKEN_TEST);
|
||||||
|
|
|
@ -59,7 +59,7 @@ class CredentialServiceTest {
|
||||||
|
|
||||||
@BeforeEach
|
@BeforeEach
|
||||||
void beforeEach() {
|
void beforeEach() {
|
||||||
credentialService = new CredentialService(credentialRepository, bCryptPasswordEncoder, authProviderRepository);
|
credentialService = new CredentialService(credentialRepository, authProviderRepository);
|
||||||
authProvider = new AuthProvider(PROVIDER_TEST_ID, PROVIDER_TEST_NAME);
|
authProvider = new AuthProvider(PROVIDER_TEST_ID, PROVIDER_TEST_NAME);
|
||||||
credential = new Credential(PROVIDER_TEST_ID, EMAIL_TEST, PASSWORD_TEST, true);
|
credential = new Credential(PROVIDER_TEST_ID, EMAIL_TEST, PASSWORD_TEST, true);
|
||||||
credential.setToken(TOKEN_TEST);
|
credential.setToken(TOKEN_TEST);
|
||||||
|
|
Loading…
Reference in a new issue