BEA Logo BEA WLCS Release 2.0

  Corporate Info  |  News  |  Solutions  |  Products  |  Partners  |  Services  |  Events  |  Download  |  How To Buy

 

   WLCS Doc Home   |   WLCS Components Tour   |   Previous Topic   |   Next Topic   |   Contents   |   Index   |  

Implement

 

This section contains the following topics:

Overview of Implementation

Prerequisites for Implementing

Directions for Implementing

Step 1. Open the copy of the WLCS Rational Rose model.

Step 2. Export the model using the WLCS Rational Rose Plug-In.

Step 3. Create a new SmartGenerator project.

Step 4. Configure the project.

Step 5. Generate EJB implementations of the BeanieHat and BeanieHatPricePolicy Components.

Step 6. Implement custom business logic in the BeanieHatPricePolicy Component

Step 7. Implement presentation logic for the new BeanieHat Component.

 


Overview of Implementation

Having finished using Rational Rose to model two new components that will serve as the basis for the MyBuyBeans site modifications, you are now prepared to implement your solution. You assemble your team and plan your next steps.

Because you are a knowledgeable WebLogic Commerce Server developer, you know that the implementation process involves exporting the Rational Rose model using the BEA Rational Rose Plugin, generating Enterprise Java Bean (EJB) implementations of your WebLogic Commerce Server using the WLCS Smart Generator, and then adding any necessary custom business logic to the EJBs. You also realize that presentation logic for the new BeanieHat Component must be developed.

 


Prerequisites for Implementing

In order to fully understand this section of the tour, it is recommended that you have a general understanding of BEA Smart Generator application, HTML, and the Java programming language. You must also have successfully completed all steps of the Design section of the tour.

 


Directions for Implementing

Step 1. Open the copy of the WLCS Rational Rose model.

  1. Start Rational Rose.

  2. Click on the Open menu item in the File menu.

  3. Navigate to the model\BEA WebLogicCommerce directory found under the WebLogic Components installation directory.

  4. Double click on BEA WebLogicCommerce.mdl.

Step 2. Export the model using the WLCS Rational Rose Plug-In.

  1. Click on the WebLogicCommerce menu item in the Tools menu.

  2. Click on the Export Model As submenu item.

  3. Navigate to the src directory found under the WebLogic Components installation directory.

  4. Name the file bbtour and then click on the Save button.

  5. Click the OK button in the Success dialog.

Step 3. Create a new SmartGenerator project.

  1. Start the WLCS Smart Generator. On Windows NT, you can do this by selecting the following from the Windows Start menu:

    Start -> Programs -> WebLogic Commerce Server -> Smart Generator

  2. Click on the New Project menu item in the File menu. This should open a Project Properties dialog.

  3. Name the project bbtour.

  4. Designate the src directory found under the WebLogic Components installation directory as the EJB Code Generation Output Directory.

  5. Designate the deploy\weblogic\cloudscape\src directory found under the WebLogic Components installation directory as the Deploy Code Generation Output Directory.

  6. Designate the bbtour.tast file generated in Step 2 as the TAST Model File.

  7. The Project Properties dialog should now look something like the following:

    Note: This assumes that the WebLogic Components installation directory is D:\opt\WebLogicCommerce:

Step 4. Configure the project.

  1. Click on the Packages tab.

  2. Scroll down in the Packages pane until the examples.buybeans.tour entry is visible, then click on this entry.

  3. In the Classes pane, double-click on the boxes next to the BeanieHat and BeanieHatPricePolicy classes. This should check both of the boxes.

  4. The Project Properties dialog should now look something like the following:

  5. Click on the OK button.

Step 5. Generate EJB implementations of the BeanieHat and BeanieHatPricePolicy Components.

  1. In the Project pane, highlight the project entry that was created in Step 4 by clicking on it.

  2. Click on the Generate button. Your EJB implementations of the BeanieHat and BeanieHatPricePolicy WebLogic Components are now being generated.

  3. Wait for the Smart Generator to finish and then click on the Exit button.

Step 6. Implement custom business logic in the BeanieHatPricePolicy Component

  1. Using your favorite editor, open the file BeanieHatPricePolicyImpl.java located in the src\examples\buybeans\tour directory under the WebLogic Components installation directory. This file is one of several generated by the BEA Smart Generator.

  2. Locate the calculatePrice function and find the following line of code:

    return null;

  3. This is the default implementation of the pricing policy associated with the BeanieHat Component. We would like to implement the custom pricing policy for a beanie hat (as outlined by Management), so REPLACE the above line of code with the following lines, and then save the file:

    // Policy: Price = base price + $2.00*propellers
    // Use values object for speed! This way we don't need to
    // make a heavy remote + database call every time.

    try
    {
    // Get Value Object BeanieHatValue
    BeanieHatValue bhv = ((BeanieHat) item).getBeanieHatByValue();


    // Get item's base price
    theory.smart.axiom.units.Price p = bhv.price;


    // Calculate the price of the beanie hat
    double newValue = p.getValue() + 2.00*bhv.propellers;


    // Return a new price. Do NOT re-set the item's price.
    // That should always be the base price

    theory.smart.axiom.units.Price newPrice = theory.smart.axiom.units.PriceHome.create();
    newPrice.setValue(newValue);

    return newPrice;
    }

    catch (ClassCastException ce)
    {

    // If we are here then the caller did not pass us a BeanieHat

    throw new java.rmi.RemoteException("BeanieHatPricePolicy: item is not a BeanieHat");
    }

Step 7. Implement presentation logic for the new BeanieHat Component.

  1. Using your favorite editor, open the file productDetails.jsp located in the server\public_html\portals\buybeans\portlets directory under the WebLogic Components installation directory. This file contains the presentation logic for each beanie item WebLogic Component.

  2. Locate the following line of code:

    <%@ page import="examples.buybeans.item.*" %>

  3. Insert the following line of code AFTER the above line of code:

    <%@ page import="examples.buybeans.tour.*" %>

  4. Locate the following line of code:

    <%-- COFFEE BEAN SPECIFIC PRODUCT INFORMATION     --%>

  5. Insert the following lines of code BEFORE the above line of code (and AFTER any code that preceeds the above line of code) and save the file. You can get a little creative here if you are familiar with HTML:

    <%-- BEANIEHAT SPECIFIC PRODUCT INFORMATION     --%>
    <%
    if (myItemValue instanceof BeanieHatValue)
    {
    %>
    <tr>
    <td>
    <table width="95%" border="0" cellpadding="3" bgcolor="#FFFFFF" align="center">
    <tr bgcolor="#339966">
    <td> <font face="Arial, Helvetica, sans-serif" size="2" color="#FFFFFF"><b>Color:
    <%= ((BeanieHatValue) myItemValue).color %></b></font>
    </td>
    <td> <font face="Arial, Helvetica, sans-serif" size="2" color="#FFFFFF"><b>Propellers:
    <%= ((BeanieHatValue) myItemValue).propellers %></b></font>
    </td>
    </tr>
    <tr bgcolor="#CCCCCC">
    <td colspan=3> <font face="Arial, Helvetica, sans-serif" size="2" color="#000000">Each propeller raises the base price of a beanie hat by $2.00.</font> </td>
    </tr>
    </table>
    </td>
    </tr>
    <%
    }
    %>