You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@polygene.apache.org by ni...@apache.org on 2015/07/06 10:49:34 UTC

zest-qi4j git commit: Added some Spring Library documentation.

Repository: zest-qi4j
Updated Branches:
  refs/heads/develop 1019aa520 -> 9128eee82


Added some Spring Library documentation.


Project: http://git-wip-us.apache.org/repos/asf/zest-qi4j/repo
Commit: http://git-wip-us.apache.org/repos/asf/zest-qi4j/commit/9128eee8
Tree: http://git-wip-us.apache.org/repos/asf/zest-qi4j/tree/9128eee8
Diff: http://git-wip-us.apache.org/repos/asf/zest-qi4j/diff/9128eee8

Branch: refs/heads/develop
Commit: 9128eee829e8972513c613c30a139a931da7d177
Parents: 1019aa5
Author: Niclas Hedhman <he...@betfair.com>
Authored: Mon Jul 6 11:49:10 2015 +0300
Committer: Niclas Hedhman <he...@betfair.com>
Committed: Mon Jul 6 11:49:10 2015 +0300

----------------------------------------------------------------------
 .../layered/LayeredApplicationAssembler.java    |  2 +-
 gradle/wrapper/gradle-wrapper.properties        |  4 +-
 libraries/spring/dev-status.xml                 |  2 +-
 libraries/spring/src/docs/spring.txt            | 57 ++++++++++++++++++--
 .../spring/importer/Qi4jImportServiceTest.java  |  3 +-
 5 files changed, 60 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/9128eee8/core/bootstrap/src/main/java/org/qi4j/bootstrap/layered/LayeredApplicationAssembler.java
----------------------------------------------------------------------
diff --git a/core/bootstrap/src/main/java/org/qi4j/bootstrap/layered/LayeredApplicationAssembler.java b/core/bootstrap/src/main/java/org/qi4j/bootstrap/layered/LayeredApplicationAssembler.java
index a8fb1f1..4682464 100644
--- a/core/bootstrap/src/main/java/org/qi4j/bootstrap/layered/LayeredApplicationAssembler.java
+++ b/core/bootstrap/src/main/java/org/qi4j/bootstrap/layered/LayeredApplicationAssembler.java
@@ -197,10 +197,10 @@ public abstract class LayeredApplicationAssembler
      * <p>
      * This method must be implemented, and is typically a list of LayerAssmebler instantitations, followed
      * by {@link LayerAssembly#uses(LayerAssembly...)} declarations.
+     * </p>
      * <pre><code>
      *
      * </code></pre>
-     * </p>
      */
     protected abstract void assembleLayers( ApplicationAssembly assembly )
         throws AssemblyException;

http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/9128eee8/gradle/wrapper/gradle-wrapper.properties
----------------------------------------------------------------------
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 9e62921..498c744 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
-#Thu Jun 12 14:19:20 CEST 2014
+#Mon Jul 06 10:43:59 EEST 2015
 distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-2.4-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-2.4-all.zip

http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/9128eee8/libraries/spring/dev-status.xml
----------------------------------------------------------------------
diff --git a/libraries/spring/dev-status.xml b/libraries/spring/dev-status.xml
index 1a18f48..58fda09 100644
--- a/libraries/spring/dev-status.xml
+++ b/libraries/spring/dev-status.xml
@@ -24,7 +24,7 @@
     <codebase>beta</codebase>
 
     <!-- none, brief, good, complete -->
-    <documentation>none</documentation>
+    <documentation>brief</documentation>
 
     <!-- none, some, good, complete -->
     <unittests>some</unittests>

http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/9128eee8/libraries/spring/src/docs/spring.txt
----------------------------------------------------------------------
diff --git a/libraries/spring/src/docs/spring.txt b/libraries/spring/src/docs/spring.txt
index bd09908..cb28126 100644
--- a/libraries/spring/src/docs/spring.txt
+++ b/libraries/spring/src/docs/spring.txt
@@ -25,8 +25,59 @@
 source=libraries/spring/dev-status.xml
 --------------
 
-Spring Integration Library
+include::../../build/docs/buildinfo/artifact.txt[]
 
-NOTE: This Library has no documentation yet. Learn how to contribute in <<community-docs>>.
+== Using Spring Framework in Apache Zest ==
+Zest supports that Spring Application Context is imported into the Zest runtime, and the declared Spring
+beans will be available as Zest services. The most important things to remember are;
+
+    1 Only Spring Singletons are currently supported.
+    1 One ApplicationContext per Zest Module.
+    1 The Zest service will be given the same name as the Spring Bean name.
+    1 Zest Configuration is not reacbable from the Spring bean (kind of obvious).
+
+[snippet,java]
+----
+source=libraries/spring/src/test/java/org/qi4j/library/spring/importer/Qi4jImportServiceTest.java
+tag=importer
+----
+
+== Using Apache Zest in Spring Framework ==
+It is also possible to run a Zest Application as a Spring Bean and export its Services to Spring.
+
+Steps to export Qi4j service:
+
+    1 Create spring BeanFactory service of qi4j services to export.
+    1 Create a class that extends Qi4jApplicationBootstrap.
+    1 Sets the layer and module that register BeanFactory service.
+    1 Assemble qi4j application by implementing #assemble method.
+    1 Sets the identity of bean factory service. This identity is the spring bean name.
+    1 Declare qi4j bootstrap in spring xml application context.
+
+To bootstrap the Zest runtime in Spring, you should have a bootstrap bean that extends the
++org.qi4j.library.spring.bootstrap.Qi4jApplicationBootstrap+ and implement the
++org.springframework.context.ApplicationContextAware+.
+
+A new bean will appear in the application context, called +"qi4jApplication"+ which is only
+intended for internal use of this library.
+
+Example application context;
+ <?xml version="1.0" encoding="UTF-8"?>
+
+ <beans xmlns="http://www.springframework.org/schema/beans"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xmlns:qi4j="http://www.qi4j.org/schema/qi4j/spring"
+  xsi:schemaLocation="
+  http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
+  http://www.qi4j.org/schema/qi4j/spring http://www.qi4j.org/schema/qi4j/spring/spring-0.5.xsd">
+
+  <!-- class that implements Qi4jApplicationBootstrap -->
+
+  <qi4j:bootstrap class="org.qi4j.library.spring.bootstrap.Qi4jTestBootstrap"/>
+
+  <bean id="commentServiceHolder" class="org.qi4j.library.spring.bootstrap.CommentServiceHolder">
+
+  <constructor-arg ref="commentService"/> <!-- Reference qi4j comment service -->
+
+ </bean>
 
-include::../../build/docs/buildinfo/artifact.txt[]

http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/9128eee8/libraries/spring/src/test/java/org/qi4j/library/spring/importer/Qi4jImportServiceTest.java
----------------------------------------------------------------------
diff --git a/libraries/spring/src/test/java/org/qi4j/library/spring/importer/Qi4jImportServiceTest.java b/libraries/spring/src/test/java/org/qi4j/library/spring/importer/Qi4jImportServiceTest.java
index 4f48850..fc76bea 100644
--- a/libraries/spring/src/test/java/org/qi4j/library/spring/importer/Qi4jImportServiceTest.java
+++ b/libraries/spring/src/test/java/org/qi4j/library/spring/importer/Qi4jImportServiceTest.java
@@ -54,8 +54,9 @@ public final class Qi4jImportServiceTest
             public void assemble( ModuleAssembly module ) throws AssemblyException
             {
                 module.objects( Qi4jImportServiceTest.class );
-
+                // START SNIPPET: import
                 new SpringImporterAssembler( appContext ).assemble( module );
+                // END SNIPPET: import
             }
         };