PAN-7 Set up the findAll method in the DefinitionDTO
This commit is contained in:
@@ -21,6 +21,8 @@ dependencies {
|
|||||||
compile group: 'org.springframework.boot', name: 'spring-boot-starter-web', version: '2.0.5.RELEASE'
|
compile group: 'org.springframework.boot', name: 'spring-boot-starter-web', version: '2.0.5.RELEASE'
|
||||||
compile group: 'org.springframework', name: 'spring-aspects', version: '5.1.5.RELEASE'
|
compile group: 'org.springframework', name: 'spring-aspects', version: '5.1.5.RELEASE'
|
||||||
compile group: 'org.hibernate', name: 'hibernate-core', version: '5.4.1.Final'
|
compile group: 'org.hibernate', name: 'hibernate-core', version: '5.4.1.Final'
|
||||||
|
compile group: 'com.vladmihalcea', name: 'hibernate-types-52', version: '2.4.1'
|
||||||
|
|
||||||
|
|
||||||
compile fileTree(dir: 'lib', include: '**/*.jar')
|
compile fileTree(dir: 'lib', include: '**/*.jar')
|
||||||
|
|
||||||
|
|||||||
+26
@@ -0,0 +1,26 @@
|
|||||||
|
package edu.msudenver.tsp.persistence.controller;
|
||||||
|
|
||||||
|
import edu.msudenver.tsp.persistence.dto.AccountsDto;
|
||||||
|
import edu.msudenver.tsp.persistence.repository.AccountsRepository;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
@RestController
|
||||||
|
@AllArgsConstructor
|
||||||
|
@RequestMapping("/accounts")
|
||||||
|
public class AccountController {
|
||||||
|
private final AccountsRepository accountsRepository;
|
||||||
|
|
||||||
|
@GetMapping("/")
|
||||||
|
public @ResponseBody Iterable<AccountsDto> getListOfAccounts() {
|
||||||
|
return accountsRepository.findAll();
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/{id}")
|
||||||
|
public @ResponseBody
|
||||||
|
Optional<AccountsDto> getAccountById(@PathVariable("id") final Integer id) {
|
||||||
|
return accountsRepository.findById(id);
|
||||||
|
}
|
||||||
|
}
|
||||||
+28
@@ -0,0 +1,28 @@
|
|||||||
|
package edu.msudenver.tsp.persistence.dto;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
|
||||||
|
|
||||||
|
import javax.persistence.Entity;
|
||||||
|
import javax.persistence.EntityListeners;
|
||||||
|
import javax.persistence.Temporal;
|
||||||
|
import javax.persistence.TemporalType;
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
import javax.validation.constraints.Size;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
@Entity(name = "accounts")
|
||||||
|
@EntityListeners(AuditingEntityListener.class)
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
public class AccountsDto extends BaseDto implements Serializable {
|
||||||
|
@Size(max = 50) private String username;
|
||||||
|
@Size(max = 256) private String password;
|
||||||
|
@NotNull @JsonProperty("administrator_status") private boolean administratorStatus;
|
||||||
|
@Temporal(TemporalType.DATE) @JsonProperty("last_login") private Date lastLogin;
|
||||||
|
|
||||||
|
public static final long serialVersionUID = 7095627971593953734L;
|
||||||
|
}
|
||||||
+17
-1
@@ -1,9 +1,17 @@
|
|||||||
package edu.msudenver.tsp.persistence.dto;
|
package edu.msudenver.tsp.persistence.dto;
|
||||||
|
|
||||||
|
import com.vladmihalcea.hibernate.type.array.IntArrayType;
|
||||||
|
import com.vladmihalcea.hibernate.type.array.StringArrayType;
|
||||||
|
import com.vladmihalcea.hibernate.type.json.JsonBinaryType;
|
||||||
|
import com.vladmihalcea.hibernate.type.json.JsonNodeBinaryType;
|
||||||
|
import com.vladmihalcea.hibernate.type.json.JsonNodeStringType;
|
||||||
|
import com.vladmihalcea.hibernate.type.json.JsonStringType;
|
||||||
import lombok.AccessLevel;
|
import lombok.AccessLevel;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
import org.hibernate.annotations.TypeDef;
|
||||||
|
import org.hibernate.annotations.TypeDefs;
|
||||||
|
|
||||||
import javax.persistence.*;
|
import javax.persistence.*;
|
||||||
|
|
||||||
@@ -12,10 +20,18 @@ import javax.persistence.*;
|
|||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@NoArgsConstructor(access = AccessLevel.PROTECTED)
|
@NoArgsConstructor(access = AccessLevel.PROTECTED)
|
||||||
@MappedSuperclass
|
@MappedSuperclass
|
||||||
|
@TypeDefs({
|
||||||
|
@TypeDef(name = "string-array", typeClass = StringArrayType.class),
|
||||||
|
@TypeDef(name = "int-array", typeClass = IntArrayType.class),
|
||||||
|
@TypeDef(name = "json", typeClass = JsonStringType.class),
|
||||||
|
@TypeDef(name = "jsonb", typeClass = JsonBinaryType.class),
|
||||||
|
@TypeDef(name = "jsonb-node", typeClass = JsonNodeBinaryType.class),
|
||||||
|
@TypeDef(name = "json-node", typeClass = JsonNodeStringType.class),
|
||||||
|
})
|
||||||
public class BaseDto {
|
public class BaseDto {
|
||||||
@Id
|
@Id
|
||||||
@GeneratedValue(strategy = GenerationType.AUTO)
|
@GeneratedValue(strategy = GenerationType.AUTO)
|
||||||
Integer id;
|
Integer id;
|
||||||
@Version
|
@Version
|
||||||
int version;
|
Integer version;
|
||||||
}
|
}
|
||||||
|
|||||||
+12
-1
@@ -1,6 +1,17 @@
|
|||||||
package edu.msudenver.tsp.persistence.dto;
|
package edu.msudenver.tsp.persistence.dto;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
|
import lombok.ToString;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
@ToString
|
||||||
public class Definition implements Serializable {
|
public class Definition implements Serializable {
|
||||||
|
private List<String> definitions;
|
||||||
|
|
||||||
|
public static final long serialVersionUID = -2208496232532214840L;
|
||||||
}
|
}
|
||||||
|
|||||||
+5
-3
@@ -2,8 +2,10 @@ package edu.msudenver.tsp.persistence.dto;
|
|||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
|
import org.hibernate.annotations.Type;
|
||||||
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
|
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
|
||||||
|
|
||||||
|
import javax.persistence.Column;
|
||||||
import javax.persistence.Entity;
|
import javax.persistence.Entity;
|
||||||
import javax.persistence.EntityListeners;
|
import javax.persistence.EntityListeners;
|
||||||
import javax.validation.constraints.Size;
|
import javax.validation.constraints.Size;
|
||||||
@@ -14,9 +16,9 @@ import java.io.Serializable;
|
|||||||
@Data
|
@Data
|
||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
public class DefinitionDto extends BaseDto implements Serializable {
|
public class DefinitionDto extends BaseDto implements Serializable {
|
||||||
@Size(min = 1, max = 200, message = "Must be between 1 and 200 characters") String name;
|
@Size(min = 1, max = 200, message = "Must be between 1 and 200 characters") private String name;
|
||||||
Definition definition;
|
@Type(type = "jsonb") @Column(columnDefinition = "jsonb") private Definition definition;
|
||||||
Notation notation;
|
@Type(type = "jsonb") @Column(columnDefinition = "jsonb") private Notation notation;
|
||||||
|
|
||||||
public static final long serialVersionUID = -5314619286352932857L;
|
public static final long serialVersionUID = -5314619286352932857L;
|
||||||
}
|
}
|
||||||
|
|||||||
+11
-1
@@ -1,6 +1,16 @@
|
|||||||
package edu.msudenver.tsp.persistence.dto;
|
package edu.msudenver.tsp.persistence.dto;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
|
import lombok.ToString;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
@ToString
|
||||||
public class Notation implements Serializable {
|
public class Notation implements Serializable {
|
||||||
|
private List<String> notations;
|
||||||
|
public static final long serialVersionUID = 2301438318932336121L;
|
||||||
}
|
}
|
||||||
|
|||||||
+9
@@ -0,0 +1,9 @@
|
|||||||
|
package edu.msudenver.tsp.persistence.repository;
|
||||||
|
|
||||||
|
import edu.msudenver.tsp.persistence.dto.AccountsDto;
|
||||||
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
@Repository
|
||||||
|
public interface AccountsRepository extends JpaRepository<AccountsDto, Integer> {
|
||||||
|
}
|
||||||
+1
-2
@@ -1,7 +1,6 @@
|
|||||||
package edu.msudenver.tsp.persistence.repository;
|
package edu.msudenver.tsp.persistence.repository;
|
||||||
|
|
||||||
|
|
||||||
import edu.msudenver.tsp.persistence.dto.Definition;
|
|
||||||
import edu.msudenver.tsp.persistence.dto.DefinitionDto;
|
import edu.msudenver.tsp.persistence.dto.DefinitionDto;
|
||||||
import edu.msudenver.tsp.persistence.dto.Notation;
|
import edu.msudenver.tsp.persistence.dto.Notation;
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
@@ -12,7 +11,7 @@ public interface DefinitionRepository extends JpaRepository<DefinitionDto, Integ
|
|||||||
|
|
||||||
DefinitionDto findByName(final String name);
|
DefinitionDto findByName(final String name);
|
||||||
|
|
||||||
DefinitionDto findByDefinition(final Definition definition);
|
DefinitionDto findByDefinition(final String definition);
|
||||||
|
|
||||||
DefinitionDto findByNotation(final Notation notation);
|
DefinitionDto findByNotation(final Notation notation);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,3 +10,4 @@ spring.datasource.tomcat.test-while-idle=true
|
|||||||
spring.datasource.tomcat.validation-query=SELECT 1
|
spring.datasource.tomcat.validation-query=SELECT 1
|
||||||
logging.level.org.springframework.web=DEBUG
|
logging.level.org.springframework.web=DEBUG
|
||||||
spring.datasource.tomcat.max-active=1
|
spring.datasource.tomcat.max-active=1
|
||||||
|
server.port=8090
|
||||||
Reference in New Issue
Block a user