IBM Rational Performance Tester SDK

com.ibm.rational.test.lt.codegen.lttest.lang
Class LTTestTranslator

java.lang.Object
  extended by com.ibm.rational.test.lt.codegen.core.lang.AbstractTranslator
      extended by com.ibm.rational.test.lt.codegen.lttest.lang.LTTestTranslator
All Implemented Interfaces:
com.ibm.rational.test.lt.codegen.core.config.IInitializable, com.ibm.rational.test.lt.codegen.core.lang.ICoreTranslationConstants, com.ibm.rational.test.lt.codegen.core.lang.ITranslator

public class LTTestTranslator
extends com.ibm.rational.test.lt.codegen.core.lang.AbstractTranslator
implements com.ibm.rational.test.lt.codegen.core.lang.ICoreTranslationConstants


Field Summary
protected  String paaAdapterName
           
 
Fields inherited from class com.ibm.rational.test.lt.codegen.core.lang.AbstractTranslator
codegenPlugin, config, log, testOnly
 
Fields inherited from interface com.ibm.rational.test.lt.codegen.core.lang.ICoreTranslationConstants
ATTACHED_FILE_MARKER_ATTR_GUID, ATTACHED_FILE_MARKER_ID, DEF_TYPE_NONPUBLIC_CLASS, DEF_TYPE_PUBLIC_CLASS, PARAM_NAME_APPEND_VAL, PARAM_NAME_BUF_APPEND_LIST, PARAM_NAME_BUF_NAME, PARAM_NAME_CHILD_CLASS_NM, PARAM_NAME_CHILD_LIST_CREATE, PARAM_NAME_CHILD_LIST_DECL, PARAM_NAME_CLASS_NM, PARAM_NAME_COMPARISON_TYPE, PARAM_NAME_CONDITION, PARAM_NAME_CONTAINER_CHILD, PARAM_NAME_CONTINUEATSTOP, PARAM_NAME_DELAY_ON_FIRST, PARAM_NAME_DISTRIBUTION_TYPE, PARAM_NAME_ELSE_BLOCK, PARAM_NAME_ENTRY_NAME, PARAM_NAME_FILE_NAME, PARAM_NAME_ID, PARAM_NAME_IMPORT_LIST, PARAM_NAME_INSTANCE_NM, PARAM_NAME_IS_CASE_SENSITIVE, PARAM_NAME_IS_NEGATIVE, PARAM_NAME_ITERATION_RATE, PARAM_NAME_LEFT_OPERAND, PARAM_NAME_LEFT_OPERAND_INIT, PARAM_NAME_LOCAL_VP_ELEMENT_CREATE, PARAM_NAME_LOOP_EXLUDE_IDX_END, PARAM_NAME_LOOP_IDX_END, PARAM_NAME_LOOP_IDX_INCREMENT, PARAM_NAME_LOOP_IDX_INIT, PARAM_NAME_LOOP_NAME, PARAM_NAME_LOOP_TIMEVAL, PARAM_NAME_MAX_SUBLENGTH, PARAM_NAME_MESSAGE, PARAM_NAME_NAME, PARAM_NAME_PACKAGE_DECL, PARAM_NAME_PARENT_INSTANCE_NM, PARAM_NAME_PARENT_REF, PARAM_NAME_PER_TIME_MILLIS, PARAM_NAME_RESULT_NAME, PARAM_NAME_RIGHT_OPERAND, PARAM_NAME_RIGHT_OPERAND_INIT, PARAM_NAME_STOP_EVENT, PARAM_NAME_SYNC_POINT_RELEASE_TYPE, PARAM_NAME_SYNC_POINT_STAGGERED_REL_WAIT_MAX, PARAM_NAME_SYNC_POINT_STAGGERED_REL_WAIT_MIN, PARAM_NAME_SYNC_POINT_TIMEOUT, PARAM_NAME_SYNC_POINT_TOGETHER_REL_WAIT, PARAM_NAME_THEN_BLOCK, PARAM_NAME_USER_CLASS_NM, TEMPLATE_NAME_CBLOOP_DECL, TEMPLATE_NAME_IF_DECL, TEMPLATE_NAME_USER_ARBITRARY_CREATE, TEMPLATE_NAME_USER_ARBITRARY_DECL, TEMPLATE_NAME_USER_ARBITRARY_INVOKE, TESTDATA_EXT, TESTDATA_MARKER_ATTR_FILENAME, TESTDATA_MARKER_ID
 
Constructor Summary
LTTestTranslator()
           
 
Method Summary
protected  void addChildrenToElement(com.ibm.rational.test.lt.codegen.core.lang.ILanguageElement containerElem2)
           
protected  com.ibm.rational.test.lt.codegen.core.lang.ILanguageElement createFileDataChunkUploadLangElement(String instanceName, String entryName, byte[] entryData, int length)
          create FileData language element for large test data and allow it do upload in chunks create .testdata file if needed (in the src directory of the test project), add given entry under given name to it
protected  com.ibm.rational.test.lt.codegen.core.lang.ILanguageElement createFileDataLangElement(String instanceName, String entryName, String entryData)
          create FileData language element for large test data create .testdata file if needed (in the src directory of the test project), add given entry under given name to it
protected  long getMultiplier(int timeUnits)
           
 Collection getTranslationFor(com.ibm.rational.test.lt.codegen.core.model.IModelElement modelElement)
           
protected  void processContentVP(VPContent contentVP, com.ibm.rational.test.lt.codegen.core.lang.ILanguageElement contentVPElem, boolean absence)
          Translates Content Verification Point.
protected  List translateArbitrary(com.ibm.rational.test.common.models.behavior.cbdata.Arbitrary arbitrary, com.ibm.rational.test.lt.codegen.core.lang.ILanguageElement arbLangElem)
          Translates generic Arbitrary (Custom Code) May be called from protocol extensions to translate generic parts of protocol-specific Arbitraries.
protected  List translateDataVarContainer(com.ibm.rational.test.common.models.behavior.variables.CBVarContainer varContainer)
          Translate variable container
protected  List translateDataVariableAssign(com.ibm.rational.test.common.models.behavior.variables.CBVarSet theAssignment)
          Translates the assignment statement.
protected  void translateHarvester(com.ibm.rational.test.lt.codegen.core.lang.ILanguageElement parentContainer, com.ibm.rational.test.common.models.behavior.cbdata.CorrelationHarvester harvester)
          Translate single data harvester
protected  com.ibm.rational.test.lt.codegen.core.lang.ILanguageElement translateHarvesterContainer(com.ibm.rational.test.lt.codegen.core.lang.ILanguageElement parentElement, List harvesters)
          Translates a list of data harvesters with common parent
protected  com.ibm.rational.test.lt.codegen.core.lang.ILanguageElement translateHarvesterContainer(com.ibm.rational.test.lt.codegen.core.lang.ILanguageElement parentElement, List harvesters, boolean createContainer)
          Translates a list of data harvesters with common parent
protected  List translateRandomSelector(com.ibm.rational.test.common.models.behavior.selectors.CBRandomSelector selector)
           
protected  void translateSubstituter(com.ibm.rational.test.lt.codegen.core.lang.ILanguageElement parentContainer, com.ibm.rational.test.common.models.behavior.cbdata.Substituter substituter)
          Translate single data substituter
protected  com.ibm.rational.test.lt.codegen.core.lang.ILanguageElement translateSubstituterContainer(com.ibm.rational.test.lt.codegen.core.lang.ILanguageElement parentElement, List substituters)
          Translates a list of data substituters with common parent
protected  com.ibm.rational.test.lt.codegen.core.lang.ILanguageElement translateSubstituterContainer(com.ibm.rational.test.lt.codegen.core.lang.ILanguageElement parentElement, List substituters, boolean createContainer)
           
protected  com.ibm.rational.test.lt.codegen.core.lang.ILanguageElement translateSubstituterContainerAndAddToTemplate(com.ibm.rational.test.lt.codegen.core.lang.ILanguageElement langElem, List subs, boolean includeContainer, String templateType)
           
protected  void translateSubstituterDataSource(com.ibm.rational.test.lt.codegen.core.lang.ILanguageElement subLangElem, com.ibm.rational.test.lt.codegen.core.lang.ILanguageElement parentContainer, com.ibm.rational.test.common.models.behavior.cbdata.Substituter substituter)
          Translates "data source" part of a substituter.
protected  String translateSubstituterInline(com.ibm.rational.test.common.models.behavior.cbdata.Substituter sub, String originalValue, boolean justValue)
           
protected  String translateSubstituterInline(com.ibm.rational.test.common.models.behavior.cbdata.Substituter sub, String originalValue, boolean justValue, boolean asInt)
           
protected  String translateSubstituterInlineAsInt(com.ibm.rational.test.common.models.behavior.cbdata.Substituter sub, String originalValue, boolean justValue)
           
protected  String translateSubstituterInlineWithStringCast(com.ibm.rational.test.common.models.behavior.cbdata.Substituter sub, String originalValue, boolean justValue)
           
protected  List translateWeightedBlock(com.ibm.rational.test.common.models.behavior.selectors.CBWeightedBlock block)
           
 
Methods inherited from class com.ibm.rational.test.lt.codegen.core.lang.AbstractTranslator
createBigStringElement, createFileDataChunkUploadLangElement, getCurrentArrayIdx, getInquiryCount, getNextArrayIdx, getUniqueName, init, processLiteralString, processLiteralStringAddQuote, resetInquiryCounters, resetNameCounters, setArmEnabled, translateChildren, translateCoreAttributes, translateErrorBehavior, translateErrorBehavior, translateSyncPoint, translateUnknownElemType
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

paaAdapterName

protected String paaAdapterName
Constructor Detail

LTTestTranslator

public LTTestTranslator()
Method Detail

getTranslationFor

public Collection getTranslationFor(com.ibm.rational.test.lt.codegen.core.model.IModelElement modelElement)
                             throws com.ibm.rational.test.lt.codegen.core.lang.TranslationException
Specified by:
getTranslationFor in interface com.ibm.rational.test.lt.codegen.core.lang.ITranslator
Throws:
com.ibm.rational.test.lt.codegen.core.lang.TranslationException
See Also:
ITranslator.getTranslationFor(com.ibm.rational.test.lt.codegen.core.model.IModelElement)

getMultiplier

protected long getMultiplier(int timeUnits)
                      throws com.ibm.rational.test.lt.codegen.core.lang.FatalTranslationException
Throws:
com.ibm.rational.test.lt.codegen.core.lang.FatalTranslationException

translateSubstituterContainerAndAddToTemplate

protected com.ibm.rational.test.lt.codegen.core.lang.ILanguageElement translateSubstituterContainerAndAddToTemplate(com.ibm.rational.test.lt.codegen.core.lang.ILanguageElement langElem,
                                                                                                                    List subs,
                                                                                                                    boolean includeContainer,
                                                                                                                    String templateType)
                                                                                                             throws com.ibm.rational.test.lt.codegen.core.lang.TranslationException,
                                                                                                                    com.ibm.rational.test.lt.codegen.core.config.ConfigurationException
Throws:
com.ibm.rational.test.lt.codegen.core.lang.TranslationException
com.ibm.rational.test.lt.codegen.core.config.ConfigurationException

translateDataVarContainer

protected List translateDataVarContainer(com.ibm.rational.test.common.models.behavior.variables.CBVarContainer varContainer)
                                  throws com.ibm.rational.test.lt.codegen.core.config.ConfigurationException,
                                         com.ibm.rational.test.lt.codegen.core.lang.TranslationException
Translate variable container

Parameters:
varContainer - container to translate
Returns:
list of translated language elements
Throws:
com.ibm.rational.test.lt.codegen.core.config.ConfigurationException
com.ibm.rational.test.lt.codegen.core.lang.TranslationException

translateHarvester

protected void translateHarvester(com.ibm.rational.test.lt.codegen.core.lang.ILanguageElement parentContainer,
                                  com.ibm.rational.test.common.models.behavior.cbdata.CorrelationHarvester harvester)
                           throws com.ibm.rational.test.lt.codegen.core.config.ConfigurationException,
                                  com.ibm.rational.test.lt.codegen.core.lang.TranslationException
Translate single data harvester

Parameters:
parentContainer - parent container of harvester
harvester - harvester to translate
Throws:
com.ibm.rational.test.lt.codegen.core.config.ConfigurationException - if codegen subsystem not configured properly to handle harvesters
com.ibm.rational.test.lt.codegen.core.lang.TranslationException - if translation fails

translateHarvesterContainer

protected com.ibm.rational.test.lt.codegen.core.lang.ILanguageElement translateHarvesterContainer(com.ibm.rational.test.lt.codegen.core.lang.ILanguageElement parentElement,
                                                                                                  List harvesters)
                                                                                           throws com.ibm.rational.test.lt.codegen.core.config.ConfigurationException,
                                                                                                  com.ibm.rational.test.lt.codegen.core.lang.TranslationException
Translates a list of data harvesters with common parent

Parameters:
parentElement - parent langauge element
harvesters - list of harvesters to be translated
Returns:
root langage element of translated harvester list
Throws:
com.ibm.rational.test.lt.codegen.core.config.ConfigurationException - if codegen subsystem not configured properly to handle harvesters
com.ibm.rational.test.lt.codegen.core.lang.TranslationException - if translation fails

translateHarvesterContainer

protected com.ibm.rational.test.lt.codegen.core.lang.ILanguageElement translateHarvesterContainer(com.ibm.rational.test.lt.codegen.core.lang.ILanguageElement parentElement,
                                                                                                  List harvesters,
                                                                                                  boolean createContainer)
                                                                                           throws com.ibm.rational.test.lt.codegen.core.config.ConfigurationException,
                                                                                                  com.ibm.rational.test.lt.codegen.core.lang.TranslationException
Translates a list of data harvesters with common parent

Parameters:
parentElement - parent langauge element
harvesters - list of harvesters to be translated
createContainer - create Harvester Container even if empty
Returns:
root langage element of translated harvester list
Throws:
com.ibm.rational.test.lt.codegen.core.config.ConfigurationException - if codegen subsystem not configured properly to handle harvesters
com.ibm.rational.test.lt.codegen.core.lang.TranslationException - if translation fails

translateSubstituter

protected void translateSubstituter(com.ibm.rational.test.lt.codegen.core.lang.ILanguageElement parentContainer,
                                    com.ibm.rational.test.common.models.behavior.cbdata.Substituter substituter)
                             throws com.ibm.rational.test.lt.codegen.core.config.ConfigurationException,
                                    com.ibm.rational.test.lt.codegen.core.lang.TranslationException
Translate single data substituter

Parameters:
parentContainer - parent container of substituter
substituter - substituter to translate
Throws:
com.ibm.rational.test.lt.codegen.core.config.ConfigurationException - if codegen subsystem not configured properly to handle substituters
com.ibm.rational.test.lt.codegen.core.lang.TranslationException - if translation fails

translateSubstituterInline

protected String translateSubstituterInline(com.ibm.rational.test.common.models.behavior.cbdata.Substituter sub,
                                            String originalValue,
                                            boolean justValue,
                                            boolean asInt)
                                     throws com.ibm.rational.test.lt.codegen.core.lang.FatalTranslationException
Throws:
com.ibm.rational.test.lt.codegen.core.lang.FatalTranslationException

translateSubstituterInline

protected String translateSubstituterInline(com.ibm.rational.test.common.models.behavior.cbdata.Substituter sub,
                                            String originalValue,
                                            boolean justValue)
                                     throws com.ibm.rational.test.lt.codegen.core.lang.FatalTranslationException
Throws:
com.ibm.rational.test.lt.codegen.core.lang.FatalTranslationException

translateSubstituterInlineAsInt

protected String translateSubstituterInlineAsInt(com.ibm.rational.test.common.models.behavior.cbdata.Substituter sub,
                                                 String originalValue,
                                                 boolean justValue)
                                          throws com.ibm.rational.test.lt.codegen.core.lang.FatalTranslationException
Throws:
com.ibm.rational.test.lt.codegen.core.lang.FatalTranslationException

translateSubstituterInlineWithStringCast

protected String translateSubstituterInlineWithStringCast(com.ibm.rational.test.common.models.behavior.cbdata.Substituter sub,
                                                          String originalValue,
                                                          boolean justValue)
                                                   throws com.ibm.rational.test.lt.codegen.core.lang.FatalTranslationException
Throws:
com.ibm.rational.test.lt.codegen.core.lang.FatalTranslationException

translateSubstituterDataSource

protected void translateSubstituterDataSource(com.ibm.rational.test.lt.codegen.core.lang.ILanguageElement subLangElem,
                                              com.ibm.rational.test.lt.codegen.core.lang.ILanguageElement parentContainer,
                                              com.ibm.rational.test.common.models.behavior.cbdata.Substituter substituter)
                                       throws com.ibm.rational.test.lt.codegen.core.config.ConfigurationException,
                                              com.ibm.rational.test.lt.codegen.core.lang.TranslationException
Translates "data source" part of a substituter. May be called from protocol extensions to translate generic parts of protocol-specific substituters

Parameters:
subLangElem - language element of the substituter
parentContainer - parent container of the substituter
substituter - substituter using the data source
Throws:
com.ibm.rational.test.lt.codegen.core.config.ConfigurationException - if codegen subsystem not configured properly to handle substituters
com.ibm.rational.test.lt.codegen.core.lang.TranslationException - if translation fails

translateSubstituterContainer

protected com.ibm.rational.test.lt.codegen.core.lang.ILanguageElement translateSubstituterContainer(com.ibm.rational.test.lt.codegen.core.lang.ILanguageElement parentElement,
                                                                                                    List substituters)
                                                                                             throws com.ibm.rational.test.lt.codegen.core.config.ConfigurationException,
                                                                                                    com.ibm.rational.test.lt.codegen.core.lang.TranslationException
Translates a list of data substituters with common parent

Parameters:
parentElement - parent langauge element
substituters - list of substituters to be translated
Returns:
root langage element of translated substituter list
Throws:
com.ibm.rational.test.lt.codegen.core.config.ConfigurationException - if codegen subsystem not configured properly to handle substituters
com.ibm.rational.test.lt.codegen.core.lang.TranslationException - if translation fails

addChildrenToElement

protected void addChildrenToElement(com.ibm.rational.test.lt.codegen.core.lang.ILanguageElement containerElem2)

translateSubstituterContainer

protected com.ibm.rational.test.lt.codegen.core.lang.ILanguageElement translateSubstituterContainer(com.ibm.rational.test.lt.codegen.core.lang.ILanguageElement parentElement,
                                                                                                    List substituters,
                                                                                                    boolean createContainer)
                                                                                             throws com.ibm.rational.test.lt.codegen.core.config.ConfigurationException,
                                                                                                    com.ibm.rational.test.lt.codegen.core.lang.TranslationException
Throws:
com.ibm.rational.test.lt.codegen.core.config.ConfigurationException
com.ibm.rational.test.lt.codegen.core.lang.TranslationException

processContentVP

protected void processContentVP(VPContent contentVP,
                                com.ibm.rational.test.lt.codegen.core.lang.ILanguageElement contentVPElem,
                                boolean absence)
                         throws com.ibm.rational.test.lt.codegen.core.lang.TranslationException,
                                com.ibm.rational.test.lt.codegen.core.config.ConfigurationException
Translates Content Verification Point. May be called from protocol extensions to translate generic parts of protocol-specific Content VPs

Parameters:
contentVP - Content VP to be translated
contentVPElem - language element for translated Content VP
absence - determines whether content V passes if content absent or present
Throws:
com.ibm.rational.test.lt.codegen.core.config.ConfigurationException
com.ibm.rational.test.lt.codegen.core.lang.TranslationException

translateArbitrary

protected List translateArbitrary(com.ibm.rational.test.common.models.behavior.cbdata.Arbitrary arbitrary,
                                  com.ibm.rational.test.lt.codegen.core.lang.ILanguageElement arbLangElem)
                           throws com.ibm.rational.test.lt.codegen.core.config.ConfigurationException,
                                  com.ibm.rational.test.lt.codegen.core.lang.TranslationException
Translates generic Arbitrary (Custom Code) May be called from protocol extensions to translate generic parts of protocol-specific Arbitraries.

Parameters:
arbitrary - arbitrary to be translated
arbLangElem - language element of translated arbitrary
Returns:
complete translated language element of translated arbitrary
Throws:
com.ibm.rational.test.lt.codegen.core.config.ConfigurationException - if codegen subsystem not configured properly to handle arbitraries
com.ibm.rational.test.lt.codegen.core.lang.TranslationException - if translation fails

createFileDataLangElement

protected com.ibm.rational.test.lt.codegen.core.lang.ILanguageElement createFileDataLangElement(String instanceName,
                                                                                                String entryName,
                                                                                                String entryData)
                                                                                         throws com.ibm.rational.test.lt.codegen.core.config.ConfigurationException
create FileData language element for large test data create .testdata file if needed (in the src directory of the test project), add given entry under given name to it

Overrides:
createFileDataLangElement in class com.ibm.rational.test.lt.codegen.core.lang.AbstractTranslator
Parameters:
instanceName - language element's instance name
entryName - test data file entry name
entryData - string containing test data
Returns:
FileData language element associated with test data
Throws:
com.ibm.rational.test.lt.codegen.core.config.ConfigurationException - if anything goes wrong

createFileDataChunkUploadLangElement

protected com.ibm.rational.test.lt.codegen.core.lang.ILanguageElement createFileDataChunkUploadLangElement(String instanceName,
                                                                                                           String entryName,
                                                                                                           byte[] entryData,
                                                                                                           int length)
                                                                                                    throws com.ibm.rational.test.lt.codegen.core.config.ConfigurationException
create FileData language element for large test data and allow it do upload in chunks create .testdata file if needed (in the src directory of the test project), add given entry under given name to it

Parameters:
instanceName - language element's instance name
entryName - test data file entry name
entryData - string containing test data
Returns:
FileData language element associated with test data
Throws:
com.ibm.rational.test.lt.codegen.core.config.ConfigurationException - if anything goes wrong

translateRandomSelector

protected List translateRandomSelector(com.ibm.rational.test.common.models.behavior.selectors.CBRandomSelector selector)
                                throws com.ibm.rational.test.lt.codegen.core.config.ConfigurationException,
                                       com.ibm.rational.test.lt.codegen.core.lang.TranslationException
Throws:
com.ibm.rational.test.lt.codegen.core.config.ConfigurationException
com.ibm.rational.test.lt.codegen.core.lang.TranslationException

translateWeightedBlock

protected List translateWeightedBlock(com.ibm.rational.test.common.models.behavior.selectors.CBWeightedBlock block)
                               throws com.ibm.rational.test.lt.codegen.core.config.ConfigurationException,
                                      com.ibm.rational.test.lt.codegen.core.lang.TranslationException
Throws:
com.ibm.rational.test.lt.codegen.core.config.ConfigurationException
com.ibm.rational.test.lt.codegen.core.lang.TranslationException

translateDataVariableAssign

protected List translateDataVariableAssign(com.ibm.rational.test.common.models.behavior.variables.CBVarSet theAssignment)
                                    throws com.ibm.rational.test.lt.codegen.core.config.ConfigurationException,
                                           com.ibm.rational.test.lt.codegen.core.lang.TranslationException
Translates the assignment statement.

Parameters:
theAssignment - The assignment model element.
Returns:
Codegen language elements.
Throws:
com.ibm.rational.test.lt.codegen.core.config.ConfigurationException
com.ibm.rational.test.lt.codegen.core.lang.TranslationException

IBM Rational Performance Tester SDK

© Copyright IBM Corp. 2012. All rights reserved.