com.webbfontaine.valuewebb.model.converters.ToAsciiStringConverter.java Source code

Java tutorial

Introduction

Here is the source code for com.webbfontaine.valuewebb.model.converters.ToAsciiStringConverter.java

Source

package com.webbfontaine.valuewebb.model.converters;

import org.apache.commons.lang3.StringUtils;
import org.jboss.seam.ScopeType;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Scope;
import org.jboss.seam.annotations.Startup;

import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;

/**
 * Copyrights 2002-2010 Webb Fontaine
 * This software is the proprietary information of Webb Fontaine.
 * Its use is subject to License terms.
 * User: nigiyan
 * Date: Feb 5, 2010
 */

public class ToAsciiStringConverter extends ToStringConverter {

    private static String UNICODE_TO_ASCII_CONF;

    @Override
    public Object getAsObject(FacesContext facesContext, UIComponent uiComponent, String s) {

        String convertedValue = (String) super.getAsObject(facesContext, uiComponent, s);

        if (convertedValue != null) {
            convertedValue = convertToAscii(convertedValue);
        }
        return convertedValue;
    }

    private static String convertToAscii(String mixedString) {

        if (StringUtils.isEmpty(UNICODE_TO_ASCII_CONF)) {
            return mixedString;
        }

        String[] unicodeToAsciiPairs = UNICODE_TO_ASCII_CONF.split(",");

        for (String unicodeToAsciiPair : unicodeToAsciiPairs) {
            String[] mapping = unicodeToAsciiPair.split(":");
            String unicodeSymbol = mapping[0];
            String asciiSymbol = mapping[1];
            mixedString = mixedString.replaceAll(unicodeSymbol, asciiSymbol);
        }
        return mixedString;
    }

    public static String getUNICODE_TO_ASCII_CONF() {
        return UNICODE_TO_ASCII_CONF;
    }

    public static void setUNICODE_TO_ASCII_CONF(String UNICODE_TO_ASCII_CONF) {
        ToAsciiStringConverter.UNICODE_TO_ASCII_CONF = UNICODE_TO_ASCII_CONF;
    }
}