Appian Community
Site
Search
Sign In/Register
Site
Search
User
DISCUSS
LEARN
SUCCESS
SUPPORT
Documentation
AppMarket
More
Cancel
I'm looking for ...
State
Not Answered
Replies
4 replies
Subscribers
5 subscribers
Views
1853 views
Users
0 members are here
Share
More
Cancel
Related Discussions
Home
»
Discussions
»
Plug-Ins
Hi Thanks for all suggestions. Will it not be possible to
sivananthag
over 10 years ago
Hi
Thanks for all suggestions.
Will it not be possible to evaluate expression rule that returns custom data type from Smart service / Filter code?
I need to evaluate an expression rule inside Filter class, so i can not pass it as process parameter. So I created the below expression rule named EI_TESTRULE with rule definition:
='type!{bac.com/entitlement/AppianGroup}AppianGroupConfig'(
appianApplicationName: "Test",
appianGroupName: "Test",
appianParentGroupName: "Test",
appianCustomGroupType: "Test",
appianGroupSecurityType: "Test",
appianGroupMemberPolicyType: "Test",
appianGroupPrivacyPolicyType: "Test"
)
and it worked when i tested it from Appian designer portal.
I have imported this package to my filter (it got imported as com.bac.entitlement.AppianGroup.AppianGroupConfig.java class).
and I tried to get this expression rule evaluated in my filter class using the below code:
ProcessDesignService pds = getProcessDesignService();
TypedValue t...
OriginalPostID-141496
OriginalPostID-141496
Discussion posts and replies are publicly visible
0
sivananthag
over 10 years ago
...v1 = pds.evaluateExpression("=EI_TESTRULE()");
When i execute the filter code, i got the below error:
com.appiancorp.process.expression.ExpressionRuntimeException$AppianExceptionProvider: Expression evaluation error : Rule ei_appiangroupconfig_constant has invalid form, so cannot be evaluated (APNX-1-4198-000)
Please help
Thanks
Jhothi
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
0
Eduardo Fuentes
Appian Employee
over 10 years ago
There are a lot of examples in the Shared Components of custom functions and smart services that use Complex Data Types, you don't need to evaluate an expression, you simply import the complex data type as a POJO into your Appian Java Project and you build the instance of the data type as any Java object.
Useful links:
forum.appian.com/.../Defining_a_Custom_Data_Type.html
forum.appian.com/.../summary
forum.appian.com/.../summary
As you can see in those examples there is no need to evaluate an expression to build your Complex Data Type.
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
0
sivananthag
over 10 years ago
Thanks Ed for your suggestions. I have imported the complex data type already. My project requirement is to read the values of a complex data type set in Appian from Authentication Filter. I am using this filter for customizations at the time of user login. Since there is no way in a filter to read user input values, I have created an expression rule in Appian Rules tab which when evaluated returns a custom data type ( with values set) and I want those values to be read from filter.
I used ProcessDesignService.evaluateExpression but I got the error:
com.appiancorp.process.expression.ExpressionRuntimeException$AppianExceptionProvider: Expression evaluation error : Rule ei_appiangroupconfig_constant has invalid form, so cannot be evaluated (APNX-1-4198-000)
Pds.evaluateExpression works if the expression rule returns a TEXT data type, but DOES NOT WORK when the rule returns a complex CDT object.
Is there a way to read a CDT object values from Java (Filter / Smart services)?
Thanks
Jhothi
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
0
venkats533
over 10 years ago
once you import the CDT, you can simply pass a pv of the same type with values filled, as input to the smart service or function. do the evaluation in the process model not in the java code
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel