package com.github.podd.resources;
import org.restlet.resource.ResourceException;
import com.github.podd.utils.PoddWebConstants;
public abstract class AbstractUserResourceImpl extends AbstractPoddResourceImpl
{
public AbstractUserResourceImpl()
{
super();
}
/**
*
* @return The user parameter based primarily on the query parameters or as a backup based on
* the logged in user. Returns null if it does not exist as a query parameter and the
* user is not logged in.
* @throws ResourceException
*/
protected String getUserParameter() throws ResourceException
{
String requestedUserIdentifier = this.getQuery().getFirstValue(PoddWebConstants.KEY_USER_IDENTIFIER, true);
if(requestedUserIdentifier == null)
{
if(this.getRequest().getClientInfo().isAuthenticated())
{
// Default to requesting information about the logged in user
requestedUserIdentifier = this.getRequest().getClientInfo().getUser().getIdentifier();
}
else
{
this.log.error("Did not specify user and not logged in, returning null");
// no identifier specified.
// throw new ResourceException(Status.CLIENT_ERROR_BAD_REQUEST,
// "Did not specify user");
}
}
return requestedUserIdentifier;
}
}