IBM Support

JR45314: CMVC 226133 - USE A COMMA INSTEAD OF A SINGLE QUOTE TO SEPARATE SEARCH TERMS IN THE STORE LOCATOR.

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • When searching multiple terms in the store locator, like a
    Canadian zip code, the search terms are separated by a single
    quote instead of a comma. This causes a parsing error similar to
    this:
    
    [12/21/12 13:04:40:957 EST] 00000079 bod           1
    com.ibm.commerce.foundation.server.command.bod.BusinessObjectDoc
    umentProcessor
    processBusinessObjectDocument(BusinessObjectDocumentType,
    String) catch throwable
    
    com.ibm.commerce.foundation.internal.server.services.dataaccess.
    xpath.TokenMgrError: Lexical error at line 1, column 132.
    Encountered: <EOF> after : "\'BannerId=\"RN\")]"
     at
    com.ibm.commerce.foundation.internal.server.services.dataaccess.
    xpath.XPathTranslatorTokenManager.getNextToken(XPathTranslatorTo
    kenManager.java:1083)
     at
    com.ibm.commerce.foundation.internal.server.services.dataaccess.
    xpath.XPathTranslator.jj_ntk(XPathTranslator.java:1499)
     at
    com.ibm.commerce.foundation.internal.server.services.dataaccess.
    xpath.XPathTranslator.searchfunc(XPathTranslator.java:1050)
     at
    com.ibm.commerce.foundation.internal.server.services.dataaccess.
    xpath.XPathTranslator.relationalExpr(XPathTranslator.java:942)
     at
    com.ibm.commerce.foundation.internal.server.services.dataaccess.
    xpath.XPathTranslator.andExpr(XPathTranslator.java:832)
     at
    com.ibm.commerce.foundation.internal.server.services.dataaccess.
    xpath.XPathTranslator.orExpr(XPathTranslator.java:795)
     at
    com.ibm.commerce.foundation.internal.server.services.dataaccess.
    xpath.XPathTranslator.predicateExpr(XPathTranslator.java:785)
     at
    com.ibm.commerce.foundation.internal.server.services.dataaccess.
    xpath.XPathTranslator.predicate(XPathTranslator.java:679)
     at
    com.ibm.commerce.foundation.internal.server.services.dataaccess.
    xpath.XPathTranslator.relativeLocationPath(XPathTranslator.java:
    725)
     at
    com.ibm.commerce.foundation.internal.server.services.dataaccess.
    xpath.XPathTranslator.XPath(XPathTranslator.java:663)
     at
    com.ibm.commerce.foundation.internal.server.services.dataaccess.
    xpath.XPathTranslator.SearchExpression(XPathTranslator.java:555)
     at
    com.ibm.commerce.foundation.internal.server.services.dataaccess.
    xpath.XPathTranslator.parse(XPathTranslator.java:538)
     at
    com.ibm.commerce.foundation.internal.server.services.dataaccess.
    xpath.XPathUtil.formatXPath(XPathUtil.java:88)
       ...
    

Local fix

Problem summary

  • USERS AFFECTED:
    All WebSphere Commerce 7.0.0.6 users who enabled store locator
    search and implemented the use of multiple search terms. For
    example, in a jsp, the getData tag may contain multiple
    parameter with the same name "Search", but with different
    values:
      <wcf:getData
    type="com.ibm.commerce.store.facade.datatypes.PhysicalStoreType[
    ]"
            var="physicalStores"
    varException="physicalStoreException"
    expressionBuilder="findPhysicalStoresFromGeoCodeWithAttributes"
            varShowVerb="showVerb">
       <wcf:param name="accessProfile" value="IBM_Store_Details" />
       <wcf:param name="maxStores" value="25" />
       <wcf:param name="Search" value="Type='Regular Store'" />
       <wcf:param name="Search" value="BeautyCenter='true'" />
       <wcf:param name="latitude" value="43.9119362" />
       <wcf:param name="longitude" value="-79.4686307" />
      </wcf:getData>
    
    
    
    PROBLEM ABSTRACT:
    A single quote is used to separate search terms in the store
    locator instead of a comma, causing a parsing error.
    
    BUSINESS IMPACT:
    Store locator search with multiple search terms, like zip codes
    separated with spaces, will fail.
    
    RECOMMENDATION:
    An alternative is to put all the search terms in a single line
    with comma separated list. For example, one "Search" term can be
    used with comma separated list of parameters:
      <wcf:getData
    type="com.ibm.commerce.store.facade.datatypes.PhysicalStoreType[
    ]"
            var="physicalStores"
    varException="physicalStoreException"
    expressionBuilder="findPhysicalStoresFromGeoCodeWithAttributes"
            varShowVerb="showVerb">
       <wcf:param name="accessProfile" value="IBM_Store_Details" />
       <wcf:param name="maxStores" value="25" />
       <wcf:param name="Search" value="Type='Regular Store',
    BeautyCenter='true'" />
       <wcf:param name="latitude" value="43.9119362" />
       <wcf:param name="longitude" value="-79.4686307" />
      </wcf:getData>
    

Problem conclusion

  • Code was changed to use a comma as the search term separate
    instead of a single quote. It will avoid the incorrect
    conversion after customizing jsp with multiple "Search" terms.
    
    -------------------------------------------------------------
    The latest available maintenance information can be obtained
    from the Recommended Fixes for WebSphere Commerce technote:
    http://www.ibm.com/support/docview.wss?rs=3046&uid=swg21261296
    

Temporary fix

Comments

APAR Information

  • APAR number

    JR45314

  • Reported component name

    WC BUS EDITION

  • Reported component ID

    5724I3800

  • Reported release

    700

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2013-01-08

  • Closed date

    2013-03-07

  • Last modified date

    2013-04-02

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    WC BUS EDITION

  • Fixed component ID

    5724I3800

Applicable component levels

  • R700 PSY

       UP

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSYSYL","label":"WebSphere Commerce Enterprise"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.0","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
02 April 2013