Changeset 7068 in josm for trunk/test/unit
- Timestamp:
- 2014-05-06T01:24:41+02:00 (11 years ago)
- Location:
- trunk/test/unit/org/openstreetmap/josm
- Files:
-
- 13 edited
- 1 copied
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
trunk/test/unit/org/openstreetmap/josm/JOSMFixture.java
r7065 r7068 1 1 // License: GPL. For details, see LICENSE file. 2 package org.openstreetmap.josm .fixtures;2 package org.openstreetmap.josm; 3 3 4 4 import static org.junit.Assert.fail; … … 6 6 import java.io.File; 7 7 import java.text.MessageFormat; 8 import java.util.Properties;9 import java.util.logging.Level;10 8 import java.util.logging.Logger; 11 9 12 import org.openstreetmap.josm.Main;13 10 import org.openstreetmap.josm.data.projection.Projections; 14 11 import org.openstreetmap.josm.io.OsmApi; … … 19 16 20 17 static public JOSMFixture createUnitTestFixture() { 21 return new JOSMFixture(" /test-unit-env.properties");18 return new JOSMFixture("test/config/unit-josm.home"); 22 19 } 23 20 24 21 static public JOSMFixture createFunctionalTestFixture() { 25 return new JOSMFixture(" /test-functional-env.properties");22 return new JOSMFixture("test/config/functional-josm.home"); 26 23 } 27 24 28 private Properties testProperties; 29 private String testPropertiesResourceName; 25 static public JOSMFixture createPerformanceTestFixture() { 26 return new JOSMFixture("test/config/performance-josm.home"); 27 } 30 28 31 public JOSMFixture(String testPropertiesResourceName) { 32 this.testPropertiesResourceName = testPropertiesResourceName; 29 private final String josmHome; 30 31 public JOSMFixture(String josmHome) { 32 this.josmHome = josmHome; 33 33 } 34 34 35 35 public void init() { 36 testProperties = new Properties();37 38 // load properties39 //40 try {41 testProperties.load(JOSMFixture.class.getResourceAsStream(testPropertiesResourceName));42 } catch(Exception e){43 logger.log(Level.SEVERE, MessageFormat.format("failed to load property file ''{0}''", testPropertiesResourceName));44 fail(MessageFormat.format("failed to load property file ''{0}''. \nMake sure the path ''$project_root/test/config'' is on the classpath.", testPropertiesResourceName));45 }46 36 47 37 // check josm.home 48 38 // 49 String josmHome = testProperties.getProperty("josm.home");50 39 if (josmHome == null) { 51 40 fail(MessageFormat.format("property ''{0}'' not set in test environment", "josm.home")); … … 53 42 File f = new File(josmHome); 54 43 if (! f.exists() || ! f.canRead()) { 55 fail(MessageFormat.format("property ''{0}'' points to ''{1}'' which is either not existing or not readable. \nEdit ''{2}'' and update the value ''josm.home''.", "josm.home", josmHome,testPropertiesResourceName));44 fail(MessageFormat.format("property ''{0}'' points to ''{1}'' which is either not existing or not readable.", "josm.home", josmHome)); 56 45 } 57 46 } -
trunk/test/unit/org/openstreetmap/josm/TestUtils.java
r7065 r7068 1 1 // License: GPL. For details, see LICENSE file. 2 package org.openstreetmap; 2 package org.openstreetmap.josm; 3 3 4 4 import static org.hamcrest.CoreMatchers.is; -
trunk/test/unit/org/openstreetmap/josm/actions/CreateMultipolygonActionTest.groovy
r6597 r7068 1 1 package org.openstreetmap.josm.actions 2 2 3 import org.openstreetmap.TestUtils4 3 import org.openstreetmap.josm.Main 4 import org.openstreetmap.josm.TestUtils; 5 5 import org.openstreetmap.josm.actions.search.SearchCompiler 6 6 import org.openstreetmap.josm.data.osm.Relation -
trunk/test/unit/org/openstreetmap/josm/data/coor/LatLonTest.java
r6226 r7068 6 6 import org.junit.Test; 7 7 8 /**9 * @author Vincent10 *11 */12 8 public class LatLonTest { 13 9 14 p rotectedstatic final double[]sampleValues= new double[]{10 public static final double[] SAMPLE_VALUES = new double[]{ 15 11 -180.0, -179.9, -179.6, -179.5, -179.4, -179.1, -179.0, -100.0, -99.9, -10.0, -9.9, -1.0, -0.1, 16 12 180.0, 179.9, 179.6, 179.5, 179.4, 179.1, 179.0, 100.0, 99.9, 10.0, 9.9, 1.0, 0.1, … … 20 16 100.12, 100.123, 100.1234, 100.12345, 100.123456, 100.1234567 21 17 }; 22 18 23 19 /** 24 20 * Test of {@link LatLon#roundToOsmPrecisionStrict} … … 26 22 @Test 27 23 public void testRoundToOsmPrecisionStrict() { 28 29 for (double value : sampleValues) {24 25 for (double value : SAMPLE_VALUES) { 30 26 assertEquals(LatLon.roundToOsmPrecisionStrict(value), value, 0); 31 27 } 32 28 33 29 assertEquals(LatLon.roundToOsmPrecisionStrict(0.0), 0.0, 0); 34 30 assertEquals(LatLon.roundToOsmPrecisionStrict(-0.0), 0.0, 0); 35 31 36 32 assertEquals(LatLon.roundToOsmPrecisionStrict(0.12345678), 0.1234568, 0); 37 33 assertEquals(LatLon.roundToOsmPrecisionStrict(0.123456789), 0.1234568, 0); … … 76 72 assertEquals(LatLon.roundToOsmPrecisionStrict(99.9999999), 99.9999999, 0); 77 73 } 78 74 79 75 /** 80 76 * Test of {@link LatLon#toIntervalLon} … … 107 103 @Test 108 104 public void testEquals() { 109 for (int i = 1; i < sampleValues.length; i++) {110 LatLon a = new LatLon( sampleValues[i-1],sampleValues[i]);111 LatLon b = new LatLon( sampleValues[i-1],sampleValues[i]);105 for (int i = 1; i < SAMPLE_VALUES.length; i++) { 106 LatLon a = new LatLon(SAMPLE_VALUES[i-1], SAMPLE_VALUES[i]); 107 LatLon b = new LatLon(SAMPLE_VALUES[i-1], SAMPLE_VALUES[i]); 112 108 assertEquals(a, b); 113 109 } … … 119 115 @Test 120 116 public void testHashCode() { 121 for (int i = 1; i < sampleValues.length; i++) {122 LatLon a = new LatLon( sampleValues[i-1],sampleValues[i]);123 LatLon b = new LatLon( sampleValues[i-1],sampleValues[i]);117 for (int i = 1; i < SAMPLE_VALUES.length; i++) { 118 LatLon a = new LatLon(SAMPLE_VALUES[i-1], SAMPLE_VALUES[i]); 119 LatLon b = new LatLon(SAMPLE_VALUES[i-1], SAMPLE_VALUES[i]); 124 120 assertEquals(a.hashCode(), b.hashCode()); 125 121 } -
trunk/test/unit/org/openstreetmap/josm/data/validation/tests/LanesTest.groovy
r6647 r7068 1 1 package org.openstreetmap.josm.data.validation.tests 2 2 3 import org.openstreetmap.TestUtils 3 import org.openstreetmap.josm.TestUtils; 4 4 5 5 class LanesTest extends GroovyTestCase { -
trunk/test/unit/org/openstreetmap/josm/data/validation/tests/MapCSSTagCheckerTest.java
r7065 r7068 13 13 import java.util.Map; 14 14 15 import org.junit.Before; 15 import org.junit.BeforeClass; 16 16 import org.junit.Test; 17 import org.openstreetmap.TestUtils;18 17 import org.openstreetmap.josm.Main; 18 import org.openstreetmap.josm.TestUtils; 19 19 import org.openstreetmap.josm.command.ChangePropertyCommand; 20 20 import org.openstreetmap.josm.data.osm.Node; … … 31 31 * Setup test. 32 32 */ 33 @Before 34 public void setUp() throws Exception{33 @BeforeClass 34 public static void setUp() { 35 35 Main.initApplicationPreferences(); 36 36 } -
trunk/test/unit/org/openstreetmap/josm/gui/JosmUserIdentityManagerTest.groovy
r2690 r7068 2 2 package org.openstreetmap.josm.gui; 3 3 4 import org.junit. BeforeClass;5 import org.junit.Test 6 import org. openstreetmap.josm.Main;7 import org. openstreetmap.josm.data.osm.UserInfo;8 import org.openstreetmap.josm. fixtures.JOSMFixture;9 10 import static org.junit.Assert.*;4 import static org.junit.Assert.* 5 6 import org.junit.BeforeClass 7 import org.junit.Test 8 import org.openstreetmap.josm.JOSMFixture 9 import org.openstreetmap.josm.Main 10 import org.openstreetmap.josm.data.osm.UserInfo 11 11 12 12 class JosmUserIdentityManagerTest { 13 13 14 14 final shouldFail = new GroovyTestCase().&shouldFail 15 15 16 16 private static JOSMFixture josmFixture 17 17 18 18 @BeforeClass 19 19 public static void initTestCase() { 20 20 josmFixture = JOSMFixture.createFunctionalTestFixture() 21 21 } 22 22 23 23 @Test 24 24 public void test_SingletonAccess() { 25 26 JosmUserIdentityManager im = JosmUserIdentityManager.getInstance() 25 26 JosmUserIdentityManager im = JosmUserIdentityManager.getInstance() 27 27 28 28 // created ? 29 29 assert im != null 30 31 // registered as listener ? 30 31 // registered as listener ? 32 32 assert Main.pref.@listeners.contains(im) 33 33 34 34 JosmUserIdentityManager im2 = JosmUserIdentityManager.getInstance() 35 35 36 36 // only one instance 37 assert im == im2 38 } 39 37 assert im == im2 38 } 39 40 40 @Test 41 41 public void test_setAnonymouse() { 42 42 JosmUserIdentityManager im = JosmUserIdentityManager.getInstance() 43 43 44 44 im.setPartiallyIdentified "test" 45 45 im.setAnonymous() 46 46 47 47 assert im.isAnonymous() 48 48 assert ! im.isPartiallyIdentified() 49 49 assert ! im.isFullyIdentified() 50 50 51 51 assert im.getUserId() == 0 52 52 assert im.getUserName() == null 53 53 assert im.getUserInfo() == null 54 54 } 55 55 56 56 @Test 57 57 public void test_setPartiallyIdentified() { 58 58 JosmUserIdentityManager im = JosmUserIdentityManager.getInstance() 59 59 60 60 im.setPartiallyIdentified "test" 61 61 62 62 shouldFail(IllegalArgumentException) { 63 63 im.setPartiallyIdentified null 64 64 } 65 65 66 66 shouldFail(IllegalArgumentException) { 67 67 im.setPartiallyIdentified "" 68 68 } 69 69 70 70 shouldFail(IllegalArgumentException) { 71 71 im.setPartiallyIdentified " \t " 72 72 } 73 73 74 74 im.setPartiallyIdentified "test" 75 75 76 76 assert ! im.isAnonymous() 77 77 assert im.isPartiallyIdentified() 78 78 assert ! im.isFullyIdentified() 79 79 80 80 assert im.getUserId() == 0 81 81 assert im.getUserName() == "test" 82 82 assert im.getUserInfo() == null 83 83 } 84 85 84 85 86 86 @Test 87 87 public void test_setFullyIdentified() { … … 89 89 90 90 UserInfo userInfo = new UserInfo(id: 1, description: "a description") 91 91 92 92 im.setFullyIdentified "test", userInfo 93 93 94 94 shouldFail(IllegalArgumentException) { 95 95 im.setFullyIdentified null, userInfo … … 104 104 im.setFullyIdentified "test", null 105 105 } 106 106 107 107 im.setFullyIdentified "test", userInfo 108 108 109 109 assert ! im.isAnonymous() 110 110 assert ! im.isPartiallyIdentified() 111 111 assert im.isFullyIdentified() 112 112 113 113 assert im.getUserId() == 1 114 114 assert im.getUserName() == "test" 115 115 assert im.getUserInfo() == userInfo 116 116 } 117 117 118 118 /** 119 119 * Preferences include neither an url nor a user name => we have 120 * an anonymous user 121 */ 122 @Test 120 * an anonymous user 121 */ 122 @Test 123 123 public void initFromPreferences_1() { 124 124 JosmUserIdentityManager im = JosmUserIdentityManager.getInstance() 125 126 // reset it 127 im.@userName = null 128 im.@userInfo = null 129 125 126 // reset it 127 im.@userName = null 128 im.@userInfo = null 129 130 130 Main.pref.put "osm-server.url", null 131 131 Main.pref.put "osm-server.username", null 132 133 im.initFromPreferences() 134 135 assert im.isAnonymous() 136 } 137 132 133 im.initFromPreferences() 134 135 assert im.isAnonymous() 136 } 137 138 138 /** 139 139 * Preferences include neither an url nor a user name => we have 140 * an annoymous user 141 */ 142 @Test 140 * an annoymous user 141 */ 142 @Test 143 143 public void initFromPreferences_2() { 144 144 JosmUserIdentityManager im = JosmUserIdentityManager.getInstance() 145 146 // reset it 147 im.@userName = null 148 im.@userInfo = null 149 145 146 // reset it 147 im.@userName = null 148 im.@userInfo = null 149 150 150 // for this test we disable the listener 151 151 Main.pref.removePreferenceChangeListener im 152 153 Main.pref.put "osm-server.url", "http://api.openstreetmap.org" 154 Main.pref.put "osm-server.username", null 155 156 im.initFromPreferences() 157 158 assert im.isAnonymous() 159 } 160 161 /** 162 * Preferences include an user name => we have a partially identified user 163 */ 164 @Test 152 153 Main.pref.put "osm-server.url", "http://api.openstreetmap.org" 154 Main.pref.put "osm-server.username", null 155 156 im.initFromPreferences() 157 158 assert im.isAnonymous() 159 } 160 161 /** 162 * Preferences include an user name => we have a partially identified user 163 */ 164 @Test 165 165 public void initFromPreferences_3() { 166 166 JosmUserIdentityManager im = JosmUserIdentityManager.getInstance() … … 169 169 Main.pref.removePreferenceChangeListener im 170 170 171 // reset it 172 im.@userName = null 173 im.@userInfo = null 174 171 // reset it 172 im.@userName = null 173 im.@userInfo = null 174 175 175 Main.pref.put "osm-server.url", "http://api.openstreetmap.org" 176 176 Main.pref.put "osm-server.username", "test" 177 178 im.initFromPreferences() 179 180 assert im.isPartiallyIdentified() 181 } 182 177 178 im.initFromPreferences() 179 180 assert im.isPartiallyIdentified() 181 } 182 183 183 /** 184 184 * Preferences include an user name which is different from the current 185 185 * user name and we are currently fully identifed => josm user becomes 186 * partially identified 187 */ 188 @Test 186 * partially identified 187 */ 188 @Test 189 189 public void initFromPreferences_4() { 190 190 JosmUserIdentityManager im = JosmUserIdentityManager.getInstance() … … 194 194 195 195 im.setFullyIdentified "test1", new UserInfo(id: 1) 196 196 197 197 Main.pref.put "osm-server.url", "http://api.openstreetmap.org" 198 198 Main.pref.put "osm-server.username", "test2" 199 200 im.initFromPreferences() 201 202 assert im.isPartiallyIdentified() 203 } 204 199 200 im.initFromPreferences() 201 202 assert im.isPartiallyIdentified() 203 } 204 205 205 /** 206 206 * Preferences include an user name which is the same as the current … … 208 208 * fully identified 209 209 */ 210 @Test 210 @Test 211 211 public void initFromPreferences_5() { 212 212 JosmUserIdentityManager im = JosmUserIdentityManager.getInstance() … … 214 214 // for this test we disable the listener 215 215 Main.pref.removePreferenceChangeListener im 216 216 217 217 im.setFullyIdentified "test1", new UserInfo(id: 1) 218 218 219 219 Main.pref.put "osm-server.url", "http://api.openstreetmap.org" 220 220 Main.pref.put "osm-server.username", "test1" 221 222 im.initFromPreferences() 223 221 222 im.initFromPreferences() 223 224 224 assert im.isFullyIdentified() 225 225 } 226 227 @Test 226 227 @Test 228 228 public void apiUrlChanged() { 229 229 JosmUserIdentityManager im = JosmUserIdentityManager.getInstance() 230 231 // make sure im is a preference change listener 230 231 // make sure im is a preference change listener 232 232 Main.pref.addPreferenceChangeListener im 233 234 // reset it 235 im.@userName = null 236 im.@userInfo = null 237 238 Main.pref.put "osm-server.url", "http://api.openstreetmap.org" 239 assert im.isAnonymous() 240 233 234 // reset it 235 im.@userName = null 236 im.@userInfo = null 237 238 Main.pref.put "osm-server.url", "http://api.openstreetmap.org" 239 assert im.isAnonymous() 240 241 241 Main.pref.put "osm-server.url", null 242 242 assert im.isAnonymous() 243 244 // reset it 243 244 // reset it 245 245 im.@userName = "test" 246 246 im.@userInfo = null 247 248 Main.pref.put "osm-server.url", "http://api.openstreetmap.org" 249 assert im.isPartiallyIdentified() 250 assert im.getUserName() == "test" 251 247 248 Main.pref.put "osm-server.url", "http://api.openstreetmap.org" 249 assert im.isPartiallyIdentified() 250 assert im.getUserName() == "test" 251 252 252 Main.pref.put "osm-server.url", null 253 253 assert im.isAnonymous() 254 255 // reset it 254 255 // reset it 256 256 im.@userName = "test" 257 257 im.@userInfo = new UserInfo(id:1) 258 259 Main.pref.put "osm-server.url", "http://api.openstreetmap.org" 260 assert im.isPartiallyIdentified() 261 assert im.getUserName() == "test" 262 263 // reset it 258 259 Main.pref.put "osm-server.url", "http://api.openstreetmap.org" 260 assert im.isPartiallyIdentified() 261 assert im.getUserName() == "test" 262 263 // reset it 264 264 im.@userName = "test" 265 265 im.@userInfo = new UserInfo(id:1) 266 267 266 267 268 268 Main.pref.put "osm-server.url", null 269 assert im.isAnonymous() 270 } 271 272 @Test 269 assert im.isAnonymous() 270 } 271 272 @Test 273 273 public void userNameChanged() { 274 274 JosmUserIdentityManager im = JosmUserIdentityManager.getInstance() 275 276 // make sure im is a preference change listener 275 276 // make sure im is a preference change listener 277 277 Main.pref.addPreferenceChangeListener im 278 279 // reset it 280 im.@userName = null 281 im.@userInfo = null 282 278 279 // reset it 280 im.@userName = null 281 im.@userInfo = null 282 283 283 Main.pref.put "osm-server.username", "test" 284 284 assert im.isPartiallyIdentified() 285 285 assert im.getUserName() == "test" 286 287 Main.pref.put "osm-server.username", null 288 assert im.isAnonymous() 289 290 // reset it 286 287 Main.pref.put "osm-server.username", null 288 assert im.isAnonymous() 289 290 // reset it 291 291 im.@userName = "test1" 292 292 im.@userInfo = null 293 293 294 294 Main.pref.put "osm-server.username", "test2" 295 295 assert im.isPartiallyIdentified() 296 296 assert im.getUserName() == "test2" 297 298 Main.pref.put "osm-server.username", null 299 assert im.isAnonymous() 300 301 // reset it 297 298 Main.pref.put "osm-server.username", null 299 assert im.isAnonymous() 300 301 // reset it 302 302 im.@userName = "test1" 303 303 im.@userInfo = new UserInfo(id:1) 304 304 305 305 Main.pref.put "osm-server.username", "test2" 306 306 assert im.isPartiallyIdentified() 307 307 assert im.getUserName() == "test2" 308 309 // reset it 308 309 // reset it 310 310 im.@userName = "test1" 311 311 im.@userInfo = new UserInfo(id:1) 312 313 314 Main.pref.put "osm-server.username", null 315 assert im.isAnonymous() 312 313 314 Main.pref.put "osm-server.username", null 315 assert im.isAnonymous() 316 316 } 317 317 } -
trunk/test/unit/org/openstreetmap/josm/gui/mappaint/LabelCompositionStrategyTest.groovy
r3991 r7068 3 3 4 4 import org.junit.* 5 import org.openstreetmap.josm. fixtures.JOSMFixture;5 import org.openstreetmap.josm.JOSMFixture; 6 6 import org.openstreetmap.josm.gui.mappaint.LabelCompositionStrategy.DeriveLabelFromNameTagsCompositionStrategy 7 7 import org.openstreetmap.josm.gui.mappaint.LabelCompositionStrategy.StaticLabelCompositionStrategy; -
trunk/test/unit/org/openstreetmap/josm/gui/mappaint/MapCSSWithExtendedTextDirectivesTest.groovy
r4074 r7068 4 4 5 5 import org.junit.* 6 import org.openstreetmap.josm. fixtures.JOSMFixture6 import org.openstreetmap.josm.JOSMFixture; 7 7 import org.openstreetmap.josm.gui.mappaint.LabelCompositionStrategy.DeriveLabelFromNameTagsCompositionStrategy 8 8 import org.openstreetmap.josm.gui.mappaint.LabelCompositionStrategy.TagLookupCompositionStrategy -
trunk/test/unit/org/openstreetmap/josm/gui/mappaint/mapcss/ChildOrParentSelectorTest.groovy
r4069 r7068 7 7 8 8 import org.junit.* 9 import org.openstreetmap.josm.JOSMFixture; 9 10 import org.openstreetmap.josm.data.coor.LatLon 10 11 import org.openstreetmap.josm.data.osm.DataSet … … 13 14 import org.openstreetmap.josm.data.osm.RelationMember 14 15 import org.openstreetmap.josm.data.osm.Way 15 import org.openstreetmap.josm.fixtures.JOSMFixture16 16 import org.openstreetmap.josm.gui.mappaint.Environment 17 17 import org.openstreetmap.josm.gui.mappaint.mapcss.Selector.ChildOrParentSelector -
trunk/test/unit/org/openstreetmap/josm/gui/mappaint/mapcss/KeyConditionTest.groovy
r4074 r7068 5 5 6 6 import org.junit.* 7 import org.openstreetmap.josm.JOSMFixture; 7 8 import org.openstreetmap.josm.data.coor.LatLon 8 9 import org.openstreetmap.josm.data.osm.DataSet … … 10 11 import org.openstreetmap.josm.data.osm.Relation 11 12 import org.openstreetmap.josm.data.osm.RelationMember 12 import org.openstreetmap.josm.fixtures.JOSMFixture13 13 import org.openstreetmap.josm.gui.mappaint.Environment 14 14 import org.openstreetmap.josm.gui.mappaint.mapcss.Condition.Context -
trunk/test/unit/org/openstreetmap/josm/gui/mappaint/mapcss/KeyValueConditionTest.groovy
r4074 r7068 5 5 6 6 import org.junit.* 7 import org.openstreetmap.josm.JOSMFixture; 7 8 import org.openstreetmap.josm.data.coor.LatLon 8 9 import org.openstreetmap.josm.data.osm.DataSet … … 10 11 import org.openstreetmap.josm.data.osm.Relation 11 12 import org.openstreetmap.josm.data.osm.RelationMember 12 import org.openstreetmap.josm.fixtures.JOSMFixture13 13 import org.openstreetmap.josm.gui.mappaint.Environment 14 14 import org.openstreetmap.josm.gui.mappaint.mapcss.Condition.Context -
trunk/test/unit/org/openstreetmap/josm/gui/mappaint/mapcss/MapCSSParserTest.groovy
r7066 r7068 5 5 import org.junit.Before 6 6 import org.junit.Test 7 import org.openstreetmap.TestUtils8 7 import org.openstreetmap.josm.Main 8 import org.openstreetmap.josm.TestUtils; 9 9 import org.openstreetmap.josm.data.coor.LatLon 10 10 import org.openstreetmap.josm.data.osm.DataSet -
trunk/test/unit/org/openstreetmap/josm/gui/mappaint/mapcss/ParsingLinkSelectorTest.groovy
r4074 r7068 5 5 6 6 import org.junit.* 7 import org.openstreetmap.josm. fixtures.JOSMFixture7 import org.openstreetmap.josm.JOSMFixture; 8 8 9 9 -
trunk/test/unit/org/openstreetmap/josm/gui/tagging/TaggingPresetReaderTest.java
r6881 r7068 13 13 import org.junit.BeforeClass; 14 14 import org.junit.Test; 15 import org.openstreetmap.TestUtils;16 15 import org.openstreetmap.josm.Main; 16 import org.openstreetmap.josm.TestUtils; 17 17 import org.openstreetmap.josm.tools.Utils; 18 18 import org.xml.sax.SAXException;
Note:
See TracChangeset
for help on using the changeset viewer.