package org.eclipse.iee.pad.formula;
import java.util.Map;
import org.eclipse.iee.core.document.parser.IPadParser;
import org.osgi.service.component.annotations.Component;
import com.google.common.base.Strings;
import com.google.gson.Gson;
/**
* {@link IPadParser} implementation. Creates instance of formula pad.
*/
@Component
public class InputPadParser implements IPadParser {
@Override
public InputPart create(Map<String, String> padParams, String value) {
InputPart inputPad = new InputPart();
inputPad.setId(padParams.get("id"));
String[] expressions = value.split("=");
String varName = expressions[0];
inputPad.setVariable(varName);
if (expressions.length > 1) {
String defValue = expressions[1];
inputPad.setDefaultValue(defValue);
}
String validationParam = padParams.get("validation");
if (!Strings.isNullOrEmpty(validationParam)) {
inputPad.setValidation(new Gson().fromJson(validationParam, InputValidation.class));
}
return inputPad;
}
@Override
public String getType() {
return "Input";
}
}