/** * (C) Copyright 2013 Jabylon (http://www.jabylon.org) and others. * * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html */ package org.jabylon.rest.ui.wicket.panels; import java.util.ArrayList; import java.util.List; import org.apache.wicket.markup.html.form.Form; import org.apache.wicket.model.IModel; import org.apache.wicket.request.mapper.parameter.PageParameters; import org.jabylon.properties.ProjectLocale; import org.jabylon.properties.ProjectVersion; import org.jabylon.properties.Resolvable; import org.jabylon.rest.ui.wicket.BasicResolvablePanel; import org.jabylon.rest.ui.wicket.xliff.Language; import org.jabylon.rest.ui.wicket.xliff.XliffDownloadForm; /** * @author c.samulski (26.01.2016) */ public class XliffDownloadPanel extends BasicResolvablePanel<Resolvable<?, ?>> implements java.io.Serializable { private static final long serialVersionUID = 1L; public XliffDownloadPanel(String id, IModel<Resolvable<?, ?>> model, PageParameters parameters) { super(id, model, parameters); List<Language> languages = loadLanguages(model.getObject()); Form<Void> form = new XliffDownloadForm(languages, model); add(form); } /** * @return a populated list of {@link Language}s for the given {@link ProjectVersion}.<br> */ private static List<Language> loadLanguages(Resolvable<?, ?> object) { List<Language> meta = new ArrayList<Language>(); List<ProjectLocale> projectLocales = ((ProjectVersion) object).getChildren(); for (ProjectLocale projectLocale : projectLocales) { meta.add(new Language(projectLocale.getLocale())); } return meta; } }