source: josm

Revision Log Mode:


Legend:

Added
Modified
Copied or renamed
Diff Rev Age Author
(edit) @19057   2 hours stoecker

fix checkstyle

(edit) @19056   16 hours taylor.smock

Fix last failing test in Java 21

  • Generate Java 21 image files (probably from r19043: Drop COMPAT locale provider).
  • Replace most deprecated function calls and classes in tests with non-deprecated functions.
(edit) @19055   41 hours taylor.smock

Fix tests in Java 21

  • Regenerate Java 21 image files (probably from r19043: Drop COMPAT locale provider).
  • Remove Java 8 image files, since we no longer support Java 8.
  • Fix an issue where Java 21 uses a non-breaking space between time and AM/PM.
(edit) @19054   44 hours taylor.smock

See r19043: Drop COMPAT locale provider

The CLDR provider does not currently return the CET for GMT+01:00. Using only SPI
will result in the "correct" CET timezone abbreviation. If using both, CLDR wins
and returns GMT+01:00. In addition, there are locales that do not use the Western
Arabic numeral system. Specifically, Arabic uses the Eastern Arabic numeral
system, Persian uses the Urdu numeral system, and Marathi uses the Devanagari
numeral system. Of note, while the first character for the Eastern Arabic and
Urdu numeral systems looks the same, it is a different character.

(edit) @19053   3 days taylor.smock

See r19043: Drop COMPAT locale provider

Update a test that expected a specific locale provider order. This also removes
a Java >= 9 version check, since that is now always true.

(edit) @19052   3 days taylor.smock

Fix some wiremock tests -- wiremock no longer considers // to be a valid URI.

From history, it appears that this may have been a typo (any URL to //maps).

(edit) @19051   3 days taylor.smock

See #23552: Update JOSM version in MS store

Change JOSM HWConsole to JOSM (Debug) in order to attempt to indicate to app
reviewer that the HWConsole application is no the "main" app.

(edit) @19050   3 days taylor.smock

Revert most var changes from r19048, fix most new compile warnings and checkstyle issues

Also, document why various ErrorProne checks were originally disabled and fix
generic SonarLint issues.

(edit) @19049   3 days stoecker

reimport previously exported dgpsid

(edit) @19048   6 days taylor.smock

Dependency updates

ivy.xml

  • org.eclipse.parsson:parsson: 1.1.5 -> 1.1.6
  • org.apache.commons:commons-compress: 1.25.0 -> 1.26.1
    • Note: This deprecated some functions
  • ch.poole:OpeningHoursParser: 0.28.1 -> 0.28.2
  • org.jacoco:org.jacoco.ant: 0.8.11 -> 0.8.12
  • com.github.spotbugs:spotbugs-annotations: 4.8.3 -> 4.8.4
  • com.github.tomakehurst:wiremock: 2.35.0 -> 3.0.1
  • io.github.classgraph:classgraph: 4.8.165 -> 4.8.171
  • nl.jqno.equalsverifier:equalsverifier: 3.15.6 -> 3.16.1
  • org.awaitility:awaitility: 4.2.0 -> 4.2.1

tools/ivy.xml

  • com.puppycrawl.tools:checkstyle: 9.3 -> 10.15.0
  • com.github.spotbugs:spotbugs: 4.8.3 -> 4.8.4
  • com.google.errorprone: 2.(10.0|24.1) -> 2.26.1
  • net.sourceforge.pmd:pmd was not updated to 7.0.0 due to a significant number of false positives.

There were some additional changes to cleanup new warnings and remove some
additional Java 8 files. There are more warnings that need to be cleaned up.

(edit) @19047   6 days stoecker

switch JNLP to 11 (hope this is right, can't test here), see #17858

(edit) @19046   6 days stoecker

typo in javadoc, see #23627

(edit) @19045   6 days stoecker

support language keys not following the naming of languages in JOSM, allow more than one language specific code, see #23627

(edit) @19044   6 days stoecker

switch build-xml to java 11 and drop java 9 support, see #17858

(edit) @19043   7 days stoecker

drop COMPAT locale provider

(edit) @19042   7 days stoecker

fix #23625 - allow - sign in keys

(edit) @19041   7 days GerdP

see #23619: prefer to show key SOFTWARE\Microsoft\Windows\NT\CurrentVersion\DisplayVersion

(edit) @19040   9 days stoecker

add gpl to ant build, see #23552

(edit) @19039   2 weeks taylor.smock

remove TLD from IANA

(edit) @19038   2 weeks stoecker

checkstyle

(edit) @19037   2 weeks taylor.smock

i18n

(edit) @19036   2 weeks taylor.smock

See #23600: Native Apple Silicon Support

Add entitlements so that the app can start.

(edit) @19035   2 weeks GerdP

fix #23604: false warning in osmose because of a problem in JOSM

  • add tag key building:part as a physical feature for sport=*
(edit) @19034   3 weeks GerdP

fix #9304: fix #9304: in validator, check for intersecting roads in different layers

  • exclude highway areas with layer != 0 from test
  • add one more test case with a bridge that is split (code coverage)
(edit) @19033   3 weeks GerdP

fix #23599: Error opening osm.pbf if way has negative ID or incomplete metadata
This fixes

  • handling of visible flag as proposed by *Martin*
  • handling of completely missing denseinfo (ids are always delta encoded), upload is discouraged
  • handling of denseinfo which only contains version data
(edit) @19032   3 weeks taylor.smock

See #21533: Native Apple Silicon Support

Try to fix code signatures for merged binaries (again).

(edit) @19031   3 weeks taylor.smock

See #21533: Native Apple Silicon Support

Try to fix code signatures for merged binaries.

Options largely came from https://github.com/openjdk/jdk21u/blob/master/src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacAppImageBuilder.java#getCodesignArgs

(edit) @19030   3 weeks taylor.smock

Fix #21533, see #23600: Native Apple Silicon Support

When building on macOS, the macos-jpackage.sh script now takes two arguments:

  1. The JOSM revision
  2. An additional JDK to build against (this should be of a different architecture)

If an additional JDK is specified, it is assumed that it is a different
architecture, and the two built apps are combined using lipo for a universal binary.

ant.yml does have some changes to make it easier to debug packaging issues in
PRs; the PR does still need to upload the specific package and add its branch to
the triggers.

(edit) @19029   3 weeks GerdP

fix #9304: in validator, check for intersecting roads in different layers

  • initial implementation of the test
  • functional test with examples, also checks code coverage
(edit) @19028   3 weeks GerdP

fix #23596: name=Bâtiment (French for "building"), especially on buildings, is suspicious and worth flagging by validator

(edit) @19027   3 weeks GerdP

see #23177: fix syntax error

(edit) @19026   3 weeks taylor.smock

Fix #23350: Add amenity=bicycle_wash as a preset (patch by mcliquid)

The proposal (osmwiki:Proposal:Bicycle_Wash) was approved on 2023-12-18.

(edit) @19025   3 weeks taylor.smock

Fix #23177: Change ref:gnis to gnis:feature_id in the waterway tagging options

ref:gnis, gnis:id, tiger:PLACENS, NHS:GNIS_ID, and nhs:gnis_id have
been merged into gnis:feature_id.

The wiki pages have been stable for 6 months, and the changes were discussed on
the OSM forum.

(edit) @19024   3 weeks taylor.smock

Fix #23550: Error when deserializing PBF Blog (patch by giora.kosoi, modified)

Modifications are as follows:

  • Added non-regression test
  • Removed unnecessary changes in Blob
(edit) @19023   3 weeks taylor.smock

See #23552: Update version in MS Store

The reviewer didn't like the HWConsole program. This changes it to be
JOSM HWConsole, which they will hopefully be OK with.

(edit) @19022   4 weeks GerdP

see #23305 and #23555:
-revert most of the changes in r18988, it caused too many problems with plugins which relied on the old behaviour

(edit) @19021   4 weeks GerdP

fix #23574: Preference geoimage.viewer.centre.on.image=true is ignored on startup

  • let the preference set the flag centerView instead of enabling the action only
(edit) @19020   5 weeks GerdP

see #23482: optimize the space in the history view (column width) and consider adding line wrapping

  • avoid misaligned tables caused by invisible fields (in many but not all cases)
(edit) @19019   5 weeks stoecker

see #23355, wrong translation

(edit) @19018   5 weeks taylor.smock

See #17858/#23564: Update Java versions in Linux start scripts

Additions:

  • Java 19-20 (EOL, added for completeness)
  • Java 21 (preferred LTS)
  • Java 22 (latest Java version)
  • Java 23 (next Java version)

Removals:

  • Java 8, 9, and 10: We no longer support Java < 11.
(edit) @19017   6 weeks taylor.smock

i18n update

(edit) @19016   6 weeks taylor.smock

Fix #23540: When a Linux distribution removes the Bing png from JMapViewer, JOSM hangs when loading a Bing imagery layer

This is due to an interaction between JOSM preferences, the ValidatorDialog, and
the cached Bing imagery layer.

The specific interaction that leads to the freeze is as follows:

  1. User starts process of adding a Bing imagery layer to JOSM
  2. In the EDT we call a synchronized method in MainLayerManager
  3. In the EDT we block on a separate thread that is fetching the Bing attribution data
  4. In the separate thread, we attempt to set cache information in preferences
  5. Setting the preference fires a preference change event
  6. One of the listeners, specifically ValidatorDialog, then calls another synchronized method in MainLayerManager

Steps 2 and 6 are the problem points. This patch fixes that by only
attempting to perform the update by only listening to a specific preference,
instead of all of them.

The alternative to this patch uses Config#addKeyPreferenceChangeListener
instead. This was not done since ToggleDialog is already listening to all
preference changes.

(edit) @19015   7 weeks taylor.smock

See #22630, see #22442: Add crossing:markings icons

These icons were created by me using crossing_ref_zebra.svg as the base and
inspiration from osmwiki:Key:crossing:markings.

(edit) @19014   7 weeks GerdP

fix #23527: Memory leak in relation editor

  • add new method wouldRelationBeUseful() in IRelationEditorActionAccess which doesn't call the problematic method getChangedRelation() to evaluate whether a relation would be useful if saved.
  • add comments and code in unit test for the method that shows how to handle the result of getChangedRelation() in case it is not needed any longer to avoid the memory leak.
(edit) @19013   7 weeks GerdP

see #23482: optimize the space in the history view (column width) and consider adding line wrapping

  • use TableHelper.adjustColumnWidth to adjust column widths each time when the displayed tag data changes
  • set maximum width for the "Since" column
(edit) @19012   7 weeks taylor.smock

Fix #23437: Offer to reset JOSM if JOSM fails to finish startup multiple times

(edit) @19011   7 weeks GerdP

fix #23509: Test-Failure because of r18994,r18996
The patch changes the failing test so that it

  • doesn't use a new file but reads from an existing one so that the result doesn't depend on that part
  • tests more methods to show the differences between DataSet.requiresUploadToServer() and OsmDataLayer.requiresUploadToServer()
  • tests the effect of the upload policy on the SaveLayersDialog
(edit) @19010   7 weeks taylor.smock

remove TLD from IANA

(edit) @19009   7 weeks stoecker

fix #23536 - somebody added useless space in Trac, so our empty-page detection failed

(edit) @19008   7 weeks taylor.smock

Fix an issue with custom OAuth2 parameters where the custom parameters would be replaced by default parameters

(edit) @19007   7 weeks taylor.smock

OAuth2: Fix an issue where a valid URL would have no host

(edit) @19006   7 weeks GerdP

fix #22814: Command stack shows "Set 1 tags for 0 objects"

  • add check to avoid a no-change-command on the undo/redo stack
(edit) @19005   8 weeks GerdP

fix #23519: Don't automatically enlarge "Validation Results" panel

  • show and unfurl "Validation Results" panel if not yet visible unless the tree is empty and the validation was triggered by an upload (see #23187)
(edit) @19004   8 weeks GerdP

see #23514: add @Territories annotation

(edit) @19003   8 weeks GerdP

fix #23514: add @Territories annotation

(edit) @19002   8 weeks GerdP

see #23305: correct @since xxx

(edit) @19001   8 weeks GerdP

fix #23517: "Tools->Create multipolygon" sorts inner before outer

  • reorder members so that all outer rings come first and for rings with same role those with more members come first (before calling RelationSorter.sortMembersByConnectivity())
(edit) @19000   8 weeks GerdP

fix #23519: Don't automatically enlarge "Validation Results" panel

  • implement new preference validator.force.unfurl.window with default value true, if set to false the window is not unfurled
  • code cleanup to remove duplicate or obsolete code
(edit) @18999   2 months taylor.smock

See #23355: Ensure that the dialog has read the preference key for the sanity check

(edit) @18998   2 months taylor.smock

See #23355: Don't store stop answers for startup sanity check

(edit) @18997   2 months taylor.smock

Fix #23361: Add mouth as an optional role for waterway relations (patch by hhtznr)

Additional notes:

(edit) @18996   2 months stoecker

see #23506, see #23408 - readd the bracket lost in last checkin

(edit) @18995   2 months taylor.smock

Add turning_circle tag (a subkey for highway=turning_circle) (patch by guylamar2006, see https://github.com/JOSM/josm/pull/137)

(edit) @18994   2 months stoecker

fix #23506, see #23408 - fix the save/upload layer preconditions - neither the original, nor the #23408 variant makes real sense

(edit) @18993   2 months taylor.smock

Update actions to ones that support node 20 (patch by guylamar2006, see https://github.com/JOSM/josm/pull/136 )

(edit) @18992   2 months taylor.smock

See #23485/r18989: Fix broken tests

The tests just needed to have a category set.

(edit) @18991   2 months taylor.smock

Fix #22810: OSM OAuth 1.0a/Basic auth deprecation and removal

As of 2024-02-15, something changed in the OSM server configuration. This broke
our OAuth 1.0a implementation (see #23475). As such, we are removing OAuth 1.0a
from JOSM now instead of when the OSM server removes support in June 2024.

For third-party OpenStreetMap servers, the Basic Authentication method has been
kept. However, they should be made aware that it may be removed if a non-trivial
bug occurs with it. We highly recommend that the third-party servers update to
the current OpenStreetMap website implementation (if only for their own security).

Failing that, the third-party server can implement RFC8414. As of this commit,
we currently use the authorization_endpoint and token_endpoint fields.
To check and see if their third-party server implements RFC8414, they can go
to <server host>/.well-known/oauth-authorization-server.

Prominent third-party OpenStreetMap servers may give us a client id for their
specific server. That client id may be added to the hard-coded client id list
at maintainer discretion. At a minimum, the server must be publicly
available and have a significant user base.

(edit) @18990   2 months taylor.smock

Fix #23472: Decrease cost of Geometry#polygonIntersectionResult (specifically for geometry.mapcss)

When profiling the validator with an overpass download of Mesa County, Colorado,
~50% of the total CPU time are taken up by Geometry#polygonIntersectionResult.

Specifically (inside the function), the improvements for this patch are as follows:

  • CPU cycles: -95.7%
  • Memory allocations: -97.9%

When taken as a whole, the total time taken by the validator was reduced by ~75%.

(edit) @18989   2 months taylor.smock

Fix #23485: JOSM crashes when opening Imagery Preferences

  • SyncEditorLayerIndex.java now checks to see if imagery entries are valid; if not, it prints the missing fields and the standard description.
  • ImageryInfo now has isValid and getMissingFields; the latter method should only be called in tests or SyncEditorLayerIndex.
  • ImageryLayerInfo removes invalid ImageryInfo objects after parsing the source
(edit) @18988   2 months GerdP

fix #23305: conflict detection not working for combine way with one null and one tag set
(23305-alt.patch)

  • adds code to check if a conflict exists where one or more tagged ways don't have the same tag value and - if so - show the conflict dialog.
  • adds a preference combine-conflict-precise . If set to false the old behaviour is restored.
  • changes the preference for the non-expert relation member ship warning popup from combine_tags to combine_relation_member, so that both dialogs have separate settings
(edit) @18987   2 months GerdP

fix #23477: crash when undoing changes while in extrude mode

  • add sanity checks in performExtrusion() to detect when undo was pressed, this always cancels the current extrude
  • removes the try/catch clause which might hide a data corruption (reverts r12512)
(edit) @18986   2 months taylor.smock

See #23355: Sanity check JVM arguments on startup

Change the icon for Continue and be a more lenient when comparing expected JVM
arguments against actual JVM arguments.

This additionally updates the Eclipse launch files.

(edit) @18985   2 months taylor.smock

Fix #23355: Sanity check JVM arguments on startup

See #17858: JOSM will no longer continue running if the user is on an unsupported
Java version (for this commit, older than Java 11; message indicates Java 17).
This does update the link for Azul from Java 17 to Java 21 as well.

In order to (hopefully) reduce confusion, the webstart and Java update nags will
also be reset in the event that JOSM will exit due to old Java versions. This is
mostly so that users will get the messages to update to OpenWebstart or the
appropriate Java link for their platform and architecture.

Additionally, this will (hopefully) reduce the number of tickets we have to close
due to missing JVM arguments by informing users of the missing arguments at startup.

(edit) @18984   2 months GerdP

see #17035: enable counter that shows "{0} of {1} elements done" for the tested OSM elements also in TagChecker

(edit) @18983   2 months taylor.smock

Fix #23471: fix an inconsistency between fast ASCII sort and slower unicode-aware sort

(edit) @18982   2 months taylor.smock

See #23471: Temporarily disable fast sorting

(edit) @18981   2 months taylor.smock

See #23290/r18980: Update test messages

(edit) @18980   2 months taylor.smock

Fix #23290: Improve region check messages and run region checks when informational warnings are disabled

(edit) @18979   2 months taylor.smock

Dependency updates

ivy.xml

  • OpeningHoursParser: 0.28.0 -> 0.28.1
  • junit: 5.10.1 -> 5.10.2
  • equalsverifier: 3.15.5 -> 3.15.6
  • tag2link: 2023.11.21 -> 2024.2.8

tools/ivy.xml

  • proguard: 7.4.1 -> 7.4.2
  • error_prone: 2.24.0 -> 2.24.1
(edit) @18978   2 months taylor.smock

See #23468: Improve performance in the validator tree window

Add missing - character.

(edit) @18977   2 months taylor.smock

See #23468: Improve performance in the validator tree window

This fixes an issue where there was a difference in sorting algorithms between
the faster ASCII only sorting method and the sorting method used by non-ASCII
strings.

(edit) @18976   2 months GerdP

fix #20424, fix #20425: Duplicate relations not detected with incomplete members, Duplicate Relation test is too lazy/too aggressive

  • add code to compare just members so that it doesn't matter if they are complete
  • change original test which compares geometry to use a list instead of a set to store members. That means that the order of members is taken into account as well as duplicated members
  • before comparing tags only the "discardable" tag keys are removed, previously all "uninteresting" keys were removed, so fixme=* or note=* was ignored
  • if two relations have the same members in the same order but different tags the new message informational message "Identical members" is produced.
(edit) @18975   2 months taylor.smock

See #23465: Add missing documentation for SessionReader

(edit) @18974   2 months taylor.smock

Fix #23465: Remove custom checkstyle plugin

TopLevelJavadocCheck.java is duplicating functionality from MissingJavadocType.
Our custom class is from #14794 (closed 2017-10-16). The check that makes it
redundant was added in checkstyle 8.20 (released 2019-04-28).

This adds the missing javadocs for the more comprehensive checkstyle version.

(edit) @18973   2 months taylor.smock

Fix #23468: Improve performance in the Validator tree window

A large number of entries in the validator tree would cause the UI to lock for
significant periods of time when switching to a layer with many errors. Most of
the time spent was in AlphanumComparator.compare.

We need to use AlphanumComparator since String.compare would improperly sort
strings with accented characters.

The performance optimizations for this patch come from the following locations:

  • Extracting string chunk comparison to its own method (which can be compiled to native code)
  • Using String.substring instead of a StringBuilder when getting a string chunk for comparison

Both of those methods may be compiled to native code, but absent code compilation,
the performance improvements are as follows (as measured using an overpass
download of Mesa County, Colorado):

  • -86.4% CPU usage (3.366s to 0.459s)
  • -99.9% memory allocations (2.37 GB to 2.07 MB)
(edit) @18972   3 months taylor.smock

See #23465: Add additional javadoc comments

This also fixes some sonarlint issues

(edit) @18971   3 months taylor.smock

Fix #23148: Remove fenced from deprecation warnings

The tag's deprecation status was changed on 2023-06-14, and is used as a
supplementary tag for features to indicate that the feature is fenced. Example:
leisure=playground + fenced=yes.

(edit) @18970   3 months taylor.smock

remove TLD from IANA

(edit) @18969   3 months taylor.smock

i18n update

(edit) @18968   3 months GerdP

fix #23447:Fatal "crash" attempting to delete all "Outer" members & then multipolygon

  • revert changes from r18967
  • simply close relation editor dialog for the already deleted relation instead of generating an additional delete command
(edit) @18967   3 months GerdP

fix #23447: Fatal "crash" attempting to delete all "Outer" members & then multipolygon

  • disable the delete action in the relation editor if the relation has the status deleted
  • in DeleteCurrentRelationAction updateEnabledState() now uses getRelaion() instead of getRelationSnapshot(), similar to the actionPerformed() method
(edit) @18966   3 months taylor.smock

See #23290: Add missing regions attributes to text, combo and multiselect

simonpoole (Vespucci dev) pointed out that we were using regions for those
attributes on but did not have them documented in the xsd.

(edit) @18965   3 months taylor.smock

See #23444: Fix an additional NPE found during testing ImproveWayAccuracyAction

The NPE could be reproduced by selecting a node with only an incomplete
parent way, and switching from select mode to improve way mode.

This additionally adds simple tests for ImproveWayAccuracyAction and refactors
some methods to have a lower complexity.

(edit) @18964   3 months GerdP

fix #23440: Validation results may not be refreshed on upload
The patch checks if the validator dialog is already showing. If yes, it is always updated.
An empty dialog is only suppressed when there was no dialog showing and there are no errors and the validation was triggered by the upload action.

(edit) @18963   3 months taylor.smock

Fix #23444: NPE in org.openstreetmap.josm.gui.MapViewState$MapViewEastNorthPoint.<init>

This occurs when an incomplete way is loaded into JOSM (by an .osm file, for
example). This is fixed by checking to see if the way is usable (not incomplete,
not deleted, and more importantly for this ticket, no nodes are incomplete).

This additionally fixes some pmd issues and sonarlint issues.

(edit) @18962   3 months GerdP

see #23397: Improve the results of partial validations

  • don't call endTest() in static method CrossingWays.isSelfCrossing(), this fixes the failing unit test AlignInCircleActionTest
(edit) @18961   3 months GerdP

see #23397: Improve the results of partial validations

  • correct last minute change so that it doesn't use empty collection to filter irrelevant warnings
  • correct usage of isPrimitiveUsable() so that CrossingWays.Boundaries works again (old unit test failed)
  • add unit tests to check partial validation of DuplicateWay and CrossingWays gives expected results
(edit) @18960   3 months GerdP

fix #23397: Improve the results of partial validations

  • pass also parent ways and relations of uploaded/selected objects to the testers, child objects are already added, this allows to find e.g. overlapping polygons problems with tags in members of relations
  • let CrossingWays find a problem if at least one of the crossing ways is in the partial selection.
  • let DuplicatWays find a problem if at least one of the duplicated ways is in the partial selection
  • add code to filter the detected issues so that those issues which are clearly not related to the original list of objects are removed. A few issues from mapcss tests may remain.
  • add new preference validator.partial.add.parents to disable the addition of parent objects, default is enabled
  • add new preference validator.partial.removeIrrelevant to disable the filtering of irrelevant errors, default is enabled
  • duplicated code to call AggregatePrimitivesVisitor was moved to ValidationTask
(edit) @18959   3 months GerdP

fix #23442: Follow line bug when holding F

  • make sure that the node returned by DrawAction.getCurrentBaseNode() is either first or last node of the selected way.
(edit) @18958   3 months taylor.smock

Fix #23418: Improve unit test consistency when run with non-English locales

This also fixes some tests that fail when run individually.

Note: See TracRevisionLog for help on using the revision log.