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/03/12 19:22:26 UTC
[isis-app-helloworld] branch jdo updated (02d3c96 -> 1c5e393)
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a change to branch jdo
in repository https://gitbox.apache.org/repos/asf/isis-app-helloworld.git.
from 02d3c96 framework packages had been renamed
add de70f00 updates to JPA
add cd0cd1f renames artifactId, adds -jpa suffix
add 3af3136 Merge branch 'jdo' into jpa
add 4295697 ISIS-2512: fixes datasource conf
new 38076a9 making name of pom.xml consistent
new d5596f7 Merge branch 'jpa' into jdo
new 1c5e393 use JDOQL for query, reconcile whitespace with jpa version
The 3 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.
Summary of changes:
pom.xml | 2 +-
.../modules/hello/dom/hwo/HelloWorldObject.java | 8 ++++++++
.../modules/hello/dom/hwo/HelloWorldObjects.java | 17 ++++++-----------
src/main/java/domainapp/modules/hello/types/Name.java | 4 +---
src/main/java/domainapp/modules/hello/types/Notes.java | 9 ++++-----
src/main/resources/application.yml | 3 +--
src/main/resources/config/application.properties | 1 -
...rldObjects_Test.java => HelloWorldObjects_Test.java} | 4 ++--
8 files changed, 23 insertions(+), 25 deletions(-)
rename src/test/java/domainapp/modules/hello/dom/hwo/{HellWorldObjects_Test.java => HelloWorldObjects_Test.java} (94%)
[isis-app-helloworld] 02/03: Merge branch 'jpa' into jdo
Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to branch jdo
in repository https://gitbox.apache.org/repos/asf/isis-app-helloworld.git
commit d5596f7cbb3c2b65fb5520e57a96743c61f3120e
Merge: 02d3c96 38076a9
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Fri Mar 12 18:42:31 2021 +0000
Merge branch 'jpa' into jdo
[isis-app-helloworld] 01/03: making name of pom.xml consistent
Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to branch jdo
in repository https://gitbox.apache.org/repos/asf/isis-app-helloworld.git
commit 38076a9130ed0fb42f19e2f650d93ba05fd95f5d
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Fri Mar 12 18:39:42 2021 +0000
making name of pom.xml consistent
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index e3fa12b..9914ade 100644
--- a/pom.xml
+++ b/pom.xml
@@ -15,7 +15,7 @@
<artifactId>helloworld-jpa</artifactId>
<version>1.0.0-SNAPSHOT</version>
- <name>Apache Isis App - HelloWorld (JPA)</name>
+ <name>HelloWorld (JPA)</name>
<packaging>jar</packaging>
[isis-app-helloworld] 03/03: use JDOQL for query,
reconcile whitespace with jpa version
Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to branch jdo
in repository https://gitbox.apache.org/repos/asf/isis-app-helloworld.git
commit 1c5e393e8723295d48a3f152f85318c812cf6e5b
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Fri Mar 12 19:22:07 2021 +0000
use JDOQL for query, reconcile whitespace with jpa version
---
pom.xml | 2 +-
.../modules/hello/dom/hwo/HelloWorldObject.java | 8 ++++++++
.../modules/hello/dom/hwo/HelloWorldObjects.java | 17 ++++++-----------
src/main/java/domainapp/modules/hello/types/Name.java | 4 +---
src/main/java/domainapp/modules/hello/types/Notes.java | 9 ++++-----
src/main/resources/application.yml | 3 +--
src/main/resources/config/application.properties | 1 -
...rldObjects_Test.java => HelloWorldObjects_Test.java} | 4 ++--
8 files changed, 23 insertions(+), 25 deletions(-)
diff --git a/pom.xml b/pom.xml
index 9d45a56..6049106 100644
--- a/pom.xml
+++ b/pom.xml
@@ -15,7 +15,7 @@
<artifactId>helloworld-jdo</artifactId>
<version>1.0.0-SNAPSHOT</version>
- <name>Apache Isis App - HelloWorld (JDO)</name>
+ <name>HelloWorld (JDO)</name>
<packaging>jar</packaging>
diff --git a/src/main/java/domainapp/modules/hello/dom/hwo/HelloWorldObject.java b/src/main/java/domainapp/modules/hello/dom/hwo/HelloWorldObject.java
index 4f5b164..c4afa18 100644
--- a/src/main/java/domainapp/modules/hello/dom/hwo/HelloWorldObject.java
+++ b/src/main/java/domainapp/modules/hello/dom/hwo/HelloWorldObject.java
@@ -23,6 +23,14 @@ import domainapp.modules.hello.types.Notes;
@javax.jdo.annotations.PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "hello" )
@javax.jdo.annotations.DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
+@javax.jdo.annotations.Queries(
+ @javax.jdo.annotations.Query(
+ name = "findByName",
+ value = "SELECT " +
+ "FROM domainapp.modules.hello.dom.hwo.HelloWorldObject " +
+ "WHERE name.indexOf(:name) > 0"
+ )
+)
@javax.jdo.annotations.Version(strategy= VersionStrategy.DATE_TIME, column ="version")
@javax.jdo.annotations.Unique(name="HelloWorldObject_name_UNQ", members = {"name"})
@DomainObject(entityChangePublishing = Publishing.ENABLED)
diff --git a/src/main/java/domainapp/modules/hello/dom/hwo/HelloWorldObjects.java b/src/main/java/domainapp/modules/hello/dom/hwo/HelloWorldObjects.java
index b19417f..d5c42bb 100644
--- a/src/main/java/domainapp/modules/hello/dom/hwo/HelloWorldObjects.java
+++ b/src/main/java/domainapp/modules/hello/dom/hwo/HelloWorldObjects.java
@@ -11,6 +11,7 @@ import org.apache.isis.applib.annotation.NatureOfService;
import org.apache.isis.applib.annotation.PromptStyle;
import org.apache.isis.applib.annotation.RestrictTo;
import org.apache.isis.applib.annotation.SemanticsOf;
+import org.apache.isis.applib.query.Query;
import org.apache.isis.applib.services.repository.RepositoryService;
import org.apache.isis.persistence.jdo.applib.services.JdoSupportService;
@@ -23,13 +24,10 @@ import domainapp.modules.hello.types.Name;
public class HelloWorldObjects {
private final RepositoryService repositoryService;
- private final JdoSupportService jdoSupportService;
public HelloWorldObjects(
- final RepositoryService repositoryService,
- final JdoSupportService jdoSupportService) {
+ final RepositoryService repositoryService) {
this.repositoryService = repositoryService;
- this.jdoSupportService = jdoSupportService;
}
@Action(semantics = SemanticsOf.NON_IDEMPOTENT)
@@ -47,13 +45,10 @@ public class HelloWorldObjects {
@ActionLayout(promptStyle = PromptStyle.DIALOG_SIDEBAR)
public List<HelloWorldObject> findByName(
@Name final String name) {
- JDOQLTypedQuery<HelloWorldObject> q = jdoSupportService.newTypesafeQuery(HelloWorldObject.class);
- final QHelloWorldObject cand = QHelloWorldObject.candidate();
- q = q.filter(
- cand.name.indexOf(q.stringParameter("name")).ne(-1)
- );
- return q.setParameter("name", name)
- .executeList();
+ return repositoryService.allMatches(
+ Query.named(HelloWorldObject.class, "findByName")
+ .withParameter("name", name)
+ );
}
@Action(semantics = SemanticsOf.SAFE, restrictTo = RestrictTo.PROTOTYPING)
diff --git a/src/main/java/domainapp/modules/hello/types/Name.java b/src/main/java/domainapp/modules/hello/types/Name.java
index a70b4fc..001e1a3 100644
--- a/src/main/java/domainapp/modules/hello/types/Name.java
+++ b/src/main/java/domainapp/modules/hello/types/Name.java
@@ -5,13 +5,11 @@ import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
-import javax.jdo.annotations.Column;
-
import org.apache.isis.applib.annotation.Parameter;
import org.apache.isis.applib.annotation.ParameterLayout;
import org.apache.isis.applib.annotation.Property;
-@Column(length = Name.MAX_LEN, allowsNull = "false")
+@javax.jdo.annotations.Column(length = Name.MAX_LEN, allowsNull = "false")
@Property(maxLength = Name.MAX_LEN)
@Parameter(maxLength = Name.MAX_LEN)
@ParameterLayout(named = "Name")
diff --git a/src/main/java/domainapp/modules/hello/types/Notes.java b/src/main/java/domainapp/modules/hello/types/Notes.java
index 0effb61..ef02e7f 100644
--- a/src/main/java/domainapp/modules/hello/types/Notes.java
+++ b/src/main/java/domainapp/modules/hello/types/Notes.java
@@ -5,18 +5,17 @@ import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
-import javax.jdo.annotations.Column;
-
import org.apache.isis.applib.annotation.Editing;
+import org.apache.isis.applib.annotation.Optionality;
import org.apache.isis.applib.annotation.Parameter;
import org.apache.isis.applib.annotation.ParameterLayout;
import org.apache.isis.applib.annotation.Property;
import org.apache.isis.applib.annotation.PropertyLayout;
-@Column(length = Notes.MAX_LEN, allowsNull = "true")
-@Property(editing = Editing.ENABLED, maxLength = Notes.MAX_LEN)
+@javax.jdo.annotations.Column(length = Notes.MAX_LEN, allowsNull = "true")
+@Property(editing = Editing.ENABLED, maxLength = Notes.MAX_LEN, optionality = Optionality.OPTIONAL)
@PropertyLayout(multiLine = 5)
-@Parameter(maxLength = Notes.MAX_LEN)
+@Parameter(maxLength = Notes.MAX_LEN, optionality = Optionality.OPTIONAL)
@ParameterLayout(multiLine = 5)
@Target({ ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER, ElementType.ANNOTATION_TYPE })
@Retention(RetentionPolicy.RUNTIME)
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index e53c19e..64bf5d3 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -47,7 +47,7 @@ isis:
schema:
auto-create-schemas: hello
create-schema-sql-template: "CREATE SCHEMA IF NOT EXISTS %S"
-
+
# note that properties under 'datanucleus' must use camelCase rather than kebab-case
datanucleus:
schema:
@@ -75,4 +75,3 @@ server:
spring:
banner:
location: banner.txt
-
diff --git a/src/main/resources/config/application.properties b/src/main/resources/config/application.properties
index 539fc17..efbbaf4 100644
--- a/src/main/resources/config/application.properties
+++ b/src/main/resources/config/application.properties
@@ -14,4 +14,3 @@ datanucleus.schema.autoCreateAll=true
spring.datasource.platform=h2
spring.datasource.url=jdbc:h2:mem:helloworld
-
diff --git a/src/test/java/domainapp/modules/hello/dom/hwo/HellWorldObjects_Test.java b/src/test/java/domainapp/modules/hello/dom/hwo/HelloWorldObjects_Test.java
similarity index 94%
rename from src/test/java/domainapp/modules/hello/dom/hwo/HellWorldObjects_Test.java
rename to src/test/java/domainapp/modules/hello/dom/hwo/HelloWorldObjects_Test.java
index 0048143..5683e13 100644
--- a/src/test/java/domainapp/modules/hello/dom/hwo/HellWorldObjects_Test.java
+++ b/src/test/java/domainapp/modules/hello/dom/hwo/HelloWorldObjects_Test.java
@@ -21,7 +21,7 @@ import org.apache.isis.applib.services.repository.RepositoryService;
import org.apache.isis.persistence.jdo.applib.services.JdoSupportService;
@ExtendWith(MockitoExtension.class)
-class HellWorldObjects_Test {
+class HelloWorldObjects_Test {
@Mock RepositoryService mockRepositoryService;
@Mock JdoSupportService mockJdoSupportService;
@@ -30,7 +30,7 @@ class HellWorldObjects_Test {
@BeforeEach
public void setUp() {
- objects = new HelloWorldObjects(mockRepositoryService, mockJdoSupportService);
+ objects = new HelloWorldObjects(mockRepositoryService);
}
@Nested