source: josm/trunk/test/functional/org/openstreetmap/josm/gui/history/HistoryBrowserTest.java@ 6268

Last change on this file since 6268 was 6268, checked in by Don-vip, 11 years ago

Sonar/FindBugs - Bad practice - Method may fail to close stream

File size: 3.6 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.gui.history;
3
4import static org.junit.Assert.fail;
5
6import java.awt.BorderLayout;
7import java.io.File;
8import java.io.InputStream;
9import java.text.MessageFormat;
10import java.util.Properties;
11import java.util.logging.Level;
12import java.util.logging.Logger;
13
14import javax.swing.JFrame;
15
16import org.junit.BeforeClass;
17import org.openstreetmap.josm.Main;
18import org.openstreetmap.josm.data.osm.OsmPrimitiveType;
19import org.openstreetmap.josm.data.osm.SimplePrimitiveId;
20import org.openstreetmap.josm.data.osm.history.History;
21import org.openstreetmap.josm.data.osm.history.HistoryDataSet;
22import org.openstreetmap.josm.data.projection.Projections;
23import org.openstreetmap.josm.gui.progress.NullProgressMonitor;
24import org.openstreetmap.josm.io.OsmServerHistoryReader;
25import org.openstreetmap.josm.io.OsmTransferException;
26
27public class HistoryBrowserTest extends JFrame {
28
29 static private Logger logger = Logger.getLogger(HistoryBrowserTest.class.getName());
30
31 static Properties testProperties;
32
33 @BeforeClass
34 static public void init() {
35 testProperties = new Properties();
36
37 // load properties
38 //
39 try {
40 InputStream is = HistoryBrowserTest.class.getResourceAsStream("/test-functional-env.properties");
41 testProperties.load(is);
42 is.close();
43 } catch(Exception e){
44 logger.log(Level.SEVERE, MessageFormat.format("failed to load property file ''{0}''", "test-functional-env.properties"));
45 fail(MessageFormat.format("failed to load property file ''{0}''", "test-functional-env.properties"));
46 }
47
48 // check josm.home
49 //
50 String josmHome = testProperties.getProperty("josm.home");
51 if (josmHome == null) {
52 fail(MessageFormat.format("property ''{0}'' not set in test environment", "josm.home"));
53 } else {
54 File f = new File(josmHome);
55 if (! f.exists() || ! f.canRead()) {
56 fail(MessageFormat.format("property ''{0}'' points to ''{1}'' which is either not existing or not readable", "josm.home", josmHome));
57 }
58 }
59 System.setProperty("josm.home", josmHome);
60 Main.pref.init(false);
61
62 // init projection
63 Main.setProjection(Projections.getProjectionByCode("EPSG:3857")); // Mercator
64 }
65
66 private HistoryBrowser browser;
67
68 protected void build() {
69 setSize(500,500);
70 getContentPane().setLayout(new BorderLayout());
71 browser = new HistoryBrowser();
72 getContentPane().add(browser, BorderLayout.CENTER);
73 }
74
75 protected void populate(OsmPrimitiveType type, long id) {
76 OsmServerHistoryReader reader = new OsmServerHistoryReader(type, id);
77 HistoryDataSet ds = null;
78 try {
79 ds = reader.parseHistory(NullProgressMonitor.INSTANCE);
80 } catch(OsmTransferException e) {
81 e.printStackTrace();
82 return;
83 }
84 History h = ds.getHistory(new SimplePrimitiveId(id, type));
85 browser.populate(h);
86 }
87
88 /**
89 * Constructs a new {@code HistoryBrowserTest}.
90 */
91 public HistoryBrowserTest(){
92 build();
93 //populate(OsmPrimitiveType.NODE,354117);
94 //populate(OsmPrimitiveType.WAY,37951);
95 populate(OsmPrimitiveType.RELATION,5055);
96
97 }
98
99 static public void main(String args[]) {
100 HistoryBrowserTest.init();
101 new HistoryBrowserTest().setVisible(true);
102 }
103}
Note: See TracBrowser for help on using the repository browser.