/** * Returns the authentication data sent by client to the target according to the a list of * properties. By default, this method returns checks the variable "challengeScheme", "login", * "password" in order to build the ChallengeResponse object. It can be overriden. * * @param resolver The resolver. * @return The target challengeResponse object. * @throws ResourceException */ protected ChallengeResponse getTargetChallengeResponse(Resolver<String> resolver) throws ResourceException { final ChallengeScheme challengeScheme = ChallengeScheme.valueOf(resolver.resolve("challengeScheme")); final String login = resolver.resolve("login"); final String password = resolver.resolve("password"); ChallengeResponse result = null; if ((challengeScheme != null) && (login != null) && (password != null)) { result = new ChallengeResponse(challengeScheme, login, password); } return result; }
/** * Returns the target method according to a list of properties. * * @param resolver The resolver. * @return The target method. */ protected Method getTargetMethod(Resolver<String> resolver) { Method method = Method.valueOf(resolver.resolve("method")); if (method == null) { method = getTargetMethod(); } return method; }
/** * Creates the FreeMarker data model for a given call. By default, it will create a {@link * TemplateHashModel} based on the result of {@link Resolver#createResolver(Request, Response)}. * If the {@link #getDataModel()} method has a non null value, it will be used. * * @param request The handled request. * @param response The handled response. * @return The FreeMarker data model for the given call. */ protected Object createDataModel(Request request, Response response) { Object result = null; if (this.dataModel == null) { result = new ResolverHashModel(Resolver.createResolver(request, response)); } else { result = this.dataModel; } return result; }
/** * Sets the template's data model from a request/response pair. This default implementation uses a * Resolver. * * @see Resolver * @see Resolver#createResolver(Request, Response) * @param request The request where data are located. * @param response The response where data are located. */ public void setDataModel(Request request, Response response) { setContext(new ResolverContext(Resolver.createResolver(request, response))); }
/** * Returns the entity sent to the target. By default, it sends the mail message. * * @param resolver the resolver. * @return The entity to be sent to the target. */ protected Representation getTargetEntity(Resolver<String> resolver) { return new StringRepresentation(resolver.resolve("message")); }