List of usage examples for org.springframework.util ReflectionUtils makeAccessible
@SuppressWarnings("deprecation") public static void makeAccessible(Field field)
From source file:org.terasoluna.gfw.web.token.transaction.TransactionTokenContextImplTest.java
@Test public void TestCancelReservation02() throws IllegalArgumentException, IllegalAccessException { // setup parameters TransactionTokenInfo beginTransactionToken = new TransactionTokenInfo("testTokenAttribute1", TransactionTokenType.BEGIN); TransactionToken receivedToken = new TransactionToken("aaa", "key", "value"); // setup up expected result ReserveCommand expectedCommand = ReserveCommand.UPDATE_TOKEN; // run/*from w w w. j a v a 2 s. c o m*/ TransactionTokenContextImpl contextImpl = new TransactionTokenContextImpl(beginTransactionToken, receivedToken); contextImpl.cancelReservation(); // test Field field = ReflectionUtils.findField(TransactionTokenContextImpl.class, "defaultCommand"); ReflectionUtils.makeAccessible(field); ReserveCommand resultCommand = (ReserveCommand) field.get(contextImpl); assertThat(resultCommand, is(expectedCommand)); }
From source file:it.geosolutions.httpproxy.service.impl.ProxyConfigImpl.java
/** * Override this fields with a location properties * //w w w. j av a 2 s .c om * @param location * * @throws IOException if read properties throw an error */ private void overrideProperties(Resource location) throws IOException { Properties props = new Properties(); props.load(location.getInputStream()); Enumeration<Object> keys = props.keys(); while (keys.hasMoreElements()) { try { String key = (String) keys.nextElement(); if (key.startsWith(beanName + ".")) { String parameter = key.replace(beanName + ".", ""); Field field = ReflectionUtils.findField(this.getClass(), parameter); ReflectionUtils.makeAccessible(field); ReflectionUtils.setField(field, this, props.getProperty(key)); LOGGER.log(Level.INFO, "[override]: " + key + "=" + props.getProperty(key)); } } catch (Exception e) { LOGGER.log(Level.SEVERE, "Error overriding the proxy configuration ", e); } } }
From source file:com.ciphertool.genetics.algorithms.ConcurrentMultigenerationalGeneticAlgorithmTest.java
@Test public void testDoConcurrentCrossovers() { ConcurrentMultigenerationalGeneticAlgorithm concurrentMultigenerationalGeneticAlgorithm = new ConcurrentMultigenerationalGeneticAlgorithm(); concurrentMultigenerationalGeneticAlgorithm.setTaskExecutor(taskExecutor); CrossoverAlgorithm crossoverAlgorithmMock = mock(CrossoverAlgorithm.class); Field crossoverAlgorithmField = ReflectionUtils.findField(ConcurrentMultigenerationalGeneticAlgorithm.class, "crossoverAlgorithm"); ReflectionUtils.makeAccessible(crossoverAlgorithmField); ReflectionUtils.setField(crossoverAlgorithmField, concurrentMultigenerationalGeneticAlgorithm, crossoverAlgorithmMock);//from w w w. j ava 2 s.co m Chromosome chromosomeToReturn = new MockKeylessChromosome(); when(crossoverAlgorithmMock.crossover(any(Chromosome.class), any(Chromosome.class))) .thenReturn(Arrays.asList(chromosomeToReturn)); long pairsToCrossover = 5; List<Chromosome> moms = new ArrayList<Chromosome>(); List<Chromosome> dads = new ArrayList<Chromosome>(); for (int i = 0; i < 5; i++) { moms.add(new MockKeylessChromosome()); dads.add(new MockKeylessChromosome()); } List<Chromosome> childrenReturned = concurrentMultigenerationalGeneticAlgorithm .doConcurrentCrossovers(pairsToCrossover, moms, dads); assertEquals(5, childrenReturned.size()); for (Chromosome child : childrenReturned) { assertSame(chromosomeToReturn, child); } verify(crossoverAlgorithmMock, times(5)).crossover(any(Chromosome.class), any(Chromosome.class)); }
From source file:com.ciphertool.genetics.algorithms.MultigenerationalGeneticAlgorithmTest.java
@Test public void testInitialize() { Date beforeInitialize = new Date(); GeneticAlgorithmStrategy strategyToSet = new GeneticAlgorithmStrategy(); int populationSize = 100; int lifeSpan = 0; double survivalRate = 0.1; double mutationRate = 0.0; double crossoverRate = 0.0; CrossoverAlgorithm crossoverAlgorithmMock = mock(CrossoverAlgorithm.class); FitnessEvaluator fitnessEvaluatorMock = mock(FitnessEvaluator.class); MutationAlgorithm mutationAlgorithmMock = mock(MutationAlgorithm.class); strategyToSet.setGeneticStructure(new Object()); strategyToSet.setPopulationSize(populationSize); strategyToSet.setLifespan(lifeSpan); strategyToSet.setSurvivalRate(survivalRate); strategyToSet.setMutationRate(mutationRate); strategyToSet.setMaxMutationsPerIndividual(0); strategyToSet.setCrossoverRate(crossoverRate); strategyToSet.setMutateDuringCrossover(false); strategyToSet.setMaxGenerations(-1); strategyToSet.setCrossoverAlgorithm(crossoverAlgorithmMock); strategyToSet.setFitnessEvaluator(fitnessEvaluatorMock); strategyToSet.setMutationAlgorithm(mutationAlgorithmMock); strategyToSet.setSelectionAlgorithm(mock(SelectionAlgorithm.class)); strategyToSet.setSelector(mock(Selector.class)); 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); Field generationCountField = ReflectionUtils.findField(MultigenerationalGeneticAlgorithm.class, "generationCount"); ReflectionUtils.makeAccessible(generationCountField); ReflectionUtils.setField(generationCountField, multigenerationalGeneticAlgorithm, 1); Field stopRequestedField = ReflectionUtils.findField(MultigenerationalGeneticAlgorithm.class, "stopRequested"); ReflectionUtils.makeAccessible(stopRequestedField); ReflectionUtils.setField(stopRequestedField, multigenerationalGeneticAlgorithm, true); Field executionStatisticsField = ReflectionUtils.findField(MultigenerationalGeneticAlgorithm.class, "executionStatistics"); ReflectionUtils.makeAccessible(executionStatisticsField); ExecutionStatistics executionStatisticsFromObject = (ExecutionStatistics) ReflectionUtils .getField(executionStatisticsField, multigenerationalGeneticAlgorithm); assertNull(executionStatisticsFromObject); multigenerationalGeneticAlgorithm.initialize(); int generationCountFromObject = (int) ReflectionUtils.getField(generationCountField, multigenerationalGeneticAlgorithm); boolean stopRequestedFromObject = (boolean) ReflectionUtils.getField(stopRequestedField, multigenerationalGeneticAlgorithm); executionStatisticsFromObject = (ExecutionStatistics) ReflectionUtils.getField(executionStatisticsField, multigenerationalGeneticAlgorithm); assertEquals(0, generationCountFromObject); assertFalse(stopRequestedFromObject); assertNotNull(executionStatisticsFromObject); assertTrue(executionStatisticsFromObject.getStartDateTime().getTime() >= beforeInitialize.getTime()); assertEquals(populationSize, executionStatisticsFromObject.getPopulationSize().intValue()); assertEquals(lifeSpan, executionStatisticsFromObject.getLifespan().intValue()); assertEquals(new Double(survivalRate), executionStatisticsFromObject.getSurvivalRate()); assertEquals(new Double(mutationRate), executionStatisticsFromObject.getMutationRate()); assertEquals(new Double(crossoverRate), executionStatisticsFromObject.getCrossoverRate()); assertEquals(crossoverAlgorithmMock.getClass().getSimpleName(), executionStatisticsFromObject.getCrossoverAlgorithm()); assertEquals(fitnessEvaluatorMock.getClass().getSimpleName(), executionStatisticsFromObject.getFitnessEvaluator()); assertEquals(mutationAlgorithmMock.getClass().getSimpleName(), executionStatisticsFromObject.getMutationAlgorithm()); 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.sentencebuilder.etl.importers.FrequencyListImporterImplTest.java
@Test public void testImportFrequencyList_LeftoversFromBatch() { ThreadPoolTaskExecutor taskExecutorSpy = spy(new ThreadPoolTaskExecutor()); taskExecutorSpy.setCorePoolSize(4);/* w w w.j a v a 2s.c o m*/ taskExecutorSpy.setMaxPoolSize(4); taskExecutorSpy.setQueueCapacity(100); taskExecutorSpy.setKeepAliveSeconds(1); taskExecutorSpy.setAllowCoreThreadTimeOut(true); taskExecutorSpy.initialize(); FrequencyListImporterImpl frequencyListImporterImpl = new FrequencyListImporterImpl(); frequencyListImporterImpl.setTaskExecutor(taskExecutorSpy); Field rowUpdateCountField = ReflectionUtils.findField(FrequencyListImporterImpl.class, "rowUpdateCount"); ReflectionUtils.makeAccessible(rowUpdateCountField); AtomicInteger rowUpdateCountFromObject = (AtomicInteger) ReflectionUtils.getField(rowUpdateCountField, frequencyListImporterImpl); assertEquals(0, rowUpdateCountFromObject.intValue()); Field rowInsertCountField = ReflectionUtils.findField(FrequencyListImporterImpl.class, "rowInsertCount"); ReflectionUtils.makeAccessible(rowInsertCountField); AtomicInteger rowInsertCountFromObject = (AtomicInteger) ReflectionUtils.getField(rowInsertCountField, frequencyListImporterImpl); assertEquals(0, rowInsertCountFromObject.intValue()); WordDao wordDaoMock = mock(WordDao.class); when(wordDaoMock.insertBatch(anyListOf(Word.class))).thenReturn(true); int persistenceBatchSizeToSet = 3; int concurrencyBatchSizeToSet = 2; frequencyListImporterImpl.setWordDao(wordDaoMock); frequencyListImporterImpl.setPersistenceBatchSize(persistenceBatchSizeToSet); frequencyListImporterImpl.setConcurrencyBatchSize(concurrencyBatchSizeToSet); Word word1 = new Word(new WordId("george", PartOfSpeechType.NOUN), 100); Word word2 = new Word(new WordId("belden", PartOfSpeechType.NOUN), 200); Word word3 = new Word(new WordId("is", PartOfSpeechType.VERB_PARTICIPLE), 300); Word word4 = new Word(new WordId("super", PartOfSpeechType.ADJECTIVE), 400); Word word5 = new Word(new WordId("awesome", PartOfSpeechType.ADJECTIVE), 500); List<Word> wordsToReturn = new ArrayList<Word>(); wordsToReturn.add(word1); wordsToReturn.add(word2); wordsToReturn.add(word3); wordsToReturn.add(word4); wordsToReturn.add(word5); FrequencyFileParser fileParserMock = mock(FrequencyFileParser.class); when(fileParserMock.parseFile()).thenReturn(wordsToReturn); frequencyListImporterImpl.setFileParser(fileParserMock); Word wordFromDatabase1 = new Word(new WordId("george", PartOfSpeechType.NOUN)); Word wordFromDatabase2 = new Word(new WordId("belden", PartOfSpeechType.NOUN)); Word wordFromDatabase3 = new Word(new WordId("is", PartOfSpeechType.ADJECTIVE)); when(wordDaoMock.insertBatch(anyListOf(Word.class))).thenReturn(true); when(wordDaoMock.updateBatch(anyListOf(Word.class))).thenReturn(true); when(wordDaoMock.findByWordString(eq("george"))).thenReturn(Arrays.asList(wordFromDatabase1)); when(wordDaoMock.findByWordString(eq("belden"))).thenReturn(Arrays.asList(wordFromDatabase2)); when(wordDaoMock.findByWordString(eq("is"))).thenReturn( Arrays.asList(wordFromDatabase3)); when(wordDaoMock.findByWordString(eq("super"))).thenReturn(null); when(wordDaoMock.findByWordString(eq("seriously"))).thenReturn(null); when(wordDaoMock.findByWordString(eq("awesome"))).thenReturn(null); frequencyListImporterImpl.importFrequencyList(); assertEquals(100, wordFromDatabase1.getFrequencyWeight()); assertEquals(200, wordFromDatabase2.getFrequencyWeight()); assertEquals(300, wordFromDatabase3.getFrequencyWeight()); rowUpdateCountFromObject = (AtomicInteger) ReflectionUtils.getField(rowUpdateCountField, frequencyListImporterImpl); rowInsertCountFromObject = (AtomicInteger) ReflectionUtils.getField(rowInsertCountField, frequencyListImporterImpl); assertEquals(3, rowUpdateCountFromObject.intValue()); assertEquals(2, rowInsertCountFromObject.intValue()); verify(wordDaoMock, times(2)).insertBatch(anyListOf(Word.class)); verify(wordDaoMock, times(2)).updateBatch(anyListOf(Word.class)); verify(wordDaoMock, times(5)).findByWordString(anyString()); verify(taskExecutorSpy, times(3)).execute(any(Runnable.class)); }
From source file:com.frank.search.solr.server.support.SolrClientUtils.java
@SuppressWarnings("unchecked") private static <T> T readField(SolrClient solrServer, String fieldName) { Field field = ReflectionUtils.findField(solrServer.getClass(), fieldName); if (field == null) { return null; }/* w w w.j ava 2 s . c om*/ ReflectionUtils.makeAccessible(field); return (T) ReflectionUtils.getField(field, solrServer); }
From source file:es.fcs.batch.integration.chunk.MyRemoteChunkHandlerFactoryBean.java
private static void setField(Object target, String name, Object value) { Assert.notNull(target, "Target object must not be null"); Field field = ReflectionUtils.findField(target.getClass(), name); if (field == null) { throw new IllegalStateException("Could not find field [" + name + "] on target [" + target + "]"); }/* w ww .j a va2s . c o m*/ if (logger.isDebugEnabled()) { logger.debug("Getting field [" + name + "] from target [" + target + "]"); } ReflectionUtils.makeAccessible(field); ReflectionUtils.setField(field, target, value); }
From source file:org.terasoluna.gfw.web.token.transaction.TransactionTokenContextImplTest.java
@Test public void TestCancelReservation03() throws IllegalArgumentException, IllegalAccessException { // setup parameters TransactionTokenInfo inTransactionToken = new TransactionTokenInfo("testTokenAttribute2", TransactionTokenType.IN);/*from w ww . jav a2 s. com*/ TransactionToken receivedToken = new TransactionToken("bbb"); // setup up expected result ReserveCommand expectedCommand = ReserveCommand.CREATE_TOKEN; // run TransactionTokenContextImpl contextImpl = new TransactionTokenContextImpl(inTransactionToken, receivedToken); contextImpl.cancelReservation(); // test Field field = ReflectionUtils.findField(TransactionTokenContextImpl.class, "defaultCommand"); ReflectionUtils.makeAccessible(field); ReserveCommand resultCommand = (ReserveCommand) field.get(contextImpl); assertThat(resultCommand, is(expectedCommand)); }
From source file:at.ac.tuwien.infosys.jcloudscale.server.JCloudScaleServer.java
@Override public byte[] getCloudObjectField(String objectId, String field) { UUID theId = UUID.fromString(objectId); ServerCloudObject sco = this.cloudObjects.get(theId); if (sco == null) throw new JCloudScaleException("Cloud object does not exist in server cache: " + objectId); touchServerCloudObject(sco);//from w w w . ja va 2 s .c o m Object theObject = sco.getObject(); byte[] returnVal = null; try { Field theField = ReflectionUtil.findField(theObject.getClass(), field); ReflectionUtils.makeAccessible(theField); Object val = theField.get(theObject); val = JCloudScaleReferenceManager.getInstance().processField(theField, val); returnVal = SerializationUtil.serializeToByteArray(val); } catch (NoSuchFieldException | SecurityException | IllegalArgumentException | IllegalAccessException | IOException e) { logException(e); throw new JCloudScaleException(e, "Unable to get field value from cloud object"); } return returnVal; }
From source file:com.frank.search.solr.server.support.SolrClientUtils.java
/** * Solr property names do not match the getters/setters used for them. Check * on any write method, try to find the according property and set the value * for it. Will ignore all other, and nested properties * //www. j a v a2s . c o m * @param source * @param target */ private static void copyProperties(SolrClient source, SolrClient target) { BeanWrapperImpl wrapperImpl = new BeanWrapperImpl(source); for (PropertyDescriptor pd : wrapperImpl.getPropertyDescriptors()) { Method writer = pd.getWriteMethod(); if (writer != null) { try { Field property = ReflectionUtils.findField(source.getClass(), pd.getName()); if (property != null) { ReflectionUtils.makeAccessible(property); Object o = ReflectionUtils.getField(property, source); if (o != null) { writer.invoke(target, o); } } } catch (Exception e) { logger.warn("Could not copy property value for: " + pd.getName(), e); } } } }