List of usage examples for org.apache.wicket Localizer getString
public String getString(final String key, final Component component) throws MissingResourceException
From source file:com.gitblit.wicket.panels.ProjectRepositoryPanel.java
License:Apache License
public ProjectRepositoryPanel(String wicketId, Localizer localizer, Component parent, final boolean isAdmin, final RepositoryModel entry, final Map<AccessRestrictionType, String> accessRestrictions) { super(wicketId); final boolean showSwatch = app().settings().getBoolean(Keys.web.repositoryListSwatches, true); final boolean showSize = app().settings().getBoolean(Keys.web.showRepositorySizes, true); PageParameters pp = WicketUtils.newRepositoryParameter(entry.name); add(new LinkPanel("repositoryName", "list", StringUtils.getRelativePath(entry.projectPath, StringUtils.stripDotGit(entry.name)), SummaryPage.class, pp)); add(new Label("repositoryDescription", entry.description) .setVisible(!StringUtils.isEmpty(entry.description))); Fragment iconFragment;/*from w w w . ja v a2s.co m*/ if (entry.isMirror) { iconFragment = new Fragment("repoIcon", "mirrorIconFragment", ProjectRepositoryPanel.this); } else if (entry.isFork()) { iconFragment = new Fragment("repoIcon", "forkIconFragment", ProjectRepositoryPanel.this); } else if (entry.isBare) { iconFragment = new Fragment("repoIcon", "repoIconFragment", ProjectRepositoryPanel.this); } else { iconFragment = new Fragment("repoIcon", "cloneIconFragment", ProjectRepositoryPanel.this); } if (showSwatch) { WicketUtils.setCssStyle(iconFragment, "color:" + StringUtils.getColor(entry.toString())); } add(iconFragment); if (StringUtils.isEmpty(entry.originRepository)) { add(new Label("originRepository").setVisible(false)); } else { Fragment forkFrag = new Fragment("originRepository", "originFragment", ProjectRepositoryPanel.this); forkFrag.add(new LinkPanel("originRepository", null, StringUtils.stripDotGit(entry.originRepository), SummaryPage.class, WicketUtils.newRepositoryParameter(entry.originRepository))); add(forkFrag); } if (entry.isSparkleshared()) { add(WicketUtils.newImage("sparkleshareIcon", "star_16x16.png", localizer.getString("gb.isSparkleshared", parent))); } else { add(WicketUtils.newClearPixel("sparkleshareIcon").setVisible(false)); } if (!entry.isMirror && entry.isFrozen) { add(WicketUtils.newImage("frozenIcon", "cold_16x16.png", localizer.getString("gb.isFrozen", parent))); } else { add(WicketUtils.newClearPixel("frozenIcon").setVisible(false)); } if (entry.isFederated) { add(WicketUtils.newImage("federatedIcon", "federated_16x16.png", localizer.getString("gb.isFederated", parent))); } else { add(WicketUtils.newClearPixel("federatedIcon").setVisible(false)); } if (ArrayUtils.isEmpty(entry.owners)) { add(new Label("repositoryOwner").setVisible(false)); } else { String owner = ""; for (String username : entry.owners) { UserModel ownerModel = app().users().getUserModel(username); if (ownerModel != null) { owner = ownerModel.getDisplayName(); } } if (entry.owners.size() > 1) { owner += ", ..."; } Label ownerLabel = (new Label("repositoryOwner", owner + " (" + localizer.getString("gb.owner", parent) + ")")); WicketUtils.setHtmlTooltip(ownerLabel, ArrayUtils.toString(entry.owners)); add(ownerLabel); } UserModel user = GitBlitWebSession.get().getUser(); if (user == null) { user = UserModel.ANONYMOUS; } Fragment repositoryLinks; if (user.canAdmin(entry)) { repositoryLinks = new Fragment("repositoryLinks", "repositoryOwnerLinks", ProjectRepositoryPanel.this); repositoryLinks.add(new BookmarkablePageLink<Void>("editRepository", EditRepositoryPage.class, WicketUtils.newRepositoryParameter(entry.name))); } else { repositoryLinks = new Fragment("repositoryLinks", "repositoryUserLinks", ProjectRepositoryPanel.this); } repositoryLinks.add(new BookmarkablePageLink<Void>("tree", TreePage.class, WicketUtils.newRepositoryParameter(entry.name)).setEnabled(entry.hasCommits)); repositoryLinks.add( new BookmarkablePageLink<Void>("log", LogPage.class, WicketUtils.newRepositoryParameter(entry.name)) .setEnabled(entry.hasCommits)); add(repositoryLinks); String lastChange; if (entry.lastChange.getTime() == 0) { lastChange = "--"; } else { lastChange = getTimeUtils().timeAgo(entry.lastChange); } Label lastChangeLabel = new Label("repositoryLastChange", lastChange); add(lastChangeLabel); WicketUtils.setCssClass(lastChangeLabel, getTimeUtils().timeAgoCss(entry.lastChange)); if (entry.hasCommits) { // Existing repository add(new Label("repositorySize", entry.size).setVisible(showSize)); } else { // New repository add(new Label("repositorySize", localizer.getString("gb.empty", parent)).setEscapeModelStrings(false)); } add(new ExternalLink("syndication", SyndicationServlet .asLink(GitBlitRequestUtils.getRelativePathPrefixToContextRoot(), entry.name, null, 0))); }
From source file:dk.frankbille.scoreboard.components.GameTeamPanel.java
License:Open Source License
public GameTeamPanel(String id, final IModel<GameTeam> model, final IModel<Player> selectedPlayerModel, final RatingCalculator rating) { super(id, model); final IModel<List<Player>> playersModel = new LoadableDetachableModel<List<Player>>() { private static final long serialVersionUID = 1L; @Override// ww w . j av a2 s . c om protected List<Player> load() { GameTeam gameTeam = model.getObject(); Team team = gameTeam.getTeam(); List<Player> players = new ArrayList<Player>(team.getPlayers()); Collections.sort(players, new PlayerComparator()); return players; } }; WebMarkupContainer gameTeamPanel = new WebMarkupContainer("gameTeamPanel"); add(gameTeamPanel); // Popover - Only show if RatingCalculator is available if (rating != null) { gameTeamPanel.add(new PopoverBehavior(new StringResourceModel("rating", null), new AbstractReadOnlyModel<CharSequence>() { private static final long serialVersionUID = 1L; @Override public CharSequence getObject() { StringBuilder b = new StringBuilder(); b.append("<small>"); GameTeam gameTeam = model.getObject(); List<Player> players = playersModel.getObject(); Localizer localizer = Application.get().getResourceSettings().getLocalizer(); // Player ratings for (Player player : players) { b.append(player.getName()).append(": "); GamePlayerRatingInterface playerRating = rating .getGamePlayerRating(gameTeam.getGame().getId(), player.getId()); b.append(RATING_VALUE.format(playerRating.getRating())); b.append(" <sup>"); b.append(RATING_CHANGE.format(playerRating.getChange())); b.append("</sup><br>"); } // Team rating GameRatingInterface gameRatingChange = rating .getGameRatingChange(gameTeam.getGame().getId()); b.append("<strong>"); b.append(localizer.getString("team", GameTeamPanel.this)).append(": "); b.append(RATING_VALUE.format(gameRatingChange.getRating(gameTeam.getId()))); b.append(" "); double change = gameRatingChange.getChange(gameTeam.getId()); int playerCount = players.size(); if (playerCount > 0) { change /= playerCount; } b.append(" <sup>"); b.append(RATING_CHANGE.format(change)); b.append("</sup></strong></small>"); return b; } })); } // Players gameTeamPanel.add(new ListView<Player>("players", playersModel) { private static final long serialVersionUID = 1L; @Override protected void populateItem(final ListItem<Player> item) { final Player player = item.getModelObject(); PageParameters pp = new PageParameters(); pp.set(0, player.getId()); BookmarkablePageLink<Void> playerLink = new BookmarkablePageLink<Void>("playerLink", PlayerPage.class, pp); item.add(playerLink); playerLink.add(new Label("name", new PropertyModel<String>(item.getModel(), "name"))); item.add(new Label("plus", "+") { private static final long serialVersionUID = 1L; @Override public boolean isVisible() { return item.getIndex() < getViewSize() - 1; } }); } }); }
From source file:dk.frankbille.scoreboard.components.PlayerStatisticsPanel.java
License:Open Source License
public PlayerStatisticsPanel(String id, final IModel<Player> selectedPlayerModel, final League league, final RatingCalculator rating) { super(id);/*from w w w . j av a2 s.c om*/ IModel<List<PlayerResult>> playerResultsModel = new LoadableDetachableModel<List<PlayerResult>>() { private static final long serialVersionUID = 1L; @Override protected List<PlayerResult> load() { List<PlayerResult> playerResults = scoreBoardService.getPlayerResults(league); Collections.sort(playerResults, new Comparator<PlayerResult>() { @Override public int compare(PlayerResult o1, PlayerResult o2) { double rating1 = rating.getPlayerRating(o1.getPlayer().getId()).getRating(); Double rating2 = rating.getPlayerRating(o2.getPlayer().getId()).getRating(); int compare = rating2.compareTo(rating1); if (compare == 0) { compare = new Double(o2.getGamesWonRatio()).compareTo(o1.getGamesWonRatio()); } if (compare == 0) { compare = new Integer(o2.getGamesWon()).compareTo(o1.getGamesWon()); } if (compare == 0) { compare = new Integer(o1.getGamesLost()).compareTo(o2.getGamesLost()); } if (compare == 0) { compare = new Integer(o1.getGamesCount()).compareTo(o2.getGamesCount()); } if (compare == 0) { compare = o1.getPlayer().getName().compareTo(o2.getPlayer().getName()); } if (compare == 0) { compare = o1.getPlayer().getId().compareTo(o2.getPlayer().getId()); } return compare; } }); return playerResults; } }; add(new ListView<PlayerResult>("players", playerResultsModel) { private static final long serialVersionUID = 1L; @Override protected void populateItem(final ListItem<PlayerResult> item) { final PlayerResult playerResult = item.getModelObject(); Player player = playerResult.getPlayer(); Player selectedPlayer = selectedPlayerModel.getObject(); item.add(new TooltipBehavior(new AbstractReadOnlyModel<CharSequence>() { private static final long serialVersionUID = 1L; @Override public CharSequence getObject() { StringBuilder b = new StringBuilder(); Localizer localizer = Application.get().getResourceSettings().getLocalizer(); b.append(localizer.getString("won", item)).append(": ").append(playerResult.getGamesWon()); b.append(", "); b.append(localizer.getString("lost", item)).append(": ") .append(playerResult.getGamesLost()); return b; } })); item.add(RowColorModifier.create(item)); if (selectedPlayer != null && player.getId().equals(selectedPlayer.getId())) { item.add(new AttributeAppender("class", new Model<String>("highlighted"), " ")); } item.add(new Label("number", "" + (item.getIndex() + 1))); PageParameters pp = new PageParameters(); pp.set(0, player.getId()); BookmarkablePageLink<Void> playerLink = new BookmarkablePageLink<Void>("playerLink", PlayerPage.class, pp); item.add(playerLink); playerLink.add(new Label("name", new PropertyModel<Integer>(item.getModel(), "player.name"))); WebComponent medal = new WebComponent("medal") { private static final long serialVersionUID = 1L; @Override public boolean isVisible() { return item.getIndex() < 3; } }; medal.add(AttributeModifier.append("class", new AbstractReadOnlyModel<String>() { private static final long serialVersionUID = 1L; @Override public String getObject() { if (item.getIndex() == 0) { return "gold"; } else if (item.getIndex() == 1) { return "silver"; } else if (item.getIndex() == 2) { return "bronze"; } return null; } })); item.add(medal); item.add(new Label("gamesCount", new PropertyModel<Integer>(item.getModel(), "gamesCount"))); item.add(new Label("winRatio", new FormatModel(new DecimalFormat("0.00"), new PropertyModel<Double>(item.getModel(), "gamesWonRatio")))); item.add(new Label("rating", new FormatModel(new DecimalFormat("#"), rating.getPlayerRating(player.getId()).getRating()))); item.add(new Label("trend", new StringResourceModel(item.getModelObject().getTrend().name().toLowerCase(), null))); } }); }
From source file:dk.frankbille.scoreboard.components.TeamStatisticsPanel.java
License:Open Source License
public TeamStatisticsPanel(String id, final League league, final RatingCalculator rating) { super(id);/*from w w w .j a v a 2 s.co m*/ IModel<List<TeamResult>> teamResultsModel = new LoadableDetachableModel<List<TeamResult>>() { private static final long serialVersionUID = 1L; @Override protected List<TeamResult> load() { List<TeamResult> teamResults = scoreBoardService.getTeamResults(league); Collections.sort(teamResults, new Comparator<TeamResult>() { @Override public int compare(TeamResult o1, TeamResult o2) { double rating1 = rating.getTeamRating(o1.getTeam()).getRating(); Double rating2 = rating.getTeamRating(o2.getTeam()).getRating(); int compare = rating2.compareTo(rating1); if (compare == 0) { compare = new Double(o2.getGamesWonRatio()).compareTo(o1.getGamesWonRatio()); } if (compare == 0) { compare = new Integer(o2.getGamesWon()).compareTo(o1.getGamesWon()); } if (compare == 0) { compare = new Integer(o1.getGamesLost()).compareTo(o2.getGamesLost()); } if (compare == 0) { compare = new Integer(o1.getGamesCount()).compareTo(o2.getGamesCount()); } return compare; } }); return teamResults; } }; add(new ListView<TeamResult>("teams", teamResultsModel) { private static final long serialVersionUID = 1L; @Override protected void populateItem(final ListItem<TeamResult> item) { final TeamResult teamResult = item.getModelObject(); item.add(new TooltipBehavior(new AbstractReadOnlyModel<CharSequence>() { private static final long serialVersionUID = 1L; @Override public CharSequence getObject() { StringBuilder b = new StringBuilder(); Localizer localizer = Application.get().getResourceSettings().getLocalizer(); b.append(localizer.getString("won", item)).append(": ").append(teamResult.getGamesWon()); b.append(", "); b.append(localizer.getString("lost", item)).append(": ").append(teamResult.getGamesLost()); return b; } })); item.add(RowColorModifier.create(item)); item.add(new Label("number", "" + (item.getIndex() + 1))); item.add(new Label("name", new PropertyModel<Integer>(item.getModel(), "name"))); WebComponent medal = new WebComponent("medal") { private static final long serialVersionUID = 1L; @Override public boolean isVisible() { return item.getIndex() < 3; } }; medal.add(AttributeModifier.append("class", new AbstractReadOnlyModel<String>() { private static final long serialVersionUID = 1L; @Override public String getObject() { if (item.getIndex() == 0) { return "gold"; } else if (item.getIndex() == 1) { return "silver"; } else if (item.getIndex() == 2) { return "bronze"; } return null; } })); item.add(medal); item.add(new Label("gamesCount", new PropertyModel<Integer>(item.getModel(), "gamesCount"))); item.add(new Label("winRatio", new FormatModel(new DecimalFormat("0.00"), new PropertyModel<Double>(item.getModel(), "gamesWonRatio")))); item.add(new Label("rating", new FormatModel(new DecimalFormat("#"), rating.getTeamRating(teamResult.getTeam()).getRating()))); item.add(new Label("trend", new StringResourceModel(item.getModelObject().getTrend().name().toLowerCase(), null))); } }); }
From source file:dk.frankbille.scoreboard.game.EditGamePage.java
License:Open Source License
public EditGamePage(PageParameters pageParameters) { long gameId = pageParameters.get(0).toLong(-1); if (gameId > 0) { game = scoreBoardService.getGame(gameId); } else {// ww w . j a v a 2 s . com game = createNewGame(); } add(new Label("editGameTitle", new AbstractReadOnlyModel<String>() { private static final long serialVersionUID = 1L; @Override public String getObject() { Localizer localizer = Application.get().getResourceSettings().getLocalizer(); if (game.getId() == null) { return localizer.getString("newGame", EditGamePage.this); } else { return localizer.getString("editGame", EditGamePage.this); } } })); Form<Void> form = new Form<Void>("form") { private static final long serialVersionUID = 1L; @Override protected void onSubmit() { scoreBoardService.saveGame(game); PageParameters pp = new PageParameters(); pp.add("league", game.getLeague().getId()); getRequestCycle().setResponsePage(DailyGamePage.class, pp); } }; add(form); form.add(new FeedbackPanel("feedback")); form.add(new DateField("gameDate", new PropertyModel<Date>(this, "game.date"))); form.add(new GameTeamPanel("team1", new PropertyModel<GameTeam>(this, "game.team1"))); form.add(new GameTeamPanel("team2", new PropertyModel<GameTeam>(this, "game.team2"))); IModel<League> defaultLeagueModel = new PropertyModel<League>(this, "game.league"); form.add(new LeagueSelector("leagueField", defaultLeagueModel)); // IModel<List<League>> possibleLeaguesModel = new LoadableDetachableModel<List<League>>() { // private static final long serialVersionUID = 1L; // // @Override // protected List<League> load() { // return scoreBoardService.getAllLeagues(); // } // }; // ChoiceRenderer<League> renderer = new ChoiceRenderer<League>("name", "id"); // // DropDownChoice<League> leagueField = new DropDownChoice<League>("leagueField", defaultLeagueModel, possibleLeaguesModel, renderer); // leagueField.add(new Select2Enabler()); // form.add(leagueField); }
From source file:dk.frankbille.scoreboard.game.GameTeamPanel.java
License:Open Source License
public GameTeamPanel(String id, IModel<GameTeam> model) { super(id, model); setRenderBodyOnly(true);// www.j ava 2s . c o m TextField<Integer> scoreField = new TextField<Integer>("score", new PropertyModel<Integer>(model, "score")); scoreField.add(new AjaxFormComponentUpdatingBehavior("onchange") { private static final long serialVersionUID = 1L; @Override protected void onUpdate(AjaxRequestTarget arg0) { } }); add(scoreField); Localizer localizer = Application.get().getResourceSettings().getLocalizer(); final Select2MultiChoice<Player> players = new Select2MultiChoice<Player>("players", new PlayersModel(model), new PlayersProvider()); players.getSettings().setMinimumInputLength(2); players.getSettings().setContainerCssClass("span3"); players.getSettings().setPlaceholder(localizer.getString("players", null)); String locString = localizer.getString("playerSearchTermTooShort", null); locString = "'" + locString + "'"; locString = locString.replace("{term}", "'+term+'"); locString = locString.replace("{minLength}", "'+(minLength-term.length)+'"); players.getSettings().setFormatInputTooShort("function(term, minLength){return " + locString + "}"); players.add(new IValidator<Collection<Player>>() { private static final long serialVersionUID = 1L; @Override public void validate(IValidatable<Collection<Player>> validatable) { Collection<Player> value = validatable.getValue(); if (value.isEmpty()) { validatable.error(new ValidationError().addKey("teamMustHaveAtLeastOnePlayer")); } } }); add(players); }
From source file:eu.uqasar.web.pages.qmtree.metric.QMMetricFormValidator.java
License:Apache License
@Override public void validate(Form<?> form) { final FormComponent name = components[0]; final FormComponent<Double> lowerLimit = components[1]; final FormComponent<Double> upperLimit = components[2]; Localizer loc = getLocalizer(form); String nameValue = Objects.stringValue(name.getInput(), true); if ("".equals(nameValue)) { name.error(loc.getString("form.name.required", name)); } else if (nameValue.length() > 255) { name.error(loc.getString("form.name.max", name)); }//from w w w. j av a 2s. c om // if (Double.valueOf(lowerLimit.getValue()) > Double.valueOf(upperLimit.getValue())){ // upperLimit.error(loc.getString("form.upperLimit.low", upperLimit)); // } }
From source file:eu.uqasar.web.pages.qmtree.qmodels.QModelFormValidator.java
License:Apache License
@Override public void validate(Form<?> form) { final FormComponent name = components[0]; final FormComponent key = components[1]; final boolean isNew = newEntity; final String oldKey = previousKey; Localizer loc = getLocalizer(form); String f1Value = Objects.stringValue(name.getInput(), true); String f2Value = Objects.stringValue(key.getInput(), true); if ("".equals(f1Value)) { name.error(loc.getString("form.name.required", name)); } else if (f1Value.length() > 255) { name.error(loc.getString("form.name.max", name)); }/*from ww w . j a v a2 s . c o m*/ if ("".equals(f2Value)) { key.error(loc.getString("form.key.required", key)); } List<String> nodeKeyList = qmodelService.getAllNodeKeys(); if (!previousKey.equals(f2Value) && !isNew && Collections.frequency(nodeKeyList, f2Value) >= 1) { key.error(loc.getString("form.key.repeated", key)); } else if (!previousKey.equals(f2Value) && isNew && (Collections.frequency(nodeKeyList, f2Value) > 0)) { key.error(loc.getString("form.key.repeated", key)); } }
From source file:eu.uqasar.web.pages.qmtree.quality.indicator.QMQualityIndicatorFormValidator.java
License:Apache License
@Override public void validate(Form<?> form) { final FormComponent name = components[0]; final FormComponent<Double> lowerLimit = components[1]; final FormComponent<Double> upperLimit = components[2]; Localizer loc = getLocalizer(form); String f1Value = Objects.stringValue(name.getInput(), true); if ("".equals(f1Value)) { name.error(loc.getString("form.name.required", name)); } else if (f1Value.length() > 255) { name.error(loc.getString("form.name.max", name)); }/* w ww . j a v a 2 s. c om*/ // if (Double.valueOf(lowerLimit.getValue()) > Double.valueOf(upperLimit.getValue())){ // upperLimit.error(loc.getString("form.upperLimit.low", upperLimit)); // } }
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 www . ja v a2s . c om*/ 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(); }