@@ -93,7 +93,7 @@ class MessageSerializerGenerator {
9393 private final Set <String > imports = new TreeSet <>();
9494
9595 /** Collection of Serializer class fields containing mappers for message enum fields. */
96- private final Set <String > mapperFields = new TreeSet <>();
96+ private final Set <String > fields = new TreeSet <>();
9797
9898 /** */
9999 private final ProcessingEnvironment env ;
@@ -336,7 +336,7 @@ private void returnFalseIfWriteFailed(VariableElement field) throws Exception {
336336
337337 imports .add ("org.apache.ignite.plugin.extensions.communication.MessageCollectionItemType" );
338338
339- returnFalseIfEnumWriteFailed (write , "writer.writeObjectArray" , getExpr ,
339+ returnFalseIfWriteFailed (write , "writer.writeObjectArray" , getExpr ,
340340 "MessageCollectionItemType." + messageCollectionItemType (componentType ));
341341
342342 return ;
@@ -389,13 +389,12 @@ else if (assignableFrom(erasedType(type), type(Collection.class.getName()))) {
389389
390390 imports .add ("org.apache.ignite.plugin.extensions.communication.MessageCollectionItemType" );
391391
392- returnFalseIfEnumWriteFailed (write , "writer.writeCollection" , getExpr ,
392+ returnFalseIfWriteFailed (write , "writer.writeCollection" , getExpr ,
393393 "MessageCollectionItemType." + messageCollectionItemType (typeArgs .get (0 )));
394394 }
395395
396396 else if (enumType (type )) {
397397 //TODO check CustomMapper annotation
398- imports .add ("org.apache.ignite.plugin.extensions.communication.mappers.EnumMapper" );
399398 imports .add ("org.apache.ignite.plugin.extensions.communication.mappers.DefaultEnumMapper" );
400399
401400 Element element = env .getTypeUtils ().asElement (type );
@@ -407,11 +406,11 @@ else if (enumType(type)) {
407406 char [] chars = enumName .toCharArray ();
408407 chars [0 ] = Character .toLowerCase (chars [0 ]);
409408
410- String enumMapperSerializerFieldName = new String (chars ) + "Mapper " ;
409+ String enumValuesFieldName = new String (chars ) + "Vals " ;
411410
412- mapperFields .add ("private final EnumMapper< " + enumName + "> " + enumMapperSerializerFieldName + " = new DefaultEnumMapper<>( " + enumName + ".values() );" );
411+ fields .add ("private final " + enumName + "[] " + enumValuesFieldName + " = " + enumName + ".values();" );
413412
414- returnFalseIfEnumWriteFailed (write , "writer.writeByte" , enumMapperSerializerFieldName + " .encode" , getExpr );
413+ returnFalseIfEnumWriteFailed (write , "writer.writeByte" , "DefaultEnumMapper.INSTANCE .encode" , getExpr );
415414 }
416415
417416 else
@@ -576,9 +575,9 @@ else if (enumType(type)) {
576575 char [] chars = enumName .toCharArray ();
577576 chars [0 ] = Character .toLowerCase (chars [0 ]);
578577
579- String enumMapperSerializerFieldName = new String (chars ) + "Mapper " ;
578+ String enumValuesFieldName = new String (chars ) + "Vals " ;
580579
581- returnFalseIfEnumReadFailed (name , enumMapperSerializerFieldName + ". decode" );
580+ returnFalseIfEnumReadFailed (name , "DefaultEnumMapper.INSTANCE. decode", enumValuesFieldName );
582581 }
583582
584583 else
@@ -706,8 +705,8 @@ private void returnFalseIfReadFailed(String var, String mtd, String... args) {
706705 * @param msgSetterName Variable name.
707706 * @param mapperDecodeCall Method name.
708707 */
709- private void returnFalseIfEnumReadFailed (String msgSetterName , String mapperDecodeCall ) {
710- read .add (line ("msg.%s(%s(reader.readByte()));" , msgSetterName , mapperDecodeCall ));
708+ private void returnFalseIfEnumReadFailed (String msgSetterName , String mapperDecodeCall , String enumValuesFieldName ) {
709+ read .add (line ("msg.%s(%s(%s, reader.readByte()));" , msgSetterName , mapperDecodeCall , enumValuesFieldName ));
711710
712711 read .add (EMPTY );
713712
@@ -753,7 +752,7 @@ private String line(String format, Object... args) {
753752 private void writeClassFields (Writer writer ) throws IOException {
754753 indent = 1 ;
755754
756- for (String field : mapperFields ) {
755+ for (String field : fields ) {
757756 writer .write (line (METHOD_JAVADOC ));
758757 writer .write (NL );
759758 writer .write (line (field ));
@@ -785,8 +784,8 @@ private void writeClassHeader(Writer writer, String pkgName, String serClsName)
785784 imports .add ("org.apache.ignite.plugin.extensions.communication.MessageWriter" );
786785 imports .add ("org.apache.ignite.plugin.extensions.communication.MessageReader" );
787786
788- for (String i : imports )
789- writer .write ("import " + i + ";" + NL );
787+ for (String regularImport : imports )
788+ writer .write ("import " + regularImport + ";" + NL );
790789
791790 writer .write (NL );
792791 writer .write (CLS_JAVADOC );
0 commit comments