@Override public RestLink createRestLink( String name, Reference base, Method method ) { ValueBuilder<RestLink> builder = vbf.newValueBuilder( RestLink.class ); RestLink prototype = builder.prototype(); String path = base.toUri().resolve( name ).getPath(); prototype.path().set( path.endsWith( "/" ) ? path : path + "/" ); prototype.method().set( method.getName() ); return builder.newInstance(); }
HandlerCommand command( Link link, Object commandRequest, ResponseHandler handler, ResponseHandler processingErrorHandler ) { if (handler == null) handler = commandHandlers.get( link.rel().get() ); if (processingErrorHandler == null) processingErrorHandler = processingErrorHandlers.get( link.rel().get() ); // Check if we should do POST or PUT Method method; if( LinksUtil.withClass( "idempotent" ).test( link ) ) { method = Method.PUT; } else { method = Method.POST; } Reference ref = new Reference( reference.toUri().toString() + link.href().get() ); return invokeCommand( ref, method, commandRequest, handler, processingErrorHandler ); }
/** * Creates a RESTEasy URI info object. * * @return A RESTEasy URI info object. */ protected ResteasyUriInfo createUriInfo() { try { return new ResteasyUriInfo(getRequest().getResourceRef() .getBaseRef().toUri(), new URI(getRequest() .getResourceRef().getRelativeRef().toString())); } catch (URISyntaxException e) { Context.getCurrentLogger().log(Level.WARNING, "Unable to parse the URI.", e); return null; } }
HandlerCommand query( Link link, Object queryRequest, ResponseHandler handler, ResponseHandler processingErrorHandler ) { if (handler == null) handler = queryHandlers.get( link.rel().get() ); if (handler == null) throw new IllegalArgumentException( "No handler set for relation "+link.rel().get() ); if (processingErrorHandler == null) processingErrorHandler = processingErrorHandlers.get( link.rel().get() ); Reference linkRef = new Reference(link.href().get()); if (linkRef.isRelative()) linkRef = new Reference( reference.toUri().toString() + link.href().get() ); return invokeQuery( linkRef, queryRequest, handler, processingErrorHandler ); }
@Override public RestLink createRestLink( String name, Reference base, Method method, String description ) { ValueBuilder<RestLink> builder = vbf.newValueBuilder( RestLink.class ); RestLink prototype = builder.prototype(); prototype.path().set( base.toUri().resolve( name ).getPath() + "/" ); prototype.method().set( method.getName() ); prototype.description().set( description ); return builder.newInstance(); }
responseHandler = deleteHandler; Request request = new Request( Method.DELETE, new Reference( reference.toUri() ).toString() ); contextResourceFactory.updateCommandRequest( request );