# com.bea.campaign
ScenarioHelper Class

public class ScenarioHelper
extends `Object`

Utility helper class for campaigns and scenarios.

Hierarchy
  `Object`
  `ScenarioHelper`

## Field Summary

`public static final int` | `FALSE` Database indicator for false in NUMBER columns.
`public static final long` | `GOAL_CHECK_TIME` How often should the campaign service check campaign goals, in milliseconds.
`public static final `String`` | `LOG_APP_NAME` The logging application name.
`public static final boolean` | `LOG_VERBOSE` Does this log verbose messages.
`public static final int` | `TRUE` Database indicator for true in NUMBER columns.

## Constructor Summary

ScenarioHelper()

## Method Summary

`public static `String`` | `checkAttribute`(`Element` e, `String` name, `String`[] vals) Check if the value of the element's required attribute is in the list of possible values.
`public static `String`` | `checkAttribute`(`Element` e, `String` name, `String` val) Check if the value of the element's required attribute is the desired value.
`public static `String`` | `checkAttribute`(`Element` e, `String` name, `String` val1, `String` val2) Check if the value of the element's required attribute is one of the desired values.
`public static void` | `close`(`Connection` con) Close a connection, ignoring any errors.
`public static void` | `close`(`Statement` stmt) Close a statement, ignoring any errors.
`public static void` | `close`(`ResultSet` rs) Close a result set, ignoring any errors.
`public static `String`` | `getAttribute`(`Element` e, `String` name) Get the value of an element's required attribute.
`public static boolean` | `getBoolean`(`ResultSet` rs, int index) Get a boolean from a numeric column.
`public static `String`` | `getCampaignId`(`Event` evt) Get the campaign id from an Event.
`public static `String`` | `getCharacterData`(`Element` e) Get the character data contained in the element.
`public static `DocumentBuilder`` | `getDocumentBuilder`() Get a default DocumentBuilder.
`public static `DocumentBuilder`` | `getDocumentBuilder`(boolean validate) Get an either validating or non-validating DocumentBuilder.
`public static `Timestamp`` | `getISO8601Date`(`Element` e) Get a date from a the ISO 8601 formatted character data contained in an element.
`public static `String`` | `getNodeType`(`Node` n) Get the node's type as a string.
`public static `String`` | `getNodeType`(short type) Get a string describing the Node type.
`public static `Request`` | `getRequestFromEvent`(`Event` evt) Get the request from the event.
`public static `Session`` | `getSessionFromEvent`(`Event` evt) Get the session from the event.
`public static `String`` | `getTagName`(`Element` e) Get the non-namespace-prefixed tag name of an element.
`public static `String`` | `getUserId`(`Event` evt) Get the user id from an Event.
`public static `ProfileWrapper`` | `getUserProfileWrapper`(`String` userId, `HttpServletRequest` req) Get a user profile wrapper for the given user id from the given request.
`public static `String`[]` | `isTrackedUserRegistration`(`Event` evt) Determine if the specified event represent a tracked user registration.
`public static void` | `log`(int level, `String` mesg, `Throwable` ex) Log a verbose campaign/scenario message.
`public static void` | `logDebug`(`String` mesg, `Throwable` ex) Log a debug campaign/scenario message.
`public static void` | `logDebug`(`String` mesg) Log a debug campaign/scenario message.
`public static void` | `logError`(`String` mesg, `Throwable` ex) Log an error campaign/scenario message.
`public static void` | `logError`(`String` mesg) Log an error campaign/scenario message.
`public static void` | `logInfo`(`String` mesg, `Throwable` ex) Log an informational campaign/scenario message.
`public static void` | `logInfo`(`String` mesg) Log an informational campaign/scenario message.
`public static void` | `logVerbose`(`String` mesg, `Throwable` ex) Log a verbose campaign/scenario message.
`public static void` | `logVerbose`(`String` mesg) Log a verbose campaign/scenario message.
`public static void` | `logWarning`(`String` mesg, `Throwable` ex) Log a warning campaign/scenario message.
`public static void` | `logWarning`(`String` mesg) Log a warning campaign/scenario message.
`public static `Document`` | `parse`(`DocumentBuilder` parser, `InputSource` src) Parse an input source, using the `DefaultEntityResolver```.
`public static `Document`` | `parse`(`InputSource` src, boolean validate) Parse an input source, using the `DefaultEntityResolver```.
`public static `Document`` | `parse`(`InputSource` src) Parse an input source, using the `DefaultEntityResolver```.
`public static `Document`` | `parse`(`Reader` in, boolean validate) Parse an input stream, using the `DefaultEntityResolver```.
`public static `Document`` | `parse`(`Reader` in) Parse an input stream, using the `DefaultEntityResolver```.
`public static void` | `setBoolean`(`PreparedStatement` stmt, int index, boolean b) Set a boolean in a numeric column.

Methods from class `java.lang.`Object``
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Detail

### FALSE

    public static final int FALSE

  Database indicator for false in NUMBER columns.

### GOAL_CHECK_TIME

    public static final long GOAL_CHECK_TIME

  How often should the campaign service check campaign goals, in milliseconds.

  This is always set to 300,000ms (5 minutes).

### LOG_APP_NAME

    public static final String LOG_APP_NAME

  The logging application name.

### LOG_VERBOSE

    public static final boolean LOG_VERBOSE

  Does this log verbose messages.

  This is always initialized to false now.

Related Topics

``Debug``

### TRUE

    public static final int TRUE

  Database indicator for true in NUMBER columns.

## Constructor Detail

### ScenarioHelper

    public ScenarioHelper()

## Method Detail

### checkAttribute(Element, String, String[]) Method

    public static String checkAttribute(Element e,
                                        String name,
                                        String[] vals)
         throws IllegalArgumentException

Check if the value of the element's required attribute is in the list of possible values.

#### Parameters

e
  the element.

name
  the attribute name.

vals
  the possible values.

#### Returns

the attribute value.

#### Exceptions

``IllegalArgumentException``
  thrown if the attribute is not set or it's value is not one of the possible values.

### checkAttribute(Element, String, String) Method

    public static String checkAttribute(Element e,
                                        String name,
                                        String val)
         throws IllegalArgumentException

Check if the value of the element's required attribute is the desired value.

#### Parameters

e
  the element.

name
  the attribute name.

val
  the desired value.

#### Returns

the attribute value.

#### Exceptions

``IllegalArgumentException``
  thrown if the attribute is not set or it's value is not the desired value.

### checkAttribute(Element, String, String, String) Method

    public static String checkAttribute(Element e,
                                        String name,
                                        String val1,
                                        String val2)
         throws IllegalArgumentException

Check if the value of the element's required attribute is one of the desired values.

#### Parameters

e
  the element.

name
  the attribute name.

val1
  the 1st desired value.

val2
  the 2st desired value.

#### Returns

the attribute value.

#### Exceptions

``IllegalArgumentException``
  thrown if the attribute is not set or it's value is not one of the desired values.

### close(Connection) Method

    public static void close(Connection con)

Close a connection, ignoring any errors.

Related Topics

``JdbcHelper.close(Connection)``

### close(Statement) Method

    public static void close(Statement stmt)

Close a statement, ignoring any errors.

Related Topics

``JdbcHelper.close(Statement)``

### close(ResultSet) Method

    public static void close(ResultSet rs)

Close a result set, ignoring any errors.

Related Topics

``JdbcHelper.close(ResultSet)``

### getAttribute(Element, String) Method

    public static String getAttribute(Element e,
                                      String name)
         throws IllegalArgumentException

Get the value of an element's required attribute.

#### Parameters

e
  the element.

name
  the attribute name.

#### Returns

the attribute value.

#### Exceptions

``IllegalArgumentException``
  thrown if the attribute is not set.

### getBoolean(ResultSet, int) Method

    public static boolean getBoolean(ResultSet rs,
                                     int index)
         throws SQLException

Get a boolean from a numeric column.

#### Exceptions

``SQLException``

Related Topics

``ScenarioHelper.TRUE``
``ScenarioHelper.FALSE``

### getCampaignId(Event) Method

    public static String getCampaignId(Event evt)

Get the campaign id from an Event.

This checks the following event attributes, in this order:

1. campaign_id
2. campaignId
3. campaignid
4. CAMPAIGNID

### getCharacterData(Element) Method

    public static String getCharacterData(Element e)
         throws IllegalArgumentException

Get the character data contained in the element.

If the character data is a CDATA section, it will be returned intact. Otherwise, it will be trimmed of leading and trailing whitespace.

#### Parameters

e
  the element.

#### Returns

the character data.

#### Exceptions

``IllegalArgumentException``
  thrown if the element does not contain only character data.

### getDocumentBuilder() Method

    public static DocumentBuilder getDocumentBuilder()
         throws SAXException

Get a default DocumentBuilder.

#### Exceptions

``SAXException``

### getDocumentBuilder(boolean) Method

    public static DocumentBuilder getDocumentBuilder(boolean validate)
         throws SAXException

Get an either validating or non-validating DocumentBuilder.

#### Exceptions

``SAXException``

### getISO8601Date(Element) Method

    public static Timestamp getISO8601Date(Element e)
         throws IllegalArgumentException

Get a date from a the ISO 8601 formatted character data contained in an element.

#### Exceptions

``IllegalArgumentException``
  thrown on an error.

Related Topics

``XMLDateTimeUtil``

### getNodeType(Node) Method

    public static String getNodeType(Node n)

Get the node's type as a string.

### getNodeType(short) Method

    public static String getNodeType(short type)

Get a string describing the Node type.

### getRequestFromEvent(Event) Method

    public static Request getRequestFromEvent(Event evt)

Get the request from the event.

### getSessionFromEvent(Event) Method

    public static Session getSessionFromEvent(Event evt)

Get the session from the event.

### getTagName(Element) Method

    public static String getTagName(Element e)

Get the non-namespace-prefixed tag name of an element.

Related Topics

``DomHelper.getTagName(Element)``

### getUserId(Event) Method

    public static String getUserId(Event evt)

Get the user id from an Event.

This checks the following event attributes, in this order:

1. username of the profile identity of a profile in the request in the event
2. user-id
3. user_id
4. userId
5. userid
6. USERID

### getUserProfileWrapper(String, HttpServletRequest) Method

    public static ProfileWrapper getUserProfileWrapper(String userId,
                                                       HttpServletRequest req)
         throws ProfileNotFoundException, RemoteException

Get a user profile wrapper for the given user id from the given request.

This will first try the profile in the request/session, then it will attempt to retrieve a profile.

#### Exceptions

``ProfileNotFoundException``
``RemoteException``

Related Topics

``SessionHelper``

### isTrackedUserRegistration(Event) Method

    public static String[] isTrackedUserRegistration(Event evt)

Determine if the specified event represent a tracked user registration.

#### Returns

{ trackingId, userId } if is tracked user registration, null if not.

### log(int, String, Throwable) Method

DEPRECATED Use WLS logging instead

    public static void log(int level,
                           String mesg,
                           Throwable ex)

Log a verbose campaign/scenario message.

### logDebug(String, Throwable) Method

DEPRECATED Use Debug instead

    public static void logDebug(String mesg,
                                Throwable ex)

Log a debug campaign/scenario message.

Related Topics

``Debug``

### logDebug(String) Method

DEPRECATED Use Debug instead

    public static void logDebug(String mesg)

Log a debug campaign/scenario message.

Related Topics

``Debug``

### logError(String, Throwable) Method

DEPRECATED Use WLS logging instead

    public static void logError(String mesg,
                                Throwable ex)

Log an error campaign/scenario message.

### logError(String) Method

DEPRECATED Use WLS logging instead

    public static void logError(String mesg)

Log an error campaign/scenario message.

### logInfo(String, Throwable) Method

DEPRECATED Use WLS logging instead

    public static void logInfo(String mesg,
                               Throwable ex)

Log an informational campaign/scenario message.

### logInfo(String) Method

DEPRECATED Use WLS logging instead

    public static void logInfo(String mesg)

Log an informational campaign/scenario message.

### logVerbose(String, Throwable) Method

DEPRECATED Use Debug instead

    public static void logVerbose(String mesg,
                                  Throwable ex)

Log a verbose campaign/scenario message.

Related Topics

``Debug``

### logVerbose(String) Method

DEPRECATED Use Debug instead

    public static void logVerbose(String mesg)

Log a verbose campaign/scenario message.

Related Topics

``Debug``

### logWarning(String, Throwable) Method

DEPRECATED Use WLS logging instead

    public static void logWarning(String mesg,
                                  Throwable ex)

Log a warning campaign/scenario message.

### logWarning(String) Method

DEPRECATED Use WLS logging instead

    public static void logWarning(String mesg)

Log a warning campaign/scenario message.

### parse(DocumentBuilder, InputSource) Method

    public static Document parse(DocumentBuilder parser,
                                 InputSource src)
         throws SAXException, IOException

Parse an input source, using the `DefaultEntityResolver```.

#### Parameters

parser
  the document builder to use.

src
  the input source.

#### Returns

a DOM Document of the XML.

#### Exceptions

``SAXException``
  thrown on a parse error.
``IOException``
  thrown on an error reading the input source.

### parse(InputSource, boolean) Method

    public static Document parse(InputSource src,
                                 boolean validate)
         throws SAXException, IOException

Parse an input source, using the `DefaultEntityResolver```.

#### Parameters

src
  the input source.

validate
  true to validate, false to not.

#### Returns

a DOM Document of the XML.

#### Exceptions

``SAXException``
  thrown on a parse error.
``IOException``
  thrown on an error reading the input source.

### parse(InputSource) Method

    public static Document parse(InputSource src)
         throws SAXException, IOException

Parse an input source, using the `DefaultEntityResolver```.

#### Parameters

src
  the input source.

#### Returns

a DOM Document of the XML.

#### Exceptions

``SAXException``
  thrown on a parse error.
``IOException``
  thrown on an error reading the input source.

### parse(Reader, boolean) Method

    public static Document parse(Reader in,
                                 boolean validate)
         throws SAXException, IOException

Parse an input stream, using the `DefaultEntityResolver```.

#### Parameters

in
  the input stream.

validate
  true to validate, false to not.

#### Returns

a DOM Document of the XML.

#### Exceptions

``SAXException``
  thrown on a parse error.
``IOException``
  thrown on an error reading the input source.

### parse(Reader) Method

    public static Document parse(Reader in)
         throws SAXException, IOException

Parse an input stream, using the `DefaultEntityResolver```.

#### Parameters

in
  the input stream.

#### Returns

a DOM Document of the XML.

#### Exceptions

``SAXException``
  thrown on a parse error.
``IOException``
  thrown on an error reading the input source.

### setBoolean(PreparedStatement, int, boolean) Method

    public static void setBoolean(PreparedStatement stmt,
                                  int index,
                                  boolean b)
         throws SQLException

Set a boolean in a numeric column.

#### Exceptions

``SQLException``

Related Topics

``ScenarioHelper.TRUE``
``ScenarioHelper.FALSE``