Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin
Info

UNDER CONSTRUCTION

indent
{color:green}Help is available by sending an email to [mailto:

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

]{color}

Panel

Quick Links to:

Table of Contents
minLevel3
maxLevel3
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.

Picking a projectName and a projectArtifactId

  1. Checkout Project from SVN repository panel, select Create a new repository location as shown in the following panel.

Panel

Anchor
Creating

Panel
Anchor
Picking a projectName and a projectArtifactIdPicking a projectName and a projectArtifactId
indent
11

The first thing that must be done is to pick a *projectName* and a *projectArtifactId*.  These will be used throughout the life time of your project.
\\
\\
The *projectName* is a short acronym that is used to uniquely identify your project.
The *projectArtifactId* is the application context under which your project war file will be deployed to the OC4J server.
\\
\\
Once the *projectName* and *projectArtifactId* have been selected, they should not be changed.
\\
\\
Here are a few examples of what other project have used in the past:
indent
22

||projectName||projectArtifactId||project description|
|ssb|sfs-ssb|student sponsored billing|
|ogs|ogs|online grade submission|
|onlinereg|onlinereg|online registration|
|iap|iap|individual activities period|
Panel

Anchor
Setup of the project war component using the war-templateSetup of
Creating the project war component using the war-template

Setup of

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

  1. Run Eclipse.  Go to File > New > Other....
    Scroll down to

    Maven

    SVN and expand then select

    Checkout Maven Projects

    Project from

    SCM

    SVN as shown in the following panel.

    indent
    2
    2
    
    !setupWarTemplate002.jpg!
    

    When satisfied that everything is correct, click Next.

  2. Do the following:
  3. From the

SCM URL: dropdown, select snv.
  • Uncheck Checkout All Projects.
  • Copy and pasted the following URL into the SCM URL: input field.
    The SVN URL for the war-template is :
    Code Block
    indent
    2
    2
    !setupWarTemplate004.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 Block
        svn+ssh://svn.mit.edu/es-
  • projects
    1. common-services-framework/es-project-template/war-template/trunk
      
    When done the panel should be identical to the following:
    1. For the Label, select: use the repository URL as the label
      For the Authentication, enter your User name and password.

      indent
      2
      2
    1. !
    setupWarTemplate004
    1. setupWarTemplate006.jpg!
      

      When satisfied that everything is correct, click Next.

    2. The Repository Location Properties panel is a warning panel.

      indent
      2
      2
      !setupWarTemplate007.

    1. jpg!
      

      You do not want to normalize the URL!
      click No.

    2. In the Select Resourcepanel, select

      Code Block
          svn+ssh://svn.mit.edu/es-common-services-framework/es-project-template/war-template/trunk
      

      as shown in the following panel:

      If you want the change the Workspace location, uncheck the Use default Workspace location and enter the path to the desired workspace.

      indent
      2
      2
      
      !setupWarTemplate006setupWarTemplate008.jpg!
      

      When satisfied that everything is correct, click Finish.

    3. Verify the Maven Project that is being imported. The Import Maven Projects panel should be identical to

      In the Check Out As panel, select Check out as a project with the name specified: as shown in the following panel.

      indent
      2
      2
      
      !setupWarTemplate008setupWarTemplate010.jpg!
      

      When satisfied that everything is correct, click Finish.

    4. When the project is opened, your

      Your Eclipse - Project Explorer

      Perspective

      View should

      look as follows

      now look similar to the following:

      indent
      2
      2
      
      !setupWarTemplate010setupWarTemplate011.jpg!
      
    5. 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

      .

      .

      indent
      2
      2
      
      !setupWarTemplate012.jpg!
      

      When satisfied that everything is correct, click Yes.

    6. The

      Open the Eclipse

      -

      Project Explorer

      Perspective

      View.  The view should look as follows:

      indent
      2
      2
      
      !setupWarTemplate014.jpg!
      

      Right click on the war-template project and select

      Refactor >

      Rename....
      Replace

      projectArtifactId

      war-template with the

      projectArtifactId

      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.

      indent
      2
      2
      
      *Note*:  If you haven't already do so, You might want to append a *-warweb* to the projectArtifactId *short project acronym* to denote that this is the warweb component of your project.
      


      For example: If my

      projectArtifactId

      short project acronym was att, then my panel would look like the following:

      indent
      2
      2
      
      !setupWarTemplate016.jpg!
      

      When satisfied that everything is correct, click OK.

    7. The Eclipse - Project Explorer

      Perspective

      View should look similar to the following:

      indent
      2
      2
      !setupWarTemplate018.jpg!
      !setupWarTemplate018
    8. 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
      2
      !setupWarTemplate019.jpg!
      
    9. Right click on the renamed project and select Team > Share Project...
      Select SVN as shown below:

      indent
      2
      2
      
      !setupWarTemplate020.jpg!
      

      When satisfied that everything is correct, click Next.

    10. Select Create a new repository location as shown below:

      indent
      2
      2
      
      !setupWarTemplate022.jpg!
      

      When satisfied that everything is correct, click Next.

    11. 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:

      indent
      1
      1
      
      KeepIf in mind that there are at least 2 component for every project, a WAR and a JAR.
      You Should keep all project components grouped together in the same SVN directory.  A logical grouping
      would be by the projectName that you selected.  If my projectName were *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 warjar project
       would be created under the *es-projects/academic-att* directory in the SVN repository.  This is shown
      in the following panel:
      
      indent
      2
      2
      
      !setupWarTemplate024.jpg!
      

      Don't forget to enter your User name and Password,
      When satisfied that everything is correct, click

      Finish

      Next.

    12. When the following panel is display notifying you that a new SVN entry will be created:

      indent
      2
      2
      
      !setupWarTemplate026.jpg!
      

      When satisfied that everything is correct, click OK.

    13. Do the following:

      indent
      1
      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.
      

      The panel should be as illustrated in the following panel:

      indent
      2
      2
      
      !setupWarTemplate028.jpg!
      

      When satisfied that everything is correct, click

      Finish

      Next.

    14. Nothing to do here.  This is an information panel similar to the following panel:

      indent
      2
      2
      
      !setupWarTemplate030.jpg!
      

      When satisfied that everything is correct, click

      Next

      Finish.

    15. 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
      2
      
      !setupWarTemplate032.jpg!
      

      When satisfied that everything is correct, click OK.

    16. When the SVN commit has completed, the Eclipse - Project Explorer

      Perspective

      View should look similar to the following.

      indent
      2
      2
      
      !setupWarTemplate034.jpg!
      
    Setup of the project war component using the war-template

    Creating the project war component using the war-template is now complete.

    Panel

    Anchor
    Customizing the project WAR
    Customizing the project WAR

    Section 2: Customizing the project WAR

    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.
      Your Project Explorer View should look similar to the following:

      indent
      2
      2
      !customizeWar002.jpg!
      
    2. Expand your project, then expand src/main/resources.
      Your Project Explorer View should look similar to the following:

      indent
      2
      2
      !customizeWar004.jpg!
      
    3. 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 projectNamethat have to be changed.

      Code Block
      <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>
      

      When you have made all the changes, the lines you have changed should look similar to the following:

      Code Block
      <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>
      

      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.

    4. 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 projectNamethat have to be changed.

        Code Block
        <param name="File" value="${logs.dir}/projectName/projectName.log" />
        <param name="File" value="${logs.dir}/projectName/hbn-projectName.log" />
        

        When you have made all the changes, the lines you have changed should look similar to the following:

        Code Block
        <param name="File" value="${logs.dir}/att/att.log" />
        <param name="File" value="${logs.dir}/att/hbn-att.log" />
        

        In the above example, my short project acronym was att so I replaced projectName with att and ProjectName with Att.

      • For OC4J implementations:
        Replace ${logs.dir}/projectName with log and the 2 remaining occurances of projectNamehave to be changed.

        Code Block
        <param name="File" value="${logs.dir}/projectName/projectName.log" />
        <param name="File" value="${logs.dir}/projectName/hbn-projectName.log" />
        

        When you have made all the changes, the lines you have changed should look similar to the following:

        Code Block
        <param name="File" value="log/att.log" />
        <param name="File" value="log/hbn-att.log" />
        

        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.

    5. Open the applicationContext-projectName.xml for editing and change the following lines substituting your short project acronym for projectName.
      There are 3 occurances of projectNamethat have to be changed.

      Code Block
      <import resource="classpath*:applicationContext-projectName-component-scan.xml" />
      <import resource="classpath*:applicationContext-projectName-config.xml" />
      <import resource="classpath*:applicationContext-projectName-security-spring.xml" />
      

      When you have made all the changes, the lines you have changed should look similar to the following:

      Code Block
      <import resource="classpath*:applicationContext-att-component-scan.xml" />
      <import resource="classpath*:applicationContext-att-config.xml" />
      <import resource="classpath*:applicationContext-att-security-spring.xml" />
      

      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.

    6. Open the servlet.xml for editing and change the following lines substituting your short project acronym for projectName.
      There is 1 occurance of projectNamethat has to be changed.

      Code Block
      <context:component-scan base-package="edu.mit.projectName.web">
      

      When you have made the change, the line you have changed should look similar to the following:

      Code Block
      <context:component-scan base-package="edu.mit.att.web">
      

      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.

    7. 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 Block
      applicationContext-projectName-component-scan.xml
      applicationContext-projectName-config.xml
      applicationContext-projectName-security-spring.xml
      applicationContext-projectName.xml
      

      When you have made all the changes, the file names that you have changed should look similar to the following:

      Code Block
      applicationContext-att-component-scan.xml
      applicationContext-att-config.xml
      applicationContext-att-security-spring.xml
      applicationContext-att.xml
      

      In the above example, my short project acronym was att so I replaced projectName with att.*.
      Your Project Explorer Viewshould look similar to the following:

      indent
      2
      2
      !customizeWar006.jpg!
      
    8. 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 Viewshould look similar to the following:

      indent
      2
      2
      !customizeWar008.jpg!
      
    9. 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 projectNamethat have to be changed.

      Code Block
      <import resource="classpath*:applicationContext-csf-projectName.xml" />
      <import resource="classpath*:applicationContext-projectName.xml" />
      <import resource="classpath*:applicationContext-projectName-config-test.xml" />
      

      When you have made all the changes, the lines you have changed should look similar to the following:

      Code Block
      <import resource="classpath*:applicationContext-csf-att.xml" />
      <import resource="classpath*:applicationContext-att.xml" />
      <import resource="classpath*:applicationContext-att-config-test.xml" />
      

      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.

    10. 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 projectNamethat have to be changed.

      Code Block
      <value>classpath:projectName-test.properties</value>
      <value>classpath:projectName-test.properties</value>
      

      When you have made all the changes, the lines you have changed should look similar to the following:

      Code Block
      <value>classpath:att-test.properties</value>
      <value>classpath:att-test.properties</value>
      

      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.

    11. 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 Block
      applicationContext-projectName-config-test.xml
      projectName-test.properties
      

      When you have made all the changes, the file names that you have changed should look similar to the following:

      Code Block
      applicationContext-att-config-test.xml
      att-test.properties
      

      In the above example, my short project acronym was att so I replaced projectName with att.*.

    12. 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 projectNamethat have to be changed.

        Code Block
        <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>
        

        When you have made all the changes, the lines you have changed should look similar to the following:

        Code Block
        <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>
        

        In the above example, my short project acronym was att so I replaced projectName with att.*.

      • Find the following line and change MitsisDSfor your project's JNDI name.

        Code Block
        <res-ref-name>jdbc/MitsisDS</res-ref-name>
        


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

    13. Commit all changes to the SVN repository.

    Customizing the project WAR is now complete.

    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 Instructionsare 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.

    Panel

    Anchor
    One final thing to do
    One final thing to do

    Section 4: One final thing to do

    There may have been changes made to the WAR 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.