package com.mycompany.data; public class Generator { public static String randomFirstName() { String[] names = { "Dave", "Mike", "Katherine", "Jonas", "Linus", "Bob", "Anne", "Minna", "Elisa", "George", "Mathias", "Pekka", "Fredrik", "Kate", "Teppo", "Kim", "Samatha", "Sam", "Linda", "Jo", "Sarah", "Ray", "Michael", "Steve" }; return names[(int) (Math.random() * names.length)]; } public static String randomLastName() { String[] names = { "Smith", "Lehtinen", "Chandler", "Hewlett", "Packard", "Jobs", "Buffet", "Reagan", "Carthy", "Wu", "Johnson", "Williams", "Jones", "Brown", "Davis", "Moore", "Wilson", "Taylor", "Anderson", "Jackson", "White", "Harris", "Martin", "King", "Lee", "Walker", "Wright", "Clark", "Robinson", "Garcia", "Thomas", "Hall", "Lopez", "Scott", "Adams", "Barker", "Morris", "Cook", "Rogers", "Rivera", "Gray", "Price", "Perry", "Powell", "Russell", "Diaz" }; return names[(int) (Math.random() * names.length)]; } public static String randomCompanyName() { String name = randomName(); if (Math.random() < 0.03) name += " Technologies"; else if (Math.random() < 0.02) name += " Investment"; if (Math.random() < 0.3) name += " Inc"; else if (Math.random() < 0.2) name += " Ltd."; return name; } public static String randomWord(int len, boolean capitalized) { String[] part = { "ger", "ma", "isa", "app", "le", "ni", "ke", "mic", "ro", "soft", "wa", "re", "lo", "gi", "is", "acc", "el", "tes", "la", "ko", "ni", "ka", "so", "ny", "mi", "nol", "ta", "pa", "na", "so", "nic", "sa", "les", "for", "ce" }; StringBuffer sb = new StringBuffer(); for (int i = 0; i < len; i++) { String p = part[(int) (Math.random() * part.length)]; if (i == 0 && capitalized) p = Character.toUpperCase(p.charAt(0)) + p.substring(1); sb.append(p); } return sb.toString(); } public static String randomText(int words) { StringBuffer sb = new StringBuffer(); int sentenceWordsLeft = 0; while (words-- > 0) { if (sb.length() > 0) sb.append(' '); if (sentenceWordsLeft == 0 && words > 0) { sentenceWordsLeft = (int) (Math.random() * 15); sb.append(randomWord(1 + (int) (Math.random() * 3), true)); } else { sentenceWordsLeft--; sb.append(randomWord(1 + (int) (Math.random() * 3), false)); if (words > 0 && sentenceWordsLeft > 2 && Math.random() < 0.2) sb.append(','); else if (sentenceWordsLeft == 0 || words == 0) sb.append('.'); } } return sb.toString(); } public static String randomName() { int len = (int) (Math.random() * 4) + 1; return randomWord(len, true); } public static String randomTitle(int words) { StringBuffer sb = new StringBuffer(); int len = (int) (Math.random() * 4) + 1; sb.append(randomWord(len, true)); while (--words > 0) { len = (int) (Math.random() * 4) + 1; sb.append(' '); sb.append(randomWord(len, false)); } return sb.toString(); } public static String randomHTML(int words) { StringBuffer sb = new StringBuffer(); while (words > 0) { sb.append("<h2>"); int len = (int) (Math.random() * 4) + 1; sb.append(randomTitle(len)); sb.append("</h2>"); words -= len; int paragraphs = 1 + (int) (Math.random() * 3); while (paragraphs-- > 0 && words > 0) { sb.append("<p>"); len = (int) (Math.random() * 40) + 3; sb.append(randomText(len)); sb.append("</p>"); words -= len; } } return sb.toString(); } }