You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2021/10/05 15:15:28 UTC
[isis-app-demo] tag tags/05-02-visit-entity-key-properties created
(now 8654067)
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a change to tag tags/05-02-visit-entity-key-properties
in repository https://gitbox.apache.org/repos/asf/isis-app-demo.git.
at 8654067 (commit)
This tag includes the following new commits:
new ee7749a adds Visit entity
new eb36637 updates teardown fixture for VisitsModule
new 141acc8 adds VisitRepository
new 8654067 adds visits schema for application.yml configuration
The 4 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
[isis-app-demo] 03/04: adds VisitRepository
Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to tag tags/05-02-visit-entity-key-properties
in repository https://gitbox.apache.org/repos/asf/isis-app-demo.git
commit 141acc8abf2b337925325c8631aac4133f9ece14
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Tue Oct 5 15:16:12 2021 +0100
adds VisitRepository
---
.../modules/visits/dom/visit/VisitRepository.java | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/module-visits/src/main/java/petclinic/modules/visits/dom/visit/VisitRepository.java b/module-visits/src/main/java/petclinic/modules/visits/dom/visit/VisitRepository.java
new file mode 100644
index 0000000..ab83b5f
--- /dev/null
+++ b/module-visits/src/main/java/petclinic/modules/visits/dom/visit/VisitRepository.java
@@ -0,0 +1,15 @@
+package petclinic.modules.visits.dom.visit;
+
+import java.util.List;
+import java.util.Optional;
+
+import org.springframework.data.repository.Repository;
+
+import petclinic.modules.pets.dom.pet.Pet;
+import petclinic.modules.pets.dom.petowner.PetOwner;
+
+public interface VisitRepository extends Repository<Visit, Long> {
+
+ List<Visit> findByPetOrderByVisitAtDesc(Pet pet);
+
+}
[isis-app-demo] 04/04: adds visits schema for application.yml
configuration
Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to tag tags/05-02-visit-entity-key-properties
in repository https://gitbox.apache.org/repos/asf/isis-app-demo.git
commit 8654067878681ed04f911c763ff9cdb3702a7ebb
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Tue Oct 5 15:15:02 2021 +0100
adds visits schema for application.yml configuration
---
webapp/src/main/resources/config/application.properties | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/webapp/src/main/resources/config/application.properties b/webapp/src/main/resources/config/application.properties
index a5d4679..9c9143c 100644
--- a/webapp/src/main/resources/config/application.properties
+++ b/webapp/src/main/resources/config/application.properties
@@ -15,7 +15,7 @@ spring.datasource.url=jdbc:h2:mem:petclinic;DATABASE_TO_UPPER=false
spring.datasource.driver-class-name=org.h2.Driver
isis.persistence.schema.create-schema-sql-template=CREATE SCHEMA IF NOT EXISTS %s
-isis.persistence.schema.auto-create-schemas=pets
+isis.persistence.schema.auto-create-schemas=pets,visits
#eclipselink.weaving=true
eclipselink.deploy-on-startup=true
[isis-app-demo] 01/04: adds Visit entity
Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to tag tags/05-02-visit-entity-key-properties
in repository https://gitbox.apache.org/repos/asf/isis-app-demo.git
commit ee7749a3c7d21caf7ec8109ff4032bc100ad00bb
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Tue Oct 5 16:13:27 2021 +0100
adds Visit entity
uses (transient) TitleService to determine title of referenced Pet
---
.../petclinic/modules/visits/dom/visit/Visit.java | 108 +++++++++++++++++++++
1 file changed, 108 insertions(+)
diff --git a/module-visits/src/main/java/petclinic/modules/visits/dom/visit/Visit.java b/module-visits/src/main/java/petclinic/modules/visits/dom/visit/Visit.java
new file mode 100644
index 0000000..bd3d3e2
--- /dev/null
+++ b/module-visits/src/main/java/petclinic/modules/visits/dom/visit/Visit.java
@@ -0,0 +1,108 @@
+package petclinic.modules.visits.dom.visit;
+
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.Comparator;
+
+import javax.inject.Inject;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.EntityListeners;
+import javax.persistence.EnumType;
+import javax.persistence.Enumerated;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
+import javax.persistence.Table;
+import javax.persistence.Transient;
+import javax.persistence.UniqueConstraint;
+import javax.persistence.Version;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+
+import org.apache.isis.applib.annotation.DomainObject;
+import org.apache.isis.applib.annotation.DomainObjectLayout;
+import org.apache.isis.applib.annotation.Property;
+import org.apache.isis.applib.annotation.PropertyLayout;
+import org.apache.isis.applib.annotation.Publishing;
+import org.apache.isis.applib.jaxb.PersistentEntityAdapter;
+import org.apache.isis.applib.services.title.TitleService;
+import org.apache.isis.persistence.jpa.applib.integration.IsisEntityListener;
+
+import lombok.AccessLevel;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+import lombok.ToString;
+
+import petclinic.modules.pets.dom.pet.Pet;
+import petclinic.modules.pets.dom.pet.PetSpecies;
+import petclinic.modules.pets.dom.petowner.PetOwner;
+import petclinic.modules.pets.types.FirstName;
+import petclinic.modules.pets.types.Notes;
+import petclinic.modules.pets.types.PetName;
+
+
+@Entity
+@Table(
+ schema="visits",
+ name = "Visit",
+ uniqueConstraints = {
+ @UniqueConstraint(name = "Visit__pet_visitAt__UNQ", columnNames = {"owner_id", "name"})
+ }
+)
+@EntityListeners(IsisEntityListener.class)
+@DomainObject(logicalTypeName = "visits.Visit", entityChangePublishing = Publishing.ENABLED)
+@DomainObjectLayout()
+@NoArgsConstructor(access = AccessLevel.PUBLIC)
+@XmlJavaTypeAdapter(PersistentEntityAdapter.class)
+@ToString(onlyExplicitlyIncluded = true)
+public class Visit implements Comparable<Visit> {
+
+ @Id
+ @GeneratedValue(strategy = GenerationType.AUTO)
+ @Column(name = "id", nullable = false)
+ @Getter @Setter
+ @PropertyLayout(fieldSetId = "metadata", sequence = "1")
+ private Long id;
+
+ @Version
+ @Column(name = "version", nullable = false)
+ @PropertyLayout(fieldSetId = "metadata", sequence = "999")
+ @Getter @Setter
+ private long version;
+
+
+ Visit(Pet pet, LocalDateTime visitAt) {
+ this.pet = pet;
+ this.visitAt = visitAt;
+ }
+
+
+ public String title() {
+ return titleService.titleOf(getPet()) + " @ " + getVisitAt().format(DateTimeFormatter.ofPattern("dd-MM-yyyy HH:mm"));
+ }
+
+ @ManyToOne(optional = false)
+ @JoinColumn(name = "pet_id")
+ @PropertyLayout(fieldSetId = "name", sequence = "1")
+ @Getter @Setter
+ private Pet pet;
+
+ @Column(name = "visitAt", nullable = false)
+ @Getter @Setter
+ @PropertyLayout(fieldSetId = "name", sequence = "2")
+ private LocalDateTime visitAt;
+
+
+ private final static Comparator<Visit> comparator =
+ Comparator.comparing(Visit::getPet).thenComparing(Visit::getVisitAt);
+
+ @Override
+ public int compareTo(final Visit other) {
+ return comparator.compare(this, other);
+ }
+
+ @Inject @Transient TitleService titleService;
+}
[isis-app-demo] 02/04: updates teardown fixture for VisitsModule
Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to tag tags/05-02-visit-entity-key-properties
in repository https://gitbox.apache.org/repos/asf/isis-app-demo.git
commit eb3663789d5744b49ef47d4bc0f6a50c1fa76bac
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Tue Oct 5 15:14:43 2021 +0100
updates teardown fixture for VisitsModule
---
module-visits/src/main/java/petclinic/modules/visits/VisitsModule.java | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/module-visits/src/main/java/petclinic/modules/visits/VisitsModule.java b/module-visits/src/main/java/petclinic/modules/visits/VisitsModule.java
index 3363c8d..29b941d 100644
--- a/module-visits/src/main/java/petclinic/modules/visits/VisitsModule.java
+++ b/module-visits/src/main/java/petclinic/modules/visits/VisitsModule.java
@@ -11,6 +11,7 @@ import org.apache.isis.testing.fixtures.applib.modules.ModuleWithFixtures;
import petclinic.modules.pets.PetsModule;
import petclinic.modules.pets.dom.petowner.PetOwner;
+import petclinic.modules.visits.dom.visit.Visit;
@Configuration
@ComponentScan
@@ -24,7 +25,7 @@ public class VisitsModule implements ModuleWithFixtures {
return new FixtureScript() {
@Override
protected void execute(ExecutionContext executionContext) {
- // nothing to do
+ repositoryService.removeAll(Visit.class);
}
};
}