private void addFieldMap(LocalizedField field) { Map<String,Collection<LocalizedField>> fieldMap = getFieldMap(true); String fieldMapKey = field.getName(); Collection<LocalizedField> fields = fieldMap.get(fieldMapKey); if (fields == null) { fields = new ArrayList<LocalizedField>(); fieldMap.put(fieldMapKey, fields); } fields.add(field); }
public LocalizedFieldBean(final LocalizedField localizedField) { name = localizedField.getName(); value = localizedField.getValue(); Locale locale = localizedField.getLocale(); if (locale != null) { localeString = locale.toString(); } }
static protected boolean updateMetaField(Collection<LocalizedField> fields, Locale locale, String name, String value) { Iterator<LocalizedField> it = fields.iterator(); while (it.hasNext()) { LocalizedField field = it.next(); if (locale == null || field.getLocale().equals(locale)) { if (field.getName().equals(name)) { field.setValue(value); return true; } } } return false; }
public void setFields(Collection<LocalizedField> fields) { this.fields = fields; Map<String,Collection<LocalizedField>> fieldMap = getFieldMap(false); if (fieldMap != null) { fieldMap.clear(); } if(fields != null) { Iterator<LocalizedField> fieldIter = fields.iterator(); while(fieldIter.hasNext()) { LocalizedField field = (LocalizedField)fieldIter.next(); if (field.getName() != null) { addFieldMap(field); } } } }
static protected String retrieveField(Folder folder, Locale locale, String name) { GenericMetadata metadata = folder.getMetadata(); Collection<LocalizedField> fields = metadata.getFields(); if (fields != null) { Iterator<LocalizedField> it = fields.iterator(); while (it.hasNext()) { LocalizedField field = it.next(); if (locale == null || field.getLocale().equals(locale)) { if (field.getName().equals(name)) { return field.getValue(); } } } } return null; }
if (!this.fields.contains(field)) addField(field.getLocale(), field.getName(), field.getValue());
if (areFieldsSame(field.getName(), name) && areFieldsSame(field.getLocale().toString(), language))
if (areFieldsSame(field.getName(), oldName) && areFieldsSame(field.getLocale().toString(), oldLanguage))
fieldMap.put(field.getName(), field.getValue());
fieldMap.put(field.getName(), field.getValue());
copy.getMetadata().addField(field.getLocale(), field.getName(), field.getValue());