Author: tchemit Date: 2010-12-29 17:13:06 +0100 (Wed, 29 Dec 2010) New Revision: 2174 Url: http://nuiton.org/repositories/revision/topia/2174 Log: Evolution #1181: Refactor BinderHelper to use new nuiton-utils Binder api (BE WARE, api has changed and is not compatible with previous) Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/BinderHelperTransformer.java trunk/topia-persistence/src/test/java/org/nuiton/topia/persistence/util/TopiaEntityBinderTest.java Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/BinderHelperTransformer.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/BinderHelperTransformer.java 2010-12-29 15:31:30 UTC (rev 2173) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/BinderHelperTransformer.java 2010-12-29 16:13:06 UTC (rev 2174) @@ -35,8 +35,8 @@ import org.nuiton.topia.persistence.TopiaEntity; import org.nuiton.topia.persistence.util.TopiaEntityBinder; import org.nuiton.topia.persistence.util.TopiaEntityHelper; -import org.nuiton.util.beans.BinderBuilder; -import org.nuiton.util.beans.BinderProvider; +import org.nuiton.util.beans.BinderModelBuilder; +import org.nuiton.util.beans.BinderFactory; import java.util.ArrayList; import java.util.Iterator; @@ -80,13 +80,13 @@ resultClass = createClass(binderHelperClazzName, packageName); - setSuperClass(resultClass, BinderProvider.class); + setSuperClass(resultClass, BinderFactory.class); addImport(resultClass, TopiaEntityBinder.class); addImport(resultClass, TopiaEntityHelper.class); addImport(resultClass, TopiaEntity.class); - addImport(resultClass, BinderBuilder.class); + addImport(resultClass, BinderModelBuilder.class); ObjectModelOperation op; @@ -99,7 +99,7 @@ addParameter(op, "String", "contextName"); setOperationBody(op, "" /*{ - return (TopiaEntityBinder<E>) getBinder(entityClass, contextName); + return (TopiaEntityBinder<E>) newBinder(entityClass, entityClass, contextName, TopiaEntityBinder.class); }*/ ); @@ -120,11 +120,11 @@ "void", ObjectModelModifier.PUBLIC, ObjectModelModifier.STATIC); - addParameter(op, "BinderBuilder", "builder"); + addParameter(op, "BinderModelBuilder", "builder"); addParameter(op, "String", "contextName"); setOperationBody(op, "" /*{ - BinderProvider.registerBinder(builder, TopiaEntityBinder.class, contextName); + registerBinderModel(builder, contextName); }*/ ); @@ -134,11 +134,11 @@ ObjectModelModifier.PUBLIC, ObjectModelModifier.STATIC); addParameter(op, "Class<E>", "entityClass"); - addParameter(op, "BinderBuilder", "builder"); + addParameter(op, "BinderModelBuilder", "builder"); addParameter(op, "String", "contextName"); setOperationBody(op, "" /*{ - BinderProvider.registerBinder(builder, TopiaEntityBinder.class, contextName); + registerBinderModel(builder, contextName); return getTopiaBinder(entityClass, contextName); }*/ ); @@ -184,11 +184,6 @@ StringBuilder initCode = new StringBuilder(); - initCode.append("" -/*{ - BinderBuilder builder = new BinderBuilder(); -}*/ - ); for (ObjectModelClass clazz : classes) { String prefix = getConstantPrefix(clazz, ""); @@ -218,7 +213,10 @@ ); } - protected void generateBinder(String modelName, ObjectModelClass clazz, ObjectModelClass resultClass, StringBuilder initCode) { + protected void generateBinder(String modelName, + ObjectModelClass clazz, + ObjectModelClass resultClass, + StringBuilder initCode) { List<ObjectModelAttribute> list = new ArrayList<ObjectModelAttribute>(); for (ObjectModelAttribute attr : clazz.getAttributes()) { @@ -245,15 +243,15 @@ return; } - if (log.isDebugEnabled()) { log.debug("generate simple binder for " + clazzName); } addImport(resultClass, clazz); initCode.append("" /*{ - builder.createBinderModel(<%=clazzName%>.class); - builder.addSimpleProperties( + BinderModelBuilder<<%=clazzName%>, <%=clazzName%>> builder<%=clazzName%> = + BinderModelBuilder.newEmptyBuilder(<%=clazzName%>.class); + builder<%=clazzName%>.addSimpleProperties( }*/ ); Iterator<ObjectModelAttribute> itr = list.iterator(); @@ -268,7 +266,7 @@ initCode.append("" /*{ ); - registerTopiaBinder(builder, "<%=modelName%>"); + registerTopiaBinder(builder<%=clazzName%>, "<%=modelName%>"); }*/ ); } Modified: trunk/topia-persistence/src/test/java/org/nuiton/topia/persistence/util/TopiaEntityBinderTest.java =================================================================== --- trunk/topia-persistence/src/test/java/org/nuiton/topia/persistence/util/TopiaEntityBinderTest.java 2010-12-29 15:31:30 UTC (rev 2173) +++ trunk/topia-persistence/src/test/java/org/nuiton/topia/persistence/util/TopiaEntityBinderTest.java 2010-12-29 16:13:06 UTC (rev 2174) @@ -25,6 +25,7 @@ package org.nuiton.topia.persistence.util; +import org.junit.AfterClass; import org.junit.Assert; import org.junit.Before; import org.junit.BeforeClass; @@ -34,8 +35,8 @@ import org.nuiton.topia.persistence.TopiaEntityEnum; import org.nuiton.topiatest.Company; import org.nuiton.util.beans.Binder; -import org.nuiton.util.beans.BinderBuilder; -import org.nuiton.util.beans.BinderProvider; +import org.nuiton.util.beans.BinderFactory; +import org.nuiton.util.beans.BinderModelBuilder; public class TopiaEntityBinderTest { @@ -81,20 +82,24 @@ @Before public void setUp() { - BinderProvider.clear(); + BinderFactory.clear(); } + @AfterClass + public static void afterClass() { + BinderFactory.clear(); + } + @Test public void testBinder() { - BinderBuilder builder = new BinderBuilder(); - builder.createBinderModel(Company.class, CompanyDTO.class); + BinderModelBuilder<Company, CompanyDTO> builder = BinderModelBuilder.newEmptyBuilder(Company.class, CompanyDTO.class); builder.addSimpleProperties(Company.PROPERTY_NAME, Company.PROPERTY_SIRET); builder.addProperties(TopiaEntity.TOPIA_ID, "id"); - BinderProvider.registerBinder(builder); + BinderFactory.registerBinderModel(builder); Binder<Company, CompanyDTO> binder = - BinderProvider.getBinder(Company.class, CompanyDTO.class); + BinderFactory.newBinder(Company.class, CompanyDTO.class); Assert.assertNotNull(binder); } }