Source:
<code>private void ajaxFetchJobInfo(final Project project, final HashMap<String, Object> ret, final HttpServletRequest req) throws ServletException { final String flowName = getParam(req, "flowName"); final String jobName = getParam(req, "jobName"); final Flow flow = project.getFlow(flowName); if (flow == null) { ret.put("error", "Flow " + flowName + " not found in project " + project.getName()); return; } final Node node = flow.getNode(jobName); if (node == null) { ret.put("error", "Job " + jobName + " not found in flow " + flowName); return; } Props prop; try { <START> prop = this.projectManager.getProperties(project, flow, jobName, node.getJobSource()); <END> } catch (final ProjectManagerException e) { ret.put("error", "Failed to retrieve job properties!"); return; } if (prop == null) { prop = new Props(); } Props overrideProp; try { overrideProp = this.projectManager .getJobOverrideProperty(project, flow, jobName, node.getJobSource()); } catch (final ProjectManagerException e) { ret.put("error", "Failed to retrieve job override properties!"); return; } ret.put("jobName", node.getId()); ret.put("jobType", prop.get("type")); if (overrideProp == null) { overrideProp = new Props(prop); } final Map<String, String> generalParams = new HashMap<>(); final Map<String, String> overrideParams = new HashMap<>(); for (final String ps : prop.getKeySet()) { generalParams.put(ps, prop.getString(ps)); } for (final String ops : overrideProp.getKeySet()) { overrideParams.put(ops, overrideProp.getString(ops)); } ret.put("generalParams", generalParams); ret.put("overrideParams", overrideParams); }</code><technical_language>Is this job Prop? detail name jobProp</technical_language>

Target:
private void ajaxFetchJobInfo(final Project project, final HashMap<String, Object> ret, final HttpServletRequest req) throws ServletException { final String flowName = getParam(req, "flowName"); final String jobName = getParam(req, "jobName"); final Flow flow = project.getFlow(flowName); if (flow == null) { ret.put("error", "Flow " + flowName + " not found in project " + project.getName()); return; } final Node node = flow.getNode(jobName); if (node == null) { ret.put("error", "Job " + jobName + " not found in flow " + flowName); return; } Props jobProp; try { jobProp = this.projectManager.getProperties(project, flow, jobName, node.getJobSource()); } catch (final ProjectManagerException e) { ret.put("error", "Failed to retrieve job properties!"); return; } if (jobProp == null) { jobProp = new Props(); } Props overrideProp; try { overrideProp = this.projectManager .getJobOverrideProperty(project, flow, jobName, node.getJobSource()); } catch (final ProjectManagerException e) { ret.put("error", "Failed to retrieve job override properties!"); return; } ret.put("jobName", node.getId()); ret.put("jobType", jobProp.get("type")); if (overrideProp == null) { overrideProp = new Props(jobProp); } final Map<String, String> generalParams = new HashMap<>(); final Map<String, String> overrideParams = new HashMap<>(); for (final String ps : jobProp.getKeySet()) { generalParams.put(ps, jobProp.getString(ps)); } for (final String ops : overrideProp.getKeySet()) { overrideParams.put(ops, overrideProp.getString(ops)); } ret.put("generalParams", generalParams); ret.put("overrideParams", overrideParams); }