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