package org.curriki.xwiki.servlet.restlet.resource; import org.restlet.resource.Representation; import org.restlet.resource.Variant; import org.restlet.resource.ResourceException; import org.restlet.resource.StringRepresentation; import org.restlet.Context; import org.restlet.data.Request; import org.restlet.data.Response; import org.restlet.data.MediaType; import org.restlet.data.Form; import org.restlet.data.Status; import org.curriki.xwiki.servlet.restlet.resource.BaseResource; import com.xpn.xwiki.XWikiContext; /** */ public class DefaultResource extends BaseResource { public DefaultResource(Context context, Request request, Response response) { super(context, request, response); getVariants().add(new Variant(MediaType.TEXT_PLAIN)); } @Override public Representation represent(Variant variant) throws ResourceException { XWikiContext xwikiContext = getXWikiContext(); String showInfo = getContext().getParameters().getValues("showinfo"); if (showInfo == null || !showInfo.equals("true")){ throw error(Status.CLIENT_ERROR_NOT_FOUND, "Page not found."); } Request request = getRequest(); String message = "UNMATCHED Resource URI : " + request.getResourceRef() + '\n' + "Root URI : " + request.getRootRef() + '\n' + "Routed part : " + request.getResourceRef().getBaseRef() + '\n' + "Remaining part: " + request.getResourceRef().getRemainingPart() + '\n' + "Identifier : " + request.getResourceRef().getIdentifier() + '\n' + "User: " + xwikiContext.getUser(); for (String key : request.getAttributes().keySet()){ message += "\nAttribute " + key + ": " + request.getAttributes().get(key); } for (String key : getContext().getParameters().getNames()){ message += "\nParam " + key + ": " + getContext().getParameters().getValues(key); } message += "\nQuery: " + getRequest().getEntityAsForm().getQueryString(); Form form = getRequest().getEntityAsForm(); for (String key : form.getNames()){ message += "\nEntForm " + key + ": " + form.getValues(key); } Form form2 = getRequest().getResourceRef().getQueryAsForm(); for (String key : form2.getNames()){ message += "\nRRForm " + key + ": " + form2.getValues(key); } return new StringRepresentation(message, MediaType.TEXT_PLAIN); } }