Adding a Method to Retrieve Label Text

Add the below method to EquipWorkOrderDC.java. This method retrieves translated text from EnterpriseOne using two methods and inserts the text into a label map accessed by the bar chart components at runtime. Some of the desired text is available in the EnterpriseOne Data Dictionary, so the AIS jargon service is executed to retrieve labels from the necessary data items. However, the chart titles and y-axis label cannot be found in Data Dictionary, so a form service request is also executed to retrieve this text from form controls added to the EnterpriseOne proxy app, E137001. If either AIS service request fails, the label map is pre-populated with hard-coded labels in English, so the bar charts always have labels.

    private void retrieveLabelText(String jargonCode)
    {
        // Perform FSR to get label text from E137001 proxy app.
        FormRequest proxyAppRequest = new FormRequest(loginEnv);
        proxyAppRequest.setFormName("E137001_W137001A");
        proxyAppRequest.setFormServiceAction("R");
 
        FSREvent formEvent = new FSREvent();
        formEvent.doControlAction("12");        // Press Cancel button. 
        proxyAppRequest.addFSREvent(formEvent);
 
        try
        {
            String formResponse = JDERestServiceProvider.jdeRestServiceCall(loginEnv, proxyAppRequest, JDERestServiceProvider.POST_METHOD, JDERestServiceProvider.FORM_SERVICE_URI);
            E137001_W137001A_FormParent formParent = loginEnv.getObjectMapper().readValue(formResponse, E137001_W137001A_FormParent.class);
 
            if (formParent != null)
            {
                // Add form text to label map.
                E137001_W137001A_FormData formData = formParent.getFs_E137001_W137001A().getData();
                labels.put(HOURS_KEY, formData.getTxtHours_15().getTitle());
                labels.put(COMP_WO_TITLE_KEY, formData.getTxtCompletedWorkOrdersChartTitle_17().getTitle());
                labels.put(IN_PROC_WO_TITLE_KEY, formData.getTxtInProcessWorkOrdersChartTitle_19().getTitle());
            }
 
            // Perform jargon request to retrieve remaining labels.
            if (jargonCode == null || jargonCode.trim().isEmpty())
            {
                jargonCode = DEFAULT_JARGON;
            }
 
            // Retrieve label text for Equipment Number, Assigned To, and Supervisor.
            JargonRequest jargonReq = new JargonRequest(loginEnv, jargonCode);
            jargonReq.addDataItem(EQUIP_NUMBER_KEY);
            jargonReq.addDataItem(ASSIGNED_TO_KEY);
            jargonReq.addDataItem(SUPERVISOR_KEY);
 
            String jargonResponse = JDERestServiceProvider.jdeRestServiceCall(loginEnv, jargonReq, JDERestServiceProvider.POST_METHOD, JDERestServiceProvider.JARGON_SERVICE);
            JargonResponse jargonResp = loginEnv.getObjectMapper().readValue(jargonResponse, JargonResponse.class);
 
            if (jargonResp != null)
            {
                // Add jargon text to label map.
                List<JargonResponseItem> jargonItems = jargonResp.getRequestedItems();
                if (jargonItems != null && jargonItems.size() > 0)
                {
                    for (JargonResponseItem item: jargonItems)
                    {
                        labels.put(item.getSzDict().trim().toUpperCase(), item.getRowDescription());
                    }
                }
            }
        }
        catch (JDERestServiceException e)
        {
            processErrorException(JDERestServiceProvider.handleServiceException(e));
        }
        catch (Exception e)
        {
            processErrorException(e);
        }
    }