Example usage for org.springframework.util ReflectionUtils findField

List of usage examples for org.springframework.util ReflectionUtils findField

Introduction

In this page you can find the example usage for org.springframework.util ReflectionUtils findField.

Prototype

@Nullable
public static Field findField(Class<?> clazz, String name) 

Source Link

Document

Attempt to find a Field field on the supplied Class with the supplied name .

Usage

From source file:com.ciphertool.genetics.algorithms.MultigenerationalGeneticAlgorithmTest.java

@Test
public void testMutate_SmallPopulation() {
    int initialPopulationSize = 100;
    int actualPopulationSize = 25;
    int index = 0;

    Population populationMock = mock(Population.class);
    when(populationMock.selectIndex()).thenReturn(index);
    when(populationMock.getIndividuals()).thenReturn(Arrays.asList(mock(Chromosome.class)));
    when(populationMock.size()).thenReturn(actualPopulationSize);

    MultigenerationalGeneticAlgorithm multigenerationalGeneticAlgorithm = new MultigenerationalGeneticAlgorithm();
    multigenerationalGeneticAlgorithm.setPopulation(populationMock);

    GeneticAlgorithmStrategy strategyToSet = new GeneticAlgorithmStrategy();
    double mutationRate = 0.5;
    strategyToSet.setMutationRate(mutationRate);

    Field strategyField = ReflectionUtils.findField(MultigenerationalGeneticAlgorithm.class, "strategy");
    ReflectionUtils.makeAccessible(strategyField);
    ReflectionUtils.setField(strategyField, multigenerationalGeneticAlgorithm, strategyToSet);

    MutationAlgorithm mutationAlgorithmMock = mock(MutationAlgorithm.class);
    Field mutationAlgorithmField = ReflectionUtils.findField(MultigenerationalGeneticAlgorithm.class,
            "mutationAlgorithm");
    ReflectionUtils.makeAccessible(mutationAlgorithmField);
    ReflectionUtils.setField(mutationAlgorithmField, multigenerationalGeneticAlgorithm, mutationAlgorithmMock);

    multigenerationalGeneticAlgorithm.mutate(initialPopulationSize);

    verify(populationMock, times(actualPopulationSize)).selectIndex();
    verify(populationMock, times(actualPopulationSize)).getIndividuals();
    verify(populationMock, times(actualPopulationSize)).makeIneligibleForReproduction(index);
    verify(populationMock, times(actualPopulationSize)).addIndividualAsIneligible(any(Chromosome.class));
    verify(populationMock, times(1)).size();
    verifyNoMoreInteractions(populationMock);

    verify(mutationAlgorithmMock, times(actualPopulationSize)).mutateChromosome(any(Chromosome.class));
    verifyNoMoreInteractions(mutationAlgorithmMock);
}

From source file:com.glaf.core.util.ReflectUtils.java

public static void setFieldValue(Object target, String fieldName, Object fieldValue) {
    try {/*  w  w w  . j  a  v a2  s. c  om*/
        Field field = ReflectionUtils.findField(target.getClass(), fieldName);
        if (field != null && !Modifier.isPublic(field.getModifiers())) {
            field.setAccessible(true);
        }
        ReflectionUtils.setField(field, target, fieldValue);
    } catch (Exception ex) {
        try {
            BeanUtils.setProperty(target, fieldName, fieldValue);
        } catch (Exception e) {
        }
    }
}

From source file:com.ciphertool.genetics.algorithms.MultigenerationalGeneticAlgorithmTest.java

@Test
public void testSpawnInitialPopulation() {
    GeneticAlgorithmStrategy strategyToSet = new GeneticAlgorithmStrategy();
    int populationSize = 100;
    strategyToSet.setPopulationSize(populationSize);

    Population populationMock = mock(Population.class);

    MultigenerationalGeneticAlgorithm multigenerationalGeneticAlgorithm = new MultigenerationalGeneticAlgorithm();
    multigenerationalGeneticAlgorithm.setPopulation(populationMock);

    Field strategyField = ReflectionUtils.findField(MultigenerationalGeneticAlgorithm.class, "strategy");
    ReflectionUtils.makeAccessible(strategyField);
    ReflectionUtils.setField(strategyField, multigenerationalGeneticAlgorithm, strategyToSet);

    multigenerationalGeneticAlgorithm.spawnInitialPopulation();

    verify(populationMock, times(1)).clearIndividuals();
    verify(populationMock, times(1)).breed(eq(populationSize));
    verify(populationMock, times(1)).evaluateFitness(null);
    verify(populationMock, times(1)).size();
    verifyNoMoreInteractions(populationMock);
}

From source file:com.ciphertool.genetics.algorithms.MultigenerationalGeneticAlgorithmTest.java

@Test
public void testPersistStatistics() {
    ExecutionStatisticsDao executionStatisticsDaoToSet = mock(ExecutionStatisticsDao.class);

    MultigenerationalGeneticAlgorithm multigenerationalGeneticAlgorithm = new MultigenerationalGeneticAlgorithm();
    multigenerationalGeneticAlgorithm.setExecutionStatisticsDao(executionStatisticsDaoToSet);

    ExecutionStatistics executionStatistics = new ExecutionStatistics();
    Field executionStatisticsField = ReflectionUtils.findField(MultigenerationalGeneticAlgorithm.class,
            "executionStatistics");
    ReflectionUtils.makeAccessible(executionStatisticsField);
    ReflectionUtils.setField(executionStatisticsField, multigenerationalGeneticAlgorithm, executionStatistics);

    multigenerationalGeneticAlgorithm.persistStatistics();

    verify(executionStatisticsDaoToSet, times(1)).insert(same(executionStatistics));
}

From source file:com.ciphertool.genetics.algorithms.MultigenerationalGeneticAlgorithmTest.java

@Test
public void testRequestStop() {
    MultigenerationalGeneticAlgorithm multigenerationalGeneticAlgorithm = new MultigenerationalGeneticAlgorithm();

    Field stopRequestedField = ReflectionUtils.findField(MultigenerationalGeneticAlgorithm.class,
            "stopRequested");
    ReflectionUtils.makeAccessible(stopRequestedField);
    boolean stopRequestedFromObject = (boolean) ReflectionUtils.getField(stopRequestedField,
            multigenerationalGeneticAlgorithm);

    assertEquals(false, stopRequestedFromObject);

    multigenerationalGeneticAlgorithm.requestStop();

    stopRequestedFromObject = (boolean) ReflectionUtils.getField(stopRequestedField,
            multigenerationalGeneticAlgorithm);

    assertEquals(true, stopRequestedFromObject);
}

From source file:com.opendesign.utils.CmnUtil.java

/**
 *  vo ? ?? / ? .//from w w w.j  av a2  s  .c  o m
 * 
 * @param vo
 */
public static void setCmnDate(Object vo) {
    String curDateStr = Day.getCurrentDateString("yyyyMMddHHmm");
    Class<?> clazz = vo.getClass();
    // ??
    Field regTimeField = ReflectionUtils.findField(clazz, "registerTime");
    if (regTimeField != null) {
        ReflectionUtils.makeAccessible(regTimeField);
        ReflectionUtils.setField(regTimeField, vo, curDateStr);
    }
    // ?
    Field updTimeField = ReflectionUtils.findField(clazz, "updateTime");
    if (updTimeField != null) {
        ReflectionUtils.makeAccessible(updTimeField);
        ReflectionUtils.setField(updTimeField, vo, curDateStr);
    }
}

From source file:com.opendesign.utils.CmnUtil.java

/**
 * client to server: html enter  //from ww w .  ja  v  a  2 s.  c  o  m
 * @param vo
 * @param fieldName
 */
public static void handleHtmlEnterRN2BR(Object vo, String fieldName) {
    if (vo == null) {
        return;
    }

    Class<?> clazz = vo.getClass();
    // 
    Field aField = ReflectionUtils.findField(clazz, fieldName);
    if (aField != null) {
        ReflectionUtils.makeAccessible(aField);
        String contents = (String) ReflectionUtils.getField(aField, vo);
        contents = handleHtmlEnterRN2BR(contents);
        ReflectionUtils.setField(aField, vo, contents);
    }
}

From source file:com.opendesign.utils.CmnUtil.java

/**
 * server to client: html enter  /*from w ww .j  a  v a2s.  co  m*/
 * @param vo
 * @param fieldName
 */
public static void handleHtmlEnterBR2RN(Object vo, String fieldName) {
    if (vo == null) {
        return;
    }

    Class<?> clazz = vo.getClass();
    // 
    Field aField = ReflectionUtils.findField(clazz, fieldName);
    if (aField != null) {
        ReflectionUtils.makeAccessible(aField);
        String contents = (String) ReflectionUtils.getField(aField, vo);
        contents = handleHtmlEnterBR2RN(contents);
        ReflectionUtils.setField(aField, vo, contents);
    }
}

From source file:com.thoughtworks.go.server.database.SqlSessionFactoryBean.java

private SqlSessionFactory buildSqlSessionFactory() throws IOException {
    SqlSessionFactoryBuilder factoryBuilder = new SqlSessionFactoryBuilder();

    Configuration baseConfiguration = new XMLConfigBuilder(configLocation.getInputStream()).parse();

    String ibatisConfigXmlLocation = databaseStrategy.getIbatisConfigXmlLocation();
    if (isNotBlank(ibatisConfigXmlLocation)) {
        XMLConfigBuilder builder = new XMLConfigBuilder(
                new ClassPathResource(ibatisConfigXmlLocation).getInputStream());

        // hacky way to "inject" a previous configuration
        Field configurationField = ReflectionUtils.findField(XMLConfigBuilder.class, "configuration");
        ReflectionUtils.makeAccessible(configurationField);
        ReflectionUtils.setField(configurationField, builder, baseConfiguration);

        baseConfiguration = builder.parse();
    }//from ww  w  . j  a va2s  .  co  m

    baseConfiguration.setEnvironment(new Environment(getClass().getSimpleName(),
            new SpringManagedTransactionFactory(), this.dataSource));

    return factoryBuilder.build(baseConfiguration);
}

From source file:de.hybris.platform.core.TenantRestartTest.java

private List<InvalidationListener> getListenersViaReflection(final InvalidationTopic topic) {
    final Field listeners = ReflectionUtils.findField(InvalidationTopic.class, "listeners");
    Assertions.assertThat(listeners).isNotNull();
    listeners.setAccessible(true);/*from  w w  w .j  av  a2 s .  c o  m*/
    return (List<InvalidationListener>) ReflectionUtils.getField(listeners, topic);
}