Index: applications/viewer/jmapviewer/.checkstyle
===================================================================
--- applications/viewer/jmapviewer/.checkstyle	(revision 31428)
+++ applications/viewer/jmapviewer/.checkstyle	(revision 31428)
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<fileset-config file-format-version="1.2.0" simple-config="true" sync-formatter="false">
+  <local-check-config name="JMapViewer" location="tools/checkstyle/jmapviewer_checks.xml" type="project" description="">
+    <additional-data name="protect-config-file" value="false"/>
+  </local-check-config>
+  <fileset name="all" enabled="true" check-config-name="JMapViewer" local="true">
+    <file-match-pattern match-pattern="." include-pattern="true"/>
+  </fileset>
+</fileset-config>
Index: applications/viewer/jmapviewer/.project
===================================================================
--- applications/viewer/jmapviewer/.project	(revision 31427)
+++ applications/viewer/jmapviewer/.project	(revision 31428)
@@ -11,7 +11,13 @@
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
 		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
 	</natures>
 </projectDescription>
Index: applications/viewer/jmapviewer/build.xml
===================================================================
--- applications/viewer/jmapviewer/build.xml	(revision 31427)
+++ applications/viewer/jmapviewer/build.xml	(revision 31428)
@@ -2,5 +2,5 @@
 <project default="all" name="Compile and build java classes plus jar archives">
 
-	<target name="all" depends="clean,build,svn_info,pack,create_run_jar,create_release_zip,create_source_release_zip" />
+	<target name="all" depends="clean,build,svn_info,pack,create_run_jar,create_release_zip,create_source_release_zip,findbugs,checkstyle" />
 
 	<target name="clean">
@@ -34,5 +34,5 @@
     </target>
 	
-	<target name="pack">
+	<target name="pack" depends="build">
 		<!-- Create the JAR file containing the compiled class files -->
 		<jar destfile="JMapViewer.jar" filesetmanifest="mergewithoutmain">
@@ -76,3 +76,31 @@
 	</target>
 
+    <target name="checkstyle">
+        <taskdef resource="com/puppycrawl/tools/checkstyle/ant/checkstyle-ant-task.properties" 
+        	classpath="tools/checkstyle/checkstyle-6.8.1-all.jar"/>
+        <checkstyle config="tools/checkstyle/jmapviewer_checks.xml">
+            <fileset dir="${basedir}/src" includes="**/*.java" />
+            <formatter type="xml" toFile="checkstyle-jmapviewer.xml"/>
+        </checkstyle>
+    </target>
+
+    <target name="findbugs" depends="pack">
+        <taskdef name="findbugs" classname="edu.umd.cs.findbugs.anttask.FindBugsTask" 
+        	classpath="tools/findbugs/findbugs-ant.jar"/>
+        <path id="findbugs-classpath">
+            <fileset dir="tools/findbugs/">
+                <include name="*.jar"/>
+            </fileset>
+        </path>
+        <property name="findbugs-classpath" refid="findbugs-classpath"/>
+        <findbugs output="xml"
+                outputFile="findbugs-jmapviewer.xml"
+                classpath="${findbugs-classpath}"
+                effort="max"
+                >
+            <sourcePath path="${basedir}/src" />
+            <class location="JMapViewer.jar" />
+        </findbugs>
+    </target>
+
 </project>
Index: applications/viewer/jmapviewer/tools/checkstyle/jmapviewer_checks.xml
===================================================================
--- applications/viewer/jmapviewer/tools/checkstyle/jmapviewer_checks.xml	(revision 31428)
+++ applications/viewer/jmapviewer/tools/checkstyle/jmapviewer_checks.xml	(revision 31428)
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.3//EN" "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
+
+<!--
+    This configuration file was written by the eclipse-cs plugin configuration editor
+-->
+<!--
+    Checkstyle-Configuration: JMapViewer
+    Description: 
+JMapViewer Checkstyle rules
+-->
+<module name="Checker">
+  <property name="severity" value="warning"/>
+  <module name="TreeWalker">
+    <module name="FileContentsHolder"/>
+    <module name="MissingDeprecated"/>
+    <module name="MissingOverride"/>
+    <module name="PackageAnnotation"/>
+    <module name="AnnotationLocation">
+      <property name="allowSamelineMultipleAnnotations" value="true"/>
+    </module>
+    <module name="AnnotationUseStyle"/>
+    <module name="JavadocStyle">
+      <property name="checkFirstSentence" value="false"/>
+      <property name="checkHtml" value="false"/>
+    </module>
+    <module name="NonEmptyAtclauseDescription"/>
+    <module name="AtclauseOrder"/>
+    <module name="AvoidStarImport"/>
+    <module name="RedundantImport"/>
+    <module name="UnusedImports">
+      <property name="processJavadoc" value="true"/>
+    </module>
+    <module name="AnonInnerLength">
+      <property name="max" value="50"/>
+    </module>
+    <module name="ExecutableStatementCount">
+      <property name="max" value="150"/>
+      <property name="tokens" value="INSTANCE_INIT,STATIC_INIT,METHOD_DEF,CTOR_DEF"/>
+    </module>
+    <module name="LineLength">
+      <property name="max" value="145"/>
+      <property name="tabWidth" value="4"/>
+    </module>
+    <module name="MethodLength">
+      <property name="max" value="300"/>
+    </module>
+    <module name="ParameterNumber">
+      <property name="max" value="10"/>
+    </module>
+    <module name="OuterTypeNumber"/>
+    <module name="MethodCount"/>
+    <module name="GenericWhitespace"/>
+    <module name="EmptyForInitializerPad"/>
+    <module name="EmptyForIteratorPad"/>
+    <module name="NoWhitespaceAfter"/>
+    <module name="NoWhitespaceBefore"/>
+    <module name="MethodParamPad"/>
+    <module name="ParenPad"/>
+    <module name="TypecastParenPad">
+      <property name="tokens" value="RPAREN,TYPECAST"/>
+    </module>
+    <module name="WhitespaceAfter"/>
+    <module name="WhitespaceAround">
+      <property name="tokens" value="ASSIGN,BAND,BAND_ASSIGN,BOR,BOR_ASSIGN,BSR,BSR_ASSIGN,BXOR,BXOR_ASSIGN,COLON,DIV_ASSIGN,DO_WHILE,EQUAL,GE,GT,LAND,LCURLY,LE,LITERAL_ASSERT,LITERAL_CATCH,LITERAL_DO,LITERAL_ELSE,LITERAL_FINALLY,LITERAL_FOR,LITERAL_IF,LITERAL_RETURN,LITERAL_SYNCHRONIZED,LITERAL_TRY,LITERAL_WHILE,LOR,LT,MINUS_ASSIGN,MOD,MOD_ASSIGN,NOT_EQUAL,PLUS_ASSIGN,QUESTION,RCURLY,SL,SLIST,SL_ASSIGN,SR,SR_ASSIGN,STAR_ASSIGN,TYPE_EXTENSION_AND"/>
+      <property name="allowEmptyConstructors" value="true"/>
+      <property name="allowEmptyMethods" value="true"/>
+      <property name="allowEmptyTypes" value="true"/>
+    </module>
+    <module name="EmptyLineSeparator">
+      <property name="tokens" value="CLASS_DEF,ENUM_DEF,INTERFACE_DEF,CTOR_DEF,METHOD_DEF,STATIC_INIT"/>
+      <property name="allowNoEmptyLineBetweenFields" value="true"/>
+      <property name="allowMultipleEmptyLines" value="false"/>
+    </module>
+    <module name="ModifierOrder"/>
+    <module name="RedundantModifier"/>
+    <module name="AvoidNestedBlocks">
+      <property name="allowInSwitchCase" value="true"/>
+    </module>
+    <module name="EmptyBlock">
+      <property name="tokens" value="LITERAL_TRY,LITERAL_CATCH,LITERAL_FINALLY,LITERAL_DO,LITERAL_ELSE,LITERAL_FOR,INSTANCE_INIT,STATIC_INIT,LITERAL_SWITCH"/>
+    </module>
+    <module name="EmptyCatchBlock"/>
+    <module name="LeftCurly">
+      <property name="maxLineLength" value="140"/>
+    </module>
+    <module name="RightCurly"/>
+    <module name="NeedBraces">
+      <property name="tokens" value="LITERAL_DO,LITERAL_FOR,LITERAL_WHILE"/>
+      <property name="allowSingleLineStatement" value="true"/>
+    </module>
+    <module name="ArrayTypeStyle"/>
+    <module name="UpperEll"/>
+    <module name="OuterTypeFilename"/>
+    <module name="FinalClass"/>
+    <module name="HideUtilityClassConstructor"/>
+  </module>
+  <module name="Header">
+    <property name="header" value="// License: GPL. For details, see LICENSE file."/>
+    <property name="fileExtensions" value=".java"/>
+  </module>
+  <module name="FileLength">
+    <property name="fileExtensions" value=".java"/>
+  </module>
+  <module name="SuppressionCommentFilter">
+    <property name="offCommentFormat" value="CHECKSTYLE\.OFF\: ([\w\|]+)"/>
+    <property name="onCommentFormat" value="CHECKSTYLE\.ON\: ([\w\|]+)"/>
+    <property name="checkFormat" value="$1"/>
+  </module>
+  <module name="FileTabCharacter"/>
+  <module name="NewlineAtEndOfFile">
+    <property name="lineSeparator" value="lf"/>
+  </module>
+  <module name="SuppressionFilter">
+    <property name="file" value="${basedir}/tools/checkstyle/jmapviewer_filters.xml"/>
+  </module>
+</module>
Index: applications/viewer/jmapviewer/tools/checkstyle/jmapviewer_filters.xml
===================================================================
--- applications/viewer/jmapviewer/tools/checkstyle/jmapviewer_filters.xml	(revision 31428)
+++ applications/viewer/jmapviewer/tools/checkstyle/jmapviewer_filters.xml	(revision 31428)
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE suppressions PUBLIC
+     "-//Puppy Crawl//DTD Suppressions 1.0//EN"
+     "http://www.puppycrawl.com/dtds/suppressions_1_0.dtd">
+<suppressions>
+</suppressions>
