Abstract
 
      
        This procedure explains how to configure JBuilder for testing, running
        and debugging Shaman.
      
 
        $SHAMAN_ROOT is the root directory of your Shaman development
        project.
      
 
        This procedure has been successfully tested with JBuilder Enterprise 7.0.
      
 
    
    
Start
 
      
        Create a $SHAMAN_ROOT/jbuilder directory.
        Checkout latest version from CVS repository.
      
 
        Place following distributions in $SHAMAN_HOME/install
        directory :
      
 
      
        
- 
jakarta-tomcat-4.0.3.zip
 
        
- 
cocoon-2.0.2-src.zip
 
        
- 
jakarta-slide-1.0.16.zip
 
      
 
 
      
        Create a JBuilder User Library named "Shaman libs"
        using all jars included in $SHAMAN_ROOT/lib.
      
 
        Add following JBuilder recognized file suffixes (IDE options >
        File types) :
      
 
      
        
- 
DTD File : 
ent
 
        
- 
DTD File : 
pen
 
        
- 
XML File : 
xconf
 
        
- 
XML File : 
svg
 
        
- 
XML File : 
roles
 
        
- 
XSP : 
xmap
 
      
 
 
      
And restart JBuilder.
 
    
    
"ShamanBuild" project
 
      
Create a new JBuilder Project.
 
      
Wizard page 1
        
          
- 
Name : 
ShamanBuild
 
          
- 
Directory : 
$SHAMAN_ROOT/jbuilder/ShamanBuild
 
          
- 
Working dir : 
$SHAMAN_ROOT/
 
        
 
 
      
      
Wizard page 2
        
          
- 
Output path : 
$SHAMAN_ROOT/jbuilder/ShamanBuild/classes
 
          
- 
Backup path : 
$SHAMAN_ROOT/jbuilder/bak
 
          
- 
Working dir : 
$SHAMAN_ROOT/
 
          
- 
Source dir : 
$SHAMAN_ROOT/src/spirit-src/
 
        
 
 
        
Remove Documentation dirs.
 
        
Add "Shaman libs" in required libraries.
 
      
      
Wizard page 3
        
Select ISO-8859-1 as encoding.
 
        
Disable automatic package discovery and compilation.
 
      
      
Project additional configuration
        
          Add file $SHAMAN_HOME/src/build/build.xml to the project.
        
 
          Select the build.xml node, and, in its Properties,
          uncheck Ant > Use Borland Java compiler.
        
 
      
      
Build products
        
          Expand build.xml node, and choose "Make" on
          build-products target.
        
 
          Declare under JBuilder a User Library named "Shaman-Cocoon 2.0.2".
          Reference $SHAMAN_ROOT/build/products/jars/cocoon-2.0.2.jar .
        
 
      
    
    
JBuilder Server configuration
 
      
        In JBuilder main menu > Tools > Configure Servers..., choose
        Tomcat 4.0.
      
 
        In right pane, check Enable Server.
      
 
        Set Home Directory to  
        
$SHAMAN_HOME/build/products/jakarta-tomcat-4.0.3
      
 
        Set VM Parameters to  
        
-Dcatalina.home="$SHAMAN_HOME/build/products/jakarta-tomcat-4.0.3"
      
 
        In "Class" tab, add the following .jar file :
        $SHAMAN_HOME/build/products/jakarta-tomcat-4.0.3/bin/bootstrap.jar
      
 
      
 
  | 
        The configuration defined above will impact all JBuilder projects for the given
        JBuilder installation.
       | 
 
 
    
    
"Shaman" project
 
      
Create a new JBuilder project.
 
      
Wizard page 1
        
          
- 
Name : 
Shaman
 
          
- 
Directory : 
$SHAMAN_ROOT/jbuilder/Shaman
 
        
 
 
      
      
Wizard page 2
        
          
- 
Output path : 
$SHAMAN_ROOT/jbuilder/classes
 
          
- 
Backup path : 
$SHAMAN_ROOT/jbuilder/Shaman/bak
 
          
- 
Working dir : 
$SHAMAN_ROOT/jbuilder/Shaman
 
        
 
 
        
Set source paths to following paths :
        
          
- 
$SHAMAN_ROOT/src/java (select as "default")
 
          
- 
$SHAMAN_ROOT/src/spirit-src
 
          
- 
$SHAMAN_ROOT/src/patches
 
          
- 
$SHAMAN_ROOT/src/junit (select as "test")
 
        
 
 
        
 
          Add following libraries in Required Libraries :
          
            
- 
Shaman libs
 
            
- 
Shaman-Cocoon 2.0.2
 
            
- 
Unit Test
 
          
 
 
        
 
      
      
Wizard page 3
        
Select ISO-8859-1 as encoding.
 
        
Disable automatic package discovery and compilation.
 
      
      
Project additional configuration
        
          In Project Properties, choose Server tab, and select
          "Single server for all services in project", with Tomcat 4.0.
        
 
          In Project Properties > Build > Resource, choose to copy following
          file types :
        
 
        
          
- 
ent
 
          
- 
pen
 
          
- 
dtd
 
          
- 
xsp
 
          
- 
xsl
 
          
- 
xsd
 
          
- 
xmap
 
          
- 
xconf
 
          
- 
svg
 
          
- 
txt
 
          
- 
roles
 
          
- 
properties
 
        
 
 
      
      
Packages addition
        
          Add all relevant Java packages. The list may vary during development,
          try with the following packages :
          
            
- 
              all packages under 
fr.paris5.shaman,
            
 
- 
              
org.apache.avalon.framework.component
            
 
- 
              
org.apache.avalon.framework.thread
            
 
          
 
 
        
 
      
      
RMI stubs compilation
        
          For all classes in fr.paris5.shaman.insight.server.rmi,
          perform the following operations :
          
            
- 
Select (right-click) Properties > Build
 
            
- 
Check Generate RMI Stub / Skeleton
 
            
- 
Set the following option : 
-v1.2
 
          
 
 
        
 
      
      
Automated tests
        
          In Project Properties, create a new Runtime Configuration named "Shaman Tests".
          Select the Test tab.
        
 
          Choose fr.paris5.shaman.ShamanTest as main class (or
          fr.paris5.shaman.insight.InsightTest if the previous did
          not exist).
        
 
          Choose JBuilder Test Runner as Test runner.
        
 
          As VM Parameters, enter (all in one line) : 
          
            -Djava.rmi.server.codebase=file:$SHAMAN_ROOT\jbuilder\classes\
            -Djava.security.policy=file:$SHAMAN_ROOT\src\policies\insight-test.policy
          
        
 
          Choose Project > Rebuild project.
        
 
          Launch Tools > RMI Registry.
        
 
          Run the "Tests" Runtime Configuration. All tests should run correctly.
        
 
      
      
Web application "shaman-spirit"
        
Create a new Web Application :
 
        
          
- 
Name : shaman-spirit
 
          
- 
Directory : 
$SHAMAN_HOME/src/spirit-webapp
 
        
 
 
        
          In shaman-spirit Web Application Properties > Directories,
          check "Include regular content in WEB-INF..."
        
 
        
          In shaman-spirit Web Application Properties, check following file
          types :
        
 
        
          
- 
Archive File
 
          
- 
DTD files
 
          
- 
GIF image
 
          
- 
HTML file
 
          
- 
JPEG image
 
          
- 
JSP Tag Library Descriptor file
 
          
- 
JSP file
 
          
- 
Java Network Launching Protocol file
 
          
- 
JavaScript file
 
          
- 
PNG image
 
          
- 
Properties file
 
          
- 
Schema file
 
          
- 
Sound file
 
          
- 
Text file
 
          
- 
WML File
 
          
- 
Web Binary Content
 
          
- 
Web Support file
 
          
- 
XML Schema files
 
          
- 
XML Transformation Stylesheets
 
          
- 
XML file
 
          
- 
XML-DBMS XML to database mapping files
 
          
- 
XSP's ...
 
        
 
 
        
          In shaman-spirit Web Application Properties, enter WAR directory : 
          
$SHAMAN_HOME/jbuilder/Shaman .
        
 
        
          Create a "Shaman-Spirit" Project Folder. With Add Files / Folders
          command, add CatalogManager.properties which should normally appear in the Packages
          list.
        
 
        
On Windows Explorer, flag $SHAMAN_ROOT/src/spirit-webapp/WEB-INF/web.xml
          as "read only".
        
 
        
          In Project Properties > Run, create a new Runtime Configuration.
          Choose Server. Check that TCP port does not conflict with other applications.
          Create a new Run Configuration named "Shaman-Spirit WebApp".
        
 
          Validate and Run it. Open a valid resource under 
          
http://localhost:8080/shaman-spirit/
 
          (another port maybe required).
        
 
      
    
    
Known problem
 
      
        Please note that often, JBuilder rewrites the content of
        $SHAMAN_ROOT/src/**/WEB-INF/web.xml.
        This causes the Cocoon Servlet to cease working (a 404 appears instead
        of the requested resource). If this happens, overwrite
        web.xml content with a file with correct content. 
        It seems that it doesn't happen when keeping web.xml
        open in the IDE.
      
 
    
  
 |