Larry, why do you use an int rather than a boolean to flag changed 
attributes?

BTW, In order to track changes to Geometry attributes correctly, the 
JUMP codebase needs to be scrutinized to make sure it isn't mutating 
Geometries "in place".



Larry Becker wrote:
> Hi,
>
>   As I mentioned in the other thread, before the problem of partial 
> database updates can be solved, we must first be able to determine if 
> a Feature has been modified.  This is not currently possible in all of 
> the JUMP variants that I am familiar with, although Kosmo may have 
> implemented it.
>
> The simplest way of implementing it that I can see is to modify 
> BasicFeature to include:
>
> private int[] attributeModCount;  //this is a parallel array to 
> Object[] attributes
>
> Then it would be necessary to allocate the attributeModCount array 
> when setAttributes(Object[] attributes) is called.
>
> In addition each time setAttribute(int attributeIndex, Object 
> newAttribute) is called, add the line of code:
>
> attributeModCount[attributeIndex]++
>
> With these modifications we could then define:
>
> public boolean isFeatureModified() {
>     for (int i=0; i<attributeModCount.length; i++) {
>       if (attributeModCount[i] > 1)  //modified is defined as setting 
> an attribute more than once
>          return true;
>     }
> return false;
> }
>
> Would this work and does this seem like something we should consider?
>
> regards,
> Larry
> -- 
> http://amusingprogrammer.blogspot.com/
> ------------------------------------------------------------------------
>
> ------------------------------------------------------------------------------
>   
> ------------------------------------------------------------------------
>
> _______________________________________________
> Jump-pilot-devel mailing list
> Jump-pilot-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>   

-- 
Martin Davis
Senior Technical Architect
Refractions Research, Inc.
(250) 383-3022


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

Reply via email to