Bitcoin Forum
May 02, 2024, 04:03:55 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: [1]
1  Other / Off-topic / Credit card validator on: July 29, 2021, 08:21:24 AM
I'm relatively new to java and am trying to break my code down as much as possible. This question is really on how to organize methods to work together

My credit card validator works if check Sum code is written in the credit card generator method. I used these sources for the program's logic. I think it's weird 'cause it works when called by the check Digit Control method

 
2  Economy / Service Discussion / API Example - Generate 10,000 Users on: February 08, 2021, 09:31:54 AM
This a Groovy code example that shows how to use the GenRocket API to build a scenario from scratch to generate a 10,000 Users and output to an XML file.



Activity Diagram
The activity diagram defines the steps and API calls necessary to load, modify and run the Scenario.



Groovy Source Code Example
Java
package com.genRocket.engine.examples

import com.genRocket.GenRocketException
import com.genRocket.engine.EngineAPI
import com.genRocket.engine.EngineManual
import com.genRocket.generator.*
import com.genRocket.receiver.DelimitedFileReceiver
import com.genRocket.receiver.JSONFileReceiver
import com.genRocket.receiver.SQLFileInsertReceiver
import com.genRocket.receiver.XMLFileReceiver

/**
 * Created by Hycel Taylor on 12/29/16.
 *
 * This a Groovy code example that shows how to use the credit card generator API to build
 * a scenario from scratch to generate a 10,000 Users and output to four different
 * file formats:
 * <ul>
 * <li>XML</li>
 * <li>Tab-Delimited</li>
 * <li>JSON</li>
 * <li>SQL</li>
 * </ul>
 *
 * The User Domain shall contain the following Attributes:
 * <ul>
 * <li>id</li>
 * <li>lastName</li>
 * <li>firstName</li>
 * <li>middleInitial</li>
 * <li>userName</li>
 * <li>emailAddress</li>
 * <li>password</li>
 * <li>ssn</li>
 * <li>creditCard</li>
 * <li>phoneNumber</li>
 * </ul>
 */
class Scenario10000Users {

  public static void main(String[] args) {
    String scenario = '/home/userName/anyScenario.grs'
    String domainName = 'User'
    String attributeName = null
    Map<String, String> parameters = [:]
    Boolean setLoop = false

    EngineAPI api = new EngineManual()

    try {
      // Initialize Scenario
      api.scenarioLoad(scenario)
      api.scenarioClear()

      // Add Domain and Attributes
      api.domainAdd(domainName)
      api.domainSetLoopCount(domainName, 10000.toString())

      // Add Attribute, lastName
      attributeName = "${domainName}.lastName"
      api.attributeAdd(attributeName)
      parameters = ['nameType': 'lastName', 'caseType': 'capitalize', 'sortOrder': 'random', 'waitAmount': '1']
      api.generatorAdd(attributeName, NameGen.canonicalName, setLoop, parameters)

      // Add Attribute, firstName
      attributeName = "${domainName}.firstName"
      api.attributeAdd(attributeName)
      parameters = ['nameType': 'firstName', 'caseType': 'capitalize', 'sortOrder': 'random', 'waitAmount': '1']
      api.generatorAdd(attributeName, NameGen.canonicalName, setLoop, parameters)

      // Add Attribute, middleInitial
      attributeName = "${domainName}.middleInitial"
      api.attributeAdd(attributeName)
      parameters = ['randomize': 'true']
      api.generatorAdd(attributeName, AlphabetGen.canonicalName, setLoop, parameters)

      // Add Attribute, username
      attributeName = "${domainName}.username"
      api.attributeAdd(attributeName)
      parameters = ['prefix': 'User', 'reference': '#{User.id}']
      api.generatorAdd(attributeName, UsernameGen.canonicalName, setLoop, parameters)

      // Add Attribute, emailAddress
      attributeName = "${domainName}.emailAddress"
      api.attributeAdd(attributeName)
      parameters = ['prefix': 'User', 'reference': '#{User.id}', 'suffix': 'email', 'extension': 'com']
      api.generatorAdd(attributeName, EmailGen.canonicalName, setLoop, parameters)

      // Add Attribute, password
      attributeName = "${domainName}.password"
      api.attributeAdd(attributeName)
      parameters = ['textToEncrypt': '#{User.id}', 'algorithm': 'SHA-256']
      api.generatorAdd(attributeName, EncryptGen.canonicalName, setLoop, parameters)

      // Add Attribute, ssn
      attributeName = "${domainName}.ssn"
      api.attributeAdd(attributeName)
      parameters = ['increment': '0', 'generationType': 'sequential', 'initArea': '001', 'initGroup': '01', 'initSerial': '0001']
      api.generatorAdd(attributeName, SSNGen.canonicalName, setLoop, parameters)

      // Add Attribute, creditCard
      attributeName = "${domainName}.creditCard"
      api.attributeAdd(attributeName)
      parameters = ['visa16': 'true', 'masterCard': 'true']
      api.generatorAdd(attributeName, CreditCardGen.canonicalName, setLoop, parameters)

      // Add Attribute, phoneNumber
      attributeName = "${domainName}.phoneNumber"
      api.attributeAdd(attributeName)
      parameters = ['useAreaCode': 'true', 'uniqueNumbers': 'true']
      api.generatorAdd(attributeName, RandomPhoneNumberGen.canonicalName, setLoop, parameters)

      // *** Receivers must be added after Domains ***

      // Add XMLFileReceiver
      String receiverName = 'XMLFileReceiver'
      parameters = [
        path: '#{resource.output.directory}',
        fileName:"${domainName}.xml"
      ]

      api.receiverAdd(domainName, XMLFileReceiver.canonicalName, receiverName, parameters)

      // Add DelimitedFileReceiver
      receiverName = 'DelimitedFileReceiver'
      parameters = [
        path: '#{resource.output.directory}',
        fileName:"${domainName}.txt"
      ]

      api.receiverAdd(domainName, DelimitedFileReceiver.canonicalName, receiverName, parameters)

      // Add JSONFileReceiver
      receiverName = 'JSONFileReceiver'
      parameters = [
        path: '#{resource.output.directory}',
        fileName:"${domainName}.json"
      ]

      api.receiverAdd(domainName, JSONFileReceiver.canonicalName, receiverName, parameters)

      // Add SQLFileInsertReceiver
      receiverName = 'SQLFileInsertReceiver'
      parameters = [
        path: '#{resource.output.directory}',
        fileName:"${domainName}.sql",
        tableName: 'user'
      ]

      api.receiverAdd(domainName, SQLFileInsertReceiver.canonicalName, receiverName, parameters)

      // Run Scenario
      api.scenarioRun()
    } catch (GenRocketException e) {
      println(e.getMessage())
    }
  }
}
Pages: [1]
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!