GetUsers.java :  » Mobile » smap-suite » deserver » Java Open Source

Java Open Source » Mobile » smap suite 
smap suite » deserver » GetUsers.java
package deserver;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

import java.sql.*;


/*
 * Get all users
 * Example output:
  <?xml version="1.0"?>
  <mobileUsers>
    <member u_id="1" userId="frank@smap.org" lon="144.415" lat="-37.23" name="Frank" status="available" />
    <member u_id="2" userId="stanley@smap.org" lon="144.41" lat="-37.27" name="Stanley" status="available" />
    <member u_id="3" userId="melissa@smap.org" lon="144.43" lat="-37.28" name="Melissa" status="busy" />
  </mobileUsers>
 */

@Path("/getUsers")
public class GetUsers {
  
  // Respond with XML no matter what media type is requested
  @GET
  @Produces(MediaType.APPLICATION_XML)
  public String getUsers() {
    String response = null;
      Connection connection = null; 
      
    try {
        Class.forName("org.postgresql.Driver");   

      connection = DriverManager.getConnection("jdbc:postgresql://127.0.0.1:5432/de","ws", "ws1234");
      Statement statement = connection.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);
      ResultSet resultSet = statement.executeQuery("SELECT " + 
          "u_id," +
          "UserId," +
          "longitude," +
          "latitude," + 
          "name," +
          "status " +
          "FROM " +
          "de_users;");
       
      response = "<?xml version=\"1.0\"?>\n" + "<mobileUsers>\n";

       while (resultSet.next()) {
         String u_id = resultSet.getString("u_id");
         
         String userId = resultSet.getString("userId");
         
         int lon = resultSet.getInt("longitude");
         double dLon = lon / 1E7;
         String sLon = String.valueOf(dLon);
         
         int lat = resultSet.getInt("latitude");
         double dLat = lat / 1E7;
         String sLat = String.valueOf(dLat);
         
         String name = resultSet.getString("name");
         String status = resultSet.getString("status");
                
        response += "<member u_id=\"" + u_id +
            "\" userId=\"" + userId +
            "\" lon=\"" + sLon + "\" lat=\"" + sLat + 
            "\" name=\"" + name + "\" status=\"" + status +"\" />\n";         
       }
       response += "</mobileUsers>\n";
       
    } catch (SQLException e) {
      response = e.getMessage();
        System.out.println(response);
        e.printStackTrace();
    } catch (ClassNotFoundException e) {
      response = e.getMessage();
        System.out.println(response);
        e.printStackTrace();
    } finally {
      try {
        if (connection != null) {
          connection.close();
        }
      } catch (SQLException e) {
        System.out.println("Failed to close connection");
          e.printStackTrace();
      }
    }
    
    return response;
  }

}

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.