Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package isg;
- import java.io.IOException;
- import java.io.PrintWriter;
- import java.util.Enumeration;
- import java.util.List;
- import javax.jdo.PersistenceManager;
- import javax.servlet.http.*;
- @SuppressWarnings("serial")
- public class ISGServlet extends HttpServlet {
- private String[] PlayerActions = { "display_all", "uname_available", "create_user", "authenticate" };
- @SuppressWarnings("unchecked")
- public Player getPlayer( PersistenceManager pm, String name ) {
- javax.jdo.Query query = pm.newQuery( Player.class, "this.playerName == name");
- query.declareParameters("String name");
- List<Player> players = (List<Player>)query.execute(name);
- if( players.isEmpty() ) {
- return null;
- }
- // there should either be 0 matches or 1 match
- return players.get(0);
- }
- public boolean isPlayerAction( String action ) {
- for( String availableAction:PlayerActions )
- if( availableAction.equals( action ) )
- return true;
- return false;
- }
- // note: user input sanitization should be done on the client ( eg. checking inputs are not null, etc. )
- @SuppressWarnings("unchecked")
- public void doGet( HttpServletRequest req, HttpServletResponse resp )
- throws IOException {
- PrintWriter out = resp.getWriter();
- resp.setContentType("text/plain");
- String username = req.getHeader( "username" );
- String action = req.getHeader( "action" );
- if( action == null ) {
- action = req.getParameter( "action" );
- username = req.getParameter( "username" );
- }
- if( isPlayerAction( action ) ) {
- if( action.equals("display_all") ) {
- PersistenceManager pm = PMF.get().getPersistenceManager();
- javax.jdo.Query query = pm.newQuery( Player.class );
- List<Player> players = (List<Player>)query.execute();
- for( Player p:players ) {
- out.println( "Name : " + p.getName() );
- out.println( "Password: " + p.getPassword() );
- out.println( "Email : " + p.getEmail() );
- out.println( "ShipName: " + p.getShipName() + "\n\n" );
- }
- }
- else if( action.equals("uname_available") ) {
- PersistenceManager pm = PMF.get().getPersistenceManager();
- int returnValue = ( getPlayer( pm, username ) == null ) ? 0 : 1;
- out.print( returnValue );
- }
- else if( action.equals("create_user") ) {
- String password, email, ship;
- if( req.getHeader("action") != null ) {
- password = req.getHeader( "password" );
- email = req.getHeader( "email" );
- ship = req.getHeader( "shipName" );
- }
- else {
- password = req.getParameter( "password" );
- email = req.getParameter( "email" );
- ship = req.getParameter( "shipName" );
- }
- int returnValue = 0;
- PersistenceManager pm = PMF.get().getPersistenceManager();
- if( getPlayer( pm, username ) == null ) {
- Player player = new Player( username, password, email, ship );
- try {
- pm.makePersistent( player );
- } finally {
- pm.close();
- }
- returnValue = 1;
- }
- out.print( returnValue );
- }
- else if( action.equals("authenticate") ) {
- PersistenceManager pm = PMF.get().getPersistenceManager();
- String password;
- if( req.getHeader("action") != null )
- password = req.getHeader("password");
- else
- password = req.getParameter("password");
- out.println("received name : " + username);
- out.println("received pass : " + password);
- Player p = getPlayer( pm, username );
- int returnValue = 0;
- if( p != null )
- returnValue = p.getPassword().equals( password ) ? 1 : 0;
- out.print( returnValue );
- }
- }
- else
- out.print("the action I received was : " + action );
- }
- public void doPost( HttpServletRequest req, HttpServletResponse resp )
- throws IOException {
- // redirect all POST requests to a common handler
- doGet( req, resp );
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement