You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2022/01/27 08:55:28 UTC
[isis] branch master updated: ISIS-2877: prepare value type composition testing (wkt)
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git
The following commit(s) were added to refs/heads/master by this push:
new 519bee4 ISIS-2877: prepare value type composition testing (wkt)
519bee4 is described below
commit 519bee4e30eef504edb029063caaffd771281c0b
Author: Andi Huber <ah...@apache.org>
AuthorDate: Thu Jan 27 09:55:18 2022 +0100
ISIS-2877: prepare value type composition testing (wkt)
- introduces a viewmodel for testing the CalendarEvent composite value
type
---
.../testdomain/viewers/jdo/wkt/TestAppJdoWkt.java | 8 ++
.../testdomain/viewers/jdo/wkt/TestAppJpaWkt.java | 8 ++
regressiontests/stable/pom.xml | 5 +
.../isis/testdomain/jpa/JpaTestFixtures.java | 1 -
.../valuetypes/composite/CalendarEventJaxbVm.java | 109 +++++++++++++++++++++
5 files changed, 130 insertions(+), 1 deletion(-)
diff --git a/regressiontests/stable-viewers-jdo/src/main/java/org/apache/isis/testdomain/viewers/jdo/wkt/TestAppJdoWkt.java b/regressiontests/stable-viewers-jdo/src/main/java/org/apache/isis/testdomain/viewers/jdo/wkt/TestAppJdoWkt.java
index ed7c407..9786c55 100644
--- a/regressiontests/stable-viewers-jdo/src/main/java/org/apache/isis/testdomain/viewers/jdo/wkt/TestAppJdoWkt.java
+++ b/regressiontests/stable-viewers-jdo/src/main/java/org/apache/isis/testdomain/viewers/jdo/wkt/TestAppJdoWkt.java
@@ -31,6 +31,7 @@ import org.apache.isis.applib.annotation.DomainObject;
import org.apache.isis.applib.annotation.HomePage;
import org.apache.isis.applib.annotation.Nature;
import org.apache.isis.applib.annotation.ObjectSupport;
+import org.apache.isis.applib.services.factory.FactoryService;
import org.apache.isis.applib.services.user.UserService;
import org.apache.isis.commons.internal.debug.xray.XrayEnable;
import org.apache.isis.core.config.presets.IsisPresets;
@@ -38,6 +39,7 @@ import org.apache.isis.testdomain.conf.Configuration_usingJdo;
import org.apache.isis.testdomain.conf.Configuration_usingWicket;
import org.apache.isis.testdomain.jdo.JdoInventoryJaxbVm;
import org.apache.isis.testdomain.jdo.JdoTestFixtures;
+import org.apache.isis.testdomain.model.valuetypes.composite.CalendarEventJaxbVm;
import org.apache.isis.viewer.wicket.viewer.IsisModuleViewerWicketViewer;
/**
@@ -75,6 +77,7 @@ public class TestAppJdoWkt extends SpringBootServletInitializer {
@Inject UserService userService;
@Inject JdoTestFixtures testFixtures;
+ @Inject FactoryService factoryService;
@ObjectSupport public String title() {
return "Hello, " + userService.currentUserNameElseNobody();
@@ -91,6 +94,11 @@ public class TestAppJdoWkt extends SpringBootServletInitializer {
return testFixtures.setUpViewmodelWith3Books();
}
+ @Action @ActionLayout(sequence = "0.3")
+ public CalendarEventJaxbVm openCalendarEventSamplePage() {
+ return CalendarEventJaxbVm.setUpViewmodelWith3CalendarEvents(factoryService);
+ }
+
}
}
diff --git a/regressiontests/stable-viewers-jpa/src/main/java/org/apache/isis/testdomain/viewers/jdo/wkt/TestAppJpaWkt.java b/regressiontests/stable-viewers-jpa/src/main/java/org/apache/isis/testdomain/viewers/jdo/wkt/TestAppJpaWkt.java
index 668dfbd..b349030 100644
--- a/regressiontests/stable-viewers-jpa/src/main/java/org/apache/isis/testdomain/viewers/jdo/wkt/TestAppJpaWkt.java
+++ b/regressiontests/stable-viewers-jpa/src/main/java/org/apache/isis/testdomain/viewers/jdo/wkt/TestAppJpaWkt.java
@@ -31,6 +31,7 @@ import org.apache.isis.applib.annotation.DomainObject;
import org.apache.isis.applib.annotation.HomePage;
import org.apache.isis.applib.annotation.Nature;
import org.apache.isis.applib.annotation.ObjectSupport;
+import org.apache.isis.applib.services.factory.FactoryService;
import org.apache.isis.applib.services.user.UserService;
import org.apache.isis.commons.internal.debug.xray.XrayEnable;
import org.apache.isis.core.config.presets.IsisPresets;
@@ -38,6 +39,7 @@ import org.apache.isis.testdomain.conf.Configuration_usingJpa;
import org.apache.isis.testdomain.conf.Configuration_usingWicket;
import org.apache.isis.testdomain.jpa.JpaInventoryJaxbVm;
import org.apache.isis.testdomain.jpa.JpaTestFixtures;
+import org.apache.isis.testdomain.model.valuetypes.composite.CalendarEventJaxbVm;
import org.apache.isis.viewer.wicket.viewer.IsisModuleViewerWicketViewer;
/**
@@ -75,6 +77,7 @@ public class TestAppJpaWkt extends SpringBootServletInitializer {
@Inject UserService userService;
@Inject JpaTestFixtures testFixtures;
+ @Inject FactoryService factoryService;
@ObjectSupport public String title() {
return "Hello, " + userService.currentUserNameElseNobody();
@@ -91,6 +94,11 @@ public class TestAppJpaWkt extends SpringBootServletInitializer {
return testFixtures.setUpViewmodelWith3Books();
}
+ @Action @ActionLayout(sequence = "0.3")
+ public CalendarEventJaxbVm openCalendarEventSamplePage() {
+ return CalendarEventJaxbVm.setUpViewmodelWith3CalendarEvents(factoryService);
+ }
+
}
}
diff --git a/regressiontests/stable/pom.xml b/regressiontests/stable/pom.xml
index dc18869..e3870b8 100644
--- a/regressiontests/stable/pom.xml
+++ b/regressiontests/stable/pom.xml
@@ -53,6 +53,11 @@
<groupId>org.apache.isis.valuetypes</groupId>
<artifactId>isis-valuetypes-sse-metamodel</artifactId>
</dependency>
+
+ <dependency>
+ <groupId>org.apache.isis.extensions</groupId>
+ <artifactId>isis-extensions-fullcalendar-applib</artifactId>
+ </dependency>
<dependency>
<groupId>org.apache.isis.testing</groupId>
diff --git a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/jpa/JpaTestFixtures.java b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/jpa/JpaTestFixtures.java
index e6267be..1ddccfe 100644
--- a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/jpa/JpaTestFixtures.java
+++ b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/jpa/JpaTestFixtures.java
@@ -138,5 +138,4 @@ public class JpaTestFixtures {
//System.err.printf("%s%n", bookmark);
}
-
}
diff --git a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/model/valuetypes/composite/CalendarEventJaxbVm.java b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/model/valuetypes/composite/CalendarEventJaxbVm.java
new file mode 100644
index 0000000..6f78f15
--- /dev/null
+++ b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/model/valuetypes/composite/CalendarEventJaxbVm.java
@@ -0,0 +1,109 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.isis.testdomain.model.valuetypes.composite;
+
+import java.time.ZoneOffset;
+import java.time.ZonedDateTime;
+import java.util.List;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+import org.apache.isis.applib.annotation.Action;
+import org.apache.isis.applib.annotation.ActionLayout;
+import org.apache.isis.applib.annotation.Collection;
+import org.apache.isis.applib.annotation.DomainObject;
+import org.apache.isis.applib.annotation.Editing;
+import org.apache.isis.applib.annotation.MemberSupport;
+import org.apache.isis.applib.annotation.Nature;
+import org.apache.isis.applib.annotation.Optionality;
+import org.apache.isis.applib.annotation.Parameter;
+import org.apache.isis.applib.annotation.PromptStyle;
+import org.apache.isis.applib.annotation.Property;
+import org.apache.isis.applib.annotation.PropertyLayout;
+import org.apache.isis.applib.services.factory.FactoryService;
+import org.apache.isis.extensions.fullcalendar.applib.value.CalendarEvent;
+
+import lombok.Getter;
+import lombok.Setter;
+import lombok.val;
+
+@XmlRootElement(name = "root")
+@XmlType(
+ propOrder = {"nextEvent", "events"}
+)
+@XmlAccessorType(XmlAccessType.FIELD)
+@DomainObject(
+ nature=Nature.VIEW_MODEL
+ , logicalTypeName = "testdomain.val.CalendarEventJaxbVm"
+)
+public class CalendarEventJaxbVm {
+
+ @Property(editing = Editing.ENABLED)
+ @PropertyLayout(promptStyle = PromptStyle.INLINE)
+ @Getter @Setter
+ private CalendarEvent nextEvent;
+
+ @Collection
+ @Getter @Setter
+ private List<CalendarEvent> events;
+
+ @Action
+ @ActionLayout(associateWith = "nextEvent")
+ public CalendarEventJaxbVm updateNextEvent(
+ @Parameter(optionality = Optionality.OPTIONAL)
+ final CalendarEvent nextEvent) {
+ this.nextEvent = nextEvent;
+ return this;
+ }
+
+ @MemberSupport
+ public List<CalendarEvent> choices0UpdateNextEvent() {
+ return events;
+ }
+
+ // -- FACTORY
+
+ public static CalendarEventJaxbVm setUpViewmodelWith3CalendarEvents(final FactoryService factoryService) {
+ val sampleVm = factoryService.viewModel(new CalendarEventJaxbVm());
+
+ val a = CalendarEvent.of(
+ ZonedDateTime.of(2022, 05, 13, 17, 30, 15, 0, ZoneOffset.ofHours(3)),
+ "a-name",
+ "a-title");
+
+ val b = CalendarEvent.of(
+ ZonedDateTime.of(2022, 06, 14, 18, 31, 16, 0, ZoneOffset.ofHours(4)),
+ "b-name",
+ "b-title");
+
+ val c = CalendarEvent.of(
+ ZonedDateTime.of(2022, 07, 15, 19, 32, 17, 0, ZoneOffset.ofHours(5)),
+ "c-name",
+ "c-title");
+
+ sampleVm.setNextEvent(a);
+ sampleVm.setEvents(List.of(a, b, c));
+
+ return sampleVm;
+ }
+
+}