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/10/01 13:08:45 UTC
[isis] 12/12: ISIS-1728: uses typesafe queries for helloworld
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to branch dev/2.0.0/ISIS-1276-dn-5-1
in repository https://gitbox.apache.org/repos/asf/isis.git
commit a8b21e7b6363f5e8d9289bbcb9ea3bdc7f0d45f5
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Tue Sep 19 23:02:07 2017 +0100
ISIS-1728: uses typesafe queries for helloworld
---
.../main/java/domainapp/dom/impl/HelloWorldObject.java | 17 ++++++-----------
.../main/java/domainapp/dom/impl/HelloWorldObjects.java | 15 ++++++++-------
2 files changed, 14 insertions(+), 18 deletions(-)
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 40708dd..90ad57a 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
@@ -42,27 +42,19 @@ import org.apache.isis.applib.services.title.TitleService;
import lombok.AccessLevel;
-@javax.jdo.annotations.PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "helloworld" )
+@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)
@DomainObjectLayout() // trigger events etc.
@lombok.RequiredArgsConstructor(staticName = "create")
@lombok.Getter @lombok.Setter
public class HelloWorldObject implements Comparable<HelloWorldObject> {
+ @javax.jdo.annotations.Unique
@javax.jdo.annotations.Column(allowsNull = "false", length = 40)
@lombok.NonNull
- @Property(editing = Editing.DISABLED)
@Title(prepend = "Object: ")
private String name;
@@ -102,14 +94,17 @@ public class HelloWorldObject implements Comparable<HelloWorldObject> {
//region > injected services
@javax.inject.Inject
+ @javax.jdo.annotations.NotPersistent
@lombok.Getter(AccessLevel.NONE) @lombok.Setter(AccessLevel.NONE)
RepositoryService repositoryService;
@javax.inject.Inject
+ @javax.jdo.annotations.NotPersistent
@lombok.Getter(AccessLevel.NONE) @lombok.Setter(AccessLevel.NONE)
TitleService titleService;
@javax.inject.Inject
+ @javax.jdo.annotations.NotPersistent
@lombok.Getter(AccessLevel.NONE) @lombok.Setter(AccessLevel.NONE)
MessageService messageService;
//endregion
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 a8c4d39..fbb10a8 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;
@@ -50,17 +50,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();
}
@@ -69,6 +67,9 @@ public class HelloWorldObjects {
RepositoryService repositoryService;
@javax.inject.Inject
+ IsisJdoSupport isisJdoSupport;
+
+ @javax.inject.Inject
ServiceRegistry2 serviceRegistry;
//endregion
--
To stop receiving notification emails like this one, please contact
"commits@isis.apache.org" <co...@isis.apache.org>.