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
Picking a projectName and a projectArtifactIdPicking a projectName and a projectArtifactId

Picking a projectName and a projectArtifactId

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

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

Project Explorer View.

The

  The view should look as follows:

Panel

Anchor
Creating

Panel

Anchor
Installation of the project war component using the war-templateInstallation of
Creating the project war component using the war-template

Installation 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:

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

    indent
    121
    2
    
    * From the *SCM URL:* dropdown, select *snv*.
    * Uncheck *Checkout All Projects*.
    * Copy and pasted the following URL into the *SCM URL:* input field.
    
    !setupWarTemplate004.jpg!
    

    When satisfied that everything is correct, click Next.

  3. In the Enter Repository Location Information panel do the following:
    for the URL:field enter:

    Code Block
        
    indent
    22
    
    {code}
    svn+ssh://svn.mit.edu/es-common-services-projectsframework/es-project-template/war-template/trunk
    {code}
    
    When done the panel should be identical to the following:

    For the Label, select: use the repository URL as the label
    For the Authentication, enter your User name and password.

    indent
    2
    2
    
    !setupWarTemplate004setupWarTemplate006.jpg!
    

    When satisfied that everything is correct, click Next.

    If you want the change the Workspace location, uncheck the
  4. The Repository Location Properties panel is a warning panel.

    indent
    2
    2
    !setupWarTemplate007.jpg!
    

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

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

    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.

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

  7. When the project is opened, your

    Your Eclipse - Project Explorer View should

    look as follows

    now look similar to the following:

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

  9. Open the Eclipse

    Open the Eclipse

    - Navigator View
indent
22

* expand the *projectArtifactId* project,
* delete the *.settings* file.
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.

  • The Eclipse - Project Explorer View should look similar to the following:

    indent
    2
    2
    !setupWarTemplate018.jpg!
    !setupWarTemplate018
  • 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!
    
  • 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.

  • Select Create a new repository location as shown below:

    indent
    2
    2
    
    !setupWarTemplate022.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.  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 inmy 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 **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.

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

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

  • 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 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:

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

    indent
    2
    2
    
    !setupWarTemplate034.jpg!
    
  • Installation of

    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.