Index: /trunk/.classpath
===================================================================
--- /trunk/.classpath	(revision 10849)
+++ /trunk/.classpath	(revision 10850)
@@ -2,12 +2,9 @@
 <classpath>
 	<classpathentry excluding="org/apache/commons/compress/compressors/CompressorStreamFactory.java|org/apache/commons/compress/compressors/deflate/|org/apache/commons/compress/compressors/gzip/|org/apache/commons/compress/compressors/lzma/|org/apache/commons/compress/compressors/lzw/|org/apache/commons/compress/compressors/pack200/|org/apache/commons/compress/compressors/snappy/|org/apache/commons/compress/compressors/xz/|org/apache/commons/compress/compressors/z/|org/apache/commons/jcs/auxiliary/disk/jdbc/|org/apache/commons/jcs/utils/servlet/|org/apache/commons/logging/impl/AvalonLogger.java|org/apache/commons/logging/impl/Log4JLogger.java|org/apache/commons/logging/impl/LogKitLogger.java|org/apache/commons/logging/impl/ServletContextCleaner.java|org/apache/commons/jcs/admin/servlet/|org/apache/commons/jcs/auxiliary/remote/http/|org/apache/commons/jcs/auxiliary/remote/AbstractRemoteAuxiliaryCache.java|org/apache/commons/jcs/auxiliary/remote/AbstractRemoteCacheListener.java|org/apache/commons/jcs/auxiliary/remote/RemoteCache.java|org/apache/commons/jcs/auxiliary/remote/RemoteCacheFactory.java|org/apache/commons/jcs/auxiliary/remote/RemoteCacheNoWaitFacade.java|org/apache/commons/jcs/auxiliary/remote/AbstractRemoteCacheNoWaitFacade.java|org/apache/commons/jcs/auxiliary/remote/RemoteCacheFailoverRunner.java|org/apache/commons/jcs/auxiliary/remote/RemoteCacheListener.java|org/apache/commons/jcs/auxiliary/remote/RemoteCacheManager.java|org/apache/commons/jcs/auxiliary/remote/RemoteCacheMonitor.java|org/apache/commons/jcs/auxiliary/remote/RemoteCacheNoWait.java|org/apache/commons/jcs/auxiliary/remote/RemoteCacheRestore.java|org/apache/commons/jcs/auxiliary/remote/server/RemoteCacheStartupServlet.java|org/apache/commons/jcs/auxiliary/remote/server/TimeoutConfigurableRMISocketFactory.java|org/apache/commons/logging/impl/Jdk13LumberjackLogger.java|org/apache/commons/compress/compressors/bzip2/BZip2Utils.java|org/apache/commons/compress/compressors/CompressorException.java|org/apache/commons/compress/compressors/FileNameUtil.java|org/apache/commons/jcs/auxiliary/lateral/socket/tcp/|org/apache/commons/jcs/auxiliary/lateral/LateralCache.java|org/apache/commons/jcs/auxiliary/lateral/LateralCacheAttributes.java|org/apache/commons/jcs/auxiliary/lateral/LateralCacheMonitor.java|org/apache/commons/jcs/auxiliary/lateral/LateralCacheNoWait.java|org/apache/commons/jcs/auxiliary/lateral/LateralCacheNoWaitFacade.java|org/apache/commons/jcs/auxiliary/lateral/LateralCommand.java|org/apache/commons/jcs/auxiliary/lateral/LateralElementDescriptor.java|org/apache/commons/jcs/engine/ZombieCacheService.java|org/apache/commons/jcs/engine/ZombieCacheServiceNonLocal.java|org/apache/commons/jcs/engine/ZombieCacheWatch.java|org/apache/commons/jcs/utils/discovery/|org/apache/commons/jcs/utils/net/|org/apache/commons/jcs/utils/access/|org/apache/commons/jcs/JCS.java|org/apache/commons/jcs/access/PartitionedCacheAccess.java|org/apache/commons/jcs/utils/props/" kind="src" path="src"/>
+	<classpathentry including="data/|images/|resources/|styles/" kind="src" path=""/>
 	<classpathentry kind="src" path="test/unit"/>
 	<classpathentry kind="src" path="test/functional"/>
 	<classpathentry kind="src" path="test/performance"/>
-	<classpathentry kind="src" output="bin2/data" path="data"/>
-	<classpathentry kind="src" output="bin2/images" path="images"/>
-	<classpathentry kind="src" output="bin2/styles" path="styles"/>
-	<classpathentry kind="src" output="bin2/resources" path="resources"/>
-	<classpathentry kind="src" output="bin2/scripts" path="scripts"/>
+	<classpathentry kind="src" path="scripts"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
 	<classpathentry kind="lib" path="test/lib/fest/fest-assert-1.0.jar"/>
Index: /trunk/.externalToolBuilders/revision.launch
===================================================================
--- /trunk/.externalToolBuilders/revision.launch	(revision 10849)
+++ /trunk/.externalToolBuilders/revision.launch	(revision 10850)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <launchConfiguration type="org.eclipse.ant.AntBuilderLaunchConfigurationType">
-<stringAttribute key="org.eclipse.ant.ui.ATTR_ANT_AFTER_CLEAN_TARGETS" value="create-revision-eclipse,"/>
-<stringAttribute key="org.eclipse.ant.ui.ATTR_ANT_MANUAL_TARGETS" value="create-revision-eclipse,"/>
+<stringAttribute key="org.eclipse.ant.ui.ATTR_ANT_AFTER_CLEAN_TARGETS" value="create-revision-eclipse,epsg"/>
+<stringAttribute key="org.eclipse.ant.ui.ATTR_ANT_MANUAL_TARGETS" value="create-revision-eclipse,epsg"/>
 <booleanAttribute key="org.eclipse.ant.ui.ATTR_TARGETS_UPDATED" value="true"/>
 <booleanAttribute key="org.eclipse.ant.ui.DEFAULT_VM_INSTALL" value="false"/>
@@ -11,4 +11,8 @@
 <booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="true"/>
 <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value=""/>
+<mapAttribute key="org.eclipse.ui.externaltools.ATTR_ANT_PROPERTIES">
+<mapEntry key="build.dir" value="${build_project}/bin"/>
+<mapEntry key="eclipse.running" value="true"/>
+</mapAttribute>
 <booleanAttribute key="org.eclipse.ui.externaltools.ATTR_BUILDER_ENABLED" value="true"/>
 <stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${build_project}/build.xml"/>
Index: /trunk/.project
===================================================================
--- /trunk/.project	(revision 10849)
+++ /trunk/.project	(revision 10850)
@@ -32,9 +32,4 @@
 		</buildCommand>
 		<buildCommand>
-			<name>edu.umd.cs.findbugs.plugin.eclipse.findbugsBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
 			<name>org.sonarlint.eclipse.core.sonarlintBuilder</name>
 			<arguments>
@@ -49,5 +44,4 @@
 		<nature>sf.eclipse.javacc.javaccnature</nature>
 		<nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
-		<nature>edu.umd.cs.findbugs.plugin.eclipse.findbugsNature</nature>
 	</natures>
 </projectDescription>
Index: /trunk/.settings/edu.umd.cs.findbugs.core.prefs
===================================================================
--- /trunk/.settings/edu.umd.cs.findbugs.core.prefs	(revision 10849)
+++ /trunk/.settings/edu.umd.cs.findbugs.core.prefs	(revision 10850)
@@ -1,8 +1,9 @@
 #FindBugs User Preferences
-#Mon May 16 03:41:36 CEST 2016
+#Fri Aug 19 00:50:13 CEST 2016
 cloud_id=edu.umd.cs.findbugs.cloud.doNothingCloud
 detectorAppendingToAnObjectOutputStream=AppendingToAnObjectOutputStream|true
 detectorAtomicityProblem=AtomicityProblem|true
 detectorBadAppletConstructor=BadAppletConstructor|false
+detectorBadHexadecimalConversionDetector=BadHexadecimalConversionDetector|true
 detectorBadResultSetAccess=BadResultSetAccess|true
 detectorBadSyntaxForRegularExpression=BadSyntaxForRegularExpression|true
@@ -10,4 +11,5 @@
 detectorBadlyOverriddenAdapter=BadlyOverriddenAdapter|true
 detectorBooleanReturnNull=BooleanReturnNull|true
+detectorBroadcastDetector=BroadcastDetector|true
 detectorCallToUnsupportedMethod=CallToUnsupportedMethod|true
 detectorCheckExpectedWarnings=CheckExpectedWarnings|false
@@ -15,11 +17,21 @@
 detectorCheckRelaxingNullnessAnnotation=CheckRelaxingNullnessAnnotation|true
 detectorCheckTypeQualifiers=CheckTypeQualifiers|true
+detectorCipherWithNoIntegrityDetector=CipherWithNoIntegrityDetector|true
 detectorCloneIdiom=CloneIdiom|true
+detectorCommandInjectionDetector=CommandInjectionDetector|true
 detectorComparatorIdiom=ComparatorIdiom|true
 detectorConfusedInheritance=ConfusedInheritance|true
 detectorConfusionBetweenInheritedAndOuterMethod=ConfusionBetweenInheritedAndOuterMethod|true
+detectorConstantPasswordDetector=ConstantPasswordDetector|true
+detectorCookieFlagsDetector=CookieFlagsDetector|true
+detectorCookieReadDetector=CookieReadDetector|true
 detectorCovariantArrayAssignment=CovariantArrayAssignment|true
+detectorCrlfLogInjectionDetector=CrlfLogInjectionDetector|true
 detectorCrossSiteScripting=CrossSiteScripting|true
+detectorCustomInjectionDetector=CustomInjectionDetector|true
+detectorCustomMessageDigestDetector=CustomMessageDigestDetector|true
 detectorDefaultEncodingDetector=DefaultEncodingDetector|true
+detectorDesUsageDetector=DesUsageDetector|true
+detectorDeserializationGadgetDetector=DeserializationGadgetDetector|true
 detectorDoInsideDoPrivileged=DoInsideDoPrivileged|true
 detectorDontCatchIllegalMonitorStateException=DontCatchIllegalMonitorStateException|true
@@ -32,5 +44,9 @@
 detectorEmptyZipFileEntry=EmptyZipFileEntry|true
 detectorEqualsOperandShouldHaveClassCompatibleWithThis=EqualsOperandShouldHaveClassCompatibleWithThis|true
+detectorEsapiEncryptorDetector=EsapiEncryptorDetector|true
 detectorExplicitSerialization=ExplicitSerialization|true
+detectorExternalConfigurationControlDetector=ExternalConfigurationControlDetector|true
+detectorExternalFileAccessDetector=ExternalFileAccessDetector|true
+detectorFileUploadFilenameDetector=FileUploadFilenameDetector|true
 detectorFinalizerNullsFields=FinalizerNullsFields|true
 detectorFindBadCast2=FindBadCast2|true
@@ -77,4 +93,8 @@
 detectorFindUselessObjects=FindUselessObjects|true
 detectorFormatStringChecker=FormatStringChecker|true
+detectorGeolocationDetector=GeolocationDetector|true
+detectorGoogleApiKeyDetector=GoogleApiKeyDetector|true
+detectorHazelcastSymmetricEncryptionDetector=HazelcastSymmetricEncryptionDetector|true
+detectorHttpResponseSplittingDetector=HttpResponseSplittingDetector|true
 detectorHugeSharedStringConstants=HugeSharedStringConstants|true
 detectorIDivResultCastToDouble=IDivResultCastToDouble|true
@@ -91,8 +111,17 @@
 detectorInitializeNonnullFieldsInConstructor=InitializeNonnullFieldsInConstructor|true
 detectorInstantiateStaticClass=InstantiateStaticClass|true
+detectorInsufficientKeySizeBlowfishDetector=InsufficientKeySizeBlowfishDetector|true
+detectorInsufficientKeySizeRsaDetector=InsufficientKeySizeRsaDetector|true
 detectorIntCast2LongAsInstant=IntCast2LongAsInstant|true
 detectorInvalidJUnitTest=InvalidJUnitTest|true
 detectorIteratorIdioms=IteratorIdioms|true
+detectorJaxRsEndpointDetector=JaxRsEndpointDetector|true
+detectorJaxWsEndpointDetector=JaxWsEndpointDetector|true
+detectorJndiCredentialsDetector=JndiCredentialsDetector|true
+detectorJspIncludeDetector=JspIncludeDetector|true
+detectorJspSpringEvalDetector=JspSpringEvalDetector|true
+detectorJstlOutDetector=JstlOutDetector|true
 detectorLazyInit=LazyInit|true
+detectorLdapInjectionDetector=LdapInjectionDetector|true
 detectorLoadOfKnownNullValue=LoadOfKnownNullValue|true
 detectorLostLoggerDueToWeakReference=LostLoggerDueToWeakReference|true
@@ -104,10 +133,16 @@
 detectorNaming=Naming|true
 detectorNoteUnconditionalParamDerefs=NoteUnconditionalParamDerefs|true
+detectorNullCipherDetector=NullCipherDetector|true
 detectorNumberConstructor=NumberConstructor|true
+detectorObjectDeserializationDetector=ObjectDeserializationDetector|true
 detectorOptionalReturnNull=OptionalReturnNull|true
 detectorOverridingEqualsNotSymmetrical=OverridingEqualsNotSymmetrical|true
+detectorPathTraversalDetector=PathTraversalDetector|true
+detectorPlayUnvalidatedRedirectDetector=PlayUnvalidatedRedirectDetector|true
+detectorPredictableRandomDetector=PredictableRandomDetector|true
 detectorPreferZeroLengthArrays=PreferZeroLengthArrays|true
 detectorPublicSemaphores=PublicSemaphores|true
 detectorQuestionableBooleanAssignment=QuestionableBooleanAssignment|true
+detectorReDosDetector=ReDosDetector|true
 detectorReadOfInstanceFieldInMethodInvokedByConstructorInSuperclass=ReadOfInstanceFieldInMethodInvokedByConstructorInSuperclass|true
 detectorReadReturnShouldBeChecked=ReadReturnShouldBeChecked|true
@@ -115,9 +150,20 @@
 detectorRedundantInterfaces=RedundantInterfaces|true
 detectorRepeatedConditionals=RepeatedConditionals|true
+detectorRsaNoPaddingDetector=RsaNoPaddingDetector|true
 detectorRuntimeExceptionCapture=RuntimeExceptionCapture|true
+detectorScriptInjectionDetector=ScriptInjectionDetector|true
 detectorSerializableIdiom=SerializableIdiom|true
+detectorServletEndpointDetector=ServletEndpointDetector|true
+detectorSpringMvcEndpointDetector=SpringMvcEndpointDetector|true
+detectorSqlInjectionDetector=SqlInjectionDetector|true
+detectorSslDisablerDetector=SslDisablerDetector|true
 detectorStartInConstructor=StartInConstructor|true
 detectorStaticCalendarDetector=StaticCalendarDetector|true
+detectorStaticIvDetector=StaticIvDetector|true
+detectorStdXmlTransformDetector=StdXmlTransformDetector|true
 detectorStringConcatenation=StringConcatenation|true
+detectorStruts1EndpointDetector=Struts1EndpointDetector|true
+detectorStruts2EndpointDetector=Struts2EndpointDetector|true
+detectorStrutsValidatorFormDetector=StrutsValidatorFormDetector|true
 detectorSuperfluousInstanceOf=SuperfluousInstanceOf|true
 detectorSuspiciousThreadInterrupted=SuspiciousThreadInterrupted|true
@@ -127,14 +173,32 @@
 detectorSynchronizeOnClassLiteralNotGetClass=SynchronizeOnClassLiteralNotGetClass|true
 detectorSynchronizingOnContentsOfFieldToProtectField=SynchronizingOnContentsOfFieldToProtectField|true
+detectorTapestryEndpointDetector=TapestryEndpointDetector|true
+detectorTrustBoundaryViolationDetector=TrustBoundaryViolationDetector|true
 detectorURLProblems=URLProblems|true
 detectorUncallableMethodOfAnonymousClass=UncallableMethodOfAnonymousClass|true
+detectorUnencryptedSocketDetector=UnencryptedSocketDetector|true
 detectorUnnecessaryMath=UnnecessaryMath|true
 detectorUnreadFields=UnreadFields|true
+detectorUnvalidatedRedirectDetector=UnvalidatedRedirectDetector|true
 detectorUselessSubclassMethod=UselessSubclassMethod|true
 detectorVarArgsProblems=VarArgsProblems|true
 detectorVolatileUsage=VolatileUsage|true
 detectorWaitInLoop=WaitInLoop|true
+detectorWeakFilenameUtilsMethodDetector=WeakFilenameUtilsMethodDetector|true
+detectorWeakMessageDigestDetector=WeakMessageDigestDetector|true
+detectorWeakTrustManagerDetector=WeakTrustManagerDetector|true
+detectorWebViewJavascriptEnabledDetector=WebViewJavascriptEnabledDetector|true
+detectorWebViewJavascriptInterfaceDetector=WebViewJavascriptInterfaceDetector|true
+detectorWicketEndpointDetector=WicketEndpointDetector|true
+detectorWorldWritableDetector=WorldWritableDetector|true
 detectorWrongMapIterator=WrongMapIterator|true
 detectorXMLFactoryBypass=XMLFactoryBypass|true
+detectorXPathInjectionDetector=XPathInjectionDetector|true
+detectorXSSRequestWrapperDetector=XSSRequestWrapperDetector|true
+detectorXmlDecoderDetector=XmlDecoderDetector|true
+detectorXslTransformJspDetector=XslTransformJspDetector|true
+detectorXssJspDetector=XssJspDetector|true
+detectorXssServletDetector=XssServletDetector|true
+detectorXxeDetector=XxeDetector|true
 detector_threshold=3
 effort=max
Index: /trunk/.settings/sf.eclipse.javacc.prefs
===================================================================
--- /trunk/.settings/sf.eclipse.javacc.prefs	(revision 10849)
+++ /trunk/.settings/sf.eclipse.javacc.prefs	(revision 10850)
@@ -1,3 +1,4 @@
 CLEAR_CONSOLE=true
+FORMAT_BEFORE_SAVE=false
 JAVACC_OPTIONS=-JDK_VERSION\=1.8 -GRAMMAR_ENCODING\=UTF-8
 JJDOC_OPTIONS=
Index: /trunk/build.xml
===================================================================
--- /trunk/build.xml	(revision 10849)
+++ /trunk/build.xml	(revision 10850)
@@ -364,10 +364,7 @@
         <delete file="${test.dir}/jacoco.exec" />
         <delete file="${test.dir}/jacocoIT.exec" />
-        <delete file="${test.dir}/config/unit-josm.home/preferences.xml" />
-        <delete file="${test.dir}/config/functional-josm.home/preferences.xml" />
-        <delete file="${test.dir}/config/performance-josm.home/preferences.xml" />
-        <delete dir="${test.dir}/config/unit-josm.home/cache" failonerror="false"/>
-        <delete dir="${test.dir}/config/functional-josm.home/cache" failonerror="false"/>
-        <delete dir="${test.dir}/config/performance-josm.home/cache" failonerror="false"/>
+        <delete file="${test.dir}/config/unit-josm.home" failonerror="false"/>
+        <delete file="${test.dir}/config/functional-josm.home" failonerror="false"/>
+        <delete file="${test.dir}/config/performance-josm.home" failonerror="false"/>
     </target>
     <macrodef name="call-groovyc">
@@ -738,5 +735,5 @@
       ** Compile build script for generating projection list.
     -->
-    <target name="epsg-compile">
+    <target name="epsg-compile" depends="init-properties">
         <property name="proj-classpath" location="${build.dir}"/>
         <mkdir dir="${proj-build.dir}"/>
Index: /trunk/test/unit/org/openstreetmap/josm/JOSMFixture.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/JOSMFixture.java	(revision 10849)
+++ /trunk/test/unit/org/openstreetmap/josm/JOSMFixture.java	(revision 10850)
@@ -101,4 +101,8 @@
         Main.logLevel = 3;
         Main.pref.init(false);
+        String url = Main.pref.get("osm-server.url");
+        if (url == null || url.isEmpty() || isProductionApiUrl(url)) {
+            Main.pref.put("osm-server.url", "http://api06.dev.openstreetmap.org/api");
+        }
         I18n.set(Main.pref.get("language", "en"));
 
@@ -113,8 +117,6 @@
 
         // make sure we don't upload to or test against production
-        //
-        String url = OsmApi.getOsmApi().getBaseUrl().toLowerCase(Locale.ENGLISH).trim();
-        if (url.startsWith("http://www.openstreetmap.org") || url.startsWith("http://api.openstreetmap.org")
-            || url.startsWith("https://www.openstreetmap.org") || url.startsWith("https://api.openstreetmap.org")) {
+        url = OsmApi.getOsmApi().getBaseUrl().toLowerCase(Locale.ENGLISH).trim();
+        if (isProductionApiUrl(url)) {
             fail(MessageFormat.format("configured server url ''{0}'' seems to be a productive url, aborting.", url));
         }
@@ -128,4 +130,9 @@
             });
         }
+    }
+
+    private static boolean isProductionApiUrl(String url) {
+        return url.startsWith("http://www.openstreetmap.org") || url.startsWith("http://api.openstreetmap.org")
+            || url.startsWith("https://www.openstreetmap.org") || url.startsWith("https://api.openstreetmap.org");
     }
 
