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 2017/09/19 22:06:47 UTC

[12/12] isis git commit: ISIS-1728: uses typesafe queries for helloworld

ISIS-1728: uses typesafe queries for helloworld


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/92b7eb14
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/92b7eb14
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/92b7eb14

Branch: refs/heads/ISIS-1276-dn-5-1
Commit: 92b7eb14892c15aa070212c76e6f2e1c442660d9
Parents: c1ed4c9
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Tue Sep 19 23:02:07 2017 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Tue Sep 19 23:05:22 2017 +0100

----------------------------------------------------------------------
 .../domainapp/dom/impl/HelloWorldObject.java    | 22 ++++++++------------
 .../domainapp/dom/impl/HelloWorldObjects.java   | 15 ++++++-------
 2 files changed, 17 insertions(+), 20 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/92b7eb14/example/application/helloworld/src/main/java/domainapp/dom/impl/HelloWorldObject.java
----------------------------------------------------------------------
diff --git a/example/application/helloworld/src/main/java/domainapp/dom/impl/HelloWorldObject.java b/example/application/helloworld/src/main/java/domainapp/dom/impl/HelloWorldObject.java
index b685d9f..77250c6 100644
--- a/example/application/helloworld/src/main/java/domainapp/dom/impl/HelloWorldObject.java
+++ b/example/application/helloworld/src/main/java/domainapp/dom/impl/HelloWorldObject.java
@@ -39,32 +39,25 @@ import org.apache.isis.applib.services.message.MessageService;
 import org.apache.isis.applib.services.repository.RepositoryService;
 import org.apache.isis.applib.services.title.TitleService;
 
-@javax.jdo.annotations.PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "helloworld" )
+import lombok.AccessLevel;
+
+@javax.jdo.annotations.PersistenceCapable(identityType = IdentityType.DATASTORE,schema = "helloworld" )
 @javax.jdo.annotations.DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
 @javax.jdo.annotations.Version(strategy= VersionStrategy.DATE_TIME, column ="version")
-@javax.jdo.annotations.Queries({
-        @javax.jdo.annotations.Query(
-                name = "findByName",
-                value = "SELECT "
-                        + "FROM domainapp.dom.impl.HelloWorldObject "
-                        + "WHERE name.indexOf(:name) >= 0 ")
-})
-@javax.jdo.annotations.Unique(name="HelloWorldObject_name_UNQ", members = {"name"})
-@DomainObject(auditing = Auditing.ENABLED)
+@DomainObject(auditing = Auditing.ENABLED, editing = Editing.DISABLED)
+@lombok.Getter @lombok.Setter
 public class HelloWorldObject implements Comparable<HelloWorldObject> {
 
     public HelloWorldObject(final String name) {
         this.name = name;
     }
 
+    @javax.jdo.annotations.Unique
     @javax.jdo.annotations.Column(allowsNull = "false", length = 40)
-    @lombok.Getter @lombok.Setter
-    @Property(editing = Editing.DISABLED)
     @Title(prepend = "Object: ")
     private String name;
 
     @javax.jdo.annotations.Column(allowsNull = "true", length = 4000)
-    @lombok.Getter @lombok.Setter
     @Property(editing = Editing.ENABLED)
     private String notes;
 
@@ -99,12 +92,15 @@ public class HelloWorldObject implements Comparable<HelloWorldObject> {
 
     //region > injected services
     @javax.inject.Inject
+    @javax.jdo.annotations.NotPersistent @lombok.Getter(AccessLevel.PRIVATE)
     RepositoryService repositoryService;
 
     @javax.inject.Inject
+    @javax.jdo.annotations.NotPersistent @lombok.Getter(AccessLevel.PRIVATE)
     TitleService titleService;
 
     @javax.inject.Inject
+    @javax.jdo.annotations.NotPersistent @lombok.Getter(AccessLevel.PRIVATE)
     MessageService messageService;
     //endregion
 

http://git-wip-us.apache.org/repos/asf/isis/blob/92b7eb14/example/application/helloworld/src/main/java/domainapp/dom/impl/HelloWorldObjects.java
----------------------------------------------------------------------
diff --git a/example/application/helloworld/src/main/java/domainapp/dom/impl/HelloWorldObjects.java b/example/application/helloworld/src/main/java/domainapp/dom/impl/HelloWorldObjects.java
index 5dc3e20..5ee3e72 100644
--- a/example/application/helloworld/src/main/java/domainapp/dom/impl/HelloWorldObjects.java
+++ b/example/application/helloworld/src/main/java/domainapp/dom/impl/HelloWorldObjects.java
@@ -28,7 +28,7 @@ import org.apache.isis.applib.annotation.Parameter;
 import org.apache.isis.applib.annotation.ParameterLayout;
 import org.apache.isis.applib.annotation.RestrictTo;
 import org.apache.isis.applib.annotation.SemanticsOf;
-import org.apache.isis.applib.query.QueryDefault;
+import org.apache.isis.applib.services.jdosupport.IsisJdoSupport;
 import org.apache.isis.applib.services.registry.ServiceRegistry2;
 import org.apache.isis.applib.services.repository.RepositoryService;
 
@@ -53,17 +53,15 @@ public class HelloWorldObjects {
     @Action(semantics = SemanticsOf.SAFE)
     @MemberOrder(sequence = "2")
     public List<HelloWorldObject> findByName(final String name) {
-        return repositoryService.allMatches(
-                new QueryDefault<>(
-                        HelloWorldObject.class,
-                        "findByName",
-                        "name", name));
+        return isisJdoSupport.executeQuery(HelloWorldObject.class,
+                QHelloWorldObject.candidate().name.startsWith(name));
     }
 
     @Action(semantics = SemanticsOf.SAFE, restrictTo = RestrictTo.PROTOTYPING)
     @MemberOrder(sequence = "3")
     public List<HelloWorldObject> listAll() {
-        return repositoryService.allInstances(HelloWorldObject.class);
+        return isisJdoSupport.newTypesafeQuery(HelloWorldObject.class)
+                .executeList();
     }
 
 
@@ -72,6 +70,9 @@ public class HelloWorldObjects {
     RepositoryService repositoryService;
 
     @javax.inject.Inject
+    IsisJdoSupport isisJdoSupport;
+
+    @javax.inject.Inject
     ServiceRegistry2 serviceRegistry;
     //endregion