Is there any update to this? I'm running into this same issue... attempting to call
super.method()
appears to result in an exception. As shown below, I'm passing in a map but it doesn't think that I am... even the possible solutions show that I should pass a map.
groovy.lang.MissingMethodException: No signature of method: method() is applicable for argument types: (java.util.LinkedHashMap)
Possible solutions: method(java.util.Map), method(java.util.Map)
Yes, it's definitely not specific to HashMap. Here's a more complete example:
{code:java} abstract class AbstractClass implements Serializable { def jenkins AbstractClass(jenkins) { this.jenkins = jenkins } def someMethod(Map input) { performSomething(input) } abstract def performSomething(Map input) } {code} Then in my implementation class
{code:java} ImplClass extends AbstractClass { //setup stuff here for the class
@Override def someMethod(Map input) { // Do some extra work here for this specific class super.someMethod(input) } } {code} When calling the "someMethod" with a Map as input from the implementation class, Jenkins will fail with something like this: {code:java} hudson.remoting.ProxyException: groovy.lang.MissingMethodException: No signature of method: someMethod() is applicable for argument types: (java.util.LinkedHashMap) {code} Just below, it then even gives possible solutions: {code:java} Possible solutions: someMethod(java.util.Map), someMethod(java.util.Map){code} If I stop overriding the super method with a bit of extra work, Jenkins will call into the abstract class no problem.
//setup stuff here for the class
@Override
def someMethod(Map input) {
// Do some extra work here forthis specific class
super.someMethod(input)
}
}
When calling the "someMethod" with a Map as input from the implementation class, Jenkins will fail with something like this:
hudson.remoting.ProxyException: groovy.lang.MissingMethodException: No signature of method: someMethod() is applicable for argument types: (java.util.LinkedHashMap)
Just below, it then even gives possible solutions:
Possible solutions: someMethod(java.util.Map), someMethod(java.util.Map)
If I stop overriding the super method with a bit of extra work, Jenkins will call into the abstract class no problem.
ImplClass extends AbstractClass { //setup stuff here for the class
@Override def someMethod(Map input) { // Do some extra work here for this specific class
// Then do the rest of the work in the super class super.someMethod(input) } } {code}
When calling the "someMethod" with a Map as input from the implementation class, Jenkins will fail with something like this:
{code:java}
hudson.remoting.ProxyException: groovy.lang.MissingMethodException: No signature of method: someMethod() is applicable for argument types: (java.util.LinkedHashMap)
{code}
Just below, it then even gives possible solutions:
{code:java} Possible solutions: someMethod(java.util.Map), someMethod(java.util.Map){code}
If I stop overriding the super method with a bit of extra work, Jenkins will call into the abstract class no problem.
I have the same problem. We can`t call super methods when super is abstract or not. hudson.remoting.ProxyException: groovy.lang.MissingMethodException: No signature of method: br.com.itau.devopspipelinelibrary.pipeline.impl.JavaPipelineImpl.initialize() is applicable for argument types: (java.lang.String, java.lang.String) values: [migrate-jobs, EB4]
I have the same problem. We can`t call super methods when super is abstract or not.
{code:java} hudson.remoting.ProxyException: groovy.lang.MissingMethodException: No signature of method: br.com.itau.devopspipelinelibrary.pipeline.impl.JavaPipelineImpl.initialize() is applicable for argument types: (java.lang.String, java.lang.String) values: [migrate-jobs, EB4]{code}
I have the same problem using the last Jenkins LTS version and plugins. We can`t call super methods when super is abstract or not.
{code:java} hudson.remoting.ProxyException: groovy.lang.MissingMethodException: No signature of method: br.com.itau.devopspipelinelibrary.pipeline.impl.JavaPipelineImpl.initialize() is applicable for argument types: (java.lang.String, java.lang.String) values: [migrate-jobs, EB4]{code} Do you have some prediction to fix it?