Mule数据编织问题与when条件

Mule数据编织问题与when条件,mule,Mule,需要有关Dataweave转换中的when条件的帮助。我的data weave transformer正在输出java对象中填充电子邮件地址。输入的电子邮件地址来自flow变量。仅当电子邮件存储在flow变量中时,我才想创建输出对象 下面是我的代码,如果我尝试添加when条件,它会抛出一个错误。有人能帮我理解这个条件逻辑吗 maintainContactInformationData: { effectiveDate: flowVars.currentDate,

需要有关Dataweave转换中的when条件的帮助。我的data weave transformer正在输出java对象中填充电子邮件地址。输入的电子邮件地址来自flow变量。仅当电子邮件存储在flow变量中时,我才想创建输出对象

下面是我的代码,如果我尝试添加when条件,它会抛出一个错误。有人能帮我理解这个条件逻辑吗

maintainContactInformationData: {
        effectiveDate: flowVars.currentDate,
        workerContactInformationData: {
            emailAddressData: [{
                emailAddress: flowVars.email ,
                usageData: [{
                    typeData: [{
                        primary: true,
                        typeReference: {
                            ID: [{
                                type: "Communication_Usage_Type_ID",
                                value: "WORK"
                            } as :object {
                                class : "com.workday.hr.CommunicationUsageTypeObjectIDType"
                            }]
                        } as :object {
                            class : "com.workday.hr.CommunicationUsageTypeObjectType"
                        }
                    } as :object {
                        class : "com.workday.hr.CommunicationUsageTypeDataType"
                    }]
                } as :object {
                    class : "com.workday.hr.CommunicationMethodUsageInformationDataType"
                }]  
            } as :object {
                class : "com.workday.hr.EmailAddressInformationDataType"
            }] when flowVars.email != null,

如果希望仅在设置了电子邮件变量时将emailAddressData添加到输出中,请执行以下操作。你应该把它放在括号里

(emailAddressData: logic to get) when flowVars.email? And flowVars.email != ""

你的错误是什么?