Search in sources :

Example 1 with EJItemLovController

use of org.entirej.framework.core.data.controllers.EJItemLovController in project rap by entirej.

the class EJRWTStackedItemRenderer method loadComboBoxValues.

private List<ComboBoxValue> loadComboBoxValues(EJRWTStackedItemRendererConfig.Combo config) {
    // Initialise both the field and the values.
    List<ComboBoxValue> _comboValues = new ArrayList<ComboBoxValue>();
    String lovDefName = config.getLovDefinition();
    if (lovDefName == null || lovDefName.trim().length() == 0) {
        return _comboValues;
    }
    String defName = lovDefName;
    String defItemName = config.getItemName();
    if (defItemName == null || defItemName.trim().length() == 0) {
        EJMessage message = new EJMessage("No LovDefinition item has been chosen for the ComboBox renderer properties on item: " + _itemProperties.getName());
        _item.getForm().getFrameworkManager().getApplicationManager().getApplicationMessenger().handleMessage(message);
        return _comboValues;
    }
    if (_item.getBlock().getProperties().isReferenceBlock()) {
        defName = String.format("%s.%s", _item.getBlock().getProperties().getName(), defName);
    }
    EJLovDefinitionProperties lovDef = _item.getForm().getProperties().getLovDefinitionProperties(defName);
    if (lovDef == null) {
        return _comboValues;
    }
    EJLovController lovController = _item.getForm().getLovController(defName);
    if (lovController == null) {
        return _comboValues;
    }
    try {
        lovController.executeQuery(new EJItemLovController(_item.getBlock().getBlockController().getFormController(), _item, ((EJCoreItemProperties) _itemProperties).getLovMappingPropertiesOnUpdate()));
        if (!_item.getProperties().isMandatory()) {
            ComboBoxValue emptyValue = new ComboBoxValue(null, defItemName, config);
            _comboValues.add(emptyValue);
        }
        Collection<EJDataRecord> records = lovController.getRecords();
        for (EJDataRecord ejDataRecord : records) {
            if (!ejDataRecord.containsItem(defItemName)) {
                EJMessage message = new EJMessage("The item name '" + defItemName + "', does not exist within the lov definitions underlying block. Lov Definition: " + defName);
                _item.getForm().getFrameworkManager().getApplicationManager().getApplicationMessenger().handleMessage(message);
                return new ArrayList<ComboBoxValue>();
            }
            ComboBoxValue comboValue = new ComboBoxValue(ejDataRecord, defItemName, config);
            _comboValues.add(comboValue);
        }
    } catch (Exception e) {
        _item.getForm().getFrameworkManager().getApplicationManager().getApplicationMessenger().handleException(e, true);
    }
    return _comboValues;
}
Also used : EJLovDefinitionProperties(org.entirej.framework.core.properties.interfaces.EJLovDefinitionProperties) EJItemLovController(org.entirej.framework.core.data.controllers.EJItemLovController) EJCoreItemProperties(org.entirej.framework.core.properties.EJCoreItemProperties) ArrayList(java.util.ArrayList) EJLovController(org.entirej.framework.core.data.controllers.EJLovController) EJDataRecord(org.entirej.framework.core.data.EJDataRecord) EJMessage(org.entirej.framework.core.EJMessage) ParseException(java.text.ParseException)

Example 2 with EJItemLovController

use of org.entirej.framework.core.data.controllers.EJItemLovController in project rap by entirej.

the class EJRWTListItemRenderer method loadListBoxValues.

private void loadListBoxValues() {
    // Initialise both the field and the values.
    _lovInitialied = true;
    _listValues.clear();
    _listKays.clear();
    String lovDefName = _rendererProps.getStringProperty(EJRWTListBoxRendererDefinitionProperties.LOV_DEFINITION_NAME);
    if (lovDefName == null || lovDefName.trim().length() == 0) {
        return;
    }
    String defName = lovDefName;
    String defItemName = "";
    if (lovDefName.indexOf('.') != -1) {
        defName = lovDefName.substring(0, lovDefName.indexOf('.'));
        defItemName = lovDefName.substring(lovDefName.indexOf('.') + 1);
    } else {
        EJMessage message = new EJMessage("No LovDefinition item has been chosen for the ListBox renderer properties on item: " + _itemProperties.getName());
        _item.getForm().getFrameworkManager().getApplicationManager().getApplicationMessenger().handleMessage(message);
        return;
    }
    if (_item.getBlock().getProperties().isReferenceBlock()) {
        defName = String.format("%s.%s", _item.getBlock().getProperties().getName(), defName);
    }
    EJLovDefinitionProperties lovDef = _item.getForm().getProperties().getLovDefinitionProperties(defName);
    if (lovDef == null) {
        return;
    }
    EJLovController lovController = _item.getForm().getLovController(defName);
    if (lovController == null) {
        return;
    }
    try {
        lovController.executeQuery(new EJItemLovController(_item.getBlock().getBlockController().getFormController(), _item, ((EJCoreItemProperties) _itemProperties).getLovMappingPropertiesOnUpdate()));
        Collection<EJDataRecord> records = lovController.getRecords();
        for (EJDataRecord ejDataRecord : records) {
            if (!ejDataRecord.containsItem(defItemName)) {
                EJMessage message = new EJMessage("The item name '" + defItemName + "', does not exist within the lov definitions underlying block. Lov Definition: " + defName);
                _item.getForm().getFrameworkManager().getApplicationManager().getApplicationMessenger().handleMessage(message);
                return;
            }
            ListBoxValue listValue = new ListBoxValue(ejDataRecord, defItemName);
            String itemValueAsString = listValue.getItemValueAsString();
            _listValues.put(itemValueAsString, listValue);
            _listKays.add(itemValueAsString);
        }
    } catch (Exception e) {
        _item.getForm().getFrameworkManager().getApplicationManager().getApplicationMessenger().handleException(e, true);
    }
}
Also used : EJLovDefinitionProperties(org.entirej.framework.core.properties.interfaces.EJLovDefinitionProperties) EJItemLovController(org.entirej.framework.core.data.controllers.EJItemLovController) EJCoreItemProperties(org.entirej.framework.core.properties.EJCoreItemProperties) EJLovController(org.entirej.framework.core.data.controllers.EJLovController) EJDataRecord(org.entirej.framework.core.data.EJDataRecord) EJMessage(org.entirej.framework.core.EJMessage) MalformedURLException(java.net.MalformedURLException)

Example 3 with EJItemLovController

use of org.entirej.framework.core.data.controllers.EJItemLovController in project rap by entirej.

the class EJRWTComboItemRenderer method _loadComboBoxValues.

private void _loadComboBoxValues() {
    // Initialise both the field and the values.
    _lovInitialied.set(true);
    _comboValues.clear();
    String lovDefName = _rendererProps.getStringProperty(EJRWTComboBoxRendererDefinitionProperties.LOV_DEFINITION_NAME);
    if (lovDefName == null || lovDefName.trim().length() == 0) {
        return;
    }
    String defName = lovDefName;
    String defItemName = "";
    if (lovDefName.indexOf('.') != -1) {
        defName = lovDefName.substring(0, lovDefName.indexOf('.'));
        defItemName = lovDefName.substring(lovDefName.indexOf('.') + 1);
    } else {
        EJMessage message = new EJMessage("No LovDefinition item has been chosen for the ComboBox renderer properties on item: " + _itemProperties.getName());
        _item.getForm().getFrameworkManager().getApplicationManager().getApplicationMessenger().handleMessage(message);
        return;
    }
    if (_item.getBlock().getProperties().isReferenceBlock()) {
        defName = String.format("%s.%s", _item.getBlock().getProperties().getName(), defName);
    }
    EJLovDefinitionProperties lovDef = _item.getForm().getProperties().getLovDefinitionProperties(defName);
    if (lovDef == null) {
        return;
    }
    EJLovController lovController = _item.getForm().getLovController(defName);
    if (lovController == null) {
        return;
    }
    try {
        lovController.executeQuery(new EJItemLovController(_item.getBlock().getBlockController().getFormController(), _item, ((EJCoreItemProperties) _itemProperties).getLovMappingPropertiesOnUpdate()));
        if (!_item.getProperties().isMandatory()) {
            ComboBoxValue emptyValue = new ComboBoxValue(null, defItemName);
            _comboValues.add(emptyValue);
        }
        Collection<EJDataRecord> records = lovController.getRecords();
        for (EJDataRecord ejDataRecord : records) {
            if (!ejDataRecord.containsItem(defItemName)) {
                EJMessage message = new EJMessage("The item name '" + defItemName + "', does not exist within the lov definitions underlying block. Lov Definition: " + defName);
                _item.getForm().getFrameworkManager().getApplicationManager().getApplicationMessenger().handleMessage(message);
                return;
            }
            ComboBoxValue comboValue = new ComboBoxValue(ejDataRecord, defItemName);
            _comboValues.add(comboValue);
        }
    } catch (Exception e) {
        _item.getForm().getFrameworkManager().getApplicationManager().getApplicationMessenger().handleException(e, true);
    }
}
Also used : EJLovDefinitionProperties(org.entirej.framework.core.properties.interfaces.EJLovDefinitionProperties) EJItemLovController(org.entirej.framework.core.data.controllers.EJItemLovController) EJCoreItemProperties(org.entirej.framework.core.properties.EJCoreItemProperties) EJLovController(org.entirej.framework.core.data.controllers.EJLovController) EJDataRecord(org.entirej.framework.core.data.EJDataRecord) EJMessage(org.entirej.framework.core.EJMessage)

Aggregations

EJMessage (org.entirej.framework.core.EJMessage)3 EJDataRecord (org.entirej.framework.core.data.EJDataRecord)3 EJItemLovController (org.entirej.framework.core.data.controllers.EJItemLovController)3 EJLovController (org.entirej.framework.core.data.controllers.EJLovController)3 EJCoreItemProperties (org.entirej.framework.core.properties.EJCoreItemProperties)3 EJLovDefinitionProperties (org.entirej.framework.core.properties.interfaces.EJLovDefinitionProperties)3 MalformedURLException (java.net.MalformedURLException)1 ParseException (java.text.ParseException)1 ArrayList (java.util.ArrayList)1