Example usage for org.apache.wicket Component getLocalizer

List of usage examples for org.apache.wicket Component getLocalizer

Introduction

In this page you can find the example usage for org.apache.wicket Component getLocalizer.

Prototype

public final Localizer getLocalizer() 

Source Link

Document

Convenience method to provide easy access to the localizer object within any component.

Usage

From source file:com.doculibre.constellio.wicket.links.AdminLinkHolder.java

License:Open Source License

public AdminLinkHolder(String id) {
    super(id, new ComponentModel() {
        @Override/* w w  w  .  j a va  2  s  .  com*/
        protected Object getObject(Component component) {
            return component.getLocalizer().getString("admin", component);
        }
    });
}

From source file:com.doculibre.constellio.wicket.links.SearchLinkHolder.java

License:Open Source License

public SearchLinkHolder(String id) {
    super(id, new ComponentModel() {
        @Override//from  w  w w  .  j a v a2 s  . c  o m
        protected Object getObject(Component component) {
            return component.getLocalizer().getString("search", component);
        }
    });
}

From source file:com.doculibre.constellio.wicket.links.SignInLinkHolder.java

License:Open Source License

public SignInLinkHolder(String id) {
    super(id, new ComponentModel() {
        @Override/*from  ww w .  ja  va2 s .  c  o m*/
        protected Object getObject(Component component) {
            return component.getLocalizer().getString("signIn", component);
        }
    });
}

From source file:com.doculibre.constellio.wicket.links.SignOutLinkHolder.java

License:Open Source License

public SignOutLinkHolder(String id) {
    super(id, new ComponentModel() {
        @Override/*  ww  w.  j a  v  a2 s  . c om*/
        protected Object getObject(Component component) {
            return component.getLocalizer().getString("signOut", component);
        }
    });
}

From source file:com.googlecode.wicketwebbeans.fields.DateTimeField.java

License:Apache License

/**
 * Construct a new DateTimeField./*w  w w  .  j  ava 2  s  .com*/
 *
 * @param id the Wicket id for the editor.
 * @param model the model.
 * @param metaData the meta data for the property.
 * @param viewOnly true if the component should be view-only.
 */
public DateTimeField(String id, IModel<Date> model, ElementMetaData metaData, boolean viewOnly) {
    super(id, model, metaData, viewOnly);

    type = metaData.getPropertyType();
    boolean displayTz = false;
    Component metaDataComponent = metaData.getBeanMetaData().getComponent();
    Localizer localizer = metaDataComponent.getLocalizer();
    if (Time.class.isAssignableFrom(type)) {
        fmt = localizer.getString(DATE_TIME_FIELD_PREFIX + "time" + FORMAT_SUFFIX, metaDataComponent,
                TIME_FMT_STR);
    } else if (java.sql.Date.class.isAssignableFrom(type)) {
        fmt = localizer.getString(DATE_TIME_FIELD_PREFIX + "date" + FORMAT_SUFFIX, metaDataComponent,
                DATE_FMT_STR);
    } else if (Calendar.class.isAssignableFrom(type)) {
        fmt = viewOnly
                ? localizer.getString(DATE_TIME_FIELD_PREFIX + "datetimetz" + FORMAT_SUFFIX, metaDataComponent,
                        DATE_TIME_ZONE_FMT_STR)
                : localizer.getString(DATE_TIME_FIELD_PREFIX + "datetime" + FORMAT_SUFFIX, metaDataComponent,
                        DATE_TIME_FMT_STR);
        displayTz = true;
    } else { // if (Date.class.isAssignableFrom(type) || Timestamp.class.isAssignableFrom(type)) 
        fmt = localizer.getString(DATE_TIME_FIELD_PREFIX + "datetime" + FORMAT_SUFFIX, metaDataComponent,
                DATE_TIME_FMT_STR);
    }

    String customFmt = getFormat();
    if (customFmt != null) {
        fmt = customFmt;
    }

    final InternalDateConverter converter = new InternalDateConverter();
    Fragment fragment;
    if (viewOnly) {
        fragment = new Fragment("frag", "viewer");
        Label label = new LabelWithMinSize("date", model) {
            private static final long serialVersionUID = 1L;

            @Override
            public IConverter getConverter(Class type) {
                return converter;
            }
        };

        fragment.add(label);
    } else {
        fragment = new Fragment("frag", "editor");

        final FormComponent dateField = new DateTextField("dateTextField", model) {
            private static final long serialVersionUID = 1L;

            @Override
            public IConverter getConverter(Class type) {
                return converter;
            }
        };

        setFieldParameters(dateField);
        fragment.add(dateField);

        DatePickerSettings settings = new DatePickerSettings();
        settings.setStyle(settings.newStyleWinter());
        settings.setIcon(new ResourceReference(this.getClass(), "calendar.gif"));

        DatePicker picker = new PopupDatePicker("datePicker", dateField, settings);
        // This sucks! It expects a DateConverter. I've got my own.
        DateConverter dateConverter = new DateConverter() {
            private static final long serialVersionUID = 1L;

            @Override
            public DateFormat getDateFormat(Locale locale) {
                SimpleDateFormat dateFmt = new SimpleDateFormat(fmt);
                dateFmt.setTimeZone(TimeZone.getTimeZone("GMT"));
                return dateFmt;
            }

            @Override
            protected Class getTargetType() {
                return type;
            }

        };

        picker.setDateConverter(dateConverter);
        fragment.add(picker);

        if (displayTz) {
            Label label = new Label("timezone", model) {
                private static final long serialVersionUID = 1L;

                @Override
                public IConverter getConverter(Class type) {
                    return new TimeZoneConverter();
                }
            };

            fragment.add(label);
        } else {
            fragment.add(new Label("timezone", ""));
        }
    }

    add(fragment);
}

From source file:com.googlecode.wicketwebbeans.fields.YUIDateField.java

License:Apache License

/**
 * Construct a new YUIDateField./*w  w w.  j  a v  a  2 s.c o m*/
 *
 * @param id the Wicket id for the editor.
 * @param model the model.
 * @param metaData the meta data for the property.
 * @param viewOnly true if the component should be view-only.
 */
public YUIDateField(String id, IModel<Date> model, ElementMetaData metaData, boolean viewOnly) {
    super(id, model, metaData, viewOnly);

    type = metaData.getPropertyType();
    boolean displayTz = false;
    Component metaDataComponent = metaData.getBeanMetaData().getComponent();
    Localizer localizer = metaDataComponent.getLocalizer();
    if (Time.class.isAssignableFrom(type) || java.sql.Date.class.isAssignableFrom(type)
            || Date.class.isAssignableFrom(type) || Timestamp.class.isAssignableFrom(type)) {
        fmt = localizer.getString(DATE_TIME_FIELD_PREFIX + "date" + FORMAT_SUFFIX, metaDataComponent,
                DATE_FMT_STR);
    } else if (Calendar.class.isAssignableFrom(type)) {
        fmt = viewOnly
                ? localizer.getString(DATE_TIME_FIELD_PREFIX + "datetz" + FORMAT_SUFFIX, metaDataComponent,
                        DATE_ZONE_FMT_STR)
                : localizer.getString(DATE_TIME_FIELD_PREFIX + "date" + FORMAT_SUFFIX, metaDataComponent,
                        DATE_FMT_STR);
        displayTz = true;
    } else {
        throw new RuntimeException("YUIDateField does not handle " + type);
    }

    String customFmt = getFormat();
    if (customFmt != null) {
        fmt = customFmt;
    }

    Fragment fragment;
    if (viewOnly) {
        fragment = new Fragment("frag", "viewer");
        fragment.add(DateLabel.withConverter("date", model, new InternalDateConverter()));
    } else {
        fragment = new Fragment("frag", "editor");

        FormComponent dateField = DateTextField.withConverter("dateTextField", model,
                new InternalDateConverter());
        setFieldParameters(dateField);
        fragment.add(dateField);

        dateField.add(new DatePicker() {
            private static final long serialVersionUID = 1L;

            @Override
            protected boolean enableMonthYearSelection() {
                return false;
            }

            @Override
            protected CharSequence getIconUrl() {
                return RequestCycle.get().urlFor(new ResourceReference(YUIDateField.class, "calendar.gif"));
            }
        });

        if (displayTz) {
            DateLabel tzLabel = DateLabel.withConverter("timezone", model, new TimeZoneConverter());
            fragment.add(tzLabel);
        } else {
            fragment.add(new Label("timezone", "").setVisible(false));
        }
    }

    add(fragment);
}

From source file:com.googlecode.wicketwebbeans.util.WicketUtil.java

License:Apache License

/**
 * Substitutes macros of the form "${key}" in string to the corresponding value of
 * "key" in localizer. /*from   w  w w .j  a  va2  s.c om*/
 *
 * @param string the input string containing the macros.
 * @param component the component whose Localizer is used to localize the string.
 * 
 * @return a String with the macros expanded. If a macro key cannot be found in 
 *  localizer, the macro is substituted with "?string?".
 */
public static String substituteMacros(String string, Component component) {
    Localizer localizer = component.getLocalizer();
    StringBuilder buf = new StringBuilder(string);
    int idx = 0;
    while ((idx = buf.indexOf("${", idx)) >= 0) {
        int endIdx = buf.indexOf("}", idx + 2);
        if (endIdx > 0) {
            String key = buf.substring(idx + 2, endIdx);
            String value = localizer.getString(key, component, '?' + key + '?');
            if (value != null) {
                buf.replace(idx, endIdx + 1, value);
            } else {
                // Nothing found, skip macro.
                idx += 2;
            }
        }
    }

    return buf.toString();
}

From source file:gr.abiss.calipso.domain.ColumnHeading.java

License:Open Source License

private String localize(String key, Component c) {
    return c.getLocalizer().getString("item_list." + key, c);
}

From source file:gr.abiss.calipso.domain.PageDictionary.java

License:Open Source License

public String getDescription(Component component) {
    if (this.localizedKey != null) {
        return component.getLocalizer().getString(this.localizedKey, null);
    } //if/*from  w w w  .j a v a 2 s. co  m*/

    return this.pageDescription;
}

From source file:gr.abiss.calipso.util.PdfUtils.java

License:Open Source License

public static byte[] getPdf(CalipsoService calipso, Asset asset, Component callerComponent) {
    ByteArrayOutputStream os = new ByteArrayOutputStream();
    String html = null;/*from w w  w  .jav  a2  s. c o  m*/
    try {
        Localizer localizer = callerComponent.getLocalizer();
        String template = calipso.getPrintTemplateTextForAsset(asset.getId());// asset.getAssetType().getPrintingTemplate().getTemplateText();
        if (template != null) {
            // template exists, use it
            Reader templateReader = new StringReader(template);
            // create a Velocity context object and add the asset
            final VelocityContext context = new VelocityContext();
            context.put("rootAsset", asset);
            context.put("calipso", calipso);
            // create a writer for capturing the Velocity output
            StringWriter writer = new StringWriter();
            // execute the velocity script and capture the output in writer
            Velocity.evaluate(context, writer, asset.getInventoryCode(), templateReader);
            // get the output as a string
            html = writer.getBuffer().toString();
            // logger.debug("Velocity result: \n"+html);
        } else {
            StringBuffer htmlBuffer = getDefaultHeader();
            htmlBuffer
                    .append("<h1>").append(localizer
                            .getString(asset.getAssetType().getNameTranslationResourceKey(), callerComponent))
                    .append("</h1>");
            htmlBuffer.append("<table cellspacing='0'>");
            htmlBuffer.append("<tr><th>")
                    .append(localizer.getString("asset.form.inventoryCode", callerComponent))
                    .append("</th><td>").append(asset.getInventoryCode());
            htmlBuffer.append("</td></tr>");
            if (MapUtils.isNotEmpty(asset.getCustomAttributes())) {
                Map<AssetTypeCustomAttribute, String> attrs = asset.getCustomAttributes();
                for (Entry<AssetTypeCustomAttribute, String> entry : attrs.entrySet()) {
                    AssetTypeCustomAttribute customAttr = entry.getKey();
                    htmlBuffer
                            .append("<tr><th>").append(localizer
                                    .getString(customAttr.getNameTranslationResourceKey(), callerComponent))
                            .append("</th><td>");

                    if (customAttr.getFormType().equals(AssetTypeCustomAttribute.FORM_TYPE_SELECT) || customAttr
                            .getFormType().equals(AssetTypeCustomAttribute.FORM_TYPE_OPTIONS_TREE)) {
                        htmlBuffer.append(XmlUtils.escapeHTML(localizer
                                .getString(customAttr.getLookupValue().getNameTranslationResourceKey(), null)));
                    } else if (customAttr.getFormType().equals(AssetTypeCustomAttribute.FORM_TYPE_USER)) {
                        User user = customAttr.getUserValue();
                        htmlBuffer.append(user != null ? XmlUtils.escapeHTML(user.getFullName()) : "");
                    } else if (customAttr.getFormType()
                            .equals(AssetTypeCustomAttribute.FORM_TYPE_ORGANIZATION)) {
                        Organization org = customAttr.getOrganizationValue();
                        htmlBuffer.append(org != null ? XmlUtils.escapeHTML(org.getName()) : "");
                    } else if (customAttr.getFormType().equals(AssetTypeCustomAttribute.FORM_TYPE_ASSET)) {
                        Asset innerAsset = customAttr.getAssetValue();
                        htmlBuffer.append(
                                innerAsset != null ? XmlUtils.escapeHTML(innerAsset.getInventoryCode()) : "");
                    } else if (customAttr.getFormType().equals(AssetTypeCustomAttribute.FORM_TYPE_COUNTRY)) {
                        Country country = customAttr.getCountryValue();
                        htmlBuffer.append(country != null
                                ? localizer.getString("country." + country.getId(), callerComponent)
                                : "");
                    } else {
                        htmlBuffer.append(XmlUtils.escapeHTML(entry.getValue()));
                    }
                    htmlBuffer.append("</td></tr>");
                }
            }
            htmlBuffer.append("</table>");

            htmlBuffer.append("</body></html>");
            html = htmlBuffer.toString();
        }
        // convert HTML string to PDF and store it in the buffer output stream 
    } catch (Exception e) {
        logger.error("Failed to creare PDF for asset, html: \n" + html, e);
    }
    writePdf(calipso, os, html);
    return os.toByteArray();
}