Repository: zest-java Updated Branches: refs/heads/develop af67180d1 -> b7d4c765f
ZEST-126 Fix forum sample assembly and gradle `runSample` task Project: http://git-wip-us.apache.org/repos/asf/zest-java/repo Commit: http://git-wip-us.apache.org/repos/asf/zest-java/commit/b7d4c765 Tree: http://git-wip-us.apache.org/repos/asf/zest-java/tree/b7d4c765 Diff: http://git-wip-us.apache.org/repos/asf/zest-java/diff/b7d4c765 Branch: refs/heads/develop Commit: b7d4c765f1dc6c78be295edb6651ed432548d734 Parents: af67180 Author: Paul Merlin <[email protected]> Authored: Mon Sep 28 14:39:56 2015 +0200 Committer: Paul Merlin <[email protected]> Committed: Mon Sep 28 14:39:56 2015 +0200 ---------------------------------------------------------------------- samples/forum/build.gradle | 9 ++++-- .../sample/forum/assembler/ForumAssembler.java | 33 ++++++++++++-------- .../zest/sample/forum/data/entity/Users.java | 14 ++++++++- .../forum/rest/resource/RootResource.java | 8 +---- .../rest/resource/signup/SignupResource.java | 1 + 5 files changed, 41 insertions(+), 24 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/zest-java/blob/b7d4c765/samples/forum/build.gradle ---------------------------------------------------------------------- diff --git a/samples/forum/build.gradle b/samples/forum/build.gradle index 667b852..759a045 100644 --- a/samples/forum/build.gradle +++ b/samples/forum/build.gradle @@ -26,18 +26,21 @@ dependencies { compile project( ":org.apache.zest.core:org.apache.zest.core.bootstrap" ) compile project( ":org.apache.zest.libraries:org.apache.zest.library.rest-server" ) compile project( ":org.apache.zest.libraries:org.apache.zest.library.fileconfig" ) - compile project( ":org.apache.zest.extensions:org.apache.zest.extension.entitystore-file" ) compile project( ":org.apache.zest.extensions:org.apache.zest.extension.valueserialization-orgjson" ) + compile project( ":org.apache.zest.extensions:org.apache.zest.extension.entitystore-memory" ) + compile project( ":org.apache.zest.extensions:org.apache.zest.extension.entitystore-file" ) + compile project( ":org.apache.zest.extensions:org.apache.zest.extension.indexing-rdf" ) compile libraries.servlet_api + runtime libraries.logback + testCompile project( ":org.apache.zest.core:org.apache.zest.core.testsupport" ) testRuntime project( ":org.apache.zest.core:org.apache.zest.core.runtime" ) - testRuntime libraries.logback } task(runSample, dependsOn: 'testClasses', type: JavaExec) { - main = 'org.apache.zest.samples.forum.web.Main' + main = 'org.apache.zest.sample.forum.web.Main' classpath = sourceSets.test.runtimeClasspath } http://git-wip-us.apache.org/repos/asf/zest-java/blob/b7d4c765/samples/forum/src/main/java/org/apache/zest/sample/forum/assembler/ForumAssembler.java ---------------------------------------------------------------------- diff --git a/samples/forum/src/main/java/org/apache/zest/sample/forum/assembler/ForumAssembler.java b/samples/forum/src/main/java/org/apache/zest/sample/forum/assembler/ForumAssembler.java index 136ec09..d72f693 100644 --- a/samples/forum/src/main/java/org/apache/zest/sample/forum/assembler/ForumAssembler.java +++ b/samples/forum/src/main/java/org/apache/zest/sample/forum/assembler/ForumAssembler.java @@ -19,11 +19,9 @@ package org.apache.zest.sample.forum.assembler; import java.lang.reflect.Modifier; -import java.util.function.Function; + import org.apache.zest.api.common.Visibility; import org.apache.zest.api.entity.EntityComposite; -import org.apache.zest.api.structure.Application; -import org.apache.zest.api.structure.Module; import org.apache.zest.api.value.ValueComposite; import org.apache.zest.bootstrap.ApplicationAssembler; import org.apache.zest.bootstrap.ApplicationAssembly; @@ -33,8 +31,10 @@ import org.apache.zest.bootstrap.ClassScanner; import org.apache.zest.bootstrap.LayerAssembly; import org.apache.zest.bootstrap.ModuleAssembly; import org.apache.zest.entitystore.file.assembly.FileEntityStoreAssembler; -import org.apache.zest.entitystore.memory.MemoryEntityStoreService; -import org.apache.zest.library.fileconfig.FileConfigurationService; +import org.apache.zest.entitystore.memory.MemoryEntityStoreAssembler; +import org.apache.zest.index.rdf.assembly.RdfNativeSesameStoreAssembler; +import org.apache.zest.library.fileconfig.FileConfigurationAssembler; +import org.apache.zest.library.rdf.repository.NativeConfiguration; import org.apache.zest.library.rest.common.ValueAssembler; import org.apache.zest.library.rest.server.assembler.RestServerAssembler; import org.apache.zest.library.rest.server.restlet.RequestReaderDelegator; @@ -49,7 +49,6 @@ import org.apache.zest.sample.forum.domainevent.DomainEventValue; import org.apache.zest.sample.forum.domainevent.ParameterValue; import org.apache.zest.sample.forum.rest.ForumRestlet; import org.apache.zest.sample.forum.service.BootstrapData; -import org.apache.zest.spi.uuid.UuidIdentityGeneratorService; import org.apache.zest.valueserialization.orgjson.OrgJsonValueSerializationAssembler; import org.restlet.service.MetadataService; @@ -75,21 +74,29 @@ public class ForumAssembler LayerAssembly configuration = assembly.layer( "Configuration" ); { configModule = configuration.module( "Configuration" ); - configModule.services( MemoryEntityStoreService.class ); - configModule.services( UuidIdentityGeneratorService.class ); new OrgJsonValueSerializationAssembler().assemble( configModule ); + new MemoryEntityStoreAssembler().assemble( configModule ); + new FileConfigurationAssembler().visibleIn( Visibility.application ).assemble( configModule ); } LayerAssembly infrastructure = assembly.layer( "Infrastructure" ).uses( configuration ); { - ModuleAssembly entityStore = infrastructure.module( "EntityStore" ); - entityStore.services( FileConfigurationService.class ); - new FileEntityStoreAssembler().withConfig( configModule, Visibility.application ).assemble( entityStore ); - entityStore.services( UuidIdentityGeneratorService.class ).visibleIn( Visibility.application ); + ModuleAssembly serialization = infrastructure.module( "Serialization" ); new OrgJsonValueSerializationAssembler(). visibleIn( Visibility.application ). withValuesModuleFinder( app -> app.findModule( "REST", "Values" ) ). - assemble( entityStore ); + assemble( serialization ); + + ModuleAssembly entityStore = infrastructure.module( "EntityStore" ); + new FileEntityStoreAssembler() + .visibleIn( Visibility.application ) + .withConfig( configModule, Visibility.application ) + .assemble( entityStore ); + + ModuleAssembly indexQuery = infrastructure.module( "IndexQuery" ); + new RdfNativeSesameStoreAssembler( Visibility.application, Visibility.application ) + .assemble( indexQuery ); + configModule.entities( NativeConfiguration.class ).visibleIn( Visibility.application ); } LayerAssembly data = assembly.layer( "Data" ).uses( infrastructure ); http://git-wip-us.apache.org/repos/asf/zest-java/blob/b7d4c765/samples/forum/src/main/java/org/apache/zest/sample/forum/data/entity/Users.java ---------------------------------------------------------------------- diff --git a/samples/forum/src/main/java/org/apache/zest/sample/forum/data/entity/Users.java b/samples/forum/src/main/java/org/apache/zest/sample/forum/data/entity/Users.java index c7fe9e7d..b41f56f 100644 --- a/samples/forum/src/main/java/org/apache/zest/sample/forum/data/entity/Users.java +++ b/samples/forum/src/main/java/org/apache/zest/sample/forum/data/entity/Users.java @@ -27,6 +27,7 @@ import org.apache.zest.api.structure.Module; import org.apache.zest.sample.forum.context.Events; import org.apache.zest.sample.forum.context.signup.Registration; +import static org.apache.zest.api.query.QueryExpressions.eq; import static org.apache.zest.api.query.QueryExpressions.templateFor; /** @@ -38,7 +39,9 @@ public interface Users { String USERS_ID = "users"; - public Query<User> users(); + Query<User> users(); + + User userNamed( String name ); abstract class Mixin implements Users @@ -46,6 +49,7 @@ public interface Users @Structure Module module; + @Override public Query<User> users() { return module.currentUnitOfWork() @@ -54,6 +58,14 @@ public interface Users } @Override + public User userNamed( String name ) + { + return module.currentUnitOfWork().newQuery( + module.newQueryBuilder( User.class ).where( eq( templateFor( User.class ).name(), name ) ) + ).find(); + } + + @Override public void signedup( Registration registration ) { EntityBuilder<User> builder = module.currentUnitOfWork().newEntityBuilder( User.class ); http://git-wip-us.apache.org/repos/asf/zest-java/blob/b7d4c765/samples/forum/src/main/java/org/apache/zest/sample/forum/rest/resource/RootResource.java ---------------------------------------------------------------------- diff --git a/samples/forum/src/main/java/org/apache/zest/sample/forum/rest/resource/RootResource.java b/samples/forum/src/main/java/org/apache/zest/sample/forum/rest/resource/RootResource.java index ee96162..416831a 100644 --- a/samples/forum/src/main/java/org/apache/zest/sample/forum/rest/resource/RootResource.java +++ b/samples/forum/src/main/java/org/apache/zest/sample/forum/rest/resource/RootResource.java @@ -19,7 +19,6 @@ package org.apache.zest.sample.forum.rest.resource; import java.util.Collections; -import org.apache.zest.api.query.QueryExpressions; import org.apache.zest.library.rest.server.api.ContextResource; import org.apache.zest.library.rest.server.api.SubResource; import org.apache.zest.library.rest.server.api.constraint.Requires; @@ -62,12 +61,7 @@ public class RootResource throw new ResourceException( Status.CLIENT_ERROR_UNAUTHORIZED ); } - User user = module.currentUnitOfWork().newQuery( module.newQueryBuilder( User.class ).where( QueryExpressions - .eq( QueryExpressions - .templateFor( User.class ) - .name(), challenge - .getIdentifier() ) ) ) - .find(); + User user = select( Users.class, Users.USERS_ID ).userNamed( challenge.getIdentifier() ); if( user == null || !user.isCorrectPassword( new String( challenge.getSecret() ) ) ) { throw new ResourceException( Status.CLIENT_ERROR_UNAUTHORIZED ); http://git-wip-us.apache.org/repos/asf/zest-java/blob/b7d4c765/samples/forum/src/main/java/org/apache/zest/sample/forum/rest/resource/signup/SignupResource.java ---------------------------------------------------------------------- diff --git a/samples/forum/src/main/java/org/apache/zest/sample/forum/rest/resource/signup/SignupResource.java b/samples/forum/src/main/java/org/apache/zest/sample/forum/rest/resource/signup/SignupResource.java index eb0487f..469402c 100644 --- a/samples/forum/src/main/java/org/apache/zest/sample/forum/rest/resource/signup/SignupResource.java +++ b/samples/forum/src/main/java/org/apache/zest/sample/forum/rest/resource/signup/SignupResource.java @@ -40,6 +40,7 @@ public class SignupResource form.set( "name", "Rickard" ); form.set( "realName", "Rickard Ãberg" ); form.set( "password", "rickard" ); + form.set( "email", "rickard@zest" ); return form; } }
