Index: /applications/editors/josm/plugins/mapillary/.classpath
===================================================================
--- /applications/editors/josm/plugins/mapillary/.classpath	(revision 31181)
+++ /applications/editors/josm/plugins/mapillary/.classpath	(revision 31182)
@@ -5,4 +5,5 @@
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
 	<classpathentry kind="lib" path="/home/nokutu/Dropbox/programacion/GSoC/josm/plugins/mapillary/lib/sanselan-0.97-incubator.jar"/>
+	<classpathentry kind="lib" path="/home/nokutu/.josm/plugins/commons-imaging.jar"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
Index: /applications/editors/josm/plugins/mapillary/.project
===================================================================
--- /applications/editors/josm/plugins/mapillary/.project	(revision 31181)
+++ /applications/editors/josm/plugins/mapillary/.project	(revision 31182)
Index: /applications/editors/josm/plugins/mapillary/build.xml
===================================================================
--- /applications/editors/josm/plugins/mapillary/build.xml	(revision 31181)
+++ /applications/editors/josm/plugins/mapillary/build.xml	(revision 31182)
@@ -30,5 +30,5 @@
     <!-- <property name="plugin.link" value="..."/>-->
     <!--<property name="plugin.early" value="..."/>-->
-    <!--<property name="plugin.requires" value="..."/>-->
+    <!--<property name="plugin.requires" value="commons-imagery"/>-->
     <!--<property name="plugin.stage" value="..."/>-->
     
@@ -37,5 +37,17 @@
 	
     <!-- ** include targets that all plugins have in common ** -->
+    
     <import file="../build-common.xml"/>
-  
+    
+    <target name="compile" depends="init">
+		<echo message="compiling sources for  ${plugin.jar} ... "/>
+		<javac srcdir="src:../commons-imaging/src" classpath="${josm}" debug="true" destdir="${plugin.build.dir}" includeantruntime="false">
+            <classpath>
+                <pathelement location="${josm}"/>
+                
+            </classpath>
+			<compilerarg value="-Xlint:deprecation"/>
+			<compilerarg value="-Xlint:unchecked"/>
+		</javac>
+	</target>
 </project>
Index: /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/downloads/MapillaryExportWriterThread.java
===================================================================
--- /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/downloads/MapillaryExportWriterThread.java	(revision 31181)
+++ /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/downloads/MapillaryExportWriterThread.java	(revision 31182)
@@ -11,15 +11,12 @@
 import javax.imageio.ImageIO;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.ImageWriteException;
-import org.apache.sanselan.formats.jpeg.exifRewrite.ExifRewriter;
-import org.apache.sanselan.formats.tiff.constants.GPSTagConstants;
-import org.apache.sanselan.formats.tiff.constants.TagInfo;
-import org.apache.sanselan.formats.tiff.constants.TiffDirectoryConstants;
-import org.apache.sanselan.formats.tiff.constants.TiffFieldTypeConstants;
-import org.apache.sanselan.formats.tiff.fieldtypes.FieldType;
-import org.apache.sanselan.formats.tiff.write.TiffOutputDirectory;
-import org.apache.sanselan.formats.tiff.write.TiffOutputField;
-import org.apache.sanselan.formats.tiff.write.TiffOutputSet;
+import org.apache.commons.imaging.ImageReadException;
+import org.apache.commons.imaging.ImageWriteException;
+import org.apache.commons.imaging.common.RationalNumber;
+import org.apache.commons.imaging.formats.jpeg.exif.ExifRewriter;
+import org.apache.commons.imaging.formats.tiff.constants.GpsTagConstants;
+import org.apache.commons.imaging.formats.tiff.write.TiffOutputDirectory;
+import org.apache.commons.imaging.formats.tiff.write.TiffOutputSet;
+
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.gui.progress.PleaseWaitProgressMonitor;
@@ -73,20 +70,11 @@
 				TiffOutputDirectory exifDirectory = outputSet
 						.getOrCreateGPSDirectory();
-				FieldType fieldType = TiffFieldTypeConstants.FIELD_TYPE_RATIONAL;
-				TiffOutputField directionref = TiffOutputField.create(
-						GPSTagConstants.GPS_TAG_GPS_IMG_DIRECTION_REF,
-						outputSet.byteOrder, "T");
-				exifDirectory.add(directionref);
-				TiffOutputField direction = TiffOutputField.create(new TagInfo(
-						"GPS Img Direction", 17, fieldType, 1,
-						TiffDirectoryConstants.EXIF_DIRECTORY_GPS),
-						outputSet.byteOrder, mimg.getCa());
-				exifDirectory.add(direction);
-				try {
-					outputSet.setGPSInDegrees(mimg.getLatLon().lon(), mimg
-							.getLatLon().lat());
-				} catch (ImageWriteException e) {
-					Main.error(e);
-				}
+				exifDirectory
+						.add(GpsTagConstants.GPS_TAG_GPS_IMG_DIRECTION_REF,
+								GpsTagConstants.GPS_TAG_GPS_IMG_DIRECTION_REF_VALUE_TRUE_NORTH);
+				exifDirectory.add(GpsTagConstants.GPS_TAG_GPS_IMG_DIRECTION,
+						RationalNumber.valueOf(mimg.getCa()));
+				outputSet.setGPSInDegrees(mimg.getLatLon().lon(), mimg
+						.getLatLon().lat());
 				OutputStream os = new BufferedOutputStream(
 						new FileOutputStream(finalPath + ".jpg"));
@@ -99,8 +87,10 @@
 			} catch (IOException e) {
 				Main.error(e);
+			} catch (ImageWriteException e) {
+				// TODO Auto-generated catch block
+				e.printStackTrace();
 			} catch (ImageReadException e) {
-				Main.error(e);
-			} catch (ImageWriteException e) {
-				Main.error(e);
+				// TODO Auto-generated catch block
+				e.printStackTrace();
 			}
 
