agave-jobs/jobs-core/src/main/java/org/iplantc/service/jobs/managers/launchers/WrapperTemplateMacroResolver.java
/**
     * Users can include any of the {@link WrapperTemplateStatusVariableType#userAccessibleJobCallbackMacros()} in their
     * wrapper template. All other status callback values will cause issues in the proper execution and monitoring of
     * the job. This method removes all {@link WrapperTemplateStatusVariableType} that are not available to the user
     * from the wrapper template.
     * @param wrapperTemplate the wrapper template to filter
     * @return the wrapper with the reserved {@link WrapperTemplateStatusVariableType} macros removed
     */
Users can include any of the  WrapperTemplateStatusVariableType#userAccessibleJobCallbackMacros() in their
wrapper template. All other status callback values will cause issues in the proper execution and monitoring of
the job. This method removes all  WrapperTemplateStatusVariableType that are not available to the user
from the wrapper template.
@param wrapperTemplate the wrapper template to filter
@return the wrapper with the reserved  WrapperTemplateStatusVariableType macros removed
Users can include any of the WrapperTemplateStatusVariableType#userAccessibleJobCallbackMacros () in their wrapper template . All other status callback values will cause issues in the proper execution and monitoring of the job . This method removes all WrapperTemplateStatusVariableType that are not available to the user from the wrapper template . @param wrapperTemplate the wrapper template to filter @return the wrapper with the reserved WrapperTemplateStatusVariableType macros removed
public String removeReservedJobStatusMacros(String wrapperTemplate) {
        List<WrapperTemplateStatusVariableType> userAccessibleStatuCallbacks = WrapperTemplateStatusVariableType.userAccessibleJobCallbackMacros();
        for (WrapperTemplateStatusVariableType jobCallbackMacro: WrapperTemplateStatusVariableType.values()) {
            if (!userAccessibleStatuCallbacks.contains(jobCallbackMacro)) {
                wrapperTemplate = StringUtils.replace(wrapperTemplate, "${" + jobCallbackMacro.name() + "}", "");
            }
        }
        return wrapperTemplate;
    }
public String removeReservedJobStatusMacros ( String wrapperTemplate ) { List < WrapperTemplateStatusVariableType > userAccessibleStatuCallbacks = WrapperTemplateStatusVariableType . userAccessibleJobCallbackMacros ( ) ; for ( WrapperTemplateStatusVariableType jobCallbackMacro : WrapperTemplateStatusVariableType . values ( ) ) { if ( ! userAccessibleStatuCallbacks . contains ( jobCallbackMacro ) ) { wrapperTemplate = StringUtils . replace ( wrapperTemplate , "${" + jobCallbackMacro . name ( ) + "}" , "" ) ; } } return wrapperTemplate ; }
Users can include any of the {@link WrapperTemplateStatusVariableType#userAccessibleJobCallbackMacros()} in their
 wrapper template.
Users can include any of the { @link WrapperTemplateStatusVariableType#userAccessibleJobCallbackMacros () } in their wrapper template .