Archived
Add the version revisions system.
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
package org.codiki.core.entities.persistence;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.GeneratedValue;
|
||||
import javax.persistence.GenerationType;
|
||||
import javax.persistence.Id;
|
||||
import javax.persistence.Table;
|
||||
|
||||
/**
|
||||
* Entity which represents a version for the version revisions panel.
|
||||
*
|
||||
* @author florian
|
||||
*
|
||||
*/
|
||||
@Entity
|
||||
@Table(name="version")
|
||||
public class Version implements Serializable {
|
||||
private static final long serialVersionUID = -8803744005903941330L;
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Long id;
|
||||
|
||||
private String number;
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getNumber() {
|
||||
return number;
|
||||
}
|
||||
|
||||
public void setNumber(String number) {
|
||||
this.number = number;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
package org.codiki.core.entities.persistence;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.FetchType;
|
||||
import javax.persistence.GeneratedValue;
|
||||
import javax.persistence.GenerationType;
|
||||
import javax.persistence.Id;
|
||||
import javax.persistence.JoinColumn;
|
||||
import javax.persistence.ManyToOne;
|
||||
import javax.persistence.Table;
|
||||
|
||||
@Entity
|
||||
@Table(name="version_revision")
|
||||
public class VersionRevision implements Serializable {
|
||||
private static final long serialVersionUID = 1837590467941917225L;
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Long id;
|
||||
|
||||
private String text;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "version_id")
|
||||
private Version version;
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getText() {
|
||||
return text;
|
||||
}
|
||||
|
||||
public void setText(String text) {
|
||||
this.text = text;
|
||||
}
|
||||
|
||||
public Version getVersion() {
|
||||
return version;
|
||||
}
|
||||
|
||||
public void setVersion(Version version) {
|
||||
this.version = version;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package org.codiki.core.repositories;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
import org.codiki.core.entities.persistence.Version;
|
||||
import org.springframework.data.jpa.repository.Query;
|
||||
import org.springframework.data.repository.CrudRepository;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
@Repository
|
||||
public interface VersionRepository extends CrudRepository<Version, Long> {
|
||||
@Query("SELECT v FROM Version v ORDER BY v.number DESC")
|
||||
Iterable<Version> findAllOrderByNumber();
|
||||
|
||||
Optional<Version> findByNumber(String pNumber);
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package org.codiki.core.repositories;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.codiki.core.entities.persistence.VersionRevision;
|
||||
import org.springframework.data.jpa.repository.Query;
|
||||
import org.springframework.data.repository.CrudRepository;
|
||||
import org.springframework.data.repository.query.Param;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
@Repository
|
||||
public interface VersionRevisionRepository extends CrudRepository<VersionRevision, Long> {
|
||||
|
||||
@Query("SELECT vr FROM VersionRevision vr JOIN FETCH vr.version WHERE vr.version.number = :versionNumber")
|
||||
List<VersionRevision> findByVersionNumber(@Param("versionNumber") final String pVersionNumber);
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
package org.codiki.versionrevisions;
|
||||
|
||||
import org.codiki.core.entities.persistence.Version;
|
||||
import org.codiki.core.entities.persistence.VersionRevision;
|
||||
import org.codiki.core.repositories.VersionRepository;
|
||||
import org.codiki.core.repositories.VersionRevisionRepository;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/api/versionrevisions")
|
||||
public class VersionRevisionController {
|
||||
|
||||
@Autowired
|
||||
private VersionRevisionRepository repository;
|
||||
|
||||
@Autowired
|
||||
private VersionRepository versionRepository;
|
||||
|
||||
@GetMapping("/versions")
|
||||
public Iterable<Version> getVersions() {
|
||||
return versionRepository.findAllOrderByNumber();
|
||||
}
|
||||
|
||||
@GetMapping("/{versionNumber}")
|
||||
public Iterable<VersionRevision> getVersionRevisionByVersionNumber(
|
||||
@PathVariable("versionNumber") final String pVersionNumber) {
|
||||
return repository.findByVersionNumber(pVersionNumber);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user