· 6 years ago · Jul 17, 2019, 08:49 AM
1package tools;
2
3import java.util.ArrayList;
4import java.util.HashMap;
5import java.util.Map;
6import java.util.Random;
7
8public class GenerateName {
9 Random rand = new Random();
10 final private static String[] pre = { "Al", "Ael", "Au", "An", "Ba", "Be", "Bi", "Br", "Da", "Di", "Do", "Du", "E",
11 "Eu", "Fa", "Ael", "Aer", "Af", "Ah", "Am", "Ama", "An", "Ang", "Ansr", "Cael", "Dae", "Dho", "Eir", "Fi",
12 "Fir", "La", "Seh", "Sel", "Ev", "Fis", "Hu", "Ha", "Gar", "Gil", "Ka", "Kan", "Ya", "Za", "Zy", "Mara",
13 "Mai", "Lue", "Ny", "She", "Sum", "Syl" };
14
15 final private static String[] mid = { "bi", "be", "bo", "bu", "nul", "gu", "da", "au", "fri", "gus", "ae", "ael",
16 "dar", "deth", "dre", "drim", "dul", "ean", "el", "emar", "hal", "iat", "mah", "ten", "que", "ria", "rail",
17 "ther", "thus", "thi", "san" };
18
19 final private static String[] sur = { "ael", "dar", "deth", "dre", "drim", "dul", "ean", "el", "emar", "nes",
20 "nin", "oth", "hal", "iat", "mah", "ten", "ther", "thus", "thi", "ran", "ath", "ess", "san", "yth", "las",
21 "lian", "evar", "tus", "lus", "lius", "nus", "es", "ius", "cus", "tor", "cio", "tin" };
22
23 final private static String[] mail = { "@hotmail.com", "@gmail.com", "@yaahoo.com", "@wp.pl", "@nat.eu",
24 "@mail.com", "@outlook.com", "@aol.com", "@zoho.com" };
25
26 final private static String[] comp = { "Online", "Group", "Center", "TV", "Store", "Store", "Link", "Digital",
27 "Now", "Inc", "Site", "Tech", "Home", "Marketing", "Market", "Zone", "Info", "Data", "World" };
28
29 final private static String[] foreignCountries = { "Austria", "Niemcy", "Francja", "Estonia", "Belgia" };
30
31 final private static String[] polska = { "22500", "20802", "82300", "80800", "06500", "89606" };
32
33 final private static String[] austria = { "2413", "8553", "1140", "3334", "4854", "2654" };
34
35 final private static String[] niemcy = { "70001", "02625", "01848", "04808", "08107", "09599" };
36
37 final private static String[] fracja = { "22000", "20090", "27006", "19102", "59026", "01003" };
38
39 final private static String[] estonia = { "74001", "40119", "91313", "74501", "41007", "73511" };
40
41 final private static String[] belgia = { "1000", "1005", "1500", "1601", "1325", "1350" };
42
43 private static final Map<String, String[]> countryPostalCodesMap;
44
45 static {
46 countryPostalCodesMap = new HashMap<String, String[]>();
47 countryPostalCodesMap.put("Polska", polska);
48 countryPostalCodesMap.put("Austria", austria);
49 countryPostalCodesMap.put("Niemcy", niemcy);
50 countryPostalCodesMap.put("Francja", fracja);
51 countryPostalCodesMap.put("Estonia", estonia);
52 countryPostalCodesMap.put("Belgia", belgia);
53 }
54
55 public int rand(int i) {
56 return rand.nextInt(i);
57 }
58
59 public String rand(String[] tab) {
60 return tab[rand.nextInt(tab.length - 1)];
61 }
62
63 public String generateCompany() {
64 return rand(pre).toUpperCase() + rand(sur).toUpperCase() + " " + rand(comp);
65 }
66
67 public String generateName() {
68 return rand(pre) + rand(mid) + rand(mid) + rand(sur);
69 }
70
71 public String randomForeignCountry(boolean isForeign) {
72 if (isForeign)
73 return rand(foreignCountries);
74 else
75 return "Polska";
76 }
77
78 public String randomPostalCodeOfCountry(String country) {
79 return rand(countryPostalCodesMap.get(country));
80 }
81
82 public String generateCity() {
83 return rand(pre) + rand(mid);
84 }
85
86 public String generateStreet() {
87 return rand(pre) + rand(mid) + " " + String.valueOf(rand(50) + 1);
88 }
89
90 public String generatePhoneNumber() {
91 String phoneNumber = String.valueOf(rand(8) + 1);
92 for (int i = 0; i < 8; i++) {
93 phoneNumber += String.valueOf(rand(9));
94 }
95 return phoneNumber;
96 }
97
98 public String generatePackageContent() {
99 return rand(pre) + rand(mid) + rand(mid) + " " + rand(mid) + rand(mid) + " " + rand(sur) + rand(mid);
100 }
101
102 public String generateRemarks() {
103 return rand(pre) + rand(mid) + rand(mid) + " " + rand(mid) + rand(mid) + " " + rand(sur) + rand(mid);
104 }
105
106 public String generateRerefenceNubmer() {
107 String rerefenceNubmer = rand(pre).toUpperCase();
108 for (int i = 0; i < 12; i++) {
109 rerefenceNubmer += String.valueOf(rand(9));
110 }
111 return rerefenceNubmer;
112 }
113
114 public String generateEmail(String name, String surname) {
115 return name.substring(0, 3).toLowerCase() + "." + surname.substring(0, 4).toLowerCase() + rand(mail);
116 }
117
118 public String generateNip() {
119 String nip = "";
120 for (int i = 0; i < 10; i++) {
121 nip += String.valueOf(rand(9));
122 }
123 return nip;
124 }
125
126 public String generateRegon() {
127 String regon = "";
128 for (int i = 0; i < 9; i++) {
129 regon += String.valueOf(rand(9));
130 }
131 return regon;
132 }
133
134 // generuje dane ktore mozna uzyc dla adresata i nadawcy dla POM
135 // SinglePackage
136 public ArrayList<String> generateSenderOrAddressPackageDetails(boolean isForeign) {
137 ArrayList<String> packageDetails = new ArrayList<String>();
138 String name = generateName();
139 String surName = generateName();
140 packageDetails.add(generateCompany());
141 packageDetails.add(name + " " + surName);
142 packageDetails.add(generateStreet());
143 packageDetails.add(randomForeignCountry(isForeign));
144 packageDetails.add(randomPostalCodeOfCountry(packageDetails.get(3)));
145 packageDetails.add(generateCity());
146 packageDetails.add(generatePhoneNumber());
147 packageDetails.add(generateEmail(name, surName));
148 return packageDetails;
149 }
150
151 // generuje ogolne dane przesylki dla POM SinglePackage
152 public ArrayList<String> generateBasicPackageData() {
153 ArrayList<String> basicPackageData = new ArrayList<String>();
154 basicPackageData.add(generatePackageContent());
155 basicPackageData.add(generateRemarks());
156 basicPackageData.add(generateRerefenceNubmer());
157 basicPackageData.add(generateRerefenceNubmer());
158 return basicPackageData;
159 }
160
161 // generuje dane nowego adresata w seryjnej paczce - POM
162 // SeriesPackageRecipients
163 public ArrayList<String> generateAddNewReceiver(boolean isForeign) {
164 ArrayList<String> newReceiverDetails = new ArrayList<String>();
165 String name = generateName();
166 String surName = generateName();
167 newReceiverDetails.add(generateCompany());
168 newReceiverDetails.add(name + " " + surName);
169 newReceiverDetails.add(generateStreet());
170 newReceiverDetails.add(randomForeignCountry(isForeign));
171 newReceiverDetails.add(randomPostalCodeOfCountry(newReceiverDetails.get(3)));
172 newReceiverDetails.add(generateCity());
173 newReceiverDetails.add(generatePhoneNumber());
174 newReceiverDetails.add(generateEmail(name, surName));
175 newReceiverDetails.add(generateNip());
176 newReceiverDetails.add(generateRegon());
177 return newReceiverDetails;
178 }
179 //generates random double number between minD and maxD
180 public double generateDouble(double minD,double maxD)
181 {
182 return minD + rand.nextDouble() * (maxD - minD);
183 }
184 //generates random foreign country
185 public String generateForeignCountry()
186 {
187 int idx = rand.nextInt(foreignCountries.length);
188 return foreignCountries[idx];
189 }
190
191 //generates random integer number between minI and maxI
192 public int generateInteger(int minI,int maxI)
193 {
194 return minI + rand.nextInt(maxI - minI) + 1;
195 }
196
197}