Commits

Vineet Reynolds committed f0e5cc0

Renamed pages.

  • Participants
  • Parent commits 52473a7

Comments (0)

Files changed (23)

File Bean Verification.wiki

Empty file removed.

File BeanVerification.wiki

Empty file added.

File Build Server Integration.wiki

-CruiseControl is used here, for reference, but Jenkins/Hudson or any another CI server could be used instead.
-
-The project is configured in CC as:
-
-{{{
-#!xml
-
-<cruisecontrol>
-  <project name="JavaEE6Galleria" buildafterfailed="true">
-    <listeners>
-        <currentbuildstatuslistener file="logs/${project.name}/status.txt"/>
-    </listeners>
-
-    <!-- Defines where cruise looks for changes, to decide whether to run the build -->
-    <modificationset>
-        <mercurial localWorkingCopy="checkout/${project.name}" hgcommand="log" />
-    </modificationset>
-
-    <!-- Configures the actual build loop, how often and which build file/target -->
-    <schedule interval="60">
-		<!-- Call the target that does everything -->
-		<composite>
-			<!-- Invoke 'hg update' in the CC copy of the Hg repository as the mercurial task in the modification set does not issue 'hg update' (what a bummer) -->
-			<exec workingdir="checkout/${project.name}"
-			 command="hg"
-			 args="update"/>
-			<maven2 mvnhome="D:\Apps\apache-maven-3.0.3"
-				   pomfile="checkout/${project.name}/pom.xml"
-				   goal="clean install" activateprofiles="integration-test" />
-		</composite>
-    </schedule>
-
-    <!-- directory to write build logs to -->
-    <log dir="logs/${project.name}">
-        <merge dir="checkout/${project.name}/galleria-ejb/target/surefire-reports" />
-        <merge dir="checkout/${project.name}/galleria-ejb/target/failsafe-reports" />
-        <merge dir="checkout/${project.name}/galleria-jsf/target/failsafe-reports" />
-    </log>
-
-    <!-- Publishers are run *after* a build completes -->
-    <publishers>
-		<!-- 
-        <onsuccess>
-            <artifactspublisher dest="artifacts/${project.name}" file="projects/${project.name}/target/${project.name}.jar"/>
-        </onsuccess>
-		-->
-    </publishers>
-  </project>
-</cruisecontrol>
-}}}
-
-This assumes that the project was checked out using Mercurial into the checkout subdirectory. 
-
-Since the {{{<mercurial>}}} task in CC issues only a 'hg incoming', and does not follow it with a 'hg pull', we have to pull the fresh repository contents ourselves (see the 'exec' element).
-
-A build of the project creates Maven Surefire and FailSafe reports, that can be merged into the build log.

File BuildServerIntegration.wiki

+CruiseControl is used here, for reference, but Jenkins/Hudson or any another CI server could be used instead.
+
+The project is configured in CC as:
+
+{{{
+#!xml
+
+<cruisecontrol>
+  <project name="JavaEE6Galleria" buildafterfailed="true">
+    <listeners>
+        <currentbuildstatuslistener file="logs/${project.name}/status.txt"/>
+    </listeners>
+
+    <!-- Defines where cruise looks for changes, to decide whether to run the build -->
+    <modificationset>
+        <mercurial localWorkingCopy="checkout/${project.name}" hgcommand="log" />
+    </modificationset>
+
+    <!-- Configures the actual build loop, how often and which build file/target -->
+    <schedule interval="60">
+		<!-- Call the target that does everything -->
+		<composite>
+			<!-- Invoke 'hg update' in the CC copy of the Hg repository as the mercurial task in the modification set does not issue 'hg update' (what a bummer) -->
+			<exec workingdir="checkout/${project.name}"
+			 command="hg"
+			 args="update"/>
+			<maven2 mvnhome="D:\Apps\apache-maven-3.0.3"
+				   pomfile="checkout/${project.name}/pom.xml"
+				   goal="clean install" activateprofiles="integration-test" />
+		</composite>
+    </schedule>
+
+    <!-- directory to write build logs to -->
+    <log dir="logs/${project.name}">
+        <merge dir="checkout/${project.name}/galleria-ejb/target/surefire-reports" />
+        <merge dir="checkout/${project.name}/galleria-ejb/target/failsafe-reports" />
+        <merge dir="checkout/${project.name}/galleria-jsf/target/failsafe-reports" />
+    </log>
+
+    <!-- Publishers are run *after* a build completes -->
+    <publishers>
+		<!-- 
+        <onsuccess>
+            <artifactspublisher dest="artifacts/${project.name}" file="projects/${project.name}/target/${project.name}.jar"/>
+        </onsuccess>
+		-->
+    </publishers>
+  </project>
+</cruisecontrol>
+}}}
+
+This assumes that the project was checked out using Mercurial into the checkout subdirectory. 
+
+Since the {{{<mercurial>}}} task in CC issues only a 'hg incoming', and does not follow it with a 'hg pull', we have to pull the fresh repository contents ourselves (see the 'exec' element).
+
+A build of the project creates Maven Surefire and FailSafe reports, that can be merged into the build log.

File Building the application.wiki

Empty file removed.

File Data Model.wiki

Empty file removed.

File DataModel.wiki

Empty file added.

File Domain Model.wiki

Empty file removed.

File DomainModel.wiki

Empty file added.

File GatheringTestCoverage.wiki

Empty file added.
 
 === Contents ===
 
-[[Setting up the project]]
-[[Overall Application Architecture]]
-[[Data Model]]
-[[Domain Model]]
-[[Testing the Application Layer]]
-[[Testing the Domain Layer]]
-[[Testing the Presentation Layer]]
-[[Test coverage]]
-[[Build Server Integration]]
+* [[SettingUpTheApplication|Setting up the Application]]
+* [[OverallApplicationArchitecture|Overall Application Architecture]]
+* [[DataModel|Data Model]]
+* [[Domain Model|Domain Model]]
+* [[TestingTheDomainLayer|Testing the Domain Layer]]
+* [[TestingTheApplicationLayer|Testing the Application Layer]]
+* [[TestingThePresentationLayer|Testing the Presentation Layer]]
+* [[GatheringTestCoverage|Gathering Test coverage]]
+* [[BuildServerIntegration|Build Server Integration]]
 
 Have fun!

File Overall Application architecture.wiki

-== Architectural themes ==
-
-=== Domain driven design using Java EE 6  ===
-
-DDD as an architectural approach, is feasible in Java EE 6. This is primarily due to the changes made in EJB 3.x and in the introduction of JPA.
-The improvements made in the EJB 3.x and JPA specifications allow for a domain and application layer to be modelled in Java EE 6 using DDD.
-Although JPA (like Hibernate) does not facilitate the creation of a truly rich domain model, the resulting model is certainly not anemic by nature.
-It should be noted that injection of dependencies into JPA entities is certainly a desirable feature, but one that cannot be achieved.
-After all, dependency injection only works when the container/framework is responsible for object creation and initialization; the JPA/Hibernate model, instead defers the responsibility of object creation and initialization to the developer.
-It is this inability to inject dependencies into a JPA entity that prevents the model from being truly rich.
-Nevertheless, one can design an application to ensure that persistence services are injected into the application layer, and used to access/persist the entities within a transactional context established by the application layer.
-
-The domain model of the project contains entities and repositories to access the aggregate roots of the entities.
-The domain entities are modelled as JPA entities, while the repositories are designed using Stateless Session EJBs.
-The application layer of the domain is designed using Stateless Session EJBs that operate on the repositories, while using the transaction, security and persistence infrastructure services of Java EE 6.
-
-Details of the domain model can be found in a separate page. 
-
-=== Testing the domain model ===
-
-=== In-container testing ===

File OverallApplicationArchitecture.wiki

+== Architectural themes ==
+
+=== Domain driven design using Java EE 6  ===
+
+DDD as an architectural approach, is feasible in Java EE 6. This is primarily due to the changes made in EJB 3.x and in the introduction of JPA.
+The improvements made in the EJB 3.x and JPA specifications allow for a domain and application layer to be modelled in Java EE 6 using DDD.
+Although JPA (like Hibernate) does not facilitate the creation of a truly rich domain model, the resulting model is certainly not anemic by nature.
+It should be noted that injection of dependencies into JPA entities is certainly a desirable feature, but one that cannot be achieved.
+After all, dependency injection only works when the container/framework is responsible for object creation and initialization; the JPA/Hibernate model, instead defers the responsibility of object creation and initialization to the developer.
+It is this inability to inject dependencies into a JPA entity that prevents the model from being truly rich.
+Nevertheless, one can design an application to ensure that persistence services are injected into the application layer, and used to access/persist the entities within a transactional context established by the application layer.
+
+The domain model of the project contains entities and repositories to access the aggregate roots of the entities.
+The domain entities are modelled as JPA entities, while the repositories are designed using Stateless Session EJBs.
+The application layer of the domain is designed using Stateless Session EJBs that operate on the repositories, while using the transaction, security and persistence infrastructure services of Java EE 6.
+
+Details of the domain model can be found in a separate page. 
+
+=== Testing the domain model ===
+
+=== In-container testing ===

File SettingUpTheApplication.wiki

Empty file added.

File Test coverage.wiki

Empty file removed.

File Testing the Application Layer.wiki

Empty file removed.

File Testing the Domain Layer.wiki

Empty file removed.

File Testing the Presentation Layer.wiki

Empty file removed.

File TestingTheApplicationLayer.wiki

Empty file added.

File TestingTheDomainLayer.wiki

Empty file added.

File TestingThePresentationLayer.wiki

Empty file added.

File UI Flow Diagram.wiki

Empty file removed.

File UiFlowDiagram.wiki

Empty file added.