Example usage for com.google.gwt.i18n.shared GwtLocale getAsString

List of usage examples for com.google.gwt.i18n.shared GwtLocale getAsString

Introduction

In this page you can find the example usage for com.google.gwt.i18n.shared GwtLocale getAsString.

Prototype

String getAsString();

Source Link

Document

Returns the locale as a fixed-format string suitable for use in searching for localized resources.

Usage

From source file:com.em.validation.rebind.generator.source.MessageGenerator.java

License:Apache License

public ClassDescriptor generateMessage(GwtLocale current) {

    ClassDescriptor descriptor = new ClassDescriptor();
    String localClassName = this.CLASS_NAME;
    if (!current.getAsString().isEmpty()) {
        localClassName = this.CLASS_NAME + "_" + current.getAsString();
    }/*from   w ww. ja  v a 2 s .  co m*/
    descriptor.setClassName(localClassName);
    descriptor.setFullClassName(this.TARGET_PACKAGE + "." + descriptor.getClassName());
    descriptor.setPackageName(this.TARGET_PACKAGE);

    //create locale list
    List<LocaleItem> locales = new ArrayList<LocaleItem>();

    String localeKey = current.getAsString().toUpperCase();

    //create locale
    Locale locale = new Locale(localeKey.toLowerCase());

    //lookup resource bundle
    ResourceBundle bundle = null;
    try {
        bundle = ResourceBundle.getBundle("ValidationMessages", locale);
    } catch (Exception e) {
        try {
            //get from default locale
            bundle = ResourceBundle.getBundle("ValidationMessages");
        } catch (Exception ex) {

        }
    }

    if (bundle != null) {
        Enumeration<String> keys = bundle.getKeys();
        while (keys.hasMoreElements()) {
            String key = keys.nextElement();
            if (key != null) {
                String value = bundle.getString(key);
                LocaleItem item = new LocaleItem();
                item.setKey(key);
                item.setValue(value);

                locales.add(item);
            }
        }
    }

    //create template map
    Map<String, Object> messageModel = new HashMap<String, Object>();
    messageModel.put("targetPackage", descriptor.getPackageName());
    messageModel.put("className", descriptor.getClassName());
    messageModel.put("locales", locales);

    //do template
    descriptor.setClassContents(TemplateController.INSTANCE
            .processTemplate("templates/message/GeneratedMessage.ftl", messageModel));

    return descriptor;
}

From source file:org.jboss.hal.config.rebind.ProductInfoGenerator.java

License:Open Source License

@Override
protected String generate(final TreeLogger logger, final GeneratorContext context) {

    String halVersion = failSafeGetProperty(context.getPropertyOracle(), "hal.version", "n/a");
    String variantValue = failSafeGetProperty(context.getPropertyOracle(), "hal.variant", "COMMUNITY")
            .toUpperCase();//from  w ww  .j  a v  a 2 s  . co m
    Variant variant;
    try {
        variant = Variant.valueOf(variantValue);
    } catch (IllegalArgumentException e) {
        variant = Variant.COMMUNITY;
    }
    LocaleUtils localeUtils = LocaleUtils.getInstance(logger, context.getPropertyOracle(), context);
    Set<GwtLocale> locales = localeUtils.getAllCompileLocales();
    List<String> localeValues = new ArrayList<>();
    for (GwtLocale locale : locales) {
        if (locale.getAsString() != null && locale.getAsString().length() != 0) {
            localeValues.add(locale.getAsString());
        }
    }

    return ClassBuilder.define(PACKAGE_NAME + "." + CLASS_NAME, AbstractProductInfo.class).publicScope()
            .implementsInterface(ProductInfo.class).body().publicConstructor()
            .callSuper(Stmt.loadLiteral(variant), Stmt.loadLiteral(halVersion), Stmt.loadLiteral(localeValues))
            .finish().toJavaString();
}