Changes between Version 2 and Version 3 of MapGuideRfc70


Ignore:
Timestamp:
Jun 25, 2009, 10:56:37 PM (15 years ago)
Author:
leaf
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • MapGuideRfc70

    v2 v3  
    3232== Proposed Solution ==
    3333
     34=== Schema, Class and Property Definition ===
     35
    3436ApplySchema need not only support adding, modifying but also support deleting schema elements. So we need a method to mark the schema element for deletion. The method Delete() will be added to classes MgFeatureSchema, MgClassDefinition, MgPropertyDefinition for it.
     37
     38{{{
     39/// \brief
     40/// Contains one or more feature class definitions, which specify the structure
     41/// of feature data in a datastore.
     42class MgFeatureSchema: public MgNamedSerializable
     43{
     44PUBLISHED_API:
     45    ......
     46    /// \brief
     47    /// Marks the schema for deletion.
     48///
     49    /// \return
     50    /// Returns nothing.
     51    void Delete();
     52};
     53
     54/// \brief
     55/// Defines a feature class belonging to a schema.
     56class MgClassDefinition: public MgNamedSerializable
     57{
     58PUBLISHED_API:
     59    ......
     60    /// \brief
     61    /// Marks the class for deletion.
     62///
     63    /// \return
     64    /// Returns nothing.
     65    void Delete();
     66};
     67
     68/// \brief
     69/// Defines the base class for the concreate property definition classes which
     70/// are used to create data, geometric, object, and raster property definitions.
     71class MgPropertyDefinition: public MgProperty
     72{
     73PUBLISHED_API:
     74    ......
     75    /// \brief
     76    /// Marks the property for deletion.
     77///
     78    /// \return
     79    /// Returns nothing.
     80    void Delete();
     81};
     82}}}
     83
     84=== Changes to Feature Service ===
     85
     86Feature Service will be extended to add one method to apply a schema.
     87
     88{{{
     89class MgFeatureService : public MgService
     90{
     91PUBLISHED_API:
     92    /// \brief
     93/// Creates or updates a feature schema within the DataStore.
     94///
     95    /// \param resource (MgResourceIdentifier)
     96    /// A resource identifier referring to a feature source.
     97    /// \param schema
     98    /// Input schema to be created or updated.
     99    ///
     100    /// \return
     101    /// Returns nothing.
     102    ///
     103virtual void ApplySchema(
     104MgResourceIdentifier* resource,
     105MgFeatureSchema* schema) = 0;
     106};
     107}}}
    35108
    36109== Implications ==