Example usage for org.apache.commons.lang3.reflect FieldUtils readField

List of usage examples for org.apache.commons.lang3.reflect FieldUtils readField

Introduction

In this page you can find the example usage for org.apache.commons.lang3.reflect FieldUtils readField.

Prototype

public static Object readField(final Object target, final String fieldName, final boolean forceAccess)
        throws IllegalAccessException 

Source Link

Document

Reads the named Field .

Usage

From source file:com.cognifide.qa.bb.cumber.Bobcumber.java

@SuppressWarnings("unchecked")
private void closeWebDriverPool() {
    try {//  w  ww . java2  s .  c  o  m
        Runtime runtime = (Runtime) FieldUtils.readField(this, "runtime", true);
        Collection<? extends Backend> backends = (Collection<? extends Backend>) FieldUtils.readField(runtime,
                "backends", true);
        for (Backend backend : backends) {
            if (backend instanceof JavaBackend) {
                GuiceFactory factory = (GuiceFactory) FieldUtils.readField(backend, "objectFactory", true);
                WebDriverRegistry webDriverRegistry = factory.getInstance(WebDriverRegistry.class);
                webDriverRegistry.shutdown();
            }
        }
    } catch (IllegalAccessException e) {
        LOG.error("unable to close web driver pool", e);
    }
}

From source file:com.github.lukaszbudnik.dqueue.jaxrs.service.QueueServiceOrderedTest.java

@Test
public void shouldConsumeOrderedNoFilters() throws IllegalAccessException, IOException {
    Response response = resources.getJerseyTest().client().target("/dqueue/v1/ordered/consume").request()
            .accept(MediaType.APPLICATION_OCTET_STREAM_TYPE).get();

    ClientResponse clientResponse = (ClientResponse) FieldUtils.readField(response, "context", true);

    ByteArrayInputStream bais = (ByteArrayInputStream) response.getEntity();
    byte[] contents = IOUtils.toByteArray(bais);
    String startTime = clientResponse.getHeaderString(QueueService.X_DQUEUE_START_TIME_HEADER);
    String dependency = clientResponse.getHeaderString(QueueService.X_DQUEUE_DEPENDENCY_HEADER);
    String filters = clientResponse.getHeaderString(QueueService.X_DQUEUE_FILTERS);
    String cacheControl = clientResponse.getHeaderString(HttpHeaders.CACHE_CONTROL);

    assertThat(response.getStatus(), equalTo(Response.Status.OK.getStatusCode()));
    assertThat(cacheControl, equalTo("no-cache"));
    assertThat(filters, equalTo(""));
    assertThat(contents, equalTo(orderedItem.getContents().array()));
    assertThat(startTime, equalTo(orderedItem.getStartTime().toString()));
    assertThat(dependency, equalTo(orderedItem.getDependency().toString()));

    verify(queueClient, times(1)).consumeOrdered(argThat(new EmptyMap()));
}

From source file:com.joyent.manta.http.MantaConnectionFactoryTest.java

public void willActuallyDisableRetriesOnInternallyConstructedBuilderWhenSetToZero()
        throws IOException, ReflectiveOperationException {
    config.setRetries(0);//from   ww w  .  j  a  v  a2  s  .c om

    connectionFactory = new MantaConnectionFactory(config);

    final HttpClientBuilder internallyCreatedBuilder = (HttpClientBuilder) FieldUtils
            .readField(connectionFactory, "httpClientBuilder", true);

    Assert.assertTrue(
            (Boolean) FieldUtils.readField(internallyCreatedBuilder, "automaticRetriesDisabled", true));
}

From source file:com.github.lukaszbudnik.dqueue.jaxrs.service.QueueServiceTest.java

@Test
public void shouldConsumeNoFilters() throws IllegalAccessException, IOException {
    Response response = resources.getJerseyTest().client().target("/dqueue/v1/consume").request()
            .accept(MediaType.APPLICATION_OCTET_STREAM_TYPE).get();

    ClientResponse clientResponse = (ClientResponse) FieldUtils.readField(response, "context", true);

    ByteArrayInputStream bais = (ByteArrayInputStream) response.getEntity();
    byte[] contents = IOUtils.toByteArray(bais);
    String startTime = clientResponse.getHeaderString(QueueService.X_DQUEUE_START_TIME_HEADER);
    String filters = clientResponse.getHeaderString(QueueService.X_DQUEUE_FILTERS);
    String cacheControl = clientResponse.getHeaderString(HttpHeaders.CACHE_CONTROL);

    assertThat(filters, equalTo(""));
    assertThat(response.getStatus(), equalTo(Response.Status.OK.getStatusCode()));
    assertThat(cacheControl, equalTo("no-cache"));
    assertThat(contents, equalTo(item.getContents().array()));
    assertThat(startTime, equalTo(item.getStartTime().toString()));

    verify(queueClient, times(1)).consume(argThat(new EmptyMap()));
}

From source file:com.joyent.manta.http.MantaConnectionFactoryTest.java

public void willActuallyDisableRetriesOnProvidedBuilderWhenSetToZero()
        throws IOException, ReflectiveOperationException {
    config.setRetries(0);//from   w  w  w  . ja v a  2 s .c  om

    final MantaConnectionFactoryConfigurator conf = new MantaConnectionFactoryConfigurator(builder);
    connectionFactory = new MantaConnectionFactory(config, conf);

    final Object factoryInternalBuilder = FieldUtils.readField(connectionFactory, "httpClientBuilder", true);
    Assert.assertTrue((Boolean) FieldUtils.readField(factoryInternalBuilder, "automaticRetriesDisabled", true));
}

From source file:de.tudarmstadt.ukp.dkpro.core.lbj.IllinoisPosTagger.java

@Override
public void initialize(UimaContext context) throws ResourceInitializationException {
    super.initialize(context);

    modelProvider = new ModelProviderBase<Annotator>() {
        {// w  w  w .j  a v  a 2 s .  c o  m
            setContextObject(IllinoisPosTagger.this);
            setDefault(LOCATION, NOT_REQUIRED);
        }

        @Override
        protected POSAnnotator produceResource(URL aUrl) throws IOException {
            if (!"en".equals(getAggregatedProperties().getProperty(LANGUAGE))) {
                throw new IllegalArgumentException("Only language [en] is supported");
            }

            POSAnnotator annotator = new POSAnnotator(false);

            SingletonTagset tags = new SingletonTagset(POS.class, "ptb");

            try {
                POSTagger trainedTagger = (POSTagger) FieldUtils.readField(annotator, "tagger", true);
                Learner known = (POSTaggerKnown) FieldUtils.readField(trainedTagger, "taggerKnown", true);
                for (int i = 0; i < known.getLabelLexicon().size(); i++) {
                    tags.add(known.getLabelLexicon().lookupKey(i).getStringValue());
                }

                Learner unknown = (POSTaggerUnknown) FieldUtils.readField(trainedTagger, "taggerUnknown", true);
                for (int i = 0; i < unknown.getLabelLexicon().size(); i++) {
                    tags.add(unknown.getLabelLexicon().lookupKey(i).getStringValue());
                }
            } catch (IllegalAccessException e) {
                throw new IllegalStateException(e);
            }

            addTagset(tags);

            if (printTagSet) {
                getContext().getLogger().log(INFO, getTagset().toString());
            }

            return annotator;
        }
    };

    //        mappingProvider = MappingProviderFactory.createPosMappingProvider(posMappingLocation,
    //                language, taggerProvider);

    mappingProvider = new MappingProvider();
    mappingProvider.setDefault(MappingProvider.LOCATION, posMappingLocation);
    mappingProvider.setDefault(MappingProvider.BASE_TYPE, POS.class.getName());
}

From source file:com.joyent.manta.http.MantaConnectionFactoryTest.java

public void willAttachInternalRetryHandlersToInternalBuilder()
        throws IOException, ReflectiveOperationException {
    config.setRetries(1);/*  w  w  w .j a  v  a 2  s  . co m*/

    connectionFactory = new MantaConnectionFactory(config);

    final HttpClientBuilder internallyCreatedBuilder = (HttpClientBuilder) FieldUtils
            .readField(connectionFactory, "httpClientBuilder", true);

    final Object retryHandler = FieldUtils.readField(internallyCreatedBuilder, "retryHandler", true);
    final Object serviceUnavailStrategy = FieldUtils.readField(internallyCreatedBuilder,
            "serviceUnavailStrategy", true);

    Assert.assertTrue(retryHandler instanceof MantaHttpRequestRetryHandler);
    Assert.assertTrue(serviceUnavailStrategy instanceof MantaServiceUnavailableRetryStrategy);
}

From source file:de.tudarmstadt.ukp.dkpro.core.lbj.IllinoisChunker.java

@Override
public void initialize(UimaContext context) throws ResourceInitializationException {
    super.initialize(context);

    modelProvider = new ModelProviderBase<Annotator>() {
        {/*from  w  ww  . j  a v a 2  s.c  om*/
            setContextObject(IllinoisChunker.this);
            setDefault(LOCATION, NOT_REQUIRED);
        }

        @Override
        protected ChunkerAnnotator produceResource(URL aUrl) throws IOException {
            if (!"en".equals(getAggregatedProperties().getProperty(LANGUAGE))) {
                throw new IllegalArgumentException("Only language [en] is supported");
            }

            ChunkerAnnotator annotator = new ChunkerAnnotator();

            SingletonTagset tags = new SingletonTagset(Chunk.class, "conll2000");

            try {
                Chunker chunker = (Chunker) FieldUtils.readField(annotator, "tagger", true);
                for (int i = 0; i < chunker.getLabelLexicon().size(); i++) {
                    String tag = chunker.getLabelLexicon().lookupKey(i).getStringValue();
                    // Strip BIO encoding from tagset
                    if (tag.length() > 1) {
                        tag = tag.substring(2);
                        tags.add(tag);
                    }
                }
            } catch (IllegalAccessException e) {
                throw new IllegalStateException(e);
            }

            addTagset(tags);

            if (printTagSet) {
                getLogger().info(getTagset().toString());
            }

            return annotator;
        }
    };

    //        mappingProvider = MappingProviderFactory.createChunkMappingProvider(chunkMappingLocation,
    //                language, modelProvider);

    mappingProvider = new MappingProvider();
    mappingProvider.setDefault(MappingProvider.LOCATION, chunkMappingLocation);
    mappingProvider.setDefault(MappingProvider.BASE_TYPE, Chunk.class.getName());
}

From source file:com.github.lukaszbudnik.dqueue.jaxrs.service.QueueServiceOrderedTest.java

@Test
public void shouldConsumeOrderedWithFilters() throws IllegalAccessException, IOException {
    Response response = resources.getJerseyTest().client().target("/dqueue/v1/ordered/consume").request()
            .header(QueueService.X_DQUEUE_FILTERS, "kkk=vvv,qqq=www")
            .accept(MediaType.APPLICATION_OCTET_STREAM_TYPE).get();

    ClientResponse clientResponse = (ClientResponse) FieldUtils.readField(response, "context", true);

    ByteArrayInputStream bais = (ByteArrayInputStream) response.getEntity();
    byte[] contents = IOUtils.toByteArray(bais);
    String startTime = clientResponse.getHeaderString(QueueService.X_DQUEUE_START_TIME_HEADER);
    String dependency = clientResponse.getHeaderString(QueueService.X_DQUEUE_DEPENDENCY_HEADER);
    String filters = clientResponse.getHeaderString(QueueService.X_DQUEUE_FILTERS);
    String cacheControl = clientResponse.getHeaderString(HttpHeaders.CACHE_CONTROL);

    assertThat(response.getStatus(), equalTo(Response.Status.OK.getStatusCode()));
    assertThat(cacheControl, equalTo("no-cache"));
    assertThat(filters, equalTo(filtersHeader));
    assertThat(contents, equalTo(orderedItemWithFilters.getContents().array()));
    assertThat(startTime, equalTo(orderedItemWithFilters.getStartTime().toString()));
    assertThat(dependency, equalTo(orderedItemWithFilters.getDependency().toString()));

    verify(queueClient, times(1)).consumeOrdered(eq(orderedItemWithFilters.getFilters()));
}

From source file:com.adobe.acs.commons.mcp.impl.ControlledProcessManagerImpl.java

private <T> void copyReferences(T src, T dest) {
    for (Field f : src.getClass().getDeclaredFields()) {
        try {//from   w ww  .  ja v  a  2 s  . c  o  m
            Object srcValue = FieldUtils.readField(f, src, true);
            if (srcValue != null && FieldUtils.readField(f, dest, true) == null) {
                FieldUtils.writeField(f, dest, srcValue);
            }
        } catch (IllegalAccessException ex) {
            Logger.getLogger(ControlledProcessManagerImpl.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
}