Update feature chaining related tests with non-schema field as foreign keys 
----------------------------------------------------------------------------

                 Key: GEOS-3150
                 URL: http://jira.codehaus.org/browse/GEOS-3150
             Project: GeoServer
          Issue Type: Test
          Components: Application schema
    Affects Versions: 2.0.x
            Reporter: Rini Angreani
            Assignee: Rini Angreani
             Fix For: 2.0.x
         Attachments: SISS_349_GS.patch

At the moment, feature chaining uses real attributes in the nested type to be 
referred by the parent type. If there is no real attribute available, gml:name 
is to be used (despite not existing in the schema, gml:name was specially 
handled). This is because gml:name is a multi-valued property, so we can have 
multiple instances of gml:name as foreign keys to different parent types. A 
codespace could be used to clarify the purpose of gml:name as foreign key, eg:

<gml:name 
codeSpace="urn:cgi:classifierScheme:GSV:MappedFeatureReference">gu.25678</gml:name>

However, it is technically wrong to have these foreign keys appearing as fake 
gml:name properties, because it'd confuse the users with real gml:name 
properties.
It was suggested to use fake non-schema field to hold these foreign keys 
instead, so they don't appear in the output (encoder would filter them out).
the fake non-schema field is static and defined in FeatureTypeFactoryImpl. The 
field is called "FEATURE_LINK", and is multi-valued (so we can have multiple 
instances). It is smuggled inside FeatureTypeImpl for complex feature types. A 
method called getTypeDescriptors() is added to return real schema descriptors, 
while getDescriptors() would also return the fake descriptor.

The fake non-schema field is static and defined in FeatureTypeFactoryImpl. The 
field is called "FEATURE_LINK", and is multi-valued (so we can have multiple 
instances). It is smuggled inside FeatureTypeImpl for complex feature types. A 
method called getTypeDescriptors() is added to return real schema descriptors, 
while getDescriptors() would also return the fake descriptor.

This will be committed when  GEOT-2545 is committed. 


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables unlimited
royalty-free distribution of the report engine for externally facing 
server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

Reply via email to