[Geoserver-devel] [jira] Created: (GEOS-3150) Update feature chaining related tests with non-schema field as foreign keys

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