added UsersResource and User objects
git-svn-id: svn://anubis/gvsu@278 45c1a28c-8058-47b2-ae61-ca45b979098e
This commit is contained in:
parent
3a2b1ab9b9
commit
0d0ffb45be
43
cs656/lab4/User.java
Normal file
43
cs656/lab4/User.java
Normal file
@ -0,0 +1,43 @@
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.restlet.data.MediaType;
|
||||
import org.restlet.resource.DomRepresentation;
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
|
||||
import com.db4o.query.Predicate;
|
||||
|
||||
import edu.gvsu.cis.cs656.lab4.server.RegistrationInfo;
|
||||
|
||||
public class User extends RegistrationInfo
|
||||
{
|
||||
public DomRepresentation getDomRepresentation() throws IOException
|
||||
{
|
||||
DomRepresentation rep = new DomRepresentation(MediaType.TEXT_XML);
|
||||
Document d = rep.getDocument();
|
||||
Element eltRoot = d.createElement("user");
|
||||
d.appendChild(eltRoot);
|
||||
|
||||
Element eltName = d.createElement("name");
|
||||
eltName.appendChild(d.createTextNode(getUserName()));
|
||||
eltRoot.appendChild(eltName);
|
||||
|
||||
Element eltHost = d.createElement("host");
|
||||
eltHost.appendChild(d.createTextNode(getHost()));
|
||||
eltRoot.appendChild(eltHost);
|
||||
|
||||
Element eltPort = d.createElement("port");
|
||||
eltPort.appendChild(d.createTextNode(getPort()));
|
||||
eltRoot.appendChild(eltPort);
|
||||
|
||||
Element eltStatus = d.createElement("status");
|
||||
eltStatus.appendChild(
|
||||
d.createTextNode(getStatus() ? "available" : "away"));
|
||||
eltRoot.appendChild(eltStatus);
|
||||
|
||||
return rep;
|
||||
}
|
||||
}
|
105
cs656/lab4/UsersResource.java
Normal file
105
cs656/lab4/UsersResource.java
Normal file
@ -0,0 +1,105 @@
|
||||
//----------------------------------------------------------------------
|
||||
//
|
||||
// Filename: UsersResource.java
|
||||
// Description:
|
||||
//
|
||||
// $Id:$
|
||||
//
|
||||
//----------------------------------------------------------------------
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import org.restlet.Context;
|
||||
import org.restlet.data.Form;
|
||||
import org.restlet.data.MediaType;
|
||||
import org.restlet.data.Request;
|
||||
import org.restlet.data.Response;
|
||||
import org.restlet.resource.Resource;
|
||||
import org.restlet.data.Status;
|
||||
import org.restlet.resource.DomRepresentation;
|
||||
import org.restlet.resource.Representation;
|
||||
import org.restlet.resource.Variant;
|
||||
|
||||
|
||||
public class UsersResource extends Resource
|
||||
{
|
||||
|
||||
public UsersResource(Context context, Request request, Response response)
|
||||
{
|
||||
super(context, request, response);
|
||||
getVariants().add(new Variant(MediaType.TEXT_XML));
|
||||
}
|
||||
|
||||
/**
|
||||
* handle HTTP GET requests.
|
||||
*/
|
||||
@Override
|
||||
public Representation getRepresentation(Variant variant)
|
||||
{
|
||||
DomRepresentation rep = null;
|
||||
if (variant.getMediaType().equals(MediaType.TEXT_XML))
|
||||
{
|
||||
try
|
||||
{
|
||||
rep = new DomRepresentation(MediaType.TEXT_XML);
|
||||
getResponse().setStatus(Status.CLIENT_ERROR_NOT_FOUND);
|
||||
rep.getDocument().normalizeDocument();
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
return rep;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean allowDelete()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean allowPut()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean allowPost()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle HTTP POST. Create a new book resource.
|
||||
*/
|
||||
@Override
|
||||
public void post(Representation entity)
|
||||
{
|
||||
if (entity.getMediaType().equals(MediaType.APPLICATION_WWW_FORM, true))
|
||||
{
|
||||
// Parse the entity as a web form
|
||||
Form form = new Form(entity);
|
||||
|
||||
// create a new User object
|
||||
Book book = new Book();
|
||||
book.setId(form.getFirstValue("book[id]"));
|
||||
book.setAuthors(form.getFirstValue("book[authors]"));
|
||||
book.setIsbn(form.getFirstValue("book[isbn]"));
|
||||
book.setTitle(form.getFirstValue("book[title]"));
|
||||
book.setPublisher(form.getFirstValue("book[publisher]"));
|
||||
book.setYear(form.getFirstValue("book[year]"));
|
||||
getResponse().setStatus(Status.SUCCESS_CREATED);
|
||||
|
||||
// commit the changes.
|
||||
getContainer().set(book);
|
||||
getContainer().commit();
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
getResponse().setStatus(Status.CLIENT_ERROR_NOT_FOUND);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user