/** * @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; } }
private ListModel<String> createListModel(IModel<ProjectVersion> parent) { ProjectVersion projectVersion = parent.getObject(); EList<ProjectLocale> children = projectVersion.getChildren(); List<String> list = new ArrayList<String>(children.size()); for (ProjectLocale projectLocale : children) { if(projectLocale.isMaster()) //don't allow to delete the template continue; list.add(projectLocale.getName()); } return new ListModel<String>(list); }
public static void addNewLocale(ProjectLocale locale, ProjectVersion version) { ProjectLocale template = version.getTemplate(); version.getChildren().add(locale); if(template==null) { //we always need a template template = PropertiesFactory.eINSTANCE.createProjectLocale(); version.setTemplate(template); template.setName("template"); version.getChildren().add(template); } createMissingChildren(template, locale); }
public static void createMissingDescriptorEntries(ProjectVersion parent, IProgressMonitor monitor) { EList<ProjectLocale> children = parent.getChildren(); monitor.beginTask("Adding missing localized resources", children.size() - 1); ProjectLocale template = parent.getTemplate(); for (ProjectLocale locale : children) { if (locale == template) continue; if (locale != null && locale.getLocale() != null) monitor.subTask("Add missing entries for " + locale.getLocale().getDisplayName()); createMissingChildren(template, locale); monitor.worked(1); } monitor.subTask(""); monitor.done(); }
@Override public Project apply(Project object) { ProjectVersion child = PropertiesFactory.eINSTANCE.createProjectVersion(); ProjectLocale locale = PropertiesFactory.eINSTANCE.createProjectLocale(); child.getChildren().add(locale); child.setTemplate(locale); child.setName(uri.lastSegment()); object.getChildren().add(child); return object; } });
public ProjectLocale getOrCreateProjectLocale(Locale locale) { ProjectLocale projectLocale = getProjectVersion().getProjectLocale(locale); if (projectLocale == null) { projectLocale = PropertiesFactory.eINSTANCE.createProjectLocale(); projectLocale.setLocale(locale); getProjectVersion().getChildren().add(projectLocale); } return projectLocale; }
/** * calculates a diff between existing locales and selected ones. * Deletes and adds ProjectLocales as needed * @param object * @param input */ protected void applyLocaleList(List<String> object, IModel<ProjectVersion> input) { Set<String> locales = new HashSet<String>(object); ProjectVersion version = input.getObject(); List<ProjectLocale> projectLocales = version.getChildren(); List<ProjectLocale> toDelete = new ArrayList<>(); for (Iterator<ProjectLocale> iterator = projectLocales.iterator(); iterator.hasNext();) { ProjectLocale projectLocale = iterator.next(); if(projectLocale.isMaster()) continue; if(!locales.remove(projectLocale.getName())) { toDelete.add(projectLocale); } } for (ProjectLocale projectLocale : toDelete) { LOGGER.info("Deleting ProjectLocale {} from {}",projectLocale.getName(), version.fullPath()); EcoreUtil.delete(projectLocale, true); } for (String locale : locales) { ProjectLocale projectLocale = PropertiesFactory.eINSTANCE.createProjectLocale(); projectLocale.setLocale((Locale) PropertiesFactory.eINSTANCE.createFromString(PropertiesPackage.Literals.LOCALE, locale)); LOGGER.info("Adding ProjectLocale {} to {}",projectLocale.getName(), version.fullPath()); PropertyResourceUtil.addNewLocale(projectLocale, input.getObject()); } }
public ProjectLocale getOrCreateProjectLocale(Locale locale) { ProjectLocale projectLocale = getProjectVersion().getProjectLocale(locale); if (projectLocale == null) { projectLocale = PropertiesFactory.eINSTANCE.createProjectLocale(); projectLocale.setLocale(locale); getProjectVersion().getChildren().add(projectLocale); PropertyResourceUtil.addNewLocale(projectLocale, getProjectVersion()); } return projectLocale; }
getProjectVersion().setTemplate(PropertiesFactory.eINSTANCE.createProjectLocale()); getProjectVersion().getTemplate().setName("template"); getProjectVersion().getChildren().add(getProjectVersion().getTemplate());
@Override protected void populateItem(ListItem<ProjectVersion> item) { item.setOutputMarkupId(true); item.add(new Label("name", item.getModelObject().getName())); item.add(new Label("summary", new StringResourceModel("ProjectVersionsConfigSection.summary", item, null, item.getModel().getObject().getChildren().size()))); progressModel = new ProgressionModel(""); final ProgressPanel progressPanel = new ProgressPanel("progress", progressModel); item.add(progressPanel); ProjectVersion projectVersion = item.getModelObject(); item.add(new BookmarkablePageLink<Void>("edit",SettingsPage.class,WicketUtil.buildPageParametersFor(projectVersion))); item.add(createCheckoutAction(progressPanel, item.getModel())); item.add(createRescanAction(progressPanel, item.getModel())); item.add(createUpdateAction(progressPanel, item.getModel())); item.add(createResetAction(progressPanel, item.getModel())); item.add(createCommitAction(progressPanel, item.getModel())); item.add(createDeleteAction(progressPanel, item.getModel())); }
if (!descriptor.eIsSet(PropertiesPackage.Literals.PROPERTY_FILE_DESCRIPTOR__LOCATION)) throw new IllegalArgumentException("Property File Descriptor location is not set"); for (ProjectLocale locale : version.getChildren()) { Resolvable parent = locale; String[] descriptorPart = descriptor.getLocation().segments();
getProjectVersion().setTemplate(PropertiesFactory.eINSTANCE.createProjectLocale()); getProjectVersion().getTemplate().setName("template"); getProjectVersion().getChildren().add(getProjectVersion().getTemplate());