This is an automated email from the ASF dual-hosted git repository. danhaywood pushed a commit to branch jdo-SNAPSHOT in repository https://gitbox.apache.org/repos/asf/causeway-app-simpleapp.git
commit f7bb0b0573d421d183d8ee1e688db6feacb9677b Merge: 63cfcf8 bccb31a Author: danhaywood <[email protected]> AuthorDate: Sun Apr 16 14:12:49 2023 +0100 Merge branch 'jpa-SNAPSHOT' into jdo-SNAPSHOT .../java/domainapp/modules/simple/dom/so/SimpleObject.java | 12 +++++++----- .../java/domainapp/modules/simple/dom/so/SimpleObjects.java | 7 ++----- 2 files changed, 9 insertions(+), 10 deletions(-) diff --cc module-simple/src/main/java/domainapp/modules/simple/dom/so/SimpleObject.java index 4147083,2967741..73ba749 --- a/module-simple/src/main/java/domainapp/modules/simple/dom/so/SimpleObject.java +++ b/module-simple/src/main/java/domainapp/modules/simple/dom/so/SimpleObject.java @@@ -55,36 -64,28 +59,34 @@@ import lombok.Setter import lombok.ToString; import lombok.val; - import domainapp.modules.simple.SimpleModule; - import domainapp.modules.simple.types.Name; - import domainapp.modules.simple.types.Notes; - -@Entity -@Table( - schema= SimpleModule.SCHEMA, - uniqueConstraints = { - @UniqueConstraint(name = "SimpleObject__name__UNQ", columnNames = {"name"}) - } +@PersistenceCapable( + schema = SimpleModule.SCHEMA, + identityType=IdentityType.DATASTORE) +@Unique( + name = "SimpleObject__name__UNQ", members = { "name" } ) -@NamedQueries({ - @NamedQuery( +@Queries({ + @Query( name = SimpleObject.NAMED_QUERY__FIND_BY_NAME_LIKE, - query = "SELECT so " + - "FROM SimpleObject so " + - "WHERE so.name LIKE :name" + value = "SELECT " + + "FROM domainapp.modules.simple.dom.so.SimpleObject " + + "WHERE name.indexOf(:name) >= 0" + ), + @Query( + name = SimpleObject.NAMED_QUERY__FIND_BY_NAME_EXACT, + value = "SELECT " + + "FROM domainapp.modules.simple.dom.so.SimpleObject " + + "WHERE name == :name" ) }) -@EntityListeners(CausewayEntityListener.class) +@DatastoreIdentity(strategy=IdGeneratorStrategy.IDENTITY, column="id") +@Version(strategy= VersionStrategy.DATE_TIME, column="version") @Named(SimpleModule.NAMESPACE + ".SimpleObject") @DomainObject(entityChangePublishing = Publishing.ENABLED) - @DomainObjectLayout(tableDecorator = TableDecorator.DatatablesNet.class) + @DomainObjectLayout( + tableDecorator = TableDecorator.DatatablesNet.class, + bookmarking = BookmarkPolicy.AS_ROOT) @NoArgsConstructor(access = AccessLevel.PUBLIC) @XmlJavaTypeAdapter(PersistentEntityAdapter.class) @ToString(onlyExplicitlyIncluded = true) diff --cc module-simple/src/main/java/domainapp/modules/simple/dom/so/SimpleObjects.java index 370137f,1b533fd..4036763 --- a/module-simple/src/main/java/domainapp/modules/simple/dom/so/SimpleObjects.java +++ b/module-simple/src/main/java/domainapp/modules/simple/dom/so/SimpleObjects.java @@@ -17,12 -16,11 +16,11 @@@ import org.apache.causeway.applib.annot import org.apache.causeway.applib.annotation.SemanticsOf; import org.apache.causeway.applib.query.Query; import org.apache.causeway.applib.services.repository.RepositoryService; -import org.apache.causeway.persistence.jpa.applib.services.JpaSupportService; +import org.apache.causeway.persistence.jdo.applib.services.JdoSupportService; - import lombok.RequiredArgsConstructor; - import domainapp.modules.simple.SimpleModule; import domainapp.modules.simple.types.Name; + import lombok.RequiredArgsConstructor; @Named(SimpleModule.NAMESPACE + ".SimpleObjects") @DomainService(nature = NatureOfService.VIEW) @@@ -42,8 -41,18 +40,8 @@@ public class SimpleObjects } - @Action(semantics = SemanticsOf.NON_IDEMPOTENT) - @ActionLayout(promptStyle = PromptStyle.DIALOG_SIDEBAR) - public List<SimpleObject> findByNameLike( - @Name final String name) { - return repositoryService.allMatches( - Query.named(SimpleObject.class, SimpleObject.NAMED_QUERY__FIND_BY_NAME_LIKE) - .withParameter("name", "%" + name + "%")); - } - - @Action(semantics = SemanticsOf.SAFE) - @ActionLayout(bookmarking = BookmarkPolicy.AS_ROOT, promptStyle = PromptStyle.DIALOG_SIDEBAR) + @ActionLayout(promptStyle = PromptStyle.DIALOG_SIDEBAR) public List<SimpleObject> findByName( @Name final String name ) { @@@ -63,9 -67,8 +61,8 @@@ @Action(semantics = SemanticsOf.SAFE) - @ActionLayout(bookmarking = BookmarkPolicy.AS_ROOT) public List<SimpleObject> listAll() { - return simpleObjectRepository.findAll(); + return repositoryService.allInstances(SimpleObject.class); }
