DictList

DictList

Randomly picking a line from a specified dictionary file (using the specified distribution). If disableRng is true than lines from the dictionary file are traversed from start to end instead of choosing a random line (10th row in table = value of 10th row in file). With enabled <unique> option you can not choose more distinct lines than available lines in source file (value of <size> must not be greater than available lines in specified file).

Attributes
Name Description Required Min Max Allowed Values
seed Random number generator seed of this Element. Overrides default seeding behavior. no 0 1
name (Class)Name of this element. Used to identify plugin Class. Full name is required. Example: com.en.myPluginPackage.myPuginClass no 0 1
id Identification String of this element. May be used to uniquely identify a field within the children of an Element. no 0 1
Nodes
Name Description Required Min Max Allowed Values
size Content type: Long
Number of randomly picked dictionary entries to concatenate. Default 1. Should be used in conjunction with 'separator' to define the delimiter to be used between dictionary entries. Specify the 'unique' parameter if you want to avoid that sometimes the same random line gets chosen when concatenating dictionary entries.
no 0 1
distribution Distribution to be used by a generator when calculating a value no 0 1
file A path to a file to be used by a generator. See pdgf.generator.DictList source for a example. yes 1 1
disableRng Content type: Boolean
If this is true, picked lines from file correlate with row number of the currently generated row. E.g., row 1 will pick dictionary entry 1 and in row 2 dictionary entry 2 will be picked.
no 0 1
  • true
  • false
  • 0
  • 1
unique Content type: Boolean
Specifies if picked lines should be unique. Like taking samples from an urn without replacement
no 0 1
  • true
  • false
  • 0
  • 1
separator Content type: String
Separator string inserted between multiple randomly picked dictionary lines. Standard is a single whitespace ' '. Has only an effect if 'size' is greater 1
no 0 1

Examples

  1. Random Cities

    Generates random cities, sampled from a dictionary file. Each generated record contains a single word.

    Schema config for Random Cities
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <!--
    /*******************************************************************************
    * Copyright (c) 2013, bankmark and/or its affiliates. All rights reserved.
    * bankmark UG PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
    ******************************************************************************/
    --><schema xmlns:doc="http://bankmark.de/pdgf/doc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="demo" xsi:noNamespaceSchemaLocation="structure/pdgfSchema.xsd">
      <!-- All data is derived from this starting seed.
           If this seed is the same, the generated data will the same on each
           computer/node/platform.
           Change this seed to generate a different data set.-->
      <seed>1234567890L</seed>
    
      <rng name="PdgfDefaultRandom"/>
    
      <!--Default Scale factor for all tables -->
      <property name="SF" type="double">1</property>
    
      <table name="DICTIONARY">
        <!-- if tables should scale with -SF command line argument.
             Specify your scaling formula here: -->
        <size>10 * ${SF}</size>
    
        <!--Random Cities-->
          <!--Generates random cities, sampled from a dictionary file. Each generated record contains a single word.-->
          <field name="city" size="" type="VARCHAR">
            <gen_DictList>
              <file>dicts/city.dict</file>
            </gen_DictList>
          </field>
          </table>
    </schema>
    
    Output for Random Cities
    Stamford
    Boise
    Lubbock
    Hilo
    Tulsa
    Sioux Falls
    Stockton
    Great Falls
    Columbia
    Calgary
  2. Random Lists of Cities

    Generates lists random cities, sampled from a dictionary file and separated by semicolon (';'). Each generated record contains a list of ten cities. Note that records are not necessarily unique.

    Schema config for Random Lists of Cities
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <!--
    /*******************************************************************************
    * Copyright (c) 2013, bankmark and/or its affiliates. All rights reserved.
    * bankmark UG PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
    ******************************************************************************/
    --><schema xmlns:doc="http://bankmark.de/pdgf/doc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="demo" xsi:noNamespaceSchemaLocation="structure/pdgfSchema.xsd">
      <!-- All data is derived from this starting seed.
           If this seed is the same, the generated data will the same on each
           computer/node/platform.
           Change this seed to generate a different data set.-->
      <seed>1234567890L</seed>
    
      <rng name="PdgfDefaultRandom"/>
    
      <!--Default Scale factor for all tables -->
      <property name="SF" type="double">1</property>
    
      <table name="DICTIONARY">
        <!-- if tables should scale with -SF command line argument.
             Specify your scaling formula here: -->
        <size>10 * ${SF}</size>
    
        <!--Random Lists of Cities-->
          <!--
            Generates lists random cities, sampled from a dictionary file and separated by semicolon (';'). Each generated
            record contains a list of ten cities. Note that records are not necessarily unique.-->
          <field name="cities" size="" type="VARCHAR">
            <gen_DictList>
              <size>10</size>
              <separator>;</separator>
              <file>dicts/city.dict</file>
            </gen_DictList>
          </field>
          </table>
    </schema>
    
    Output for Random Lists of Cities
    Thousand Oaks;Shreveport;Memphis;Inglewood;Garland;Plano;Austin;Portland;Kansas City;
    Abilene;Lowell;Denver;Fort Wayne;Pembroke Pines;Bakersfield;Omaha;Moreno Valley;Syracuse;
    Austin;Escondido;Moncton;Dawson City;Hartford;Albuquerque;Garland;Fort Worth;Simi Valley;
    Boston;Waco;Baltimore;Anchorage;Quebec;Tulsa;Kansas City;Biloxi;Milwaukee;
    Seattle;Worcester;Rochester;Concord;Warren;Madison;Rockford;Santa Clarita;Omaha;
    Waterbury;Chandler;Pittsburgh;Hampton;Quebec;Wilmington;Ann Arbor;Cedar Rapids;New York;
    Mount Pearl;Nashua;Buffalo;Moncton;Sudbury;Omaha;Halifax;Casper;Winnipeg;
    Palmdale;West Valley;Greensboro;Halifax;Fort Lauderdale;Las Vegas;Amarillo;Lafayette;Kansas City;
    Rochester;San Jose;Thousand Oaks;Baton Rouge;Toronto;Buffalo;Burlington;Sioux Falls;Tempe;
    Fontana;Long Beach;Anchorage;Mesa;Charleston;Chicago;Oceanside;Hartford;Henderson;
  3. Unique Lists of Cities

    Generates lists random cities, sampled from a dictionary file and separated by semicolon (';'). Each generated record contains a unique list of ten cities.

    Schema config for Unique Lists of Cities
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <!--
    /*******************************************************************************
    * Copyright (c) 2013, bankmark and/or its affiliates. All rights reserved.
    * bankmark UG PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
    ******************************************************************************/
    --><schema xmlns:doc="http://bankmark.de/pdgf/doc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="demo" xsi:noNamespaceSchemaLocation="structure/pdgfSchema.xsd">
      <!-- All data is derived from this starting seed.
           If this seed is the same, the generated data will the same on each
           computer/node/platform.
           Change this seed to generate a different data set.-->
      <seed>1234567890L</seed>
    
      <rng name="PdgfDefaultRandom"/>
    
      <!--Default Scale factor for all tables -->
      <property name="SF" type="double">1</property>
    
      <table name="DICTIONARY">
        <!-- if tables should scale with -SF command line argument.
             Specify your scaling formula here: -->
        <size>10 * ${SF}</size>
    
        <!--Unique Lists of Cities-->
          <!--
            Generates lists random cities, sampled from a dictionary file and separated by semicolon (';'). Each generated
            record contains a unique list of ten cities.-->
          <field name="unique_cities" size="" type="VARCHAR">
            <gen_DictList>
              <size>10</size>
              <separator>;</separator>
              <unique/>
              <file>dicts/city.dict</file>
            </gen_DictList>
          </field>
          </table>
    </schema>
    
    Output for Unique Lists of Cities
    Springfield;Hilo;Spokane;Sydney;Biloxi;Oceanside;Victoria;Washington;Lowell;
    Orlando;New Orleans;Charlottetown;Tampa;Lowell;Torrance;Anaheim;San Diego;Glendale;
    Sherbrooke;Huntington;Ann Arbor;Simi Valley;Fort Wayne;Fort Lauderdale;Halifax;Calgary;Columbus;
    El Monte;Oxnard;Lowell;Palmdale;Mobile;Bellevue;Jacksonville;Philadelphia;Houston;
    Charlottetown;Escondido;Burlington;New Orleans;Ontario;Savannah;Sacramento;Tacoma;Raleigh;
    Hialeah;Stockton;Fremont;Santa Ana;Hialeah;Sacramento;Hialeah;Orange;Biloxi;
    Simi Valley;Bismarck;Modesto;Windsor;Albuquerque;Frederick;Pasadena;Denver;Henderson;
    El Paso;San Antonio;Hayward;Dallas;Idaho Falls;Waterbury;St. Catharines;Corpus Christi;Raleigh;
    Lafayette;Anchorage;Lansing;Mesa;Huntington;Eugene;Iqaluit;Lancaster;Santa Clara;
    Palmdale;Allentown;St. Catharines;Huntsville;Lexington;Huntington Beach;New Haven;Irving;Augusta;
2.6_#1486_b758 | 2016-05-24