/** * Appends a dynamic parameter value. * <ul> * <li>It doesn't expect any template parameters within the parameter value.</li> * <li>The parameter value is appended to the previous parameter value.</li> * </ul> * * @param paramName parameter name * @param paramValue parameter value * @param deleteOnExit whether a file defined by the parameter value must be deleted on exit (must be true for tmp files). * @return this dynamic parameter context. */ public DynamicTemplateParameterContext appendParameter(String paramName, String paramValue, boolean deleteOnExit) { return appendParameter(paramName, paramValue, deleteOnExit, false, ContextInfo.EMPTY); }
/** * Appends a dynamic parameter value. * <ul> * <li>It doesn't expect any template parameters within the parameter value.</li> * <li>The parameter value is appended to the previous parameter value.</li> * </ul> * * @param param enum defining the parameter name. * @param paramValue parameter value * @param deleteOnExit whether a file defined by the parameter value must be deleted on exit (must be true for tmp files). * @return this dynamic parameter context. */ public DynamicTemplateParameterContext appendParameter(DynamicContextParameters param, String paramValue, boolean deleteOnExit) { return appendParameter(param, paramValue, deleteOnExit, ContextInfo.EMPTY); }
/** * Appends a dynamic parameter value. * <ul> * <li>It doesn't expect any template parameters within the parameter value.</li> * <li>The parameter value is appended to the previous parameter value.</li> * <li>A file defined by the parameter will not be deleted on exit.</li> * </ul> * * @param param enum defining the parameter name. * @param paramValue parameter value * @return this dynamic parameter context. */ public DynamicTemplateParameterContext appendParameter(DynamicContextParameters param, String paramValue) { return appendParameter(param, paramValue, ContextInfo.EMPTY); }
/** * Appends a dynamic parameter value. * <ul> * <li>All template parameters within the parameter value and name are resolved.</li> * <li>The parameter value is appended to the previous parameter value.</li> * <li>A file defined by the parameter will not be deleted on exit.</li> * </ul> * * @param paramName parameter name * @param paramValue parameter value * @param contextInfo a context info to resolved template parameters within the given parameter value. * @return this dynamic parameter context. */ public DynamicTemplateParameterContext appendParameter(String paramName, String paramValue, ContextInfo contextInfo) { return appendParameter(paramName, paramValue, false, false, contextInfo); }
/** * Appends a dynamic parameter value. * <ul> * <li>It doesn't expect any template parameters within the parameter value.</li> * <li>The parameter value is appended to the previous parameter value.</li> * <li>A file defined by the parameter will not be deleted on exit.</li> * </ul> * * @param paramName parameter name * @param paramValue parameter value * @return this dynamic parameter context. */ public DynamicTemplateParameterContext appendParameter(String paramName, String paramValue) { return appendParameter(paramName, paramValue, ContextInfo.EMPTY); }
/** * Appends a dynamic parameter value. * <ul> * <li>All template parameters within the parameter value and name are resolved.</li> * <li>The parameter value is appended to the previous parameter value.</li> * <li>A file defined by the parameter will not be deleted on exit.</li> * </ul> * * @param param enum defining the parameter name. * @param paramValue parameter value * @param contextInfo a context info to resolved template parameters within the given parameter value. * @return this dynamic parameter context. */ public DynamicTemplateParameterContext appendParameter(DynamicContextParameters param, String paramValue, ContextInfo contextInfo) { return appendParameter(param, paramValue, false, contextInfo); }
/** * Appends a dynamic parameter value. * <ul> * <li>All template parameters within the parameter value and name are resolved.</li> * <li>The parameter value is appended to the previous parameter value.</li> * </ul> * * @param param enum defining the parameter name. * @param paramValue parameter value * @param deleteOnExit whether a file defined by the parameter value must be deleted on exit (must be true for tmp files). * @param contextInfo a context info to resolved template parameters within the given parameter value. * @return this dynamic parameter context. */ public DynamicTemplateParameterContext appendParameter(DynamicContextParameters param, String paramValue, boolean deleteOnExit, ContextInfo contextInfo) { return appendParameter(param.getName(), paramValue, deleteOnExit, false, contextInfo); }
@Test public void testAppendDynamicParameterSimple() throws Exception { TemplateParameterContextProvider contextProvider = createDefaultContextProvider(); contextProvider.getDynamicContext() .appendParameter("appendDynamicSimple1", "appendDynamicValue1_1", ContextInfo.EMPTY) .appendParameter("appendDynamicSimple1", "_2", ContextInfo.EMPTY) .appendParameter("appendDynamicSimple1", "_3", ContextInfo.EMPTY) .appendParameter("appendDynamicSimple2", "appendDynamicValue2_1", ContextInfo.EMPTY) .appendParameter("appendDynamicSimple2", "_2", ContextInfo.EMPTY) .appendParameter("appendDynamicSimple2", "_3", ContextInfo.EMPTY); assertEquals(DEFAULT_PARAMETERS_COUNT + 2, contextProvider.getDynamicContext().getAllParametersAsString().size()); assertEquals("appendDynamicValue1_1_2_3", contextProvider.getDynamicContext().getParameterValueAsString("appendDynamicSimple1")); assertEquals("appendDynamicValue2_1_2_3", contextProvider.getDynamicContext().getParameterValueAsString("appendDynamicSimple2")); }
/** * Adds a dynamic parameter defined in conversion.xml, that supports concatenation. * <ul> * <li>All template parameters within the parameter value and name are resolved.</li> * <li>The parameter value either replaces the previous parameter value or is appended to the previous parameter value * depending on the flag.</li> * </ul> * * @param dynamicParameter a dynamic parameter defined in the conversion.xml. * @param contextInfo a context info to resolved template parameters within the given parameter value. * @param skip whether setting of the parameter is skipped in conversion.xml * @return this dynamic parameter context. */ public DynamicTemplateParameterContext addParameter(DynamicParameterConcatType dynamicParameter, ContextInfo contextInfo, boolean skip) { if (skip) { return this; } String paramName = dynamicParameter.getName().trim(); String paramValue = dynamicParameter.getValue().trim(); if (dynamicParameter.isConcat() != null && dynamicParameter.isConcat()) { appendParameter(paramName, paramValue, dynamicParameter.isDeleteOnExit(), dynamicParameter.isConcatWhitespace(), contextInfo); } else if (dynamicParameter.getAdd() != null) { incrementParameter(paramName, dynamicParameter.getAdd(), contextInfo); } else { addParameter(paramName, paramValue, dynamicParameter.isDeleteOnExit(), contextInfo); } return this; }
@Test public void testAppendDynamicParameterWithParamsInValue() throws Exception { TemplateParameterContextProvider contextProvider = createDefaultContextProvider(); fillCPLContext(contextProvider, 2, 2, 2); contextProvider.getDynamicContext().appendParameter("appendDynamicWithParam1", "%{tmp.tmpParamSimple}_1", ContextInfo.EMPTY); contextProvider.getDynamicContext().appendParameter("appendDynamicWithParam1", "_%{tmp.tmpParamSimple}_2", ContextInfo.EMPTY); contextProvider.getDynamicContext().appendParameter( "appendDynamicWithParam2", "%{segm.num}-%{seq.num}-%{seq.type}-%{resource.num}-%{tmp.tmpParamSimple}", new ContextInfoBuilder() .setSegmentUuid(getSegmentUuid(0)) .setSequenceUuid(getSequenceUuid(0, SequenceType.AUDIO)) .setResourceUuid(getResourceUuid(0, 0, SequenceType.AUDIO, 0, 0)) .setSequenceType(SequenceType.AUDIO).build()); contextProvider.getDynamicContext().appendParameter( "appendDynamicWithParam2", "_%{segm.num}-%{seq.num}-%{seq.type}-%{resource.num}-%{tmp.tmpParamSimple}", new ContextInfoBuilder() .setSegmentUuid(getSegmentUuid(1)) .setSequenceUuid(getSequenceUuid(1, SequenceType.VIDEO)) .setResourceUuid(getResourceUuid(1, 1, SequenceType.VIDEO, 1, 0)) .setSequenceType(SequenceType.VIDEO).build()); assertEquals(DEFAULT_PARAMETERS_COUNT + 2, contextProvider.getDynamicContext().getAllParametersAsString().size()); assertEquals("tmpParamSimple_1_tmpParamSimple_2", contextProvider.getDynamicContext().getParameterValueAsString("appendDynamicWithParam1")); assertEquals("0-0-audio-0-tmpParamSimple_1-1-video-1-tmpParamSimple", contextProvider.getDynamicContext().getParameterValueAsString("appendDynamicWithParam2")); }
@Test public void testAppendDynamicParameterWithParamsInName() throws Exception { TemplateParameterContextProvider contextProvider = createDefaultContextProvider(); fillCPLContext(contextProvider, 2, 2, 2); contextProvider.getDynamicContext().appendParameter("%{tmp.tmpParamSimple}", "appendDynamicWithParam1", ContextInfo.EMPTY); contextProvider.getDynamicContext().appendParameter("%{tmp.tmpParamSimple}", "_appendDynamicWithParam1", ContextInfo.EMPTY); contextProvider.getDynamicContext().appendParameter( "%{segm.num}-%{seq.num}-%{seq.type}-%{resource.num}-%{tmp.tmpParamSimple}", "appendDynamicWithParam2", new ContextInfoBuilder() .setSegmentUuid(getSegmentUuid(0)) .setSequenceUuid(getSequenceUuid(0, SequenceType.AUDIO)) .setResourceUuid(getResourceUuid(0, 0, SequenceType.AUDIO, 0, 0)) .setSequenceType(SequenceType.AUDIO).build()); contextProvider.getDynamicContext().appendParameter( "%{segm.num}-%{seq.num}-%{seq.type}-%{resource.num}-%{tmp.tmpParamSimple}", "_appendDynamicWithParam2", new ContextInfoBuilder() .setSegmentUuid(getSegmentUuid(0)) .setSequenceUuid(getSequenceUuid(0, SequenceType.AUDIO)) .setResourceUuid(getResourceUuid(0, 0, SequenceType.AUDIO, 0, 0)) .setSequenceType(SequenceType.AUDIO).build()); assertEquals(DEFAULT_PARAMETERS_COUNT + 2, contextProvider.getDynamicContext().getAllParametersAsString().size()); assertEquals("appendDynamicWithParam1_appendDynamicWithParam1", contextProvider.getDynamicContext().getParameterValueAsString("tmpParamSimple")); assertEquals("appendDynamicWithParam2_appendDynamicWithParam2", contextProvider.getDynamicContext().getParameterValueAsString("0-0-audio-0-tmpParamSimple")); }
@Test public void testAppendDynamicParameterWithParamsInNameAndValue() throws Exception { TemplateParameterContextProvider contextProvider = createDefaultContextProvider(); fillCPLContext(contextProvider, 2, 2, 2); contextProvider.getDynamicContext().appendParameter( "name-%{segm.num}-%{seq.num}-%{seq.type}-%{resource.num}-%{tmp.tmpParamSimple}", "%{segm.num}-%{seq.num}-%{seq.type}-%{resource.num}-%{tmp.tmpParamSimple}", new ContextInfoBuilder() .setSegmentUuid(getSegmentUuid(0)) .setSequenceUuid(getSequenceUuid(0, SequenceType.AUDIO)) .setResourceUuid(getResourceUuid(0, 0, SequenceType.AUDIO, 0, 0)) .setSequenceType(SequenceType.AUDIO).build()); contextProvider.getDynamicContext().appendParameter( "name-%{segm.num}-%{seq.num}-%{seq.type}-%{resource.num}-%{tmp.tmpParamSimple}", "_%{segm.num}-%{seq.num}-%{seq.type}-%{resource.num}-%{tmp.tmpParamSimple}", new ContextInfoBuilder() .setSegmentUuid(getSegmentUuid(0)) .setSequenceUuid(getSequenceUuid(0, SequenceType.AUDIO)) .setResourceUuid(getResourceUuid(0, 0, SequenceType.AUDIO, 0, 0)) .setSequenceType(SequenceType.AUDIO).build()); assertEquals(DEFAULT_PARAMETERS_COUNT + 1, contextProvider.getDynamicContext().getAllParametersAsString().size()); assertEquals("0-0-audio-0-tmpParamSimple_0-0-audio-0-tmpParamSimple", contextProvider.getDynamicContext().getParameterValueAsString("name-0-0-audio-0-tmpParamSimple")); }