Karaktersorozat vagy jelsor kibontása annak bemeneti argumentumából

A ParseResponse osztály kibontja a karaktersorozatot annak bemeneti argumentumából. Az ExtractToken osztály kibont egy adott jelsortt (karaktersorozatot) annak bemeneti argumentumából. Mindkét osztály hasznos lehet adott típusú dinamikus adatösszevetések kezelésében.
A ParseResponse osztály kibont egy karaktersorozatot annak bemeneti argumentumából, a mintaillesztéshez reguláris kifejezést használva.
package customcode; 

import com.ibm.rational.test.lt.kernel.services.ITestExecutionServices; 

import java.util.regex.*; 

/** 
 * A ParseResponse osztály egyéni kód használatát mutatja be karaktersorozat
 * kibontásához annak bemeneti argumentumából, a mintaillesztéshez
 * reguláris kifejezést használva. 
 * 
 * Ebben a példában azt tételezzük fel, hogy az args[0] bemeneti karaktersorozat
 * a teljes válasz egy előző kérésre.  Ez a válasz a nap címsorát tartalmazza
 * a következő formátumban: 
 * 
 *   <a class=f href=r/d2>In the News</a><small class=m>&nbsp;<span id=nw> 
 *   </span></small></h2> 
 *   <div class=ct> 
 *   &#149;&nbsp;<a href=s/213231>Hűvöseb idő húzódik keletre 
</a>  *   <br>&#149;&nbsp;<a href=s/262502>Digital camera shipments 
up</a><br>  * 
 * A fenti példában a kibontott karaktersorozat a következő lesz: 
 *        Hűvösebb idő húzódik keletre 
 */ 

/** 
 * @author IBM Custom Code Samples 
 */ 

public class ParseResponse implements 
        com.ibm.rational.test.lt.kernel.custom.ICustomCode2 { 

    /** 
     * Ennek példányai a no-arg konstruktor használatával kerülnek létrehozásra. 
     */ 
    public ParseResponse() {} 

    public String exec(ITestExecutionServices tes, String[] args) { 
        String HeadlineStr = "No Headline Available"; 
        String RegExpStr = ".*In the News[^;]*;[^;]*;[^;]*;<a 
href=([^>]*)>([^<]*)<";         Pattern pattern = 
Pattern.compile(RegExpStr, Pattern.DOTALL);         Matcher matcher = 
pattern.matcher(args[0]);                 
        if (matcher.lookingAt()) 
            HeadlineStr = matcher.group(2); 
        else 
            tes.getTestLogManager().reportMessage("Input does not match 
pattern."); 
        return HeadlineStr; 
    } 
Az ExtractToken osztály kibont egy adott karaktersorozatot annak bemeneti argumentumából.
package customcode;

import com.ibm.rational.test.lt.kernel.services.ITestExecutionServices;

/**
 * Az ExtractToken osztály egyéni kód használatát mutatja be egy adott jelsor
 * (karaktersorozat) kibontásához annak argumentumából.  Ez hasznos lehet bizonyos
 * dinamikus adatösszevetési típusok kezeléséhez.
 *
 * Ebben a példában feltételezzük, hogy az args[0] bemeneti karaktersorozat vesszővel tagolt,
 * és a szóban forgó jelsor következő-az-utolsóig jelsor.  Például ha az
 * args[0] a következő:
 *    javascript:parent.selectItem('1010','[Negative]1010','1010','','IBM',
 *         '30181','Rational','1','null','1','1','6fd8e261','RPT')
 * akkor az osztály a 6fd8e261 karaktersorozatot adja vissza.
 */

/**
 * @author IBM Custom Code Samples
 */

public class ExtractToken implements
        com.ibm.rational.test.lt.kernel.custom.ICustomCode2 {

    public ExtractToken() {
    }

    public String exec(ITestExecutionServices tes, String[] args) {
        String ArgStr;
        String NextToLastStr;
        String[] Tokens = args[0].split(",");
                
        if (Tokens.length > 2) {
            ArgStr = Tokens[Tokens.length - 2];        // Következő-az-utolsóig jelsor kibontása

            // Határoló '' eltávolítása 
            NextToLastStr = ArgStr.substring(1, ArgStr.length() - 1);
        } else {
            tes.getTestLogManager().reportMessage("Could not extract value");
            NextToLastStr = null;
        }
        return NextToLastStr;
    }
}

Visszajelzés