Request.java :  » UnTagged » ot-sims » fr » insa » lyon » ot » sims » pizza » Android Open Source

Android Open Source » UnTagged » ot sims 
ot sims » fr » insa » lyon » ot » sims » pizza » Request.java
package fr.insa.lyon.ot.sims.pizza;

import java.io.StringReader;
import java.text.DateFormat;
import java.util.Calendar;
import java.util.Locale;

import org.xml.sax.InputSource;
import org.xml.sax.XMLReader;
import org.xml.sax.helpers.XMLReaderFactory;

import android.util.Log;


// Request example :
//<request><id>id1</id><user><name>Paul DUPOND</name><phone>123456778</phone><email>paul.dupond@xxx.fr</email></user><search><what>Pizza</what><when><start>1268056620</start><end>1268056620</end><delta>3600</delta></when><where><from><latitude>3.503</latitude><longitude>50.5</longitude><address>INSA</address><city>VILLEURBANNE</city><zipCode>69100</zipCode></from><to><latitude>3.503</latitude><longitude>50.5</longitude><address>INSA</address><city>VILLEURBANNE</city><zipCode>69100</zipCode></to></where><more></more></search></request>


public class Request {
  private String id;
  private User user;
  private String what;
  private long whenStart;
  private long whenEnd;
  private int whenDelta;
  private GeoPosition fromLocation;
  private GeoPosition toLocation;
  
  public Request(String xmlStr) {
    /*id = "id1";
    user = new User("Jean DUPONT",555092,"email@mail.com");
    what = "pizza";
    whenStart = 1268042304;
    whenEnd = 1268042304;
    whenDelta = 7200;
    fromLocation = new GeoPosition(41, 14, "INSA", "Lyon", "69100");
    toLocation = new GeoPosition(41, 14, "INSA", "Lyon", "69100");*/
    
    try {
           // Create SAX 2 parser...
       Log.d("Request", "in constructor");
       System.setProperty("org.xml.sax.driver","org.xmlpull.v1.sax2.Driver"); 
           XMLReader xr = XMLReaderFactory.createXMLReader();
           Log.d("Request", "createXMLReader");
           // Set the ContentHandler...
           MyXmlHandler myXmlHandler = new MyXmlHandler();
           xr.setContentHandler( myXmlHandler );
              // Parse the file...how do I give it the file???
           xr.parse(new InputSource(new StringReader(xmlStr)));
           id = myXmlHandler.getId();
           user = myXmlHandler.getUser();
           what = myXmlHandler.getWhat();
           whenStart = myXmlHandler.getWhenStart();
           whenEnd = myXmlHandler.getWhenEnd();
           whenDelta = myXmlHandler.getWhenDelta();
           fromLocation = myXmlHandler.getFromLocation();
           toLocation = myXmlHandler.getToLocation();
        }catch ( Exception e )  {
          Log.e("Request", e.getMessage());

        }

    
  }
  
  public Request(User userInfo, String whatDescription, long time, long time2, int delta, GeoPosition from, GeoPosition to) 
  {
    id = "0";
    user = userInfo;
    what = whatDescription;
    whenStart = time;
    whenEnd = time2;
    whenDelta = delta;
    fromLocation = from;
    toLocation = to;
  }
  
  public void setUser(String name, int phone, String email) {
    user = new User(name, phone, email);
    user.setUserName(name);
    user.setUserPhone(phone);
    user.setUserEmail(email);
  }
  
  public void setWhat(String whatDescription) {
    what = whatDescription;
  }
  
  public void setWhenStart(long start) {
    whenStart = start;
  }
  
  public void setWhenEnd(long end) {
    whenEnd = end;
  }
  
  public void setWhenDelta(int delta) {
    whenDelta = delta;
  }
  
  public void setFromLocation(double lat, double longi, String addr, String cityName, String zCode) {
    
    fromLocation = new GeoPosition(lat, longi, addr, cityName, zCode);
    fromLocation.setLatitude(lat);
    fromLocation.setLongitude(longi);
    fromLocation.setAddress(addr);
    fromLocation.setCity(cityName);
    fromLocation.setZipCode(zCode);
  }
  
  public void setToLocation(double lat, double longi, String addr, String cityName, String zCode) {
    toLocation.setLatitude(lat);
    toLocation.setLongitude(longi);
    toLocation.setAddress(addr);
    toLocation.setCity(cityName);
    toLocation.setZipCode(zCode);
  }
  
  public String getId() {
    return id;
  }

  public User getUser() {
    return user;
  }

  public String getWhat() {
    return what;
  }

  public long getWhenStart() {
    return whenStart;
  }

  public long getWhenEnd() {
    return whenEnd;
  }

  public int getWhenDelta() {
    return whenDelta;
  }

  public GeoPosition getFromLocation() {
    return fromLocation;
  }

  public GeoPosition getToLocation() {
    return toLocation;
  }

  public String getXML()
  {
    StringBuffer XMLstring = new StringBuffer();
    XMLstring.append("<root><service><id>0</id><name></name><targetApp>"+"pizza"+"</targetApp><method>DefaultMethod</method></service>");
    XMLstring.append("<request><id>");
    XMLstring.append(id);
    XMLstring.append("</id><user>");
    XMLstring.append(user.getXML());
    XMLstring.append("</user><search><what>");
    XMLstring.append(what);
    XMLstring.append("</what><when><start>");
    XMLstring.append(whenStart);
    XMLstring.append("</start><end>");
    XMLstring.append(whenEnd);
    XMLstring.append("</end><delta>");
    XMLstring.append(whenDelta);
    XMLstring.append("</delta></when><where><from>");
    XMLstring.append(fromLocation.getXML());
    XMLstring.append("</from><to>");
    XMLstring.append(toLocation.getXML());
    XMLstring.append("</to></where><more></more></search></request></root>");
    String result = XMLstring.toString();
    return result;
  }
  
  public String getDescription() {
    final Calendar c = Calendar.getInstance();
      DateFormat df = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.SHORT, Locale.FRANCE);

      c.setTimeInMillis(whenStart*1000);
      
      String result = "Pizza in : " + fromLocation.getAddress() + " " + fromLocation.getCity() + " " + fromLocation.getZipCode() + "\n" + "on " + df.format(c.getTime());
      return result;
  }
  
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.