Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0
Info

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

Panel
Wiki Markup

Quick Links to:

{toc
:minLevel
=3
|maxLevel
=3}
Note

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 war-template.

Panel

Anchor
overview
overview

OVERVIEW

This document contain the instruction on how to install and configure your project's WAR component using the war-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:

indent
1
1
  • Section 1:
    This section deals with creating a Maven war project using the war-template.  You should notice that in this section:
    1. Items 1 - 8 deal with checking out and disconnecting the war template from the SVN repository.
    2. Items 9 - 12 deal with cleanup, renaming the war 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.
  • Section 3:
    This section deals editing the project's pom.xml.
  • Section 4:
    This section deals with changes that have been made to the WAR template that are not reflected in the documentation.

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

Section 1: Creating the project war component using the war-template

This setup assumes that you have completed the Workstation configuration as found on the CSF Home - Getting Started tab.
If you have not completed the Workstation configuration , please do so now .
Please read the OVERVIEW before continuing.Run Eclipse.  Go to File > New > Other....
Scroll down to SVN and expand then select Project from SVN as shown in the following panel.
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.
When satisfied that everything is correct, click Next.
In the Enter Repository Location Information panel do the following:
for the URL: field enter:
Panel
Wiki Markup

{anchor:Creating the project war component using the war-template}
h3. Section 1: Creating the project war component using the war-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.
\\
{indent:2}
!setupWarTemplate002.jpg!
{indent}
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.
\\
{indent:2}
!setupWarTemplate004.jpg!
{indent}
When satisfied that everything is correct, click *Next*.
\\
# In the *Enter Repository Location Information* panel do the following:
for the *URL:* field enter:
{code}
Anchor
Creating the project war component using the war-templateCreating the project war component using the war-template
indent
22

!setupWarTemplate002.jpg!
indent
22

!setupWarTemplate004.jpg!
Code Block

    svn+ssh://svn.mit.edu/es-common-services-framework/es-project-template/war-template/trunk
{code}
For the *Label*, select: *use the repository URL as the label

*
For the *Authentication*, enter your *User* name and *password*.

indent22

\\
{indent:2}
!setupWarTemplate006.jpg!
{indent}
When satisfied that everything is correct, click *Next
.
The Repository Location Properties panel is a warning panel.
indent22
*.
\\
# The *Repository Location Properties* panel is a warning panel.
\\
{indent:2}
!setupWarTemplate007.jpg!
{indent}
You do not want to normalize the URL!

click No.
In the Select Resource panel, select Code Block

click *No*.
\\
# In the *Select Resource* panel, select
{code}
    svn+ssh://svn.mit.edu/es-common-services-framework/es-project-template/war-template/trunk
{code}
as shown in the following panel:

indent22

\\
{indent:2}
!setupWarTemplate008.jpg!
{indent}
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.
indent22
*.
\\
# In the *Check Out As* panel, select *Check out as a project with the name specified:* as shown in the following panel.
\\
{indent:2}
!setupWarTemplate010.jpg!
{indent}
When satisfied that everything is correct, click *Finish
.
Your Eclipse - Project Explorer View should now look similar to the following:
indent22
*.
\\
# Your *Eclipse - Project Explorer View* should now look similar to the following:
\\
{indent:2}
!setupWarTemplate011.jpg!
Right click on the
{indent}
# Right click on the *war-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*.

indent22

\\
{indent:2}
!setupWarTemplate012.jpg!
{indent}
When satisfied that everything is correct, click *Yes*.

# Open the Eclipse *Project Explorer View
.  The view should look as follows:
indent22
*.  The view should look as follows:
\\
{indent:2}
!setupWarTemplate014.jpg!
{indent}
Right click on the *war-template* project and select *Rename...*.


Replace *war-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 before continuing.
indent22
  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.
\\
{indent:2}
*Note*:  If you haven't already do so, You might want to append a *-web* to the *short project acronym* to denote that this is the web component of your project.
For
{indent}
\\
For example: If my *short project acronym* was *att*, then my panel would look like the following:

indent22

\\
{indent:2}
!setupWarTemplate016.jpg!
{indent}
When satisfied that everything is correct, click *OK
.
The Eclipse - Project Explorer View should look similar to the following:
indent22
*.
\\
# The *Eclipse - Project Explorer View* should look similar to the following:
\\
{indent:2}
!setupWarTemplate018.jpg!
Right click on the renamed project and select Configure > Convert to Maven Project
Expand your project and it should look similar to the following:
indent22
{indent}
# Right click on the renamed project and select *Configure > Convert to Maven Project*
Expand your project and it should look similar to the following:
\\
{indent:2}
!setupWarTemplate019.jpg!
Right click on the renamed project and select Team > Share
{indent}
# Right click on the renamed project and select *Team > Share Project...

*
Select *SVN* as shown below:

indent22

\\
{indent:2}
!setupWarTemplate020.jpg!
{indent}
When satisfied that everything is correct, click *Next
.
Select Create a new repository location as shown below:
indent22
*.
\\
# Select *Create a new repository location* as shown below:
\\
{indent:2}
!setupWarTemplate022.jpg!
{indent}
When satisfied that everything is correct, click *Next
.
Enter a desired SVN URL for your project.
The SVN repository that you should use is
*.
\\
# 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.
  If you have not selected a SVN project identifier, please go to Selecting names for your project before continuing.
For example: indent11
  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:
{indent:1}
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.  This is shown
in the following panel:
indent22
{indent}
{indent:2}
!setupWarTemplate024.jpg!
{indent}
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:
indent22
*.
\\
# When the following panel is display notifying you that a new SVN entry will be created:
\\
{indent:2}
!setupWarTemplate026.jpg!
{indent}
When satisfied that everything is correct, click *OK
.
Do the following: indent11
*.
\\
# Do the following:
{indent:1}
* In the *Advanced Mode* section, select *Use project name*.
* In the *Project Repository Layout* section, select *Use single project layout*.
* Check *Use Subversion recommended layout ('trunk', 'branches' and 'tags')* check box.
{indent}
The panel should be as illustrated in the following panel:

indent22

\\
{indent:2}
!setupWarTemplate028.
jpg! When satisfied that everything is correct, click Next.
Nothing to do here.  This is an information panel similar to the following panel:
indent22
jpg!
{indent}
When satisfied that everything is correct, click *Next*.
\\
# Nothing to do here.  This is an information panel similar to the following panel:
\\
{indent:2}
!setupWarTemplate030.jpg!
{indent}
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 WAR project:
indent22
*.
\\
# When a panel similar to the one below is display, enter a comment.
This is the initial SVN check-in (svn commit) for the WAR project:
\\
{indent:2}
!setupWarTemplate032.jpg!
{indent}
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.
indent22
*.
\\
# When the SVN commit has completed, the *Eclipse - Project Explorer View* should look similar to the following.
\\
{indent:2}
!setupWarTemplate034.jpg!
Creating the project war component using the
{indent}

h4. {color:green}Creating the project war component using the war-template is now complete.{color}

Section 2: Customizing the project WAR

Panel
Wiki Markup

{anchor
:Customizing the project
WAR
Customizing the project WAR
indent
11
 WAR}
h3. Section 2: Customizing the project WAR
{indent:1}
{color:red}Please read the [*OVERVIEW* | #overview] before continuing.{color}
{indent}
# Run *Eclipse
.  From the Project Explorer View, open the Maven WAR project that you want to customize.
Your Project Explorer View should look similar to the following:
indent22
*.  From the *Project Explorer View*, open the Maven WAR project that you want to customize.
Your *Project Explorer View* should look similar to the following:
\\
{indent:2}
!customizeWar002.jpg!
Expand your

{indent}
\\
# Expand your project, then expand *src/main/resources*.


Your *Project Explorer View* should look similar to the following:

indent22

\\
{indent:2}
!customizeWar004.jpg!
Open the
{indent}
\\
# Open the *applicationContext-projectName-config.xml* for editing and change the following lines substituting your *short project acronym* for *projectName*.


\\
There are 6 occurances of *projectName* that have to be changed.

{code
}
<value>file:${user.dir}/projectName/projectName.properties</value>
<value>file:${user.home}/projectName.properties</value>
<value>file:${user.dir}/projectName/projectName.properties</value>
<value>file:${user.home}/projectName.properties</value>
{code}
When you have made all the changes, the lines you have changed should look similar to the following:

{code
}
<value>file:${user.dir}/att/att.properties</value>
<value>file:${user.home}/att.properties</value>
<value>file:${user.dir}/att/att.properties</value>
<value>file:${user.home}/att.properties</value>
{code}
In the above example, my *short project acronym* was *att* so I replaced *projectName* with *att* and *ProjectName* with *Att*.


\\
When you are satisifed with the changes, *save* and *close* the file.

# Open the *log4j.xml* for editing and change the following lines substituting your *short project acronym* for *projectName
.
For Tomcat 7 implementations:
There are 4 occurances of projectName that have to be changed. Code Block
*.
\\
\\
#* *For Tomcat 7 implementations:*
There are 4 occurances of *projectName* that have to be changed.
{code}
<param name="File" value="${logs.dir}/projectName/projectName.log" />
<param name="File" value="${logs.dir}/projectName/hbn-projectName.log" />
{code}
When you have made all the changes, the lines you have changed should look similar to the following:

{code
}
<param name="File" value="${logs.dir}/att/att.log" />
<param name="File" value="${logs.dir}/att/hbn-att.log" />
{code}
In the above example, my *short project acronym* was *att* so I replaced *projectName* with *att* and *ProjectName* with *Att
.
For OC4J implementations:
Replace $
*.
\\
\\
#* *For OC4J implementations:*
Replace *$\{logs.dir}/projectName* with *log* and the 2 remaining occurances of *projectName* have to be changed.

{code
}
<param name="File" value="${logs.dir}/projectName/projectName.log" />
<param name="File" value="${logs.dir}/projectName/hbn-projectName.log" />
{code}
When you have made all the changes, the lines you have changed should look similar to the following:

{code
}
<param name="File" value="log/att.log" />
<param name="File" value="log/hbn-att.log" />
{code}
In the above example, my *short project acronym* was *att* so I replaced *projectName* with *att* and *ProjectName* with *Att
.
When you are satisifed with the changes, save and close the file.Open the
*.
\\
\\
When you are satisifed with the changes, *save* and *close* the file.
# Open the *applicationContext-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-projectName-component-scan.xml" />
<import resource="classpath*:applicationContext-projectName-config.xml" />
<import resource="classpath*:applicationContext-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-att-component-scan.xml" />
<import resource="classpath*:applicationContext-att-config.xml" />
<import resource="classpath*:applicationContext-att-security-spring.xml" />
{code}
In the above example, my *short project acronym* was *att* so i replaced *projectName* with *att*.*.


\\
When you are satisifed with the changes, *save* and *close* the file.

# Open the *servlet.xml* for editing and change the following lines substituting your *short project acronym* for *projectName*.


\\
There is 1 occurance of *projectName* that has to be changed.

{code
}
<context:component-scan base-package="edu.mit.projectName.web">
{code}
When you have made the change, the line you have changed should look similar to the following:

{code
}
<context:component-scan base-package="edu.mit.att.web">
{code}
In the above example, my *short project acronym* was *att* so I replaced *projectName* with *att*.*.


\\
When you are satisifed 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-projectName-component-scan.xml
applicationContext-projectName-config.xml
applicationContext-projectName-security-spring.xml
applicationContext-projectName.xml
{code}
When you have made all the changes, the file names that you have changed should look similar to the following:

{code
}
applicationContext-att-component-scan.xml
applicationContext-att-config.xml
applicationContext-att-security-spring.xml
applicationContext-att.xml
{code}
In the above example, my *short project acronym* was *att* so I replaced *projectName* with *att*.*.

Your Project Explorer View should look similar to the following: indent22

\\
Your *Project Explorer View* should look similar to the following:
{indent:2}
!customizeWar006.jpg!
In the Project Explorer View, expand
{indent}
# In the *Project Explorer View*, expand *src/main/java*.


Rename the *edu.mit.projectName.web* package, substituting your *short project acronym* for *projectName*.


Your *Project Explorer View* should look similar to the following:

{indent
:2
2
}
!customizeWar008.jpg!
In the Project Explorer View, expand

{indent}
# In the *Project Explorer View*, expand *src/test/resources*.


Open the *applicationContext-csf-unit-tests-default.xml* for editing and change the following lines substituting your project name for *projectName*.


\\
There are 3 occurances of *projectName* that have to be changed.

{code
}
<import resource="classpath*:applicationContext-csf-projectName.xml" />
<import resource="classpath*:applicationContext-projectName.xml" />
<import resource="classpath*:applicationContext-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-att.xml" />
<import resource="classpath*:applicationContext-att-config-test.xml" />
{code}
In the above example, my *short project acronym* was *att* so I replaced *projectName* with *att*.*.


\\
When you are satisifed with the changes, *save* and *close* the file.

# In the *Project Explorer View*, expand *src/test/resources*.


Open the *applicationContext-projectName-config-test.xml* for editing and change the following lines substituting your project name for *projectName*.


\\
There are 2 occurances of *projectName* that have to be changed.

{code
}
<value>classpath:projectName-test.properties</value>
<value>classpath: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:att-test.properties</value>
<value>classpath:att-test.properties</value>
{code}
In the above example, my *short project acronym* was *att* so I replaced *projectName* with *att*.*.


\\
When you are satisifed with the changes, *save* and *close* the file.

# From the *Project Explorer View*, rename the following file, substituting your *short project acronym* for *projectName*.


\\
There are 2 files that have to be renamed.

{code
}
applicationContext-projectName-config-test.xml
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-att-config-test.xml
att-test.properties
{code}
In the above example, my *short project
acronym was att so I replaced projectName with att.*.
In the Project Explorer View, expand
 acronym* was *att* so I replaced *projectName* with *att*.*.
\\
# In the *Project Explorer View*, expand *src/main/webapp/WEB-INF*.


Open the *web.xml* for editing and change the following lines substituting your *short project acronym* for *projectName
.
There are 7 occurances of projectName that have to be changed. Code Block
*.
\\
\\
#* There are 7 occurances of *projectName* that have to be changed.
{code}
<display-name>projectName</display-name>
classpath*:applicationContext-csf-projectName.xml,	
classpath*:applicationContext-projectName.xml
<servlet-name>projectName</servlet-name>
<servlet-name>projectName</servlet-name>
<servlet-name>projectName</servlet-name>
<servlet-name>projectName</servlet-name>
{code}
When you have made all the changes, the lines you have changed should look similar to the following:

{code
}
<display-name>att</display-name>
classpath*:applicationContext-csf-att.xml,	
classpath*:applicationContext-att.xml
<servlet-name>att</servlet-name>
<servlet-name>att</servlet-name>
<servlet-name>att</servlet-name>
<servlet-name>att</servlet-name>
{code}
In the above example, my *short project acronym* was *att* so I replaced *projectName* with *att*.*.

Find the following line and change MitsisDS for your

\\
\\
#* Find the following line and change *MitsisDS* for your project's JNDI name.

{code
}
<res-ref-name>jdbc/MitsisDS</res-ref-name>
{code}
\\
When you are satisifed with the changes, *save* and *close* the file.
  • Commit all changes to the SVN repository.
  • Customizing the project WAR is now complete.
    
    # *Commit* all changes to the SVN repository.
    
    h4. {color:green}Customizing the project WAR is now complete.{color}
    
    Panel

    Anchor
    Customizing the project WAR pom.xml
    Customizing the project WAR pom.xml

    Section 3: Customizing the project WAR pom.xml

    indent
    1
    1
    {color:red}Please read the [*OVERVIEW* | #overview] before continuing.{color}
    
    1. Run Eclipse.  From the Project Explorer View, open the Maven WAR 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 war-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.
      indent
      2
      2
      !pomXml002.jpg!
      
      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 WAR pom.xml is now complete.

    ...