- Mark as New
- Bookmark Message
- Subscribe to Message
- Mute Message
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Java Method Invocation Data Collectors - invoke object or getter chain not working on parameter
Hello,
I have this method.
function requestQuote(policyPeriod : PolicyPeriod, nextStep : String) {
requestQuote(policyPeriod, nextStep, ValidationLevel.TC_QUOTABLE, RatingStyle.TC_DEFAULT)
}
I am trying to call a method on the policyPeriod parameter for data and it is not working for me.
in code it would look like this -> policyPeriod.Submission.DisplayName which would return a string.
Submission looks like this. It is a method that returns an object.
public entity.Submission getSubmission() {
return ((com.guidewire.pc.domain.policy.period.PolicyPeriodPublicMethods)__getDelegateManager().getImplementation("com.guidewire.pc.domain.policy.period.PolicyPeriodPublicMethods")).getSubmission();
}
I have tried invoke object, use getter chain with getSubmission, getSubmission(), Submission, and Submission() combinations. I get an out put similar to this.
[CANNOT EVALUATE: Could not find specified method = [Submission()], CANNOT EVALUATE: Could not find specified method = [Submission()]]
Here is my last attempt. Any help would be appreciated. Thanks....
- Mark as New
- Bookmark Message
- Subscribe to Message
- Mute Message
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Kenneth
What is the MIDC Setup like, What class and method are you using in the configuration? Can you share that?
The easiest way to test this, is to use the Live Preview functionality, enter the class and method name, then use the Live preview Second tab option called Method Invocations.
With this you can check the actual data being populated live , and configure the collection as it needs to be.
Can you validate that you can see the data you are trying to extract using live preview?
- Mark as New
- Bookmark Message
- Subscribe to Message
- Mute Message
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Mario,
I did Live Preview on Transaction Discovery (see below). I can see the method in the class, but do see no Live preview Second tab option called Method Invocations to see what is in the parameter. Should I be doing Live Preview somewhere else?
- Mark as New
- Bookmark Message
- Subscribe to Message
- Mute Message
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
My apologies.you should not use the default live preview option.
Navigate to the Transaction Detection rules. Click the + sign, like you are going to add a new rule. However you will not save the rule. It's only to find the data you are after.
Choose the POJO option, specify the method and class you had and click on live preview on the required node.
Once it starts you need to click on the second tab on the right and choose from the drop down - method invocations.
This should return live traffic on the class/method being triggered. Normally gives uou 1-2 invocations.
You can then view the data for it, to see if you can find the value you are looking for
Let me know if you get stuck.
Ciao
- Mark as New
- Bookmark Message
- Subscribe to Message
- Mute Message
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Mario. I spoke to soon. I found it and will let you know if it helps. Thanks....
- Mark as New
- Bookmark Message
- Subscribe to Message
- Mute Message
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks Mario,
I am still not seeing a second tab with Method Invocations in this screen either.
- Mark as New
- Bookmark Message
- Subscribe to Message
- Mute Message
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Click on the second tab, it's called tools.
This will give you a drop down, to either search for classes/methods. Or another option called method invocations.
Choose method invocations, wait a couple seconds. You will see live invocations of that class/method and the actual data within.
Check if you can see/find the value you are after
- Mark as New
- Bookmark Message
- Subscribe to Message
- Mute Message
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks Mario,
I found it. I am not sure why the first parameter show up as Param 1, but the PolicyPeriod is the first parameter in the method and the one I am trying to access. It appears the issue is that the parameter is not the actual object, but a delegate. With what you are seeing below, is there anyway to get to the properties/methods of PolicyPeriod? Thanks again for your help.
- Mark as New
- Bookmark Message
- Subscribe to Message
- Mute Message
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Most definitely, just need to understand how the code works and how AppD represents it. Looks like one class calling another class.
Switch the drop down back to class method where you can search for classes, then search for either entity.PolicyPeriod or PolicyPeriod. I believe you should find what you require here.
Check which methods this class has available. And do live previews on this class and method.
From your initial post you can look at entity.Submission class as well, which methods it has available.
I hope I am making sense:)
- Mark as New
- Bookmark Message
- Subscribe to Message
- Mute Message
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks, @Mario.Morelli. I was able to see the methods that the PolicyPeriod had available, but I am not sure how to tie this all together.
I have this method that I have instrumented. It takes a PolicyPeriod which internally is a delegate to the real
PolicyPeriod. I think you said that it is a class calling a class type of thing.
function requestQuote(policyPeriod : PolicyPeriod, nextStep : String) {
requestQuote(policyPeriod, nextStep, ValidationLevel.TC_QUOTABLE, RatingStyle.TC_DEFAULT)
}
I am not sure how to set up the bottom of the MIDC to "Specify the Data to Collect from this Method Invocation" I am not sure how to set this up to get the data that I need because of the delegate. Can you please clarify for me? Thanks.....
- Mark as New
- Bookmark Message
- Subscribe to Message
- Mute Message
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks Mario.
I was able to get the entity.PolicyPeriod methods. I tried the getVersionString() on both param 0 and 1 with no success. It does appear it is param 1 even though it is the first param of the method in the code. I just put getVersionString() in the getter chain.
Any suggestions how I get to it? Do I have to do something different since it is a delegate?
- Mark as New
- Bookmark Message
- Subscribe to Message
- Mute Message
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks Mario. Here is the MIDC. The first data to collect policyPeriod which is the parameter.toString() is returning something back. I will try the Live Preview tomorrow to see if that helps. Thanks.
