Search in sources :

Example 1 with IFormComponentRhinoConverter

use of com.servoy.j2db.util.IFormComponentRhinoConverter in project servoy-client by Servoy.

the class JSNGWebComponent method resetJSONProperty.

@Override
public void resetJSONProperty(String propertyName) {
    try {
        WebComponent webComponent = getBaseComponent(true);
        WebObjectSpecification spec = WebComponentSpecProvider.getSpecProviderState().getWebComponentSpecification(webComponent.getTypeName());
        Pair<PropertyDescription, String> propAndName = getPropertyDescriptionAndName(propertyName, spec);
        PropertyDescription pd = propAndName.getLeft();
        if (pd != null && pd.getType() instanceof IFormComponentType) {
            IFormComponentRhinoConverter converter = ((IFormComponentType) pd.getType()).getFormComponentRhinoConverter(pd.getName(), webComponent.getProperty(pd.getName()), application, this);
            // undefined means remove the property
            Object convertedValue = fromRhinoToDesignValue(Context.getUndefinedValue(), propAndName.getLeft(), application, this, propertyName);
            webComponent.setProperty(propAndName.getRight(), convertedValue);
        } else if (pd != null)
            webComponent.clearProperty(propertyName);
    } catch (JSONException e) {
        Debug.error(e);
    }
}
Also used : PropertyDescription(org.sablo.specification.PropertyDescription) WebComponent(com.servoy.j2db.persistence.WebComponent) WebObjectSpecification(org.sablo.specification.WebObjectSpecification) IFormComponentRhinoConverter(com.servoy.j2db.util.IFormComponentRhinoConverter) JSONException(org.json.JSONException) JSONObject(org.json.JSONObject) ServoyJSONObject(com.servoy.j2db.util.ServoyJSONObject) IFormComponentType(com.servoy.j2db.util.IFormComponentType)

Example 2 with IFormComponentRhinoConverter

use of com.servoy.j2db.util.IFormComponentRhinoConverter in project servoy-client by Servoy.

the class JSNGWebComponent method fromRhinoToDesignValue.

public static Object fromRhinoToDesignValue(Object value, PropertyDescription pd, IApplication application, JSWebComponent webComponent, String propertyName) {
    Object result = null;
    if (pd != null && pd.getType() instanceof IFormComponentType) {
        String firstPart = propertyName;
        int i = firstPart.indexOf('.');
        if (i > 0) {
            firstPart = firstPart.substring(0, i);
        }
        IFormComponentRhinoConverter converter = ((IFormComponentType) pd.getType()).getFormComponentRhinoConverter(firstPart, webComponent.getBaseComponent(true).getProperty(firstPart), application, webComponent);
        result = converter.setRhinoToDesignValue(firstPart == propertyName ? "" : propertyName.substring(firstPart.length() + 1), value);
    } else if (pd != null && pd.getType() instanceof IRhinoDesignConverter) {
        result = ((IRhinoDesignConverter) pd.getType()).fromRhinoToDesignValue(value, pd, application, webComponent);
    } else {
        result = JSWebComponent.defaultRhinoToDesignValue(value, application);
    }
    return result;
}
Also used : IFormComponentRhinoConverter(com.servoy.j2db.util.IFormComponentRhinoConverter) JSONObject(org.json.JSONObject) ServoyJSONObject(com.servoy.j2db.util.ServoyJSONObject) IRhinoDesignConverter(com.servoy.j2db.util.IRhinoDesignConverter) IFormComponentType(com.servoy.j2db.util.IFormComponentType)

Example 3 with IFormComponentRhinoConverter

use of com.servoy.j2db.util.IFormComponentRhinoConverter in project servoy-client by Servoy.

the class JSNGWebComponent method fromDesignToRhinoValue.

public static Object fromDesignToRhinoValue(Object value, PropertyDescription pd, IApplication application, JSWebComponent webComponent, String propertyName) {
    Object result = value;
    if (pd != null && pd.getType() instanceof IFormComponentType) {
        String firstPart = propertyName;
        int i = firstPart.indexOf('.');
        if (i > 0) {
            firstPart = firstPart.substring(0, i);
        }
        IFormComponentRhinoConverter converter = ((IFormComponentType) pd.getType()).getFormComponentRhinoConverter(firstPart, value, application, webComponent);
        result = converter.getDesignToRhinoValue(firstPart == propertyName ? "" : propertyName.substring(firstPart.length() + 1));
    } else if (pd != null && pd.getType() instanceof IRhinoDesignConverter) {
        result = ((IRhinoDesignConverter) pd.getType()).fromDesignToRhinoValue(value, pd, application, webComponent);
    }
    return result == null ? Context.getUndefinedValue() : ServoyJSONObject.jsonNullToNull(result);
}
Also used : IFormComponentRhinoConverter(com.servoy.j2db.util.IFormComponentRhinoConverter) JSONObject(org.json.JSONObject) ServoyJSONObject(com.servoy.j2db.util.ServoyJSONObject) IRhinoDesignConverter(com.servoy.j2db.util.IRhinoDesignConverter) IFormComponentType(com.servoy.j2db.util.IFormComponentType)

Aggregations

IFormComponentRhinoConverter (com.servoy.j2db.util.IFormComponentRhinoConverter)3 IFormComponentType (com.servoy.j2db.util.IFormComponentType)3 ServoyJSONObject (com.servoy.j2db.util.ServoyJSONObject)3 JSONObject (org.json.JSONObject)3 IRhinoDesignConverter (com.servoy.j2db.util.IRhinoDesignConverter)2 WebComponent (com.servoy.j2db.persistence.WebComponent)1 JSONException (org.json.JSONException)1 PropertyDescription (org.sablo.specification.PropertyDescription)1 WebObjectSpecification (org.sablo.specification.WebObjectSpecification)1