SHOW:
|
|
- or go back to the newest paste.
1 | - | ArrayList data = new ArrayList(); |
1 | + | import java.util.ArrayList; |
2 | - | data.add("Kinga Dobolyi 555-555-5555"); |
2 | + | import java.util.regex.Matcher; |
3 | - | data.add("nothing"); |
3 | + | import java.util.regex.Pattern; |
4 | - | data.add("#socks,2.34,2"); |
4 | + | |
5 | - | data.add("nothing"); |
5 | + | public class Driver |
6 | - | data.add("!David Dobolyi 555-555-5555"); |
6 | + | { |
7 | - | data.add("nothing"); |
7 | + | ArrayList dataList = new ArrayList(0); |
8 | - | data.add("stuff,#3"); |
8 | + | |
9 | - | data.add("nothing"); |
9 | + | public Driver() |
10 | - | data.add("John Dobolyi 555-555-5555"); |
10 | + | { |
11 | - | data.add("nothing"); |
11 | + | } |
12 | - | data.add("#pants,5.34,3"); |
12 | + | public Driver(ArrayList l) |
13 | - | data.add("nothing"); |
13 | + | { |
14 | - | Driver driver = new Driver(); |
14 | + | dataList = l; |
15 | - | data = driver.run(data); |
15 | + | } |
16 | - | assertEquals(6,data.size()); |
16 | + | public ArrayList getData() |
17 | - | OrderForm form = (OrderForm)driver.getData().get(0); |
17 | + | { |
18 | - | assertEquals("Kinga",form.getFirstName()); |
18 | + | return dataList; |
19 | - | Item item = (Item)form.getItems().get(0); |
19 | + | } |
20 | - | ReviewForm formR = (ReviewForm)driver.getData().get(1); |
20 | + | public void setData(ArrayList l) |
21 | - | assertEquals("stuff,",formR.getReview()); |
21 | + | { |
22 | - | assertEquals("David",formR.getFirstName()); |
22 | + | if(dataList != null) |
23 | - | String review = formR.getReview(); |
23 | + | { |
24 | - | assertEquals("stuff,",review); |
24 | + | dataList = l; |
25 | - | form = (OrderForm)driver.getData().get(2); |
25 | + | } |
26 | - | assertEquals("John",form.getFirstName()); |
26 | + | } |
27 | - | item = (Item)form.getItems().get(0); |
27 | + | public ArrayList run(ArrayList<String> data) |
28 | - | assertEquals("pants",item.getName()); |
28 | + | { |
29 | OrderForm ordersample = new OrderForm(); | |
30 | OrderForm last = new OrderForm(); | |
31 | ReviewForm reviewsample = new ReviewForm(); | |
32 | ArrayList<String> unproc = new ArrayList<String>(0); | |
33 | ||
34 | for(int x = 0; x < data.size(); x++) | |
35 | { | |
36 | String rfreg = "(.*),?#([0-9]*)"; | |
37 | Pattern p2 = Pattern.compile(rfreg); | |
38 | Matcher m2 = p2.matcher(data.get(x).toString()); | |
39 | ordersample = new OrderForm(); | |
40 | ||
41 | if(ordersample.process(data.get(x))) | |
42 | { | |
43 | last = new OrderForm(); | |
44 | last.process(data.get(x)); | |
45 | dataList.add(last); | |
46 | } | |
47 | else if(data.get(x).startsWith("#")) | |
48 | { | |
49 | String ireg = "#(\\w*.*),(\\d*\\.\\d*),(\\d*)"; | |
50 | Pattern p = Pattern.compile(ireg); | |
51 | Matcher m = p.matcher(data.get(x)); | |
52 | if(m.matches()) | |
53 | { | |
54 | String itemname = m.group(1); | |
55 | String price = m.group(2); | |
56 | String quantity = m.group(3); | |
57 | Item thing = new Item(itemname, Double.parseDouble(price), Integer.parseInt(quantity)); | |
58 | last.addItem(thing); | |
59 | dataList.remove(dataList.size()-1); | |
60 | dataList.add(last); | |
61 | } | |
62 | } | |
63 | if(m2.matches()) | |
64 | { | |
65 | String rev = m2.group(1); | |
66 | String stars = m2.group(2); | |
67 | reviewsample.setStars(Integer.parseInt(stars)); | |
68 | reviewsample.setReview(rev); | |
69 | } | |
70 | else | |
71 | { | |
72 | unproc.add(data.get(x).toString()); | |
73 | } | |
74 | } | |
75 | //returns unprocessable elements in the list back to the user | |
76 | return unproc; | |
77 | } | |
78 | } |