Project Anatomy
From Taylor
This page outlines the structure of the projects/modules generated from a model.
- Maven project layout conventions are used, so you will find files were you expect to.
- The model name is used as the groupId and artifactId, unless overridden by the maven stereotype.
- All the necessary dependencies are generated.
- POM files are not regenerated if it already exists. So you can and are expected modify these files. Many sections are commented out so that you can decide what additional features to activate.
Contents |
Master
This is the master project for all the other modules.
- pom.xml
NOTE: This is now the root project folder instead of a sibling.
Jpa
This project contains JPA entities that can be used across many projects.
- pom.xml
- src
- main
- java
- resources
- META-INF
- components.xml
- persistence.xml
- orm.xml
- ejb-jar.xml
- betwixt-config.xml
- META-INF
- main
- src
- test
- java
- Entity Bean Tests
- resources
- META-INF
- ejb3-deployment.xml
- ejb3-interceptors-aop.xml
- embedded-jboss-beans.xml
- jboss-jms-beans.xml
- security-beans.xml
- login-config.xml
- roles.properties
- users.properties
- default.persistence.properties
- jndi.properties
- log4j.xml
- import.sql
- java
- test
- src
Ejb
This project contains services, business processes and task actions.
- pom.xml
- src
- src
- test
- java
- Service and Process Unit Tests
- resources
- META-INF
- components.xml
- embedded container descriptors (see jpa above)
- META-INF
- java
- test
Jsf
This project contains the Seam components and Facelets for the Crud UI and Pageflows.
- pom.xml
- src
- main
- java
- <crud>
- *Editor.java
- *EditorBean.java
- *Finder.java
- *FinderBean.java
- *TreeNode.java
- <page-flow>
- *PageBean.java
- <crud>
- resources
- META-INF
- components.xml
- ejb-jar.xml
- faces-config.xml
- pages.xml
- seam.properties
- <prj-name>-messages.properties
- <prj-name>-rules.properties
- jsf
- <crud>
- Search.xhtml
- View.xhtml
- Edit.xhtml
- Charts.xhtml
- ViewPanel.xhtml
- EditPanel.xhtml
- Columns.xhtml
- Headers.xhtml
- SortHeaders.xhtml
- ViewKeys.xhtml
- <page-flow>
- Pageflow.xhtml
- <page-name>.xhtml
- <crud>
- pdf
- <entity-name>.xhtml
- <entity-name>List.xhtml
- DetailCells.xhtml
- ListCellHeaders.xhtml
- ListCells.xhtml
- xsl
- Excel.xhtml - TODO <entity-name>.xhtml
- Cells.xhtml
- META-INF
- java
- main
- src
- test
- java
- Editor and Finder Unit Tests
- resources
- META-INF
- components.xml
- embedded container descriptors (see jpa above)
- META-INF
- java
- test
- src
NOTE: see Taylor Portal for more on the portal-plug-in architecture used by the JSF projects
Web
This project packages the War with the templates, tags, and themes.
- pom.xml
- src
- main
- webapp
- index.html
- home.xhtml
- dashboard.xhtml
- login.xhtml
- error.xhtml
- themes
- default
- *-template.xhtml
- includes
- *.xhtml
- css
- *.css
- images
- *.gif
- *.png
- *.jpeg
- default
- WEB-INF
- web.xml
- faces-config.xml - master
- pages.xml - master
- components.xml - master
- navigation.xml
- classes
- messages.properties - master
- application.properties
- rules.properties
- default.properties - theme descriptor
- <theme>.properties - theme descriptor
- portal.skin.properties - richfaces skin
- excel - TODO change to xsl?
- tags
- templates
- jsf
- tags - TODO list tags
- templates
- pdf
- tags
- templates
- webresources
- themes
- default
- layout-template.xhtml
- default
- themes
- webapp
- main
- src
Most of this content is overlayed from taylor-portal-web. However, you can override any file by defining it in your project and create entire new theme.
<dependency>
<groupId>taylor</groupId>
<artifactId>taylor-portal-web</artifactId>
<version>${taylor.version}</version>
<type>war</type>
<scope>runtime</scope>
</dependency>
App
This project packages the modules into an Ear.
- pom.xml
- src
- main
- application
- META-INF
- jboss-app.xml
- META-INF
- resources
- META-INF
- application.xml - TODO have maven generate?
- components.properties
- META-INF
- application
- main
These Taylor modules are also included:
- taylor-commons
- taylor-portal
- taylor-identity
- taylor-bpm
- taylor-audit
- taylor-search
TODO - discuss customizing the ear and the deployment cycle
Jax-WS Client
This project contains that web service client for web services defined in the model.
- pom.xml
- components.properties
Qa
This project contains the JSFUnit and Taylor Results based integration tests.
- pom.xml
Doc
This project contains Maven APT-based documentation of the model.
- pom.xml

