Advertisement
Guest User

Untitled

a guest
May 29th, 2017
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.59 KB | None | 0 0
  1. package isg;
  2.  
  3. import java.io.IOException;
  4. import java.io.PrintWriter;
  5. import java.util.Enumeration;
  6. import java.util.List;
  7.  
  8. import javax.jdo.PersistenceManager;
  9. import javax.servlet.http.*;
  10.  
  11. @SuppressWarnings("serial")
  12. public class ISGServlet extends HttpServlet {
  13. private String[] PlayerActions = { "display_all", "uname_available", "create_user", "authenticate" };
  14.    
  15.     @SuppressWarnings("unchecked")
  16.     public Player getPlayer( PersistenceManager pm, String name ) {
  17.         javax.jdo.Query query = pm.newQuery( Player.class, "this.playerName == name");
  18.         query.declareParameters("String name");
  19.         List<Player> players = (List<Player>)query.execute(name);
  20.        
  21.         if( players.isEmpty() ) {
  22.             return null;
  23.         }
  24.        
  25.         // there should either be 0 matches or 1 match
  26.         return players.get(0);
  27.     }
  28.    
  29.     public boolean isPlayerAction( String action ) {
  30.         for( String availableAction:PlayerActions )
  31.             if( availableAction.equals( action ) )
  32.                 return true;
  33.        
  34.         return false;
  35.     }
  36.    
  37.     // note: user input sanitization should be done on the client ( eg. checking inputs are not null, etc. )
  38.     @SuppressWarnings("unchecked")
  39.     public void doGet( HttpServletRequest req, HttpServletResponse resp )
  40.             throws IOException {
  41.         PrintWriter out = resp.getWriter();
  42.         resp.setContentType("text/plain");
  43.        
  44.         String username   = req.getHeader( "username" );
  45.         String action     = req.getHeader( "action" );
  46.        
  47.         if( action == null ) {
  48.             action   = req.getParameter( "action" );
  49.             username = req.getParameter( "username" );
  50.         }
  51.        
  52.         if( isPlayerAction( action ) ) {           
  53.             if( action.equals("display_all") ) {
  54.                 PersistenceManager pm = PMF.get().getPersistenceManager();
  55.                 javax.jdo.Query query = pm.newQuery( Player.class );
  56.                 List<Player> players = (List<Player>)query.execute();
  57.                
  58.                 for( Player p:players ) {
  59.                     out.println( "Name    : " + p.getName() );
  60.                     out.println( "Password: " + p.getPassword() );
  61.                     out.println( "Email   : " + p.getEmail() );
  62.                     out.println( "ShipName: " + p.getShipName() + "\n\n" );
  63.                 }
  64.             }
  65.            
  66.             else if( action.equals("uname_available") ) {
  67.                 PersistenceManager pm = PMF.get().getPersistenceManager();
  68.                 int returnValue = ( getPlayer( pm, username ) == null ) ? 0 : 1;
  69.                 out.print( returnValue );
  70.             }
  71.             else if( action.equals("create_user") ) {
  72.                 String password = req.getParameter( "password" );
  73.                 String email    = req.getParameter( "email" );
  74.                 String ship     = req.getParameter( "shipName" );
  75.                
  76.                 int returnValue = 0;
  77.                 PersistenceManager pm = PMF.get().getPersistenceManager();             
  78.                 if( getPlayer( pm, username ) == null ) {
  79.                     Player player = new Player( username, password, email, ship );
  80.                    
  81.                     try {
  82.                         pm.makePersistent( player );
  83.                     } finally {
  84.                         pm.close();
  85.                     }
  86.                    
  87.                     returnValue = 1;
  88.                 }
  89.                
  90.                 out.print( returnValue );
  91.             }
  92.             else if( action.equals("authenticate") ) {
  93.                 PersistenceManager pm = PMF.get().getPersistenceManager();
  94.                 // String password = req.getParameter( "rdpassw" );
  95.                 String password = "password";
  96.                
  97.                 out.println("received name : " + username);
  98.                 out.println("received pass : " + password);
  99.                
  100.                 Player p = getPlayer( pm, username );
  101.                 int returnValue = 0;
  102.                
  103.                 if( p != null )
  104.                   returnValue = p.getPassword().equals( password ) ? 1 : 0;
  105.  
  106.                 out.print( returnValue );
  107.             }
  108.         }
  109.         else
  110.             out.print("the action I received was : " + action );
  111.     }
  112.  
  113.     public void doPost( HttpServletRequest req, HttpServletResponse resp )
  114.             throws IOException {
  115.         // redirect all POST requests to a common handler
  116.         doGet( req, resp );
  117.     }
  118. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement