package com.arondor.common.reflection.reflect.instantiator; import static org.junit.Assert.assertEquals; import java.io.FileNotFoundException; import java.util.ArrayList; import java.util.HashMap; import org.apache.log4j.Logger; import org.junit.Before; import org.junit.Test; import com.arondor.common.reflection.api.instantiator.InstantiationContext; import com.arondor.common.reflection.api.instantiator.ReflectionInstantiator; import com.arondor.common.reflection.bean.config.ObjectConfigurationFactoryBean; import com.arondor.common.reflection.model.config.ElementConfiguration; import com.arondor.common.reflection.model.config.ObjectConfiguration; import com.arondor.common.reflection.model.config.ObjectConfigurationFactory; public class TestSpecialPrimitiveCases { private final static Logger LOG = Logger.getLogger(TestReflectionInstantiatorReflect.class); private InstantiationContext instantationContext; private ReflectionInstantiator reflectionInstantiator; private ObjectConfigurationFactory objectConfigurationFactory = new ObjectConfigurationFactoryBean(); @Before public void initialize() throws FileNotFoundException, ClassNotFoundException, NoSuchMethodException, SecurityException, InstantiationException, IllegalAccessException { ReflectionInstantiator reflectionInstantiator = new ReflectionInstantiatorReflect(); this.reflectionInstantiator = reflectionInstantiator; this.instantationContext = this.reflectionInstantiator.createDefaultInstantiationContext(); // this.parser = new JavaAccessibleClassParser(); } @Test public void testString() { ObjectConfiguration objectConfiguration = objectConfigurationFactory.createObjectConfiguration(); objectConfiguration.setClassName(String.class.getName()); objectConfiguration.setFields(new HashMap<String, ElementConfiguration>()); objectConfiguration.setConstructorArguments(new ArrayList<ElementConfiguration>()); objectConfiguration.getConstructorArguments().add( objectConfigurationFactory.createPrimitiveConfiguration("myValue")); String result = reflectionInstantiator .instanciateObject(objectConfiguration, String.class, instantationContext); assertEquals("myValue", result); } }