2

My application uses BlazeDS for communication between Flex and Java. I'm using Spring for BlazeDS integration in Java.

I have an enum called TransactionStatus. On the flex side, the corresponding properties are set as integers. I'm trying to use custom converters to handle this conversion. Here are my converters:

public class TransactionStatusIntConverter implements Converter<TransactionStatus, Integer> {

    @Override
    public Integer convert(TransactionStatus src) {
        if(src == null){
            return 0;
        } else {
            return src.getValue();
        }
    }

}

And

public class IntTransactionStatusConverter implements Converter<Integer, TransactionStatus> {

    @Override
    public TransactionStatus convert(Integer src) {
        return TransactionStatus.fromInt(src);
    }

}

When sending data from the Flex client to Java, the conversion succeeds and I get a TransactionStatus instance as expected. But when sending data from Java to Flex, the conversion function is never executed. Both the converters are definitely registered in my ConfigProcessor class

@Override
protected void configureConverters(ConverterRegistry registry) {
    registry.addConverter(new IntTransactionStatusConverter());
    registry.addConverter(new TransactionStatusIntConverter());
}

What's going on here?

Akshay
  • 1,606
  • 3
  • 17
  • 32

0 Answers0