Help is available by sending an email to csf-support@mit.edu
Have any suggestion on how improve this wiki?  Please give us your feedback at csf-support@mit.edu

Quick Links to:
{toc:minLevel=3|maxLevel=3}

The SVN repository for the jar template has moved to svn+ssh://svn.mit.edu/es-common-services-framework/es-project-template/jar-template/trunk.
Please note that the dialog screen shots in Section 1-3, 1-5, 1-7 and 1-13 shows the old SVN location of the jar-template.

OVERVIEW

This document contain the instruction on how to install and configure your project's JAR component using the jar-template.  The screen shots are taken from the Eclipse Java EE IDE for Web Developers - Version: Indigo Service Release 2 IDE.  If you are using a different version of Eclipse Java EE or a different variant of Eclipse, the screen shots may differ.  It is important to keep in mind that the following instructions should be viewed as to what has to be done rather than how to do it.

There are 3 sections to this document.  These sections are:

  • Section 1:
    This section deals with creating a Maven jar project using the jar-template.  There is nothing new here and you should know how to do the above relative to the Eclipse IDE that you are using.
    You should notice that in this section:
    1. Items 1 - 8 deal with checking out and disconnecting the jar template from the SVN repository.
    2. Items 9 - 12 deal with cleanup, renaming the jar template and converting the project to a Maven project.
    3. Items 13 - 20 deal with checking in the renamed project into a new SVN repository specifically for your project.
  • Section 2:
    This section deals editing various project files and is very straight forward.
    Again, there is nothing new here and you should know how to do the above relative to the Eclipse IDE that you are using.
  • Section 3:
    This section deals editing the project's pom.xml.
  • Section 4:
    This section deals with changes that have been made to the JAR template that are not reflected in the documentation.

It should take you approximately 10 - 20 minutes to get your jar component created and customized.

{anchor:Creating the project jar component using the jar-template}
h3. Section 1: Creating the project jar component using the jar-template
* {color:red}This setup assumes that you have completed the [Workstation configuration | Getting Started#Workstation configuration] as found on the [CSF Home - Getting Started | Getting Started] tab.
If you have not completed the [Workstation configuration | Getting Started#Workstation configuration], please do so [*now* | Getting Started#Workstation configuration].

Please read the [*OVERVIEW* | #overview] before continuing.{color}
# Run Eclipse.  Go to *File > New > Other...*.
Scroll down to *SVN* and expand then select *Project from SVN* as shown in the following panel.
!setupJarTemplate002.jpg!
When satisfied that everything is correct, click *Next*.
# From the *Checkout Project from SVN repository* panel, select *Create a new repository location* as shown in the following panel.
!setupJarTemplate004.jpg!
When satisfied that everything is correct, click *Next*.
# In the *Enter Repository Location Information* panel do the following:
for the *URL:* field enter:
{code}
    svn+ssh://svn.mit.edu/es-common-services-framework/es-project-template/jar-template/trunk
{code}
For the *Label*, select: *use the repository URL as the label*
For the *Authentication*, enter your *User* name and *password*.
!setupJarTemplate006.jpg!
When satisfied that everything is correct, click *Next*.
# The *Repository Location Properties* panel is a warning panel.
!setupJarTemplate007.jpg!
You do not want to normalize the URL!
click *No*.
# In the *Select Resource* panel, select
{code}
    svn+ssh://svn.mit.edu/es-common-services-framework/es-project-template/jar-template/trunk
{code}
as shown in the following panel:
!setupJarTemplate008.jpg!
When satisfied that everything is correct, click *Finish*.
# In the *Check Out As* panel, select *Check out as a project with the name specified:* as shown in the following panel.
!setupJarTemplate010.jpg!
When satisfied that everything is correct, click *Finish*.
# Your *Eclipse - Project Explorer View* should now look similar to the following:
!setupJarTemplate011.jpg!
# Right click on the *jar-template* project and select *Team > Disconnect*
When the following *Confirm Disconnect from SVN* panel is displayed, select *Also delete the SVN meta-information from the file system*.
!setupjarTemplate012.jpg!
When satisfied that everything is correct, click *Yes*.
# Open the Eclipse *Project Explorer View*.  The view should look as follows:
!setupJarTemplate014.jpg!
Right click on the *jar-template* project and select *Rename...*.
Replace *jar-template* with the *short project acronym* that you have previously selected.  If you have not selected a *short project acronym*, please go to [Selecting names for your project | Selecting names for your project#Selection of a short project acronym] before continuing.
{color:red}Prefix a *csf-* to the *short project acronym* to denote that this is the jar component of your project.{color}
For example: If my *short project acronym* was *att*, then my panel would look like the following:
!setupJarTemplate016.jpg!
When satisfied that everything is correct, click *OK*.
# The *Eclipse - Project Explorer View* should look similar to the following:
!setupJarTemplate018.jpg!
# Minimize your IDE, and open *Windows Explorer* (user *finder* on the MAC).  Navigate to the home directory of your jar project.  With a *text editor*, open the *.project* file.  Find the following line:
{code}
<name>jar-template</name>
{code}
and replace *jar-template* with the *short project acronym* that you have previously selected.
{color:red}Prefix a *csf-* to the *short project acronym* to denote that this is the jar component of your project.{color}
For example: If my *short project acronym* was *att*, then the line would look like the following:
{code}
<name>csf-att</name>
{code}
When you are satisfied that everything is correct, save your change and close the .project file.
Maximize your IDE.
\\
# Right click on the renamed project and select *Configure > Convert to Maven Project*
Expand your project and it should look similar to the following:
!setupJarTemplate019.jpg!
# Right click on the renamed project and select *Team > Share Project...*
Select *SVN* as shown below:
!setupJarTemplate020.jpg!
When satisfied that everything is correct, click *Next*.
# Select *Create a new repository location* as shown below:
!setupJarTemplate022.jpg!
When satisfied that everything is correct, click *Next*.
# Enter a desired SVN URL for your project.
The SVN repository that you should use is *svn+ssh://svn.mit.edu/es-projects/* followed by the *SVN project identifier* that you had previously selected.&nbsp;&nbsp;If you have not selected a *SVN project identifier*, please go to [Selecting names for your project | Selecting names for your project#Selection of a SVN project identifier] before continuing.
For example:&nbsp;&nbsp;If my *SVN project identifier* is *academic-att*, then the SVN URL would be:
{code}
svn+ssh://svn.mit.edu/es-projects/academic-att.
{code}
This would mean that my jar project would be created under the *es-projects/academic-att* directory in the SVN repository.&nbsp;&nbsp;This is shown
in the following panel:
!setupJarTemplate024.jpg!
Don't forget to enter your *User* name and *Password*,
When satisfied that everything is correct, click *Next*.
# When the following panel is display notifying you that a new SVN entry will be created:
!setupJarTemplate026.jpg!
When satisfied that everything is correct, click *OK*.
# Do the following:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;In the *Advanced Mode* section, select *Use project name*.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;In the *Project Repository Layout* section, select *Use single project layout*.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check *Use Subversion recommended layout ('trunk', 'branches' and 'tags')* check box.
The panel should be as illustrated in the following panel:
!setupJarTemplate028.jpg!
When satisfied that everything is correct, click *Next*.
# Nothing to do here.&nbsp;&nbsp;This is an information panel similar to the following panel:
!setupJarTemplate030.jpg!
When satisfied that everything is correct, click *Finish*.
# When a panel similar to the one below is display, enter a comment.
This is the initial SVN check-in (svn commit) for the JAR project:
!setupJarTemplate032.jpg!
When satisfied that everything is correct, click *OK*.
# When the SVN commit has completed, the *Eclipse - Project Explorer View* should look similar to the following.
!setupJarTemplate034.jpg!

h4. {color:green}Creating the project jar component using the jar-template is now complete.{color}
{anchor:Customizing the project JAR}
h3. Section 2: Customizing the project JAR
* {color:red}Please read the [*OVERVIEW* | #overview] before continuing.{color}
# Run *Eclipse*.&nbsp;&nbsp;From the *Project Explorer View*, open the Maven JAR project that you want to customize.
Your *Project Explorer View* should look similar to the following:
!customizeJar002.jpg!
# Expand your project, then expand *src/main/resources*.
Your *Project Explorer View* should look similar to the following:
!customizeJar004.jpg!
# Open the *applicationContext-csf-projectName.xml* for editing and change the following lines substituting your *short project acronym* for *projectName*.
There are 3 occurances of *projectName* that have to be changed.
{code}
    <import resource="classpath*:applicationContext-csf-projectName-component-scan.xml" />
    <import resource="classpath*:applicationContext-csf-projectName-config.xml" />
    <import resource="classpath*:applicationContext-csf-projectName-security-spring.xml" />
{code}
When you have made all the changes, the lines you have changed should look similar to the following:
{code}
    <import resource="classpath*:applicationContext-csf-att-component-scan.xml" />
    <import resource="classpath*:applicationContext-csf-att-config.xml" />
    <import resource="classpath*:applicationContext-csf-att-security-spring.xml" />
{code}
In the above example, *projectName* was replaced with the *short project acronym* *att*.
When you are satisfied with the changes, *save* and *close* the file.
# From the *Project Explorer View*, rename each of the following files, substituting your *short project acronym* for *projectName*.
There are 4 files that have to be renamed.
{code}
    applicationContext-csf-projectName.xml
    applicationContext-csf-projectName-component-scan.xml
    applicationContext-csf-projectName-config.xml
    applicationContext-csf-projectName-security.xml
{code}
When you have made all the changes, the file names that you have changed should look similar to the following:
{code}
    applicationContext-csf-att.xml
    applicationContext-csf-att-component-scan.xml
    applicationContext-csf-att-config.xml
    applicationContext-csf-att-security.xml
{code}
In the above example, *projectName* was replaced with the *short project acronym* *att*.
Your *Project Explorer View* should look similar to the following:
!customizeJar006.jpg!
When you are satisfied with the changes, *save* and *close* the file.
# From the *Project Explorer View*, expand *src/test/resources*.&nbsp;&nbsp;Open the *applicationContext-csf-unit-tests-default.xml* for editing and change the following lines substituting your *short project acronym* for *projectName*.
There are 2 occurances of *projectName* that have to be changed.
{code}
    <import resource="classpath*:applicationContext-csf-projectName.xml" />
    <import resource="classpath*:applicationContext-csf-projectName-config-test.xml" />
{code}
When you have made all the changes, the lines you have changed should look similar to the following:
{code}
    <import resource="classpath*:applicationContext-csf-att.xml" />
    <import resource="classpath*:applicationContext-csf-att-config-test.xml" />
{code}
When you are satisfied with the changes, *save* and *close* the file.
# From the *Project Explorer View*, expand *src/test/resources*.&nbsp;&nbsp;Open the *applicationContext-csf-projectName-config-test.xml* for editing and change the following lines substituting your *short project acronym* for *projectName*.
There are 2 occurances of *projectName* that have to be changed.
{code}
    <value>classpath:csf-projectName-test.properties</value>
    <value>classpath:csf-projectName-test.properties</value>
{code}
When you have made all the changes, the lines you have changed should look similar to the following:
{code}
    <value>classpath:csf-att-test.properties</value>
    <value>classpath:csf-att-test.properties</value>
{code}
When you are satisfied with the changes, *save* and *close* the file.
# From the *Project Explorer View*, rename each of the following files, substituting your *short project acronym* for *projectName*.
There are 2 files that have to be renamed.
{code}
    applicationContext-csf-projectName-config-test.xml
    csf-projectName-test.properties
{code}
When you have made all the changes, the file names that you have changed should look similar to the following:
{code}
    applicationContext-csf-att-config-test.xml
    csf-att-test.properties
{code}
# *Commit* all changes to the SVN repository.

h4. {color:green}Customizing the project JAR is now complete.{color}

Section 3: Customizing the project JAR pom.xml

  • Please read the OVERVIEW before continuing.
  1. Run Eclipse.  From the Project Explorer View, open the Maven JAR project that you want to customize.
    Expand your project and open the project's pom.xml for editing.
    Select the pom.xml tab.
    You should have a display similar to the following panel.  From time to time the jar-template is updated and, as a result, the Configuration Instructions are changed.  The instructions found in the pom.xml will ALWAYS be up-to-date and may differ from what is display in the panel below.

    Follow the Configuration Instructions that are provided in the pom.xml.
    When you are satisfied with the changes that you have made, save the changes and close the file.
  2. Commit the changes to the SVN repository.

Customizing the project JAR pom.xml is now complete.

Section 4: One final thing to do

There may have been changes made to the JAR template that are not reflected in the above documentation.
The final task that must be done is to search the entire project for any occurance of projectName.
Open any file that contain projectName for editing and change projectName to your short project acronym.

One final thing to do is now complete.