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/isis-app-simpleapp.git
commit e4d047738b26912265166bf387979ea6bb7f44d5 Merge: f3428f0 55a7df4 Author: Dan Haywood <[email protected]> AuthorDate: Tue Aug 2 10:16:54 2022 +0100 Merge branch 'jpa-SNAPSHOT' into jdo-SNAPSHOT .../domainapp/modules/simple/SimpleModule.java | 3 ++ .../modules/simple/dom/so/SimpleObject.java | 37 +++++++++++++++------- .../modules/simple/dom/so/SimpleObjects.java | 15 +++++---- 3 files changed, 38 insertions(+), 17 deletions(-) diff --cc module-simple/src/main/java/domainapp/modules/simple/SimpleModule.java index af89f3f,5b85205..8a50246 --- a/module-simple/src/main/java/domainapp/modules/simple/SimpleModule.java +++ b/module-simple/src/main/java/domainapp/modules/simple/SimpleModule.java @@@ -11,8 -13,13 +11,11 @@@ import domainapp.modules.simple.dom.so. @Configuration @ComponentScan -@EnableJpaRepositories -@EntityScan(basePackageClasses = {SimpleModule.class}) public class SimpleModule implements ModuleWithFixtures { + public static final String NAMESPACE = "simple"; + public static final String SCHEMA = "simple"; + @Override public FixtureScript getTeardownFixture() { return new TeardownFixtureJpaAbstract() { diff --cc module-simple/src/main/java/domainapp/modules/simple/dom/so/SimpleObject.java index ee83d30,7c61b9e..5854996 --- 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 @@@ -3,9 -3,19 +3,16 @@@ package domainapp.modules.simple.dom.so import java.util.Comparator; import javax.inject.Inject; + import javax.inject.Named; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.EntityListeners; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.Table; -import javax.persistence.Transient; -import javax.persistence.UniqueConstraint; -import javax.persistence.Version; ++import javax.jdo.annotations.DatastoreIdentity; +import javax.jdo.annotations.IdGeneratorStrategy; +import javax.jdo.annotations.IdentityType; ++import javax.jdo.annotations.Queries; ++import javax.jdo.annotations.Query; ++import javax.jdo.annotations.PersistenceCapable; ++import javax.jdo.annotations.Unique; ++import javax.jdo.annotations.Version; +import javax.jdo.annotations.VersionStrategy; import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; import org.apache.isis.applib.annotation.Action; @@@ -32,33 -44,30 +40,35 @@@ import lombok.Setter import lombok.ToString; import lombok.val; ++import domainapp.modules.simple.SimpleModule; + import domainapp.modules.simple.SimpleModule; import domainapp.modules.simple.types.Name; import domainapp.modules.simple.types.Notes; - @javax.jdo.annotations.PersistenceCapable( - schema = "simple", -@Entity -@Table( - schema= SimpleModule.SCHEMA, - uniqueConstraints = { - @UniqueConstraint(name = "SimpleObject__name__UNQ", columnNames = {"NAME"}) - } ++@PersistenceCapable( ++ schema = SimpleModule.SCHEMA, + identityType=IdentityType.DATASTORE) - @javax.jdo.annotations.Unique( - name = "SimpleObject_name_UNQ", members = {"name"} ++@Unique( ++ name = "SimpleObject__name__UNQ", members = { "name" } ) - @javax.jdo.annotations.Queries({ - @javax.jdo.annotations.Query( -@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" + ), - @javax.jdo.annotations.Query( ++ @Query( + name = SimpleObject.NAMED_QUERY__FIND_BY_NAME_EXACT, + value = "SELECT " + + "FROM domainapp.modules.simple.dom.so.SimpleObject " + + "WHERE name == :name" ) }) -@EntityListeners(IsisEntityListener.class) -@Named(SimpleModule.NAMESPACE + - ".SimpleObject") -@DomainObject(entityChangePublishing = Publishing.ENABLED) [email protected](strategy=IdGeneratorStrategy.IDENTITY, column="id") [email protected](strategy= VersionStrategy.DATE_TIME, column="version") +@DomainObject(logicalTypeName = "simple.SimpleObject", entityChangePublishing = Publishing.ENABLED) @DomainObjectLayout() @NoArgsConstructor(access = AccessLevel.PUBLIC) @XmlJavaTypeAdapter(PersistentEntityAdapter.class) @@@ -82,14 -101,16 +92,14 @@@ public class SimpleObject implements Co @Title @Name - @Column(length = Name.MAX_LEN, nullable = false) @Getter @Setter @ToString.Include - @PropertyLayout(fieldSetId = "name", sequence = "1") + @PropertyLayout(fieldSetId = LayoutConstants.FieldSetId.IDENTITY, sequence = "1") private String name; @Notes - @Column(length = Notes.MAX_LEN, nullable = true) @Getter @Setter @Property(commandPublishing = Publishing.ENABLED, executionPublishing = Publishing.ENABLED) - @PropertyLayout(fieldSetId = "name", sequence = "2") + @PropertyLayout(fieldSetId = LayoutConstants.FieldSetId.DETAILS, sequence = "2") private String notes; diff --cc module-simple/src/main/java/domainapp/modules/simple/dom/so/SimpleObjects.java index ab78719,c0416e4..9117954 --- 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 @@@ -2,8 -2,11 +2,10 @@@ package domainapp.modules.simple.dom.so import java.util.List; + import javax.annotation.Priority; import javax.inject.Inject; + import javax.inject.Named; -import javax.persistence.EntityManager; -import javax.persistence.TypedQuery; +import javax.jdo.JDOQLTypedQuery; import org.apache.isis.applib.annotation.Action; import org.apache.isis.applib.annotation.ActionLayout; @@@ -16,16 -19,18 +18,17 @@@ import org.apache.isis.applib.annotatio 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.commons.functional.Try; -import org.apache.isis.persistence.jpa.applib.services.JpaSupportService; +import org.apache.isis.persistence.jdo.applib.services.JdoSupportService; + import lombok.RequiredArgsConstructor; + + import domainapp.modules.simple.SimpleModule; import domainapp.modules.simple.types.Name; - @DomainService( - nature = NatureOfService.VIEW, - logicalTypeName = "simple.SimpleObjects" - ) - @javax.annotation.Priority(PriorityPrecedence.EARLY) - @lombok.RequiredArgsConstructor(onConstructor_ = {@Inject} ) + @Named(SimpleModule.NAMESPACE + ".SimpleObjects") + @DomainService(nature = NatureOfService.VIEW) + @Priority(PriorityPrecedence.EARLY) + @RequiredArgsConstructor(onConstructor_ = {@Inject} ) public class SimpleObjects { final RepositoryService repositoryService;
