/*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
* Copyright (c) 2013, MPL CodeInside http://codeinside.ru
*/
package ru.codeinside.gses.activiti.ftarchive;
import com.vaadin.ui.Field;
import ru.codeinside.gses.activiti.EnclosureField;
import ru.codeinside.gses.activiti.FileValue;
import ru.codeinside.gses.activiti.ReadOnly;
import ru.codeinside.gses.activiti.forms.types.AttachmentType;
/**
* Файловые вложения к запросу в Smev
*/
public class EnclosureItemFFT {
public static final String SPLITER = ":";
private static final long serialVersionUID = 1L;
//@Override
public Field createField(String taskId, String fieldId, final String name, final String value, boolean writable, boolean required) {
Field field = getField(value);
FieldHelper.setCommonFieldProperty(field, writable, name, required);
return field;
}
private Field getField(final String value) {
if (value == null) {
return new ReadOnly("Нет приложенных к запросу файлов");
}
FileValue attachment = new AttachmentType().convertFormValueToModelValue(value, null, null);
if (attachment == null) {
return new ReadOnly("удалено (" + value + ")");
}
return new EnclosureField(attachment);
}
//@Override
public String convertModelValueToFormValue(Object modelValue) {
return modelValue != null ? modelValue.toString() : null;
}
//@Override
public Object convertFormValueToModelValue(String propertyValue) {
return propertyValue;
}
}