Advertisement
Guest User

Untitled

a guest
Nov 1st, 2014
187
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import java.util.ArrayList;
  2. import java.util.regex.Matcher;
  3. import java.util.regex.Pattern;
  4.  
  5. public class Driver
  6. {
  7.     ArrayList dataList = new ArrayList(0);
  8.  
  9.     public Driver()
  10.     {
  11.     }
  12.     public Driver(ArrayList l)
  13.     {
  14.         dataList = l;
  15.     }
  16.     public ArrayList getData()
  17.     {
  18.         return dataList;
  19.     }
  20.     public void setData(ArrayList l)
  21.     {
  22.         if(dataList != null)
  23.         {
  24.         dataList = l;
  25.         }
  26.     }
  27.     public ArrayList run(ArrayList<String> data)
  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. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement