[InterMine Dev] ClassShadow.primaryIdentifier snafu

Sam Hokin shokin at ncgr.org
Thu Oct 8 18:33:58 BST 2020

I've got a bug in one of my mines that I simply cannot figure out. I have a class, which does not extend any other classes, called 
QTL, and here's how it's declared in dbmodel/build/resources/main/genomic_model.xml:

<class name="QTL" is-interface="true" term="http://purl.obolibrary.org/obo/SO:0001645">
         <attribute name="lod" type="java.lang.Double"/>
         <attribute name="likelihoodRatio" type="java.lang.Double"/>
         <attribute name="intervalDescription" type="java.lang.String"/>
         <attribute name="end" type="java.lang.Double"/>
         <attribute name="identifier" type="java.lang.String"/>
         <attribute name="start" type="java.lang.Double"/>
         <reference name="organism" referenced-type="Organism"/>
         <reference name="phenotype" referenced-type="Phenotype" reverse-reference="QTLs"/>
         <reference name="geneticMap" referenced-type="GeneticMap" reverse-reference="QTLs"/>
         <reference name="linkageGroup" referenced-type="LinkageGroup" reverse-reference="QTLs"/>
         <collection name="dataSets" referenced-type="DataSet"/>

Note that is has an attribute called "identifier" and no attribute called "primaryIdentifier". This is my practice for classes which 
don't extend Annotatable/BioEntity/SequenceFeature.

But whenever I build the mine and look at a QTL report page, it stops after the header and I get the following in the Tomcat 
localhost log (and no client-side error in the Javascript console):

08-Oct-2020 11:27:28.121 SEVERE [ajp-nio-8009-exec-193] org.apache.catalina.core.StandardWrapperValve.invoke Servlet.service() for 
servlet [action] in context with path [/soymine] threw exception [An exception occurred processing [/layout.jsp] at line [93]

90:       <tiles:insert page="/contextHelp.jsp"/>
92:       <tiles:get name="body"/>
94: <script type="text/javascript">
95: jQuery(document).ready(function() {
96:   jQuery("p#contactUsLink").toggle();

Stacktrace:] with root cause
	javax.el.PropertyNotFoundException: Property [primaryIdentifier] not found on type [org.intermine.model.bio.QTLShadow]

So this is a server-side error, but where on earth is this desired QTLShadow.primaryIdentifier property coming from? It looks like 
it may be associated with a tile, but a grep of the entire mine tree shows no instance of QTL and primaryIdentifier. This is really 
mysterious! Thanks in advance for tips!

More information about the dev mailing list