Description
Using fixture-factory-3.1.0, when fixture-factory trying to build this object
`public class ContactTemplate implements TemplateLoader
{
@OverRide public void load()
{
Fixture.of(Contact.class).addTemplate("valid", new Rule()
{
{
add("id", random(Long.class, range(1L, 10000L)));
add("codeUserClient", regex("[A-Za-z]{5,10}"));
add("locale", new Locale("es","ES"));
add("startDate", instant("now"));
add("endDate", instant("tomorrow"));
}
});
Fixture.of(Contact.class).addTemplate("repository").inherits("valid", new Rule()
{
{
add("id",null);
}
});
}
}
`
For this bean:
**`
@entity
@table(name = "AX_CONTACT")
public class Contact implements Serializable
{
private static final long serialVersionUID = 1L;
@Id
@GenericGenerator(name = "seq", strategy = "enhanced-sequence", parameters = {
@org.hibernate.annotations.Parameter(name = "optimizer", value = "pooled"),
@org.hibernate.annotations.Parameter(name = "sequence_name", value = "SEQ_AX_CONTACT"),
@org.hibernate.annotations.Parameter(name = "initial_value", value = "1"),
@org.hibernate.annotations.Parameter(name = "increment_size", value = "1")
})
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "seq")
@Column(name = "ID", length = 10, nullable = false)
private Long id;
@Column(name = "CODE_USER_CLIENT", nullable = false, length = 250)
private String codeUserClient;
@Column(name = "LANG", nullable = false, length = 5)
@Type(type = "locale")
private Locale locale;
@Column(name = "START_DATE",
nullable = false)
private LocalDate startDate;
@Column(name = "END_DATE")
private LocalDate endDate;
public Contact()
{
// empty constructor
}
public Long getId()
{
return id;
}
public void setId(Long id)
{
this.id = id;
}
public String getCodeUserClient()
{
return codeUserClient;
}
public void setCodeUserClient(String codeUserClient)
{
this.codeUserClient = codeUserClient;
}
public Locale getLocale()
{
return locale;
}
public void setLocale(Locale locale)
{
this.locale = locale;
}
public LocalDate getStartDate()
{
return startDate;
}
public void setStartDate(LocalDate startDate)
{
this.startDate = startDate;
}
public LocalDate getEndDate()
{
return endDate;
}
public void setEndDate(LocalDate endDate)
{
this.endDate = endDate;
}
@Override
public String toString()
{
return "Contact{" + "id=" + id + ", codeUserClient='" + codeUserClient + '\'' + ", locale=" + locale + ", startDate=" + startDate
+ ", endDate=" + endDate + '}';
}
}
`
Using this way:
Contact contact = Fixture.from(Contact.class).uses(getHibernateProcessor()).gimme("repository");
it fires the next exception.
java.lang.IllegalArgumentException: Incorrect type for transformer: java.time.LocalDate at br.com.six2six.fixturefactory.transformer.CalendarTransformer.transform(CalendarTransformer.java:38) at br.com.six2six.fixturefactory.transformer.TransformerChain.transform(TransformerChain.java:14) at br.com.six2six.fixturefactory.transformer.TransformerChain.transform(TransformerChain.java:18) at br.com.six2six.fixturefactory.ObjectFactory.processPropertyValue(ObjectFactory.java:240) at br.com.six2six.fixturefactory.ObjectFactory.createObject(ObjectFactory.java:121) at br.com.six2six.fixturefactory.ObjectFactory.gimme(ObjectFactory.java:62) at com.axpo.axiom.dbaccess.test.ContactRepositoryTest.testSaveAndFindOne(ContactRepositoryTest.java:28) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86) at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:252) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:94) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:191) at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:252) at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:141) at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:112) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189) at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165) at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75)
¿What is the problem?