您好Groovy专家,
我使用以下命令获取所有ODI数据服务器。
def PSchema=DServer.getPhysicalSchemas();
当我打印PSchema
变量时,我得到以下值。
[oracle.odi.domain.topology.OdiPhysicalSchema ABC.X1, oracle.odi.domain.topology.OdiPhysicalSchema ABC.X2]
我想在这里实现的目标,我将在运行时通过X1
或X2
...
然后我想用PSchema
结果验证此值并打印以下值:
oracle.odi.domain.topology.OdiPhysicalSchema ABC.X2
我尝试使用以下选项:
def PSchema44 = PSchema11.findIndexValues { it =~ /(X1)/ }
def pl=PSchema11.collect{if(it.contains ('X1)){return it}}
我尝试循环检查值是否正确打印..结果很好:
for (item in PSchema11 )
{
println item
}
答案 0 :(得分:1)
假设' X1'和' X2'是物理模式的名称,你应该能够做这样的事情:
def phys = "X1"
def pSchemas = dServer.getPhysicalSchemas()
def schema = pSchemas.find{it.schemaName == phys}
我想你是Groovy的新手,我建议你阅读语法和命名约定。例如,变量名应始终以小写字母
开头