@Override public Configuration getConfiguration() { ClientProviderFactory cpf = ClientProviderFactory.getInstance(m); return cpf.getConfiguration(m); }
public static ClientProviderFactory createInstance(Bus bus) { if (bus == null) { bus = BusFactory.getThreadDefaultBus(); } ClientProviderFactory factory = new ClientProviderFactory(bus); ProviderFactory.initFactory(factory); factory.setBusProviders(); return factory; }
@Override protected void setProviders(boolean custom, boolean busGlobal, Object... providers) { List<ProviderInfo<? extends Object>> theProviders = prepareProviders(custom, busGlobal, providers, null); super.setCommonProviders(theProviders); for (ProviderInfo<? extends Object> provider : theProviders) { Class<?> providerCls = ClassHelper.getRealClass(getBus(), provider.getProvider()); if (providerCls == Object.class) { // If the provider is a lambda, ClassHelper.getRealClass returns Object.class providerCls = provider.getProvider().getClass(); } if (filterContractSupported(provider, providerCls, ClientRequestFilter.class)) { addProviderToList(clientRequestFilters, provider); } if (filterContractSupported(provider, providerCls, ClientResponseFilter.class)) { addProviderToList(clientResponseFilters, provider); } if (ResponseExceptionMapper.class.isAssignableFrom(providerCls)) { addProviderToList(responseExceptionMappers, provider); } if (RxInvokerProvider.class.isAssignableFrom(providerCls)) { this.rxInvokerProvider = RxInvokerProvider.class.cast(provider.getProvider()); } } Collections.sort(clientRequestFilters, new BindingPriorityComparator(ClientRequestFilter.class, true)); Collections.sort(clientResponseFilters, new BindingPriorityComparator(ClientResponseFilter.class, false)); injectContextProxies(responseExceptionMappers, clientRequestFilters, clientResponseFilters); }
protected static ResponseExceptionMapper<?> findExceptionMapper(Message message, Class<?> exType) { ClientProviderFactory pf = ClientProviderFactory.getInstance(message); return pf.createResponseExceptionMapper(message, exType); }
protected Response handleResponse(Message outMessage, Class<?> responseClass, Type genericType) { try { ResponseBuilder rb = setResponseBuilder(outMessage, outMessage.getExchange()); Response currentResponse = rb.clone().build(); ((ResponseImpl)currentResponse).setOutMessage(outMessage); Object entity = readBody(currentResponse, outMessage, responseClass, genericType, new Annotation[]{}); if (entity == null) { int status = currentResponse.getStatus(); if (status >= 400) { entity = currentResponse.getEntity(); } } rb = JAXRSUtils.fromResponse(currentResponse, false); rb.entity(entity instanceof Response ? ((Response)entity).getEntity() : entity); Response r = rb.build(); getState().setResponse(r); ((ResponseImpl)r).setOutMessage(outMessage); return r; } catch (Throwable ex) { throw (ex instanceof ProcessingException) ? (ProcessingException)ex : new ProcessingException(ex); } finally { ClientProviderFactory.getInstance(outMessage).clearThreadLocalProxies(); } }
ClientProviderFactory.getInstance(WebClient.getConfig(targetClient).getEndpoint()); List<Object> providers = new LinkedList<>(); List<org.apache.cxf.feature.Feature> cxfFeatures = providers.add(p); } else { final Class<?> providerCls = ClassHelper.getRealClass(pf.getBus(), p); providers.add(new FilterProviderInfo<Object>(p.getClass(), providerCls, p, pf.getBus(), contracts)); pf.setUserProviders(providers); ClientConfiguration clientCfg = WebClient.getConfig(targetClient);
@SuppressWarnings({ "rawtypes", "unchecked" }) public <T extends RxInvoker> T rx(Class<T> rxCls, ExecutorService executorService) { if (CompletionStageRxInvoker.class.isAssignableFrom(rxCls)) { return (T)rx(executorService); } ClientProviderFactory pf = ClientProviderFactory.getInstance(WebClient.getConfig(this).getEndpoint()); RxInvokerProvider rxProvider = pf.getRxInvokerProvider(); if (rxProvider != null && rxProvider.isProviderFor(rxCls)) { return (T)rxProvider.getRxInvoker(sync(), executorService); } throw new IllegalStateException("Provider for " + rxCls.getName() + " is not available"); }
public void handleMessage(Message inMessage) throws Fault { ClientProviderFactory pf = ClientProviderFactory.getInstance(inMessage); if (pf == null) { return; } List<ProviderInfo<ClientResponseFilter>> filters = pf.getClientResponseFilters(); if (!filters.isEmpty()) { ClientRequestContext reqContext = new ClientRequestContextImpl(inMessage.getExchange().getOutMessage(), true); ClientResponseContext respContext = new ClientResponseContextImpl((ResponseImpl)getResponse(inMessage), inMessage); for (ProviderInfo<ClientResponseFilter> filter : filters) { InjectionUtils.injectContexts(filter.getProvider(), filter, inMessage); try { filter.getProvider().filter(reqContext, respContext); } catch (IOException ex) { throw new ProcessingException(ex); } } } }
List<WriterInterceptor> writers = ClientProviderFactory.getInstance(outMessage) .createMessageBodyWriterInterceptor(theClass, type, anns, contentType, outMessage, null); if (writers != null) { try {
public void handleMessage(Message outMessage) throws Fault { ClientProviderFactory pf = ClientProviderFactory.getInstance(outMessage); if (pf == null) { return; outMessage.setContent(ProxyOutputStream.class, pos); List<ProviderInfo<ClientRequestFilter>> filters = pf.getClientRequestFilters(); if (!filters.isEmpty()) {
void run(final Response response) { if (closed) { throw new IllegalStateException("The SSE Event Processor is already closed"); } final InputStream is = response.readEntity(InputStream.class); final ClientProviderFactory factory = ClientProviderFactory.getInstance(endpoint); Message message = null; if (response instanceof ResponseImpl) { message = ((ResponseImpl)response).getOutMessage(); } executor.submit(process(response, is, factory, message)); }
client.headers(headers); ClientProviderFactory factory = ClientProviderFactory.createInstance(getBus()); setupFactory(factory, ep); final String encodeClientParametersList = theProperties == null ? null : (String)getProperties().get("url.encode.client.parameters.list"); factory.registerUserProvider(new ParamConverterProvider() {
private <T> T read(Class<T> messageType, Type type, MediaType mediaType) { if (data == null) { return null; } final Annotation[] annotations = new Annotation[0]; final MultivaluedMap<String, String> headers = new MultivaluedHashMap<>(0); final MessageBodyReader<T> reader = factory.createMessageBodyReader(messageType, type, annotations, mediaType, message); if (reader == null) { throw new RuntimeException("No suitable message body reader for class: " + messageType.getName()); } try (ByteArrayInputStream is = new ByteArrayInputStream(data.getBytes(StandardCharsets.UTF_8))) { return reader.readFrom(messageType, type, annotations, mediaType, headers, is); } catch (final IOException ex) { throw new RuntimeException("Unable to read data of type " + messageType.getName(), ex); } } }
protected Response handleResponse(Message outMessage, Class<?> responseClass, Type genericType) { try { ResponseBuilder rb = setResponseBuilder(outMessage, outMessage.getExchange()); Response currentResponse = rb.clone().build(); ((ResponseImpl)currentResponse).setOutMessage(outMessage); Object entity = readBody(currentResponse, outMessage, responseClass, genericType, new Annotation[]{}); if (entity == null) { int status = currentResponse.getStatus(); if (status >= 400) { entity = currentResponse.getEntity(); } } rb = JAXRSUtils.fromResponse(currentResponse, false); rb.entity(entity instanceof Response ? ((Response)entity).getEntity() : entity); Response r = rb.build(); getState().setResponse(r); ((ResponseImpl)r).setOutMessage(outMessage); return r; } catch (Throwable ex) { throw (ex instanceof ProcessingException) ? (ProcessingException)ex : new ProcessingException(ex); } finally { ClientProviderFactory.getInstance(outMessage).clearThreadLocalProxies(); } }
ClientProviderFactory.getInstance(WebClient.getConfig(targetClient).getEndpoint()); List<Object> providers = new LinkedList<>(); List<org.apache.cxf.feature.Feature> cxfFeatures = providers.add(p); } else { final Class<?> providerCls = ClassHelper.getRealClass(pf.getBus(), p); providers.add(new FilterProviderInfo<Object>(p.getClass(), providerCls, p, pf.getBus(), contracts)); pf.setUserProviders(providers); ClientConfiguration clientCfg = WebClient.getConfig(targetClient);
protected static ResponseExceptionMapper<?> findExceptionMapper(Message message, Class<?> exType) { ClientProviderFactory pf = ClientProviderFactory.getInstance(message); return pf.createResponseExceptionMapper(message, exType); }
@SuppressWarnings({ "rawtypes", "unchecked" }) public <T extends RxInvoker> T rx(Class<T> rxCls, ExecutorService executorService) { if (CompletionStageRxInvoker.class.isAssignableFrom(rxCls)) { return (T)rx(executorService); } ClientProviderFactory pf = ClientProviderFactory.getInstance(WebClient.getConfig(this).getEndpoint()); RxInvokerProvider rxProvider = pf.getRxInvokerProvider(); if (rxProvider != null && rxProvider.isProviderFor(rxCls)) { return (T)rxProvider.getRxInvoker(sync(), executorService); } throw new IllegalStateException("Provider for " + rxCls.getName() + " is not available"); }
public void handleMessage(Message inMessage) throws Fault { ClientProviderFactory pf = ClientProviderFactory.getInstance(inMessage); if (pf == null) { return; } List<ProviderInfo<ClientResponseFilter>> filters = pf.getClientResponseFilters(); if (!filters.isEmpty()) { ClientRequestContext reqContext = new ClientRequestContextImpl(inMessage.getExchange().getOutMessage(), true); ClientResponseContext respContext = new ClientResponseContextImpl((ResponseImpl)getResponse(inMessage), inMessage); for (ProviderInfo<ClientResponseFilter> filter : filters) { InjectionUtils.injectContexts(filter.getProvider(), filter, inMessage); try { filter.getProvider().filter(reqContext, respContext); } catch (IOException ex) { throw new ProcessingException(ex); } } } }
List<WriterInterceptor> writers = ClientProviderFactory.getInstance(outMessage) .createMessageBodyWriterInterceptor(theClass, type, anns, contentType, outMessage, null); if (writers != null) { try {
public void handleMessage(Message outMessage) throws Fault { ClientProviderFactory pf = ClientProviderFactory.getInstance(outMessage); if (pf == null) { return; outMessage.setContent(ProxyOutputStream.class, pos); List<ProviderInfo<ClientRequestFilter>> filters = pf.getClientRequestFilters(); if (!filters.isEmpty()) {