@Nullable protected static Object doGetVisitorAttributes() { return ReflectionUtils.getField(VISITOR_ATTRIBUTES_FIELD_RECURSE, null); }
private <T> T getFieldValue(Object object, String fieldName, Class<T> fieldType) { Field field = ReflectionUtils.findField(object.getClass(), fieldName, fieldType); ReflectionUtils.makeAccessible(field); return (T) ReflectionUtils.getField(field, object); }
private <T> T getFieldValue(Object object, String fieldName, Class<T> fieldType) { Field field = ReflectionUtils.findField(object.getClass(), fieldName, fieldType); ReflectionUtils.makeAccessible(field); return (T) ReflectionUtils.getField(field, object); }
private ConfigurableBeanFactory getBeanFactory(Object enhancedConfigInstance) { Field field = ReflectionUtils.findField(enhancedConfigInstance.getClass(), BEAN_FACTORY_FIELD); Assert.state(field != null, "Unable to find generated bean factory field"); Object beanFactory = ReflectionUtils.getField(field, enhancedConfigInstance); Assert.state(beanFactory != null, "BeanFactory has not been injected into @Configuration class"); Assert.state(beanFactory instanceof ConfigurableBeanFactory, "Injected BeanFactory is not a ConfigurableBeanFactory"); return (ConfigurableBeanFactory) beanFactory; }
@Nullable protected static Object doGetVisitorAttributes() { return ReflectionUtils.getField(VISITOR_ATTRIBUTES_FIELD_RECURSE, null); }
private ConfigurableBeanFactory getBeanFactory(Object enhancedConfigInstance) { Field field = ReflectionUtils.findField(enhancedConfigInstance.getClass(), BEAN_FACTORY_FIELD); Assert.state(field != null, "Unable to find generated bean factory field"); Object beanFactory = ReflectionUtils.getField(field, enhancedConfigInstance); Assert.state(beanFactory != null, "BeanFactory has not been injected into @Configuration class"); Assert.state(beanFactory instanceof ConfigurableBeanFactory, "Injected BeanFactory is not a ConfigurableBeanFactory"); return (ConfigurableBeanFactory) beanFactory; }
@SuppressWarnings("unchecked") private List<Object> extractListeners() { Field listenersField = ReflectionUtils.findField(Undertow.class, "listeners"); ReflectionUtils.makeAccessible(listenersField); return (List<Object>) ReflectionUtils.getField(listenersField, this.undertow); }
private UndertowWebServer.Port getPortFromListener(Object listener) { Field typeField = ReflectionUtils.findField(listener.getClass(), "type"); ReflectionUtils.makeAccessible(typeField); String protocol = ReflectionUtils.getField(typeField, listener).toString(); Field portField = ReflectionUtils.findField(listener.getClass(), "port"); ReflectionUtils.makeAccessible(portField); int port = (Integer) ReflectionUtils.getField(portField, listener); return new UndertowWebServer.Port(port, protocol); }
private Port getPortFromListener(Object listener) { Field typeField = ReflectionUtils.findField(listener.getClass(), "type"); ReflectionUtils.makeAccessible(typeField); String protocol = ReflectionUtils.getField(typeField, listener).toString(); Field portField = ReflectionUtils.findField(listener.getClass(), "port"); ReflectionUtils.makeAccessible(portField); int port = (Integer) ReflectionUtils.getField(portField, listener); return new Port(port, protocol); }
private static HttpHeaders createTomcatHttpHeaders(HttpServletResponse response) { ResponseFacade responseFacade = getResponseFacade(response); org.apache.catalina.connector.Response connectorResponse = (org.apache.catalina.connector.Response) ReflectionUtils.getField(COYOTE_RESPONSE_FIELD, responseFacade); Assert.state(connectorResponse != null, "No Tomcat connector response"); Response tomcatResponse = connectorResponse.getCoyoteResponse(); TomcatHeadersAdapter headers = new TomcatHeadersAdapter(tomcatResponse.getMimeHeaders()); return new HttpHeaders(headers); }
private static HttpHeaders createTomcatHttpHeaders(HttpServletRequest request) { RequestFacade requestFacade = getRequestFacade(request); org.apache.catalina.connector.Request connectorRequest = (org.apache.catalina.connector.Request) ReflectionUtils.getField(COYOTE_REQUEST_FIELD, requestFacade); Assert.state(connectorRequest != null, "No Tomcat connector request"); Request tomcatRequest = connectorRequest.getCoyoteRequest(); TomcatHeadersAdapter headers = new TomcatHeadersAdapter(tomcatRequest.getMimeHeaders()); return new HttpHeaders(headers); }
AuthenticationManagerDelegator(AuthenticationManagerBuilder delegateBuilder, ApplicationContext context) { Assert.notNull(delegateBuilder, "delegateBuilder cannot be null"); Field parentAuthMgrField = ReflectionUtils.findField( AuthenticationManagerBuilder.class, "parentAuthenticationManager"); ReflectionUtils.makeAccessible(parentAuthMgrField); beanNames = getAuthenticationManagerBeanNames(context); validateBeanCycle( ReflectionUtils.getField(parentAuthMgrField, delegateBuilder), beanNames); this.delegateBuilder = delegateBuilder; }
return ReflectionUtils.getField(field, targetObject);
@Override public void connect(Watcher watcher) { ReflectionUtils.makeAccessible(zookeeperLockField); ReflectionUtils.makeAccessible(zookeeperFiled); Lock _zookeeperLock = (ReentrantLock) ReflectionUtils.getField(zookeeperLockField, this); ZooKeeper _zk = (ZooKeeper) ReflectionUtils.getField(zookeeperFiled, this); _zookeeperLock.lock(); try { if (_zk != null) { throw new IllegalStateException("zk client has already been started"); } String zkServers = _serversList.get(0); try { logger.debug("Creating new ZookKeeper instance to connect to " + zkServers + "."); _zk = new ZooKeeper(zkServers, _sessionTimeOut, watcher); configMutliCluster(_zk); ReflectionUtils.setField(zookeeperFiled, this, _zk); } catch (IOException e) { throw new ZkException("Unable to connect to " + zkServers, e); } } finally { _zookeeperLock.unlock(); } }
private void clear(Service service, String fieldName, Class<?> fieldType) { Field field = ReflectionUtils.findField(Service.class, fieldName); field.setAccessible(true); Object routes = ReflectionUtils.getField(field, service); ReflectionUtils.invokeMethod(ReflectionUtils.findMethod(fieldType, "clear"), routes); } }
private static HttpHeaders createTomcatHttpHeaders(HttpServletResponse response) { ResponseFacade responseFacade = getResponseFacade(response); org.apache.catalina.connector.Response connectorResponse = (org.apache.catalina.connector.Response) ReflectionUtils.getField(COYOTE_RESPONSE_FIELD, responseFacade); Assert.state(connectorResponse != null, "No Tomcat connector response"); Response tomcatResponse = connectorResponse.getCoyoteResponse(); TomcatHeadersAdapter headers = new TomcatHeadersAdapter(tomcatResponse.getMimeHeaders()); return new HttpHeaders(headers); }
private static HttpHeaders createTomcatHttpHeaders(HttpServletRequest request) { RequestFacade requestFacade = getRequestFacade(request); org.apache.catalina.connector.Request connectorRequest = (org.apache.catalina.connector.Request) ReflectionUtils.getField(COYOTE_REQUEST_FIELD, requestFacade); Assert.state(connectorRequest != null, "No Tomcat connector request"); Request tomcatRequest = connectorRequest.getCoyoteRequest(); TomcatHeadersAdapter headers = new TomcatHeadersAdapter(tomcatRequest.getMimeHeaders()); return new HttpHeaders(headers); }
@SuppressWarnings("unchecked") private <T> T accessPrivateField(Object o, String fieldName) { Field field = ReflectionUtils.findField(o.getClass(), fieldName); boolean previouslyAccessibleValue = field.isAccessible(); field.setAccessible(true); T val = (T) ReflectionUtils.getField(field, o); field.setAccessible(previouslyAccessibleValue); return val; }
@Test public void customPathMatchConfig() { ApplicationContext context = loadConfig(CustomPatchMatchConfig.class); final Field field = ReflectionUtils.findField(PathPatternParser.class, "matchOptionalTrailingSeparator"); ReflectionUtils.makeAccessible(field); String name = "requestMappingHandlerMapping"; RequestMappingHandlerMapping mapping = context.getBean(name, RequestMappingHandlerMapping.class); assertNotNull(mapping); PathPatternParser patternParser = mapping.getPathPatternParser(); assertNotNull(patternParser); boolean matchOptionalTrailingSlash = (boolean) ReflectionUtils.getField(field, patternParser); assertFalse(matchOptionalTrailingSlash); Map<RequestMappingInfo, HandlerMethod> map = mapping.getHandlerMethods(); assertEquals(1, map.size()); assertEquals(Collections.singleton(new PathPatternParser().parse("/api/user/{id}")), map.keySet().iterator().next().getPatternsCondition().getPatterns()); }
@Test public void requestMappingHandlerMapping() throws Exception { ApplicationContext context = loadConfig(WebFluxConfig.class); final Field field = ReflectionUtils.findField(PathPatternParser.class, "matchOptionalTrailingSeparator"); ReflectionUtils.makeAccessible(field); String name = "requestMappingHandlerMapping"; RequestMappingHandlerMapping mapping = context.getBean(name, RequestMappingHandlerMapping.class); assertNotNull(mapping); assertEquals(0, mapping.getOrder()); PathPatternParser patternParser = mapping.getPathPatternParser(); assertNotNull(patternParser); boolean matchOptionalTrailingSlash = (boolean) ReflectionUtils.getField(field, patternParser); assertTrue(matchOptionalTrailingSlash); name = "webFluxContentTypeResolver"; RequestedContentTypeResolver resolver = context.getBean(name, RequestedContentTypeResolver.class); assertSame(resolver, mapping.getContentTypeResolver()); ServerWebExchange exchange = MockServerWebExchange.from(get("/path").accept(MediaType.APPLICATION_JSON)); assertEquals(Collections.singletonList(MediaType.APPLICATION_JSON), resolver.resolveMediaTypes(exchange)); }