Search This Blog

Monday, March 08, 2010

How to find out the OIM code that gets executed when you click a link on the OIM WebConsole

1. Most of the code is present in the file
C:\oim9102-Jboss\oim-server\xellerate\webapp\xlWebApp.war

2. Extract this file to a temporary directory

3. From the WebConsole note down the URL
i.e.  http://localhost:8080/xlWebApp/AboutXl.do

4. Open the file tiles-defs.xml and look for the entry "AboutXl" in this file

From this we can find out that this is the JSP tjspAboutXlTiles.jsp that gets executed

<definition name="site.AboutXl.page" extends="site.mainLayout">
        <put name="title" value="global.window.title.aboutOIM" />
        <put name="body" value="/tiles/tjspAboutXlTiles.jsp" />
  </definition>

5. Open the file struts-config.xml and look for the entry "tjspAboutXl"

Here you will find the entries as

  <action type="com.thortech.xl.webclient.actions.tcAboutXlAction"
           name="AboutXlForm"
           scope="request"
                 path="/AboutXl" >
    <forward name="success" path="/pages/tjspAboutXl.jsp" />           
    </action>
6. Open the com.thortech.xl.webclient.actions.tcAboutXlAction.class file and here you will find this is
calling some EJB code

if (localActionForward != null)
        return localActionForward;
      HttpSession localHttpSession = paramHttpServletRequest.getSession();
      tcAboutXlForm localtcAboutXlForm = (tcAboutXlForm)paramActionForm;
      Hashtable localHashtable = new Hashtable();
      tcHelpOperationsIntf localtcHelpOperationsIntf = getHelpOperIntf(paramHttpServletRequest.getSession(), null);
      localHashtable = (Hashtable)localtcHelpOperationsIntf.getHelpAbout();
      localtcAboutXlForm.setAboutXl(localHashtable);
      logger.debug(LoggerMessages.getMessage("LeftMethodDebug", "tcAboutXlAction/execute"));
      return paramActionMapping.findForward("success");
7. tcHelpOperationsIntf is the Interface and the corresponding class for this is
tcHelpOperationsBean.java file.

This is actual EJB code it is calling

public Map getHelpAbout()
    throws tcAPIException
  {
    logger.debug(LoggerMessages.getMessage("EnteredMethodDebug", "tcHelpOperationsBean/getHelpAbout"));
    Hashtable localHashtable = new Hashtable();
    localHashtable.put("Version", "9.1.0.1865.28");
    localHashtable.put("Build", "1865.28");
    String str = "select xsd_value as build from xsd where xsd_code='XL_BUILD_NUMBER'";
....
..

No comments: