When compiling my model I received the following error:
Exception in thread "Main Thread" org.gusdb.wdk.model.WdkModelException:
The recordClasses referred in answerParam spanParams.span_a doesn't have
same primary key definitions.
(full trace below)
Because the primary key of our GeneRecordClasses.GeneRecordClass is
gene_id and the primary key of the dynSpan record class is, of course,
source_id. To test this, I changed our gene record primary key to
source_id and the model parsed successfully.
However, this may not be a viable solution for us to change the primary
key of the gene record. Is this constraint necessary? If so, could we
potentially customize/extend the behavior that requires these to be
equal. On our end we will also assess the impact of changing the
primary key on this record type.
Thanks,
Emily
673 [DEBUG] org.gusdb.wdk.model.ModelXmlParser:92 - Parsing model...
794 [DEBUG] org.gusdb.wdk.model.ModelXmlParser:104 - Validating model
files...
836 [DEBUG] org.gusdb.wdk.model.ModelXmlParser:108 - Combining &
preparing DOM...
1146 [DEBUG] org.gusdb.wdk.model.ModelXmlParser:137 - Parsing model DOM...
Exception in thread "Main Thread" org.gusdb.wdk.model.WdkModelException:
The recordClasses referred in answerParam spanParams.span_a doesn't have
same primary key definitions.
at
org.gusdb.wdk.model.query.param.AnswerParam.resolveReferences(AnswerParam.java:124)
at
org.gusdb.wdk.model.query.param.ParamReference.resolveReference(ParamReference.java:120)
at
org.gusdb.wdk.model.query.Query.resolveReferences(Query.java:349)
at
org.gusdb.wdk.model.query.QuerySet.resolveReferences(QuerySet.java:114)
at
org.gusdb.wdk.model.WdkModel.resolveReferences(WdkModel.java:591)
at org.gusdb.wdk.model.WdkModel.configure(WdkModel.java:495)
at
org.gusdb.wdk.model.ModelXmlParser.parseModel(ModelXmlParser.java:142)
at org.gusdb.wdk.model.WdkModel.construct(WdkModel.java:84)
at org.gusdb.wdk.model.ModelXmlParser.main(ModelXmlParser.java:772)