65 lines
1.8 KiB
Java
65 lines
1.8 KiB
Java
|
|
/* Josh Holtrop
|
|
* 2008-12-04
|
|
* CS656
|
|
* Lab 4
|
|
*/
|
|
|
|
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;
|
|
|
|
/**
|
|
* This class holds basic user information to be stored in the server's database.
|
|
*
|
|
* It extends RegistrationInfo so that the methods it provides are easily
|
|
* available. It then adds methods specific for the REST framework.
|
|
*/
|
|
public class User extends RegistrationInfo
|
|
{
|
|
public DomRepresentation getDomRepresentation() throws IOException
|
|
{
|
|
DomRepresentation rep = new DomRepresentation(MediaType.TEXT_XML);
|
|
Document d = rep.getDocument();
|
|
|
|
fillNodes(d, null);
|
|
|
|
return rep;
|
|
}
|
|
|
|
public void fillNodes(Document d, Element eltParent)
|
|
{
|
|
Element eltRoot = d.createElement("user");
|
|
if (eltParent == null)
|
|
d.appendChild(eltRoot);
|
|
else
|
|
eltParent.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((new Integer(getPort())).toString()));
|
|
eltRoot.appendChild(eltPort);
|
|
|
|
Element eltStatus = d.createElement("status");
|
|
eltStatus.appendChild(
|
|
d.createTextNode(getStatus() ? "available" : "away"));
|
|
eltRoot.appendChild(eltStatus);
|
|
}
|
|
}
|