I have a page with 50 records on and when you save a value it fires off 31 form params for each of the 50 records. So this means a lot of code which wont compile because of JVM limits. It's also very much repeatable code.
So I wanted to create a method like this:
def formParams(recordNumber : String) = {
.formParam("DMX.DUMMY_OCCURRENCES.MENSYS." + recordNumber, "")
.formParam("CODE.DUMMY_FIELDS.MENSYS.1-" + recordNumber, "")
.formParam("CODE.DUMMY_FIELDS.MENSYS.2-" + recordNumber, "")
.formParam("CODE.DUMMY_FIELDS.MENSYS.3-" + recordNumber, "")
.formParam("CODE.DUMMY_FIELDS.MENSYS.4-" + recordNumber, "")
.formParam("CODE.DUMMY_FIELDS.MENSYS.5-" + recordNumber, "")
.formParam("CODE.DUMMY_FIELDS.MENSYS.6-" + recordNumber, "")
.formParam("CODE.DUMMY_FIELDS.MENSYS.7-" + recordNumber, "")
.formParam("CODE.DUMMY_FIELDS.MENSYS.13-" + recordNumber, "CDL_RECM")
.formParam("VALUE.DUMMY_FIELDS.MENSYS.13-" + recordNumber, "1")
.formParam("VALUE.DUMMY_FIELDS.MENSYS.15-" + recordNumber, "")
.formParam("CODE.DUMMY_FIELDS.MENSYS.15-" + recordNumber, "CDL_SCOR")
.formParam("VALUE.DUMMY_FIELDS.MENSYS.16-" + recordNumber, "")
.formParam("CODE.DUMMY_FIELDS.MENSYS.16-" + recordNumber, "CDL_NOTE")
.formParam("%.DUMMY_FIELDS.MENSYS.1-" + recordNumber, "")
.formParam("%.DUMMY_FIELDS.MENSYS.2-" + recordNumber, "")
.formParam("%.DUMMY_FIELDS.MENSYS.3-" + recordNumber, "")
.formParam("%.DUMMY_FIELDS.MENSYS.4-" + recordNumber, "")
.formParam("%.DUMMY_FIELDS.MENSYS.5-" + recordNumber, "")
.formParam("%.DUMMY_FIELDS.MENSYS.6-" + recordNumber, "")
.formParam("%.DUMMY_FIELDS.MENSYS.7-" + recordNumber, "")
.formParam("%.DUMMY_FIELDS.MENSYS.8-" + recordNumber, "")
.formParam("%.DUMMY_FIELDS.MENSYS.9-" + recordNumber, "")
.formParam("%.DUMMY_FIELDS.MENSYS.10-" + recordNumber, "")
.formParam("%.DUMMY_FIELDS.MENSYS.11-" + recordNumber, "")
.formParam("%.DUMMY_FIELDS.MENSYS.12-" + recordNumber, "")
.formParam("%.DUMMY_FIELDS.MENSYS.13-" + recordNumber, "")
.formParam("%.DUMMY_FIELDS.MENSYS.14-" + recordNumber, "")
.formParam("%.DUMMY_FIELDS.MENSYS.15-" + recordNumber, "")
.formParam("%.DUMMY_FIELDS.MENSYS.16-" + recordNumber, "")
}
And then call this in my exec like so:
.exec(http("store OD")
.post("/urd/sits.urd/run/SIW_DMX_LITE")
.headers(headers_36)
.formParam("NKEY.DUMMY.MENSYS.1", "${SEARCHNKEY}")
.formParam("RUN_MODE.DUMMY.MENSYS.1", "ACT")
.formParam("SORT_FILTER.DUMMY_PAGER.MENSYS.1", "")
//CALL METHOD HERE......
.formParam("FIRST_VALUE.DUMMY_PAGER.MENSYS.1", "1")
.formParam("PREVIOUS_VALUE.DUMMY_PAGER.MENSYS.1", "-49")
....
}
Currently it cant resolve the symbol for the first .formparam
I also tried this using another example I saw:
def formParams(recordNumber : String, form : HttpRequestBuilder) = {
form
.formParam("DMX.DUMMY_OCCURRENCES.MENSYS." + recordNumber, "")
.formParam("CODE.DUMMY_FIELDS.MENSYS.1-" + recordNumber, "")
....
}
The method itself doesn't error, but when I call the method it throws the cant resolve symbol error in the exec code.
Does anyone have any ideas I could try?
If your problem is compiler stack depth, you can use formParamMap
and pass a Map:
def formParams(recordNumber : String): Map[String, String] =
Map(
"DMX.DUMMY_OCCURRENCES.MENSYS." + recordNumber -> "",
"CODE.DUMMY_FIELDS.MENSYS.1-" + recordNumber -> "",
"CODE.DUMMY_FIELDS.MENSYS.2-" + recordNumber -> "",
"CODE.DUMMY_FIELDS.MENSYS.3-" + recordNumber -> "",
"CODE.DUMMY_FIELDS.MENSYS.4-" + recordNumber -> "",
"CODE.DUMMY_FIELDS.MENSYS.5-" + recordNumber -> "",
"CODE.DUMMY_FIELDS.MENSYS.6-" + recordNumber -> "",
"CODE.DUMMY_FIELDS.MENSYS.7-" + recordNumber -> "",
"CODE.DUMMY_FIELDS.MENSYS.13-" + recordNumber -> "CDL_RECM",
"VALUE.DUMMY_FIELDS.MENSYS.13-" + recordNumber -> "1",
"VALUE.DUMMY_FIELDS.MENSYS.15-" + recordNumber -> "",
"CODE.DUMMY_FIELDS.MENSYS.15-" + recordNumber -> "CDL_SCOR",
"VALUE.DUMMY_FIELDS.MENSYS.16-" + recordNumber -> "",
"CODE.DUMMY_FIELDS.MENSYS.16-" + recordNumber -> "CDL_NOTE",
"%.DUMMY_FIELDS.MENSYS.1-" + recordNumber -> "",
"%.DUMMY_FIELDS.MENSYS.2-" + recordNumber -> "",
"%.DUMMY_FIELDS.MENSYS.3-" + recordNumber -> "",
"%.DUMMY_FIELDS.MENSYS.4-" + recordNumber -> "",
"%.DUMMY_FIELDS.MENSYS.5-" + recordNumber -> "",
"%.DUMMY_FIELDS.MENSYS.6-" + recordNumber -> "",
"%.DUMMY_FIELDS.MENSYS.7-" + recordNumber -> "",
"%.DUMMY_FIELDS.MENSYS.8-" + recordNumber -> "",
"%.DUMMY_FIELDS.MENSYS.9-" + recordNumber -> "",
"%.DUMMY_FIELDS.MENSYS.10-" + recordNumber -> "",
"%.DUMMY_FIELDS.MENSYS.11-" + recordNumber -> "",
"%.DUMMY_FIELDS.MENSYS.12-" + recordNumber -> "",
"%.DUMMY_FIELDS.MENSYS.13-" + recordNumber -> "",
"%.DUMMY_FIELDS.MENSYS.14-" + recordNumber -> "",
"%.DUMMY_FIELDS.MENSYS.15-" + recordNumber -> "",
"%.DUMMY_FIELDS.MENSYS.16-" + recordNumber -> ""
)
???
.exec(http("store OD")
.post("/urd/sits.urd/run/SIW_DMX_LITE")
.headers(headers_36)
.formParam("NKEY.DUMMY.MENSYS.1", "${SEARCHNKEY}")
.formParam("RUN_MODE.DUMMY.MENSYS.1", "ACT")
.formParam("SORT_FILTER.DUMMY_PAGER.MENSYS.1", "")
//CALL METHOD HERE......
.formParamMap(formParams(0))
.formParam("FIRST_VALUE.DUMMY_PAGER.MENSYS.1", "1")
.formParam("PREVIOUS_VALUE.DUMMY_PAGER.MENSYS.1", "-49")
....
}