[josm-dev] License change plugin

Stephan Knauss osm at stephans-server.de
Sat Jul 2 13:50:39 BST 2011


Hi Frederik,

On 02.07.2011 03:31, Frederik Ramm wrote:
> The plugin still has a bug where newly created objects are flagged as
> problematic, but other than that it would be good to be released to the
> public (given that Potlatch meanwhile has the same functionality - and
> we don't want to fall behind, do we ;)

is it really ready for the public?

I noticed a small problem in usability. If you select an element (I 
tried a node) an press the license check button nothing happens. You 
have to deselect the element to have the license status listed.

The tool is doing background data requests. It should provide some 
feedback to the user regarding this.

The loadDataFromQuickHistoryService() does not seam to implement timeout 
handling.

The doCheck() in BasicLicenseCheck is in my opinion not right regarding 
nodes that have no tags. As all information these nodes carry is their 
existence and coordinates I see no reason why any other status than the 
one of the last editor of that node could be relevant.
A change in the coordinate could be expressed as a deletion and 
recreation at a new position. The copyright (in case there exists one on 
node level) would be solely on the last editor.

I have changed the check to do this. I would like to discuss it before 
submitting my changes. Actually the doCheck() might need some more 
improvements.

Index: 
src/org/openstreetmap/josm/plugins/licensechange/BasicLicenseCheck.java
===================================================================
--- 
src/org/openstreetmap/josm/plugins/licensechange/BasicLicenseCheck.java 
(revision 26064)
+++ 
src/org/openstreetmap/josm/plugins/licensechange/BasicLicenseCheck.java 
(working copy)
@@ -69,6 +69,27 @@
                  }
              }

+            if (n instanceof Node && !n.isTagged()) {
+            	int ux = n.getUser().getRelicensingStatus();
+                switch (ux) {
+                    case User.STATUS_NOT_AGREED:
+                    case User.STATUS_ANONYMOUS:
+                        sev = Severity.DATA_LOSS;
+                        msg = tr("Object modified by user(s) who have 
rejected, or not agreed to, CT");
+                        break;
+                    case User.STATUS_AGREED:
+                    case User.STATUS_AUTO_AGREED:
+                        // nothing to do in case of no loss
+                        sev = null;
+                        break;
+                    case User.STATUS_UNDECIDED:
+                    case User.STATUS_UNKNOWN:
+                    default:
+                        sev = Severity.POSSIBLE_DATA_LOSS;
+                        msg = tr("Object modified by user(s) who have 
not (yet) accepted CT");
+                }
+            }
+
              if (sev != null)
              {
                  List<? extends 
org.openstreetmap.josm.data.osm.OsmPrimitive> x = Arrays.asList(n);




More information about the josm-dev mailing list