Hi Michael,  good thoughts.

Yes, I'm in process of implementing some datastore plugins that will 
permit the dynamic reading and writing to a database.  I wrote a quick 
hacky plugin many years ago that does this for PostGIS.  I want to 
release this to the community because it seems quite useful, but I'm 
first tackling a complete code rewrite with a nice UI.  I'm currently 
using a Primary or Unique key to synchronize a database table and OJ's 
FeatureCollection.  If a feature gets modified, I use the key to update 
the appropriate record in the database.  Obviously, mayhem ensues if a 
user were to modify a feature and it's primary key attribute ... they'd 
be modifying the wrong record in the database.

So, yes, I'm trying to prevent the modification of certain attributes.  
Preventing attribute writing through the LayerTable seemed like the 
easiest approach, but I'm definitely open to ideas on how we can make 
this rock solid.  I hadn't considered adding a check to 
BasicFeature.setAttribute, but it does sound prudent.

I'm not sure I understand your last comment, can you please elaborate?  
If the readonly attribute is not cloned, then a deep copy of a 
FeatureSchema object wouldn't have the same constraints as the original, no?

-- Kevin

On 9/3/2010 2:25 PM, Michaël Michaud wrote:
>    Hi,
>
> I just had a look at your patch which seems good to me.
>
> I have some questions about it :
>
> 1 - Do you plan to improve database connection plugins to prevent
> modifications on some kinds of database attributes ?
>
> 2 - Do you just want to prevent attribute writing throught the LayerTable ?
> Because if you want a stronger  protection (preventing attribute writing
> from attribute edition plugins, new plugins, scripts) , I think some
> methods have to be added in the feature implementation
> (AbstractBasicFeature.setAttribute ? BasicFeature.setAttribute ?) to
> check if setting a new attribute value is authorized by the feature
> schema. I'm not sure about setAttributes which is a low level method.
> What do you think ? Checking before each setAttribute may slowdown the
> whole process.
> And if we go this way, I wonder if cloning attributeReadOnly property
> with the FeatureSchema is necessary.
> What do you think ?
>
> Michaël
>
> Le 02/09/2010 17:59, Kevin Neufeld a écrit :
>    
>>     Patch has been committed at r2034, no problems.  Let me know if anyone
>> has issues with the addition.
>>
>> Thanx all,
>> -- Kevin
>>
>> On 9/2/2010 8:29 AM, Sunburned Surveyor wrote:
>>      
>>> Kevin,
>>>
>>> You've been added to the Jump Pilot Project on Sourceforge and now
>>> have write access to the SVN. You can commit your patch so we get the
>>> changes in our nightly build.
>>>
>>> If you have trouble with the commit, please let me know.
>>>
>>> The Sunburned Surveyor
>>>
>>>        
>> ------------------------------------------------------------------------------
>> This SF.net Dev2Dev email is sponsored by:
>>
>> Show off your parallel programming skills.
>> Enter the Intel(R) Threading Challenge 2010.
>> http://p.sf.net/sfu/intel-thread-sfd
>> _______________________________________________
>> Jump-pilot-devel mailing list
>> Jump-pilot-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>>
>>
>>      
>
> ------------------------------------------------------------------------------
> This SF.net Dev2Dev email is sponsored by:
>
> Show off your parallel programming skills.
> Enter the Intel(R) Threading Challenge 2010.
> http://p.sf.net/sfu/intel-thread-sfd
> _______________________________________________
> Jump-pilot-devel mailing list
> Jump-pilot-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>    

------------------------------------------------------------------------------
This SF.net Dev2Dev email is sponsored by:

Show off your parallel programming skills.
Enter the Intel(R) Threading Challenge 2010.
http://p.sf.net/sfu/intel-thread-sfd
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

Reply via email to