A little further down the rabbit hole I think I see the issue, but I'm still not sure how to resolve it. Per the wxxm schema (add link) a wxxm:DiscreteCoverage is just an extension of gml:DiscreteCoverage. It doesn't add any elements, it just extends. wxxm:domainSet defines itself as a substitution for gml:domainSet which exists under the gml:DiscreteCoverage.
During the XML encoding GMLEncodingUtils.java inspects the schema and creates a list of acceptable propertyNames (namespace & element name) that could be present on the element. In my case, gml:domainSet is returned as a potential propertyName. The problem is that in the next step (GMLEncodingUtils.java L222) it tries to retrieve the properties from the feature hashmap by propertyName, but gml:domainSet isn't present in the map, only wxxm:domainSet so the match is not found and that section of the XML is not populated. The curious part is that the gml:domainSet attribute contains a substitutionGroup List which does in fact contain a wxxm:domainSet XSDElementDeclaration. Unfortunately, I don't see any code that inspects the substitutionGroup. A simple change such as iterating over the substitutionGroups and calling feature.getProperties(subGroupPropertyName) in the event that the first getProperties(propertyName) returns an empty collection might work, but could add significant processing time for complex schemas. Does anyone have any other ideas or suggestions? Thanks, Kevin M. Weiss Software Engineer CRITICAL NETWORKS / HARRIS CORPORATION harris.comĀ / kevin.we...@harris.com -----Original Message----- From: kweis...@harris.com [mailto:kweis...@harris.com] Sent: Monday, December 12, 2016 4:25 PM To: Ben Caradoc-Davies <b...@transient.nz> Cc: geoserver-users@lists.sourceforge.net Subject: Re: [Geoserver-users] App-schema troubleshooting Hey Ben, I tried your mapping suggestion, but the output remained the same. I even downloaded and generated a mapping file via HALE (which is pretty cool btw), but the same problem occurs. Stepping through the debugger I noticed that when the BindingPropertyExtractor.java tries to load the properties for the wxxm:DiscreteCoverage type, it finds a gml:domainSet element, but not the wxxm:domainSet element which specifies the substitutionGroup="gml:domainSet". Is there a trick to get app-schema to recognize substituionGroups as valid replacements? Thanks, Kevin M. Weiss Software Engineer CRITICAL NETWORKS / HARRIS CORPORATION harris.comĀ / kevin.we...@harris.com -----Original Message----- From: Ben Caradoc-Davies [mailto:b...@transient.nz] Sent: Thursday, December 08, 2016 10:04 PM To: Weiss, Kevin <kweis...@harris.com> Cc: Nuno Oliveira <nuno.olive...@geo-solutions.it>; geoserver-users@lists.sourceforge.net Subject: Re: [Geoserver-users] App-schema troubleshooting Kevin, I think this is a feature chaining problem. The first thing I noticed is that in discretecoverage.xml you have <linkElement>discretecoverage_domain</linkElement> but I think this should match the targetElement of the nested type (wxxm:DomainObject). I also saw inputAttribute which might work but I think is meant for wrapping a non-application-schema data access (I have never used this and had to look it up). Can you just use OCQL as in the feature chaining guide? I threw in an isMultiple for good measure, giving me: <AttributeMapping> <targetAttribute>wxxm:domainSet</targetAttribute> <sourceExpression> <OCQL>id</OCQL> <linkElement>wxxm:DomainObject</linkElement> <linkField>FEATURE_LINK</linkField> </sourceExpression> <isMultiple>true</isMultiple> <encodeIfEmpty>true</encodeIfEmpty> </AttributeMapping> Kind regards, Ben. ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot _______________________________________________ Geoserver-users mailing list Geoserver-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/geoserver-users ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot _______________________________________________ Geoserver-users mailing list Geoserver-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/geoserver-users