source: josm/trunk/test/unit/org/openstreetmap/josm/testutils/annotations/MapPaintStyles.java@ 18972

Last change on this file since 18972 was 18972, checked in by taylor.smock, 3 months ago

See #23465: Add additional javadoc comments

This also fixes some sonarlint issues

File size: 1.6 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.testutils.annotations;
3
4import java.lang.annotation.Documented;
5import java.lang.annotation.ElementType;
6import java.lang.annotation.Retention;
7import java.lang.annotation.RetentionPolicy;
8import java.lang.annotation.Target;
9
10import org.junit.jupiter.api.extension.BeforeEachCallback;
11import org.junit.jupiter.api.extension.ExtendWith;
12import org.junit.jupiter.api.extension.ExtensionContext;
13import org.openstreetmap.josm.gui.mappaint.ElemStyles;
14import org.openstreetmap.josm.testutils.JOSMTestRules;
15
16/**
17 * Use map styles in tests.
18 *
19 * @author Taylor Smock
20 * @see JOSMTestRules#mapStyles()
21 */
22@Documented
23@Retention(RetentionPolicy.RUNTIME)
24@Target({ ElementType.METHOD, ElementType.TYPE })
25@BasicPreferences
26@ExtendWith(MapPaintStyles.MapPaintStylesExtension.class)
27public @interface MapPaintStyles {
28 /**
29 * Set up the default paintstyles
30 */
31 class MapPaintStylesExtension implements BeforeEachCallback {
32 private static int lastHashcode;
33
34 @Override
35 public void beforeEach(ExtensionContext extensionContext) throws Exception {
36 setup();
37 }
38
39 public static void setup() {
40 final ElemStyles styles = org.openstreetmap.josm.gui.mappaint.MapPaintStyles.getStyles();
41 if (styles.getStyleSources().hashCode() != lastHashcode || styles.getStyleSources().isEmpty()) {
42 org.openstreetmap.josm.gui.mappaint.MapPaintStyles.readFromPreferences();
43 lastHashcode = org.openstreetmap.josm.gui.mappaint.MapPaintStyles.getStyles().getStyleSources().hashCode();
44 }
45 }
46 }
47}
Note: See TracBrowser for help on using the repository browser.