Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/pom.xml
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/pom.xml	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/pom.xml	(revision 1010)
@@ -0,0 +1,466 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <artifactId>org.gvsig.proj</artifactId>
+    <packaging>pom</packaging>
+    <version>1.0.8</version>
+    <name>${project.artifactId}</name>
+    <description>Coordinate reference system management library</description>
+
+
+    <licenses>
+        <license>
+            <name>GPLv3</name>
+            <url>http://www.gnu.org/licenses/gpl.html</url>
+            <distribution>repo</distribution>
+            <comments>
+                "GPL" stands for "General Public License". The most widespread such
+                license is the GNU General Public License, or GNU GPL for short.
+                This can be further shortened to "GPL", when it is understood that
+                the GNU GPL is the one intended.
+            </comments>
+        </license>
+    </licenses>
+    
+    <organization>
+        <name>gvSIG Association</name>
+        <url>http://www.gvsig.com/</url>
+    </organization>
+   
+    <url>http://devel.gvsig.org/sites/${project.artifactId}/${project.version}</url>
+   
+    <scm>
+        <connection>scm:svn:https://devel.gvsig.org/svn/gvsig-jcrs/org.gvsig.proj/tags/org.gvsig.proj-1.0.8</connection>
+        <developerConnection>scm:svn:https://devel.gvsig.org/svn/gvsig-jcrs/org.gvsig.proj/tags/org.gvsig.proj-1.0.8</developerConnection>
+        <url>https://devel.gvsig.org/redmine/projects/gvsig-jcrs/repository/show/org.gvsig.proj/tags/org.gvsig.proj-1.0.8</url>
+    </scm>
+	
+    <repositories>
+        <repository>
+            <id>gvsig-public-http-repository</id>
+            <name>gvSIG maven public HTTP repository</name>
+            <url>http://devel.gvsig.org/m2repo/j2se</url>
+            <releases>
+                <enabled>true</enabled>
+                <updatePolicy>daily</updatePolicy>
+                <checksumPolicy>warn</checksumPolicy>
+            </releases>
+            <snapshots>
+                <enabled>true</enabled>
+                <updatePolicy>daily</updatePolicy>
+                <checksumPolicy>warn</checksumPolicy>
+            </snapshots>
+        </repository>
+    </repositories>
+
+    <distributionManagement>
+        <site>
+            <id>gvsig-repository</id>
+            <url>dav:https://devel.gvsig.org/sites/${project.artifactId}/${project.version}</url>
+        </site>
+        <repository>
+            <id>gvsig-repository</id>
+            <name>gvSIG maven repository</name>
+            <url>dav:https://devel.gvsig.org/m2repo/j2se</url>
+            <uniqueVersion>false</uniqueVersion>
+        </repository>
+        <snapshotRepository>
+            <id>gvsig-repository</id>
+            <name>gvSIG maven repository</name>
+            <url>dav:https://devel.gvsig.org/m2repo/j2se</url>
+            <uniqueVersion>false</uniqueVersion>
+        </snapshotRepository>
+    </distributionManagement>
+
+    <issueManagement>
+        <system>redmine</system>
+        <url>https://devel.gvsig.org/redmine/projects/gvsig-jcrs</url>
+    </issueManagement>
+
+
+    <mailingLists>
+        <mailingList>
+            <name>User List</name>
+            <subscribe>http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios</subscribe>
+            <unsubscribe>http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios</unsubscribe>
+            <post>gvsig_usuarios@listserv.gva.es</post>
+            <archive>http://www.gvsig.org/web/community/mailing-lists/gvsig-nabble</archive>
+            <otherArchives>
+                <otherArchive>http://www.mail-archive.com/gvsig_usuarios@runas.cap.gva.es</otherArchive>
+                <otherArchive>http://dir.gmane.org/index.php?prefix=gmane.comp.gis.gvsig</otherArchive>
+            </otherArchives>
+        </mailingList>
+        <mailingList>
+            <name>Developer List</name>
+            <subscribe>http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores</subscribe>
+            <unsubscribe>http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores</unsubscribe>
+            <post>gvsig_desarrolladores@listserv.gva.es</post>
+            <archive>http://www.gvsig.org/web/community/mailing-lists/gvsig-nabble</archive>
+            <otherArchives>
+                <otherArchive>http://www.mail-archive.com/gvsig_desarrolladores@runas.cap.gva.es</otherArchive>
+                <otherArchive>http://dir.gmane.org/index.php?prefix=gmane.comp.gis.gvsig</otherArchive>
+            </otherArchives>
+        </mailingList>
+        <mailingList>
+            <name>International List</name>
+            <subscribe>http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_internacional</subscribe>
+            <unsubscribe>http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_internacional</unsubscribe>
+            <post>gvsig_internacional@listserv.gva.es</post>
+            <archive>http://www.gvsig.org/web/community/mailing-lists/gvsig-nabble</archive>
+            <otherArchives>
+                <otherArchive>http://www.mail-archive.com/gvsig_internacional@runas.cap.gva.es</otherArchive>
+                <otherArchive>http://dir.gmane.org/index.php?prefix=gmane.comp.gis.gvsig</otherArchive>
+            </otherArchives>
+        </mailingList>
+    </mailingLists>
+        
+    <developers>
+        <developer>
+            <id>jjdelcerro</id>
+            <name>Joaquín José del Cerro</name>
+            <email>jjdelcerro@gvsig.com</email>
+            <roles>
+                <role>Architect</role>
+                <role>Developer</role>
+            </roles>
+        </developer>
+        <developer>
+            <id>cordinayana</id>
+            <name>Cèsar Ordiñana</name>
+            <email>cordinyana@gvsig.com</email>
+            <roles>
+                <role>Architect</role>
+                <role>Developer</role>
+            </roles>
+        </developer>
+    </developers>
+
+    <dependencyManagement>
+        <dependencies>
+	    <dependency>
+                <groupId>org.gvsig</groupId>
+                <artifactId>org.gvsig.tools</artifactId>
+                <version>${gvsig.tools.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+	    </dependency>
+        	
+            <dependency>
+                <groupId>org.gvsig</groupId>
+                <artifactId>org.gvsig.projection.api</artifactId>
+                <version>${gvsig.projection.version}</version>
+            </dependency>
+			
+            <dependency>
+                <groupId>org.gvsig</groupId>
+                <artifactId>org.gvsig.metadata.lib.basic.api</artifactId>
+                <version>${gvsig.metadata.version}</version>
+            </dependency>
+	                
+            <dependency>
+                <groupId>org.osgeo</groupId>
+                <artifactId>proj4j</artifactId>
+                <version>0.1.0</version>
+            </dependency>
+	
+            <dependency>
+                <groupId>org.gvsig</groupId>
+                <artifactId>org.gvsig.proj.lib</artifactId>
+                <version>1.0.8</version>
+            </dependency>
+            <dependency>
+                <groupId>org.gvsig</groupId>
+                <artifactId>org.gvsig.proj.main</artifactId>
+                <version>1.0.1-SNAPSHOT</version>
+            </dependency>
+            <dependency>
+                <groupId>org.gvsig</groupId>
+                <artifactId>org.gvsig.proj.swing</artifactId>
+                <version>1.0.8</version>
+            </dependency>
+            <dependency>
+                <groupId>org.gvsig</groupId>
+                <artifactId>org.gvsig.proj.lib.api</artifactId>
+                <version>1.0.8</version>
+            </dependency>
+            <dependency>
+                <groupId>org.gvsig</groupId>
+                <artifactId>org.gvsig.proj.lib.api</artifactId>
+                <version>1.0.8</version>
+                <type>test-jar</type>
+                <scope>test</scope>
+            </dependency>
+            <dependency>
+                <groupId>org.gvsig</groupId>
+                <artifactId>org.gvsig.proj.lib.proj4j</artifactId>
+                <version>1.0.8</version>
+            </dependency>
+            <dependency>
+                <groupId>org.gvsig</groupId>
+                <artifactId>org.gvsig.proj.swing.api</artifactId>
+                <version>1.0.8</version>
+            </dependency>	        
+            <dependency>
+                <groupId>org.gvsig</groupId>
+                <artifactId>org.gvsig.proj.swing.api</artifactId>
+                <version>1.0.8</version>
+                <type>test-jar</type>
+                <scope>test</scope>
+            </dependency>
+            <dependency>
+                <groupId>org.gvsig</groupId>
+                <artifactId>org.gvsig.proj.swing.impl</artifactId>
+                <version>1.0.8</version>
+            </dependency>
+	                
+        </dependencies>
+    </dependencyManagement>
+<!--
+    <dependencies>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+        </dependency>
+    </dependencies>
+	-->
+    <build>
+        <extensions>
+            <extension>
+                <groupId>org.apache.maven.wagon</groupId>
+                <artifactId>wagon-webdav-jackrabbit</artifactId>
+                <version>2.4</version>
+            </extension>
+        </extensions>
+        <pluginManagement>
+            <plugins>
+        
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-surefire-plugin</artifactId>
+                    <version>2.7.1</version>
+                    <configuration>
+                        <forkMode>once</forkMode>
+                    </configuration>
+                </plugin>
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-compiler-plugin</artifactId>
+                    <version>2.3.2</version>
+                    <configuration>
+                        <source>1.7</source>
+                        <target>1.7</target>
+                        <encoding>ISO-8859-1</encoding>
+                    </configuration>
+                </plugin>
+
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-resources-plugin</artifactId>
+                    <version>2.4.3</version>
+                    <configuration>
+                        <encoding>ISO-8859-1</encoding>
+                    </configuration>
+                </plugin>
+        
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-javadoc-plugin</artifactId>
+                    <version>2.9</version>
+                    <configuration>
+                        <docTitle>${project.name} ${project.version}</docTitle>
+                        <encoding>ISO-8859-1</encoding>
+                        <footer />
+                        <header />
+                        <keywords>true</keywords>
+                        <detectLinks>true</detectLinks>
+                        <javaApiLinks>
+                            <property>
+                                <name>api_1.4</name>
+                                <value>http://download.oracle.com/javase/1.4.2/docs/api/</value>
+                            </property>
+                            <property>
+                                <name>api_1.5</name>
+                                <value>http://download.oracle.com/javase/1.5.0/docs/api/</value>
+                            </property>
+                            <property>
+                                <name>api_1.6</name>
+                                <value>http://download.oracle.com/javase/6/docs/api/</value>
+                            </property>                            <property>
+                                <name>api_1.7</name>
+                                <value>http://download.oracle.com/javase/7/docs/api/</value>
+                            </property>
+                        </javaApiLinks>
+                    </configuration>
+                </plugin>
+        
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-site-plugin</artifactId>
+                    <configuration>
+                        <chmod>true</chmod>
+                        <chmodMode>a+rwX</chmodMode>
+                    </configuration>
+                </plugin>
+          
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-jar-plugin</artifactId>
+                    <version>2.3.1</version>
+                    <configuration>
+                        <archive>
+                            <manifestEntries>
+                                <Built-By>gvSIG Team</Built-By>
+                            </manifestEntries>
+                        </archive>
+                    </configuration>
+                </plugin>
+          
+                <plugin>
+                    <groupId>org.codehaus.mojo</groupId>
+                    <artifactId>properties-maven-plugin</artifactId>
+                    <version>1.0-alpha-2</version>
+                </plugin>
+  
+                <plugin>
+                    <groupId>org.codehaus.gmaven</groupId>
+                    <artifactId>gmaven-plugin</artifactId>
+                    <version>1.4</version>
+                </plugin>
+  
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-antrun-plugin</artifactId>
+                    <version>1.7</version>
+                </plugin>
+<!--
+                <plugin>
+                    <groupId>org.codehaus.mojo</groupId>
+                    <artifactId>animal-sniffer-maven-plugin</artifactId>
+                    <version>1.9</version>
+                </plugin>
+-->
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-release-plugin</artifactId>
+                    <version>2.1</version>
+                </plugin>
+
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-assembly-plugin</artifactId>
+                    <version>2.2-beta-5</version>
+                </plugin>
+
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-clean-plugin</artifactId>
+                    <version>2.4.1</version>
+                </plugin>
+          
+                <plugin>
+                    <groupId>org.codehaus.mojo</groupId>
+                    <artifactId>exec-maven-plugin</artifactId>
+                    <version>1.2</version>
+                </plugin>    
+
+                <plugin>
+                    <groupId>com.mycila.maven-license-plugin</groupId>
+                    <artifactId>maven-license-plugin</artifactId>
+                    <version>1.10.b1</version>
+                </plugin>    
+
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-source-plugin</artifactId>
+                    <version>2.2.1</version>
+                </plugin>
+
+            </plugins>
+        </pluginManagement>
+       
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-jar-plugin</artifactId>
+                <configuration>
+                </configuration>
+                <executions>
+                    <!-- Generates a jar file only with the test classes -->
+                    <execution>
+                        <goals>
+                            <goal>test-jar</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-release-plugin</artifactId>
+                <configuration>
+                    <tagBase>https://devel.gvsig.org/svn/gvsig-jcrs/${project.artifactId}/tags/</tagBase>
+                    <!-- This is a 2.0 beta 6 bug. By default the goals are 'clean verify', so the modules  
+                    are not installed, so the dependencies between modules are not met. With this configuration   
+                    we force the module installation. -->  
+                    <preparationGoals>clean install</preparationGoals>  
+                    <autoVersionSubmodules>true</autoVersionSubmodules>
+                </configuration>
+            </plugin>
+			
+            <plugin>
+                <!-- to continue building  when test fail -->
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <configuration>
+                    <testFailureIgnore>true</testFailureIgnore>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+	
+    <reporting>
+        <excludeDefaults>true</excludeDefaults>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-project-info-reports-plugin</artifactId>
+                <version>2.7</version>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-javadoc-plugin</artifactId>
+                <version>2.9</version>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-jxr-plugin</artifactId>
+                <version>2.3</version>
+                <configuration>
+                    <linkJavadoc>true</linkJavadoc>
+                </configuration>
+            </plugin>
+        </plugins>
+    </reporting>
+	
+	  
+    <properties>
+        <project.build.sourceEncoding>ISO-8859-1</project.build.sourceEncoding>
+        <localRepository>${user.home}/.m2/repository</localRepository>
+        <site-repository>dav:https://devel.gvsig.org/sites/${project.artifactId}/${project.version}</site-repository>
+		
+
+        <gvsig.tools.version>3.0.220</gvsig.tools.version>
+        <gvsig.metadata.version>1.0.0</gvsig.metadata.version>
+        <gvsig.projection.version>2.0.30</gvsig.projection.version>
+
+    </properties>
+
+    <modules>
+        <module>org.gvsig.proj.lib</module>
+        <module>org.gvsig.proj.swing</module>
+        <!-- 
+        <module>org.gvsig.proj.main</module>
+        -->
+    </modules>
+    <groupId>org.gvsig</groupId>
+</project>
Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.main/src/main/resources/README.txt
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.main/src/main/resources/README.txt	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.main/src/main/resources/README.txt	(revision 1010)
@@ -0,0 +1,32 @@
+====
+    gvSIG. Desktop Geographic Information System.
+
+    Copyright (C) 2007-2012 gvSIG Association.
+
+    This program is free software; you can redistribute it and/or
+    modify it under the terms of the GNU General Public License
+    as published by the Free Software Foundation; either version 2
+    of the License, or (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+    MA  02110-1301, USA.
+
+    For any additional information, do not hesitate to contact us
+    at info AT gvsig.com, or visit our website www.gvsig.com.
+====
+
+Put into this folder the resources needed by your classes.
+
+This folder is added to the classpath, so you can load any resources 
+through the ClassLoader.
+
+By default, in this folder you can find an example of log4j configuration,
+prepared to log messages through the console, so logging works when you
+run your classes.
\ No newline at end of file
Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.main/src/main/resources/log4j.xml
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.main/src/main/resources/log4j.xml	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.main/src/main/resources/log4j.xml	(revision 1010)
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!--
+
+    gvSIG. Desktop Geographic Information System.
+
+    Copyright (C) 2007-2012 gvSIG Association.
+
+    This program is free software; you can redistribute it and/or
+    modify it under the terms of the GNU General Public License
+    as published by the Free Software Foundation; either version 2
+    of the License, or (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+    MA  02110-1301, USA.
+
+    For any additional information, do not hesitate to contact us
+    at info AT gvsig.com, or visit our website www.gvsig.com.
+
+-->
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<!-- 
+Log4J configuration file for unit tests execution.
+ -->
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
+
+	<!-- Appender configuration to show logging messages through the console -->
+	<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
+		<layout class="org.apache.log4j.PatternLayout">
+			<param name="ConversionPattern" value="%d{HH:mm:ss,SSS} %-5p [%c{2}.%M()]\n  %m%n" />
+		</layout>
+	</appender>
+
+	<!-- 
+	Activate logging messages of DEBUG level of higher only for the
+	org.gvsig.tools packages.
+	You can put full classes names or packages instead, to configure
+	logging for all the classes and subpackages of the package.
+	-->
+	<category name="org.gvsig.tools">
+		<priority value="DEBUG" />
+	</category>
+	<category name="org.gvsig.proj">
+		<priority value="DEBUG" />
+	</category>
+
+	<!-- 
+	By default, show only logging messages of INFO level or higher, 
+	through the previously configured CONSOLE appender. 
+	-->
+	<root>
+		<priority value="INFO" />
+		<appender-ref ref="CONSOLE" />
+	</root>
+</log4j:configuration>
\ No newline at end of file
Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.main/src/main/java/org/gvsig/proj/main/package.html
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.main/src/main/java/org/gvsig/proj/main/package.html	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.main/src/main/java/org/gvsig/proj/main/package.html	(revision 1010)
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+
+    gvSIG. Desktop Geographic Information System.
+
+    Copyright (C) 2007-2012 gvSIG Association.
+
+    This program is free software; you can redistribute it and/or
+    modify it under the terms of the GNU General Public License
+    as published by the Free Software Foundation; either version 2
+    of the License, or (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+    MA  02110-1301, USA.
+
+    For any additional information, do not hesitate to contact us
+    at info AT gvsig.com, or visit our website www.gvsig.com.
+
+-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<title>org.gvsig.proj package documentation</title>
+</head>
+<body>
+
+	<p>Proj library testing and demo application.</p>
+
+</body>
+</html>
\ No newline at end of file
Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.main/src/main/java/org/gvsig/proj/main/Main.java
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.main/src/main/java/org/gvsig/proj/main/Main.java	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.main/src/main/java/org/gvsig/proj/main/Main.java	(revision 1010)
@@ -0,0 +1,135 @@
+/**
+ * gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright (C) 2007-2012 gvSIG Association.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+package org.gvsig.proj.main;
+
+import java.awt.BorderLayout;
+import java.awt.Dimension;
+import java.awt.event.ActionEvent;
+
+import javax.swing.AbstractAction;
+import javax.swing.Action;
+import javax.swing.JButton;
+import javax.swing.JFrame;
+import javax.swing.JMenu;
+import javax.swing.JMenuBar;
+import javax.swing.JMenuItem;
+import javax.swing.JToolBar;
+import javax.swing.WindowConstants;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import org.gvsig.proj.CoordinateReferenceSystem;
+import org.gvsig.proj.CoordinateReferenceSystemLocator;
+import org.gvsig.proj.CoordinateReferenceSystemManager;
+import org.gvsig.proj.CoordinateReferenceSystemNotFoundException;
+import org.gvsig.proj.swing.CoordinateReferenceSystemSelectorComponent;
+import org.gvsig.proj.swing.CoordinateReferenceSystemSwingLocator;
+import org.gvsig.proj.swing.CoordinateReferenceSystemSwingManager;
+import org.gvsig.tools.library.impl.DefaultLibrariesInitializer;
+import org.gvsig.tools.swing.api.windowmanager.WindowManager;
+
+/**
+ * Main executable class for testing the CRS library.
+ * 
+ * @author gvSIG Team
+ * @version $Id$
+ */
+public class Main {
+
+    private static final Logger LOG = LoggerFactory.getLogger(Main.class);
+
+    private CoordinateReferenceSystemManager manager;
+    private CoordinateReferenceSystemSwingManager swingManager;
+
+    public static void main(String args[]) {
+        new DefaultLibrariesInitializer().fullInitialize();
+        Main main = new Main();
+        main.show();
+    }
+
+    @SuppressWarnings("serial")
+    public void show() {
+        manager = CoordinateReferenceSystemLocator.getManager();
+        swingManager = CoordinateReferenceSystemSwingLocator.getSwingManager();
+
+        Action showCRSSelector = new AbstractAction("Select a CRS") {
+
+            public void actionPerformed(ActionEvent e) {
+                showCRSSelector(manager);
+            }
+        };
+
+        Action exit = new AbstractAction("Exit") {
+
+            public void actionPerformed(ActionEvent e) {
+                System.exit(0);
+            }
+        };
+
+        JFrame frame = new JFrame("CRS example app");
+        frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
+
+        // Create the menu bar.
+        JMenuBar menuBar = new JMenuBar();
+
+        // Build the menu.
+        JMenu menuFile = new JMenu("File");
+        menuFile.add(new JMenuItem(showCRSSelector));
+        menuFile.add(new JMenuItem(exit));
+
+        menuBar.add(menuFile);
+
+        JToolBar toolBar = new JToolBar();
+        toolBar.add(new JButton(showCRSSelector));
+        toolBar.add(new JButton(exit));
+
+        frame.setPreferredSize(new Dimension(200, 100));
+        frame.setJMenuBar(menuBar);
+        frame.add(toolBar, BorderLayout.PAGE_START);
+
+        // Display the window.
+        frame.pack();
+        frame.setVisible(true);
+    }
+
+    public void showCRSSelector(CoordinateReferenceSystemManager manager) {
+
+        CoordinateReferenceSystemSelectorComponent crsSelectionComponent =
+            swingManager.createCoordinateReferenceSystemSelectionComponent();
+
+        try {
+            CoordinateReferenceSystem currentCRS =
+                manager.getCoordinateReferenceSystem("EPSG", "23030");
+            crsSelectionComponent.setCoordinateReferenceSystem(currentCRS);
+        } catch (CoordinateReferenceSystemNotFoundException e) {
+            LOG.error("Error getting crs EPSG:23030", e);
+        }
+
+        swingManager.getWindowManager().showWindow(
+            crsSelectionComponent.asJComponent(), "Proj",
+            WindowManager.MODE.WINDOW);
+    }
+
+}
Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.main/pom.xml
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.main/pom.xml	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.main/pom.xml	(revision 1010)
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<artifactId>org.gvsig.proj.main</artifactId>
+	<packaging>jar</packaging>
+	<name>${project.artifactId}</name>
+	<parent>
+		<groupId>org.gvsig</groupId>
+		<artifactId>org.gvsig.proj</artifactId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
+	
+	<dependencyManagement>
+		<dependencies>
+			<dependency>
+				<groupId>org.gvsig</groupId>
+				<artifactId>org.gvsig.fmap.geometry.api</artifactId>
+	            <version>${gvsig.desktop.version}</version>
+			</dependency>
+			<dependency>
+				<groupId>org.gvsig</groupId>
+				<artifactId>org.gvsig.fmap.dal.api</artifactId>
+	            <version>${gvsig.desktop.version}</version>
+			</dependency>
+		</dependencies>
+	</dependencyManagement>
+	
+	<dependencies>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.tools.lib</artifactId>
+			<scope>compile</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.tools.lib</artifactId>
+			<type>test-jar</type>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.tools.swing.api</artifactId>
+			<scope>compile</scope>
+		</dependency>
+		<!-- 
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.i18n</artifactId>
+			<scope>compile</scope>
+		</dependency>
+		 -->
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.fmap.geometry.api</artifactId>
+			<scope>compile</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.fmap.dal.api</artifactId>
+			<scope>compile</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.metadata.lib.basic.api</artifactId>
+			<scope>compile</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.proj.lib.api</artifactId>
+			<scope>compile</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.proj.lib.proj4j</artifactId>
+			<scope>runtime</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.proj.swing.api</artifactId>
+			<scope>compile</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.proj.swing.impl</artifactId>
+			<scope>runtime</scope>
+		</dependency>
+	</dependencies>
+	
+	<properties> 
+	    <gvsig.desktop.version>2.0.10-SNAPSHOT</gvsig.desktop.version>
+	</properties>
+</project>
\ No newline at end of file

Property changes on: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.main
___________________________________________________________________
Added: svn:ignore
   + .settings
target
.classpath
.project


Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/.project
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/.project	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/.project	(revision 1010)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.gvsig.proj.lib</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+	</natures>
+</projectDescription>
Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.proj4j/src/test/java/org/gvsig/proj/proj4j/DefaultCoordinateReferenceSystemIT.java
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.proj4j/src/test/java/org/gvsig/proj/proj4j/DefaultCoordinateReferenceSystemIT.java	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.proj4j/src/test/java/org/gvsig/proj/proj4j/DefaultCoordinateReferenceSystemIT.java	(revision 1010)
@@ -0,0 +1,46 @@
+/* gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright © 2007-2012 gvSIG Association
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+package org.gvsig.proj.proj4j;
+
+import org.gvsig.proj.CoordinateReferenceSystemIT;
+
+/**
+ * API acceptance tests for the {@link DefaultCoordinateReferenceSystem} implementation.
+ * 
+ * @author gvSIG Team
+ */
+public class DefaultCoordinateReferenceSystemIT extends CoordinateReferenceSystemIT {
+
+    protected String getAuthorityName() {
+        return "EPSG";
+    }
+
+    protected String getCode() {
+        return "23030";
+    }
+
+    protected String getCode2() {
+        return "23031";
+    }
+
+}
Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.proj4j/src/test/java/org/gvsig/proj/proj4j/DefaultCoordinateTransformationIT.java
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.proj4j/src/test/java/org/gvsig/proj/proj4j/DefaultCoordinateTransformationIT.java	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.proj4j/src/test/java/org/gvsig/proj/proj4j/DefaultCoordinateTransformationIT.java	(revision 1010)
@@ -0,0 +1,47 @@
+/* gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright © 2007-2012 gvSIG Association
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+package org.gvsig.proj.proj4j;
+
+import org.gvsig.proj.CoordinateTransformationIT;
+import org.gvsig.proj.CoordinateReferenceSystem;
+import org.gvsig.proj.CoordinateReferenceSystemLocator;
+import org.gvsig.proj.proj4j.DefaultCoordinateTransformation;
+
+/**
+ * API acceptance tests for the {@link DefaultCoordinateTransformation}
+ * implementation.
+ * 
+ * @author gvSIG Team
+ */
+public class DefaultCoordinateTransformationIT extends
+    CoordinateTransformationIT {
+
+    protected CoordinateReferenceSystem createSourceProjection() throws Exception {
+        return CoordinateReferenceSystemLocator.getManager().getCoordinateReferenceSystem("EPSG", "23030");
+    }
+
+    protected CoordinateReferenceSystem createTargetProjection() throws Exception {
+        return CoordinateReferenceSystemLocator.getManager().getCoordinateReferenceSystem("EPSG", "23031");
+    }
+
+}
Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.proj4j/src/test/java/org/gvsig/proj/proj4j/ShowAllWorkingAuthorityCodes.java
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.proj4j/src/test/java/org/gvsig/proj/proj4j/ShowAllWorkingAuthorityCodes.java	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.proj4j/src/test/java/org/gvsig/proj/proj4j/ShowAllWorkingAuthorityCodes.java	(revision 1010)
@@ -0,0 +1,46 @@
+/* gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright © 2007-2012 gvSIG Association
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+package org.gvsig.proj.proj4j;
+
+import java.io.IOException;
+
+/**
+ * Shows all working authority codes in the console in properties format.
+ * May be used to update the
+ * src/main/resources/org/gvsig/proj/proj4j/supportedcrs.properties file.
+ * 
+ * @author gvSIG Team
+ */
+public class ShowAllWorkingAuthorityCodes {
+
+    /**
+     * Run the app.
+     * 
+     * @param args
+     *            ignored parameters
+     */
+    public static void main(String[] args) throws IOException {
+        new DefaultCoordinateReferenceSystemManager().showAllWorkingCodes();
+    }
+
+}
Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.proj4j/src/test/java/org/gvsig/proj/proj4j/DefaultCoordinateReferenceSystemManagerIT.java
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.proj4j/src/test/java/org/gvsig/proj/proj4j/DefaultCoordinateReferenceSystemManagerIT.java	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.proj4j/src/test/java/org/gvsig/proj/proj4j/DefaultCoordinateReferenceSystemManagerIT.java	(revision 1010)
@@ -0,0 +1,48 @@
+/* gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright © 2007-2012 gvSIG Association
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+package org.gvsig.proj.proj4j;
+
+import org.gvsig.proj.CoordinateReferenceSystemManager;
+import org.gvsig.proj.CoordinateReferenceSystemManagerIT;
+import org.gvsig.proj.proj4j.DefaultCoordinateReferenceSystemManager;
+
+/**
+ * API acceptance tests for the {@link DefaultCoordinateReferenceSystemManager} implementation.
+ * 
+ * @author gvSIG Team
+ */
+public class DefaultCoordinateReferenceSystemManagerIT extends CoordinateReferenceSystemManagerIT {
+
+    protected CoordinateReferenceSystemManager createProjectionManager() {
+        return new DefaultCoordinateReferenceSystemManager();
+    }
+
+    protected String getAuthorityName() {
+        return "EPSG";
+    }
+
+    protected String getCode() {
+        return "23030";
+    }
+
+}
Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.proj4j/src/test/resources/README.txt
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.proj4j/src/test/resources/README.txt	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.proj4j/src/test/resources/README.txt	(revision 1010)
@@ -0,0 +1,32 @@
+====
+    gvSIG. Desktop Geographic Information System.
+
+    Copyright (C) 2007-2012 gvSIG Association.
+
+    This program is free software; you can redistribute it and/or
+    modify it under the terms of the GNU General Public License
+    as published by the Free Software Foundation; either version 2
+    of the License, or (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+    MA  02110-1301, USA.
+
+    For any additional information, do not hesitate to contact us
+    at info AT gvsig.com, or visit our website www.gvsig.com.
+====
+
+Put into this folder the resources needed by your test classes.
+
+This folder is added to the Tests classpath, so you can load any resources 
+through the ClassLoader.
+
+By default, in this folder you can find an example of log4j configuration,
+prepared to log messages through the console, so logging works when you
+run your tests classes.
\ No newline at end of file
Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.proj4j/src/test/resources/log4j.xml
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.proj4j/src/test/resources/log4j.xml	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.proj4j/src/test/resources/log4j.xml	(revision 1010)
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!--
+
+    gvSIG. Desktop Geographic Information System.
+
+    Copyright (C) 2007-2012 gvSIG Association.
+
+    This program is free software; you can redistribute it and/or
+    modify it under the terms of the GNU General Public License
+    as published by the Free Software Foundation; either version 2
+    of the License, or (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+    MA  02110-1301, USA.
+
+    For any additional information, do not hesitate to contact us
+    at info AT gvsig.com, or visit our website www.gvsig.com.
+
+-->
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<!-- 
+Log4J configuration file for unit tests execution.
+ -->
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
+
+	<!-- Appender configuration to show logging messages through the console -->
+	<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
+		<layout class="org.apache.log4j.PatternLayout">
+			<param name="ConversionPattern" value="%d{HH:mm:ss,SSS} %-5p [%c{2}.%M()]\n  %m%n" />
+		</layout>
+	</appender>
+
+	<!-- 
+	Activate logging messages of DEBUG level of higher only for the
+	org.gvsig.tools packages.
+	You can put full classes names or packages instead, to configure
+	logging for all the classes and subpackages of the package.
+	-->
+	<category name="org.gvsig.tools">
+		<priority value="DEBUG" />
+	</category>
+	<category name="org.gvsig.proj">
+		<priority value="DEBUG" />
+	</category>
+
+	<!-- 
+	By default, show only logging messages of INFO level or higher, 
+	through the previously configured CONSOLE appender. 
+	-->
+	<root>
+		<priority value="INFO" />
+		<appender-ref ref="CONSOLE" />
+	</root>
+</log4j:configuration>
\ No newline at end of file
Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.proj4j/src/main/resources/META-INF/services/org.gvsig.tools.library.Library
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.proj4j/src/main/resources/META-INF/services/org.gvsig.tools.library.Library	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.proj4j/src/main/resources/META-INF/services/org.gvsig.tools.library.Library	(revision 1010)
@@ -0,0 +1 @@
+org.gvsig.proj.proj4j.Proj4jCoordinateReferenceSystemLibrary
Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.proj4j/src/main/resources/org/gvsig/proj/proj4j/supportedcrs.properties
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.proj4j/src/main/resources/org/gvsig/proj/proj4j/supportedcrs.properties	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.proj4j/src/main/resources/org/gvsig/proj/proj4j/supportedcrs.properties	(revision 1010)
@@ -0,0 +1,8 @@
+#Created by calling DefaultCoordinateReferenceSystemManager.storeAllWorkingCodes()
+#Fri May 11 14:19:02 CEST 2012
+NAD27=101,102,5010,5300,201,202,203,301,302,401,402,403,404,405,406,407,501,502,503,600,700,901,902,903,1001,1002,5101,5102,5103,5104,5105,1101,1102,1103,1201,1202,1301,1302,1401,1402,1501,1502,1601,1602,1701,1702,1703,1801,1802,1900,2001,2002,2101,2102,2103,2111,2112,2113,2201,2202,2203,2301,2302,2401,2402,2403,2501,2502,2503,2601,2602,2701,2702,2703,2800,2900,3001,3002,3003,3101,3102,3103,3104,3200,3301,3302,3401,3402,3501,3502,3601,3602,3701,3702,3800,3901,3902,4001,4002,4100,4201,4202,4203,4204,4205,4301,4302,4303,4400,4501,4502,4601,4602,4701,4702,4801,4802,4803,4901,4902,4903,4904,5002,5003,5004,5005,5006,5007,5008,5009,5201,5202,5400
+ESRI=2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022,2023,2024,2025,2026,2027,2028,2029,2030,2031,2032,2033,2034,2035,2036,2037,2038,2039,2040,2041,2042,2043,2044,2045,2057,2058,2059,2060,2061,2063,2064,2066,2067,2068,2069,2070,2071,2072,2073,2074,2075,2076,2077,2078,2079,2080,2081,2082,2083,2084,2085,2086,2087,2088,2089,2090,2091,2092,2093,2094,2095,2096,2097,2098,2099,2100,2101,2102,2103,2104,2105,2106,2107,2108,2109,2110,2111,2112,2113,2114,2115,2116,2117,2118,2119,2120,2121,2122,2123,2124,2125,2126,2127,2128,2129,2130,2131,2132,2133,2134,2135,2136,2137,2138,2139,2140,2141,2142,2143,2144,2145,2146,2147,2148,2149,2150,2151,2152,2153,2154,2155,2156,2157,2158,2159,2160,2161,2162,2163,2164,2165,2166,2167,2168,2169,2170,2171,2172,2173,2174,2175,2176,2177,2178,2179,2180,2188,2189,2190,2191,2192,2193,2194,2195,2196,2197,2198,2199,2200,2201,2202,2203,2204,2205,2206,2207,2208,2209,2210,2211,2212,2213,2214,2215,2216,2217,2219,2220,2222,2223,2224,2225,2226,2227,2228,2229,2230,2231,2232,2233,2234,2235,2236,2237,2238,2239,2240,2241,2242,2243,2244,2245,2246,2247,2248,2249,2250,2251,2252,2253,2254,2255,2256,2257,2258,2259,2260,2261,2262,2263,2264,2265,2266,2267,2268,2269,2270,2271,2272,2273,2274,2275,2276,2277,2278,2279,2280,2281,2282,2283,2284,2285,2286,2287,2288,2289,2290,2291,2292,2294,2295,2308,2309,2310,2311,2312,2313,2314,2315,2316,2317,2318,2319,2320,2321,2322,2323,2324,2325,2326,2327,2328,2329,2330,2331,2332,2333,2334,2335,2336,2337,2338,2339,2340,2341,2342,2343,2344,2345,2346,2347,2348,2349,2350,2351,2352,2353,2354,2355,2356,2357,2358,2359,2360,2361,2362,2363,2364,2365,2366,2367,2368,2369,2370,2371,2372,2373,2374,2375,2376,2377,2378,2379,2380,2381,2382,2383,2384,2385,2386,2387,2388,2389,2390,2391,2392,2393,2394,2395,2396,2397,2398,2399,2400,2401,2402,2403,2404,2405,2406,2407,2408,2409,2410,2411,2412,2413,2414,2415,2416,2417,2418,2419,2420,2421,2422,2423,2424,2425,2426,2427,2428,2429,2430,2431,2432,2433,2434,2435,2436,2437,2438,2439,2440,2441,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2453,2454,2455,2456,2457,2458,2459,2460,2461,2462,2463,2464,2465,2466,2467,2468,2469,2470,2471,2472,2473,2474,2475,2476,2477,2478,2479,2480,2481,2482,2483,2484,2485,2486,2487,2488,2489,2490,2491,2492,2493,2494,2495,2496,2497,2498,2499,2500,2501,2502,2503,2504,2505,2506,2507,2508,2509,2510,2511,2512,2513,2514,2515,2516,2517,2518,2519,2520,2521,2522,2523,2524,2525,2526,2527,2528,2529,2530,2531,2532,2533,2534,2535,2536,2537,2538,2539,2540,2541,2542,2543,2544,2545,2546,2547,2548,2549,2550,2551,2552,2553,2554,2555,2556,2557,2558,2559,2560,2561,2562,2563,2564,2565,2566,2567,2568,2569,2570,2571,2572,2573,2574,2575,2576,2577,2578,2579,2580,2581,2582,2583,2584,2585,2586,2587,2588,2589,2590,2591,2592,2593,2594,2595,2596,2597,2598,2599,2600,2601,2602,2603,2604,2605,2606,2607,2608,2609,2610,2611,2612,2613,2614,2615,2616,2617,2618,2619,2620,2621,2622,2623,2624,2625,2626,2627,2628,2629,2630,2631,2632,2633,2634,2635,2636,2637,2638,2639,2640,2641,2642,2643,2644,2645,2646,2647,2648,2649,2650,2651,2652,2653,2654,2655,2656,2657,2658,2659,2660,2661,2662,2663,2664,2665,2666,2667,2668,2669,2670,2671,2672,2673,2674,2675,2676,2677,2678,2679,2680,2681,2682,2683,2684,2685,2686,2687,2688,2689,2690,2691,2692,2693,2694,2695,2696,2697,2698,2699,2700,2701,2702,2703,2704,2705,2706,2707,2708,2709,2710,2711,2712,2713,2714,2715,2716,2717,2718,2719,2720,2721,2722,2723,2724,2725,2726,2727,2728,2729,2730,2731,2732,2733,2734,2735,2736,2737,2738,2739,2740,2741,2742,2743,2744,2745,2746,2747,2748,2749,2750,2751,2752,2753,2754,2755,2756,2757,2758,2759,2760,2761,2762,2763,2764,2765,2766,2767,2768,2769,2770,2771,2772,2773,2774,2775,2776,2777,2778,2779,2780,2781,2782,2783,2784,2785,2786,2787,2788,2789,2790,2791,2792,2793,2794,2795,2796,2797,2798,2799,2800,2801,2802,2803,2804,2805,2806,2807,2808,2809,2810,2811,2812,2813,2814,2815,2816,2817,2818,2819,2820,2821,2822,2823,2824,2825,2826,2827,2828,2829,2830,2831,2832,2833,2834,2835,2836,2837,2838,2839,2840,2841,2842,2843,2844,2845,2846,2847,2848,2849,2850,2851,2852,2853,2854,2855,2856,2857,2858,2859,2860,2861,2862,2863,2864,2865,2866,2867,2868,2869,2870,2871,2872,2873,2874,2875,2876,2877,2878,2879,2880,2881,2882,2883,2884,2885,2886,2887,2888,2889,2890,2891,2892,2893,2894,2895,2896,2897,2898,2899,2900,2901,2902,2903,2904,2905,2906,2907,2908,2909,2910,2911,2912,2913,2914,2915,2916,2917,2918,2919,2920,2921,2922,2923,2924,2925,2926,2927,2928,2929,2930,2931,2932,2933,2935,2936,2937,2938,2939,2940,2941,2942,2943,2944,2945,2946,2947,2948,2949,2950,2951,2952,2953,2954,2955,2956,2957,2958,2959,2960,2961,2962,3036,3037,3148,3149,3176,3200,3300,3301,3439,3440,3561,3562,3563,3564,3565,3920,3991,3992,4001,4002,4003,4004,4005,4006,4007,4008,4009,4010,4011,4012,4013,4014,4015,4016,4018,4019,4020,4021,4022,4024,4025,4027,4028,4029,4030,4031,4032,4033,4034,4035,4036,4041,4042,4043,4044,4045,4047,4120,4121,4122,4123,4124,4125,4126,4127,4128,4129,4130,4131,4132,4133,4134,4135,4136,4137,4138,4139,4140,4141,4142,4143,4144,4145,4146,4147,4148,4149,4150,4151,4152,4153,4154,4155,4156,4157,4158,4159,4160,4161,4162,4163,4164,4165,4166,4167,4168,4169,4170,4171,4172,4173,4174,4175,4176,4178,4179,4180,4181,4182,4183,4184,4185,4188,4189,4190,4191,4192,4193,4194,4195,4196,4197,4198,4199,4200,4201,4202,4203,4204,4205,4206,4207,4208,4209,4210,4211,4212,4213,4214,4215,4216,4218,4219,4220,4221,4222,4223,4224,4225,4226,4227,4228,4229,4230,4231,4232,4233,4234,4235,4236,4237,4238,4239,4240,4241,4242,4243,4244,4245,4246,4247,4248,4249,4250,4251,4252,4253,4254,4255,4256,4257,4258,4259,4260,4261,4262,4263,4264,4265,4266,4267,4268,4269,4270,4271,4272,4273,4274,4275,4276,4277,4278,4279,4280,4281,4282,4283,4284,4285,4286,4287,4288,4289,4291,4292,4293,4294,4295,4296,4297,4298,4299,4300,4301,4302,4303,4304,4306,4307,4308,4309,4310,4311,4312,4313,4314,4315,4316,4317,4318,4319,4322,4324,4326,4600,4601,4602,4603,4604,4605,4606,4607,4608,4609,4610,4611,4612,4613,4614,4615,4616,4617,20004,20005,20006,20007,20008,20009,20010,20011,20012,20013,20014,20015,20016,20017,20018,20019,20020,20021,20022,20023,20024,20025,20026,20027,20028,20029,20030,20031,20032,20064,20065,20066,20067,20068,20069,20070,20071,20072,20073,20074,20075,20076,20077,20078,20079,20080,20081,20082,20083,20084,20085,20086,20087,20088,20089,20090,20091,20092,20137,20138,20248,20249,20250,20251,20252,20253,20254,20255,20256,20257,20258,20348,20349,20350,20351,20352,20353,20354,20355,20356,20357,20358,20437,20438,20439,20499,20538,20539,20822,20823,20824,20934,20935,20936,21035,21036,21037,21095,21096,21097,21148,21149,21150,21291,21292,21413,21414,21415,21416,21417,21418,21419,21420,21421,21422,21423,21453,21454,21455,21456,21457,21458,21459,21460,21461,21462,21463,21473,21474,21475,21476,21477,21478,21479,21480,21481,21482,21483,21817,21818,21891,21892,21893,21894,22032,22033,22091,22092,22191,22192,22193,22194,22195,22196,22197,22234,22235,22236,22332,22391,22392,22523,22524,22700,22770,22780,22832,22991,22992,22993,22994,23028,23029,23030,23031,23032,23033,23034,23035,23036,23037,23038,23090,23095,23239,23240,23433,23846,23847,23848,23849,23850,23851,23852,23853,23886,23887,23888,23889,23890,23891,23892,23893,23894,23946,23947,23948,24047,24048,24100,24200,24305,24306,24311,24312,24313,24342,24343,24344,24345,24346,24347,24370,24371,24372,24373,24374,24375,24376,24377,24378,24379,24380,24381,24382,24383,24500,24547,24548,24571,24600,24718,24719,24720,24818,24819,24820,24821,24877,24878,24879,24880,24882,24891,24892,24893,25000,25231,25391,25392,25393,25394,25395,25828,25829,25830,25831,25832,25833,25834,25835,25836,25837,25838,25884,25932,26191,26192,26193,26237,26331,26332,26391,26392,26393,26432,26632,26692,26703,26704,26705,26706,26707,26708,26709,26710,26711,26712,26713,26714,26715,26716,26717,26718,26719,26720,26721,26722,26729,26730,26731,26732,26733,26734,26735,26736,26737,26738,26739,26740,26741,26742,26743,26744,26745,26746,26747,26748,26749,26750,26751,26752,26753,26754,26755,26756,26757,26758,26759,26760,26766,26767,26768,26769,26770,26771,26772,26773,26774,26775,26776,26777,26778,26779,26780,26781,26782,26783,26784,26785,26786,26787,26791,26792,26793,26794,26795,26796,26797,26798,26801,26802,26803,26811,26812,26813,26903,26904,26905,26906,26907,26908,26909,26910,26911,26912,26913,26914,26915,26916,26917,26918,26919,26920,26921,26922,26923,26929,26930,26931,26932,26933,26934,26935,26936,26937,26938,26939,26940,26941,26942,26943,26944,26945,26946,26948,26949,26950,26951,26952,26953,26954,26955,26956,26957,26958,26959,26960,26961,26962,26963,26964,26965,26966,26967,26968,26969,26970,26971,26972,26973,26974,26975,26976,26977,26978,26979,26980,26981,26982,26983,26984,26985,26986,26987,26988,26989,26990,26991,26992,26993,26994,26995,26996,26997,26998,27038,27039,27040,27120,27205,27206,27207,27208,27209,27210,27211,27212,27213,27214,27215,27216,27217,27218,27219,27220,27221,27222,27223,27224,27225,27226,27227,27228,27229,27230,27231,27232,27258,27259,27260,27291,27292,27429,27492,27700,28191,28192,28193,28232,28348,28349,28350,28351,28352,28353,28354,28355,28356,28357,28358,28402,28403,28404,28405,28406,28407,28408,28409,28410,28411,28412,28413,28414,28415,28416,28417,28418,28419,28420,28421,28422,28423,28424,28425,28426,28427,28428,28429,28430,28431,28432,28462,28463,28464,28465,28466,28467,28468,28469,28470,28471,28472,28473,28474,28475,28476,28477,28478,28479,28480,28481,28482,28483,28484,28485,28486,28487,28488,28489,28490,28491,28492,28600,28991,28992,29100,29118,29119,29120,29121,29122,29177,29178,29179,29180,29181,29182,29183,29184,29185,29220,29221,29333,29635,29636,29738,29739,29849,29850,29871,29872,29873,29900,29901,29902,29903,30161,30162,30163,30164,30165,30166,30167,30168,30169,30170,30171,30172,30173,30174,30175,30176,30177,30178,30179,30200,30339,30340,30491,30492,30729,30730,30731,30732,30791,30792,30800,31028,31121,31154,31170,31171,31265,31266,31267,31268,31275,31276,31277,31278,31279,31284,31285,31286,31287,31294,31295,31296,31297,31300,31370,31461,31462,31463,31464,31465,31466,31467,31468,31469,31528,31529,31600,31700,31838,31839,31900,31986,31987,31988,31989,31990,31991,31992,31993,31994,31995,31996,31997,31998,31999,32000,32001,32002,32003,32005,32006,32007,32008,32009,32010,32011,32012,32013,32014,32015,32016,32017,32018,32019,32020,32021,32022,32023,32024,32025,32026,32027,32028,32029,32030,32031,32033,32034,32035,32036,32037,32038,32039,32040,32041,32042,32043,32044,32045,32046,32047,32048,32049,32050,32051,32052,32053,32054,32055,32056,32057,32058,32061,32062,32064,32065,32066,32067,32074,32075,32076,32077,32081,32082,32083,32084,32085,32086,32098,32100,32104,32107,32108,32109,32110,32111,32112,32113,32114,32115,32116,32117,32118,32119,32120,32121,32122,32123,32124,32125,32126,32127,32128,32129,32130,32133,32134,32135,32136,32137,32138,32139,32140,32141,32142,32143,32144,32145,32146,32147,32148,32149,32150,32151,32152,32153,32154,32155,32156,32157,32158,32161,32180,32181,32182,32183,32184,32185,32186,32187,32188,32189,32190,32191,32192,32193,32194,32195,32196,32197,32198,32201,32202,32203,32204,32205,32206,32207,32208,32209,32210,32211,32212,32213,32214,32215,32216,32217,32218,32219,32220,32221,32222,32223,32224,32225,32226,32227,32228,32229,32230,32231,32232,32233,32234,32235,32236,32237,32238,32239,32240,32241,32242,32243,32244,32245,32246,32247,32248,32249,32250,32251,32252,32253,32254,32255,32256,32257,32258,32259,32260,32301,32302,32303,32304,32305,32306,32307,32308,32309,32310,32311,32312,32313,32314,32315,32316,32317,32318,32319,32320,32321,32322,32323,32324,32325,32326,32327,32328,32329,32330,32331,32332,32333,32334,32335,32336,32337,32338,32339,32340,32341,32342,32343,32344,32345,32346,32347,32348,32349,32350,32351,32352,32353,32354,32355,32356,32357,32358,32359,32360,32401,32402,32403,32404,32405,32406,32407,32408,32409,32410,32411,32412,32413,32414,32415,32416,32417,32418,32419,32420,32421,32422,32423,32424,32425,32426,32427,32428,32429,32430,32431,32432,32433,32434,32435,32436,32437,32438,32439,32440,32441,32442,32443,32444,32445,32446,32447,32448,32449,32450,32451,32452,32453,32454,32455,32456,32457,32458,32459,32460,32501,32502,32503,32504,32505,32506,32507,32508,32509,32510,32511,32512,32513,32514,32515,32516,32517,32518,32519,32520,32521,32522,32523,32524,32525,32526,32527,32528,32529,32530,32531,32532,32533,32534,32535,32536,32537,32538,32539,32540,32541,32542,32543,32544,32545,32546,32547,32548,32549,32550,32551,32552,32553,32554,32555,32556,32557,32558,32559,32560,32601,32602,32603,32604,32605,32606,32607,32608,32609,32610,32611,32612,32613,32614,32615,32616,32617,32618,32619,32620,32621,32622,32623,32624,32625,32626,32627,32628,32629,32630,32631,32632,32633,32634,32635,32636,32637,32638,32639,32640,32641,32642,32643,32644,32645,32646,32647,32648,32649,32650,32651,32652,32653,32654,32655,32656,32657,32658,32659,32660,32661,32701,32702,32703,32704,32705,32706,32707,32708,32709,32710,32711,32712,32713,32714,32715,32716,32717,32718,32719,32720,32721,32722,32723,32724,32725,32726,32727,32728,32729,32730,32731,32732,32733,32734,32735,32736,32737,32738,32739,32740,32741,32742,32743,32744,32745,32746,32747,32748,32749,32750,32751,32752,32753,32754,32755,32756,32757,32758,32759,32760,32761,32766,20002,20003,20062,20063,24721,26761,26762,26763,26764,26765,26788,26789,26790,30591,30592,31491,31492,31493,31494,31495,32059,32060,53003,53004,53008,53009,53010,53012,53016,53021,53026,53027,53028,53029,53030,53032,54003,54004,54008,54009,54010,54012,54016,54021,54026,54027,54028,54029,54030,54032,65061,65161,102001,102002,102003,102004,102005,102006,102007,102008,102009,102010,102011,102012,102013,102014,102015,102016,102017,102018,102019,102020,102021,102022,102023,102024,102025,102026,102027,102028,102029,102030,102031,102032,102033,102091,102092,102101,102102,102103,102104,102105,102106,102107,102108,102110,102114,102115,102120,102121,102122,102123,102132,102133,102134,102135,102140,102141,102142,102151,102152,102153,102154,102155,102156,102160,102161,102162,102164,102165,102166,102167,102168,102169,102191,102192,102193,102229,102230,102241,102242,102243,102244,102245,102246,102248,102249,102250,102251,102252,102253,102254,102255,102256,102257,102258,102259,102260,102261,102262,102263,102264,102265,102266,102267,102268,102269,102270,102271,102272,102273,102274,102277,102278,102279,102280,102281,102282,102283,102284,102285,102286,102287,102288,102289,102290,102291,102292,102293,102294,102295,102296,102297,102298,102300,102304,102307,102308,102309,102310,102311,102312,102313,102314,102315,102316,102317,102318,102320,102321,102322,102323,102324,102325,102326,102327,102330,102334,102335,102336,102337,102338,102339,102340,102341,102342,102343,102344,102345,102346,102347,102348,102349,102350,102351,102352,102353,102354,102355,102356,102357,102358,102361,102491,102492,102581,102582,102583,102584,102591,102592,102629,102630,102631,102632,102633,102634,102635,102636,102637,102638,102639,102640,102641,102642,102643,102644,102645,102646,102648,102649,102650,102651,102652,102653,102654,102655,102656,102657,102658,102659,102660,102661,102662,102663,102664,102665,102666,102667,102668,102669,102670,102671,102672,102673,102674,102675,102676,102677,102678,102679,102680,102681,102682,102683,102684,102685,102686,102687,102688,102689,102690,102691,102692,102693,102694,102695,102696,102697,102698,102700,102704,102707,102708,102709,102710,102711,102712,102713,102714,102715,102716,102717,102718,102719,102720,102721,102722,102723,102724,102725,102726,102727,102728,102729,102730,102733,102734,102735,102736,102737,102738,102739,102740,102741,102742,102743,102744,102745,102746,102747,102748,102749,102750,102751,102752,102753,102754,102755,102756,102757,102758,102761,102766,103300,4023,4217,4305,4404,37001,37002,37003,37004,37005,37006,37007,37008,37201,37202,37203,37204,37205,37206,37207,37208,37211,37212,37213,37214,37215,37216,37217,37218,37219,37220,37221,37222,37223,37224,37226,37227,37228,37229,37230,37231,37232,37233,37234,37235,37237,37238,37239,37240,37241,37242,37243,37245,37246,37247,37249,37250,37251,37252,37253,37254,37255,37257,37259,37260,104000,104101,104102,104103,104104,104105,104106,104107,104108,104261,104304,104305
+NAD83=101,102,5010,201,202,203,301,302,401,402,403,404,405,406,501,502,503,600,700,901,902,903,1001,1002,5101,5102,5103,5104,5105,1101,1102,1103,1201,1202,1301,1302,1401,1402,1501,1502,1601,1602,1701,1702,1703,1801,1802,1900,2001,2002,2111,2112,2113,2201,2202,2203,2301,2302,2401,2402,2403,2500,2600,2701,2702,2703,2800,2900,3001,3002,3003,3101,3102,3103,3104,3200,3301,3302,3401,3402,3501,3502,3601,3602,3701,3702,3800,3900,4001,4002,4100,4201,4202,4203,4204,4205,4301,4302,4303,4400,4501,4502,4601,4602,4701,4702,4801,4802,4803,4901,4902,4903,4904,5002,5003,5004,5005,5006,5007,5008,5009,5200
+WORLD=CH1903,bwi,costa-n,cuba-s,domin_rep,egypt-1,egypt-2,egypt-3,egypt-4,egypt-5,guat-n,guat-s,haiti,hond-n,hond-s,levant,nica-n,nica-s,palestine,irish,neiez,n-alger,n-maroc,n-tunis,s-alger,s-maroc,s-tunis,gk2-d,gk3-d,gk4-d
+EPSG=3819,3821,3824,3889,3906,4001,4002,4003,4004,4005,4006,4007,4008,4009,4010,4011,4012,4013,4014,4015,4016,4018,4019,4020,4021,4022,4023,4024,4025,4027,4028,4029,4030,4031,4032,4033,4034,4035,4036,4041,4042,4043,4044,4045,4046,4047,4052,4053,4054,4055,4075,4081,4120,4121,4122,4123,4124,4125,4126,4127,4128,4129,4130,4131,4132,4133,4134,4135,4136,4137,4138,4139,4140,4141,4142,4143,4144,4145,4146,4147,4148,4149,4150,4151,4152,4153,4154,4155,4156,4157,4158,4159,4160,4161,4162,4163,4164,4165,4166,4167,4168,4169,4170,4171,4172,4173,4174,4175,4176,4178,4179,4180,4181,4182,4183,4184,4185,4188,4189,4190,4191,4192,4193,4194,4195,4196,4197,4198,4199,4200,4201,4202,4203,4204,4205,4206,4207,4208,4209,4210,4211,4212,4213,4214,4215,4216,4218,4219,4220,4221,4222,4223,4224,4225,4226,4227,4228,4229,4230,4231,4232,4233,4234,4235,4236,4237,4238,4239,4240,4241,4242,4243,4244,4245,4246,4247,4248,4249,4250,4251,4252,4253,4254,4255,4256,4257,4258,4259,4260,4261,4262,4263,4264,4265,4266,4267,4268,4269,4270,4271,4272,4273,4274,4275,4276,4277,4278,4279,4280,4281,4282,4283,4284,4285,4286,4287,4288,4289,4291,4292,4293,4294,4295,4296,4297,4298,4299,4300,4301,4302,4303,4304,4306,4307,4308,4309,4310,4311,4312,4313,4314,4315,4316,4317,4318,4319,4322,4324,4326,4463,4470,4475,4483,4490,4555,4558,4600,4601,4602,4603,4604,4605,4606,4607,4608,4609,4610,4611,4612,4613,4614,4615,4616,4617,4618,4619,4620,4621,4622,4623,4624,4625,4626,4627,4628,4629,4630,4631,4632,4633,4634,4635,4636,4637,4638,4639,4640,4641,4642,4643,4644,4645,4646,4657,4658,4659,4660,4661,4662,4663,4664,4665,4666,4667,4668,4669,4670,4671,4672,4673,4674,4675,4676,4677,4678,4679,4680,4681,4682,4683,4684,4685,4686,4687,4688,4689,4690,4691,4692,4693,4694,4695,4696,4697,4698,4699,4700,4701,4702,4703,4704,4705,4706,4707,4708,4709,4710,4711,4712,4713,4714,4715,4716,4717,4718,4719,4720,4721,4722,4723,4724,4725,4726,4727,4728,4729,4730,4731,4732,4733,4734,4735,4736,4737,4738,4739,4740,4741,4742,4743,4744,4745,4746,4747,4748,4749,4750,4751,4752,4753,4754,4755,4756,4757,4758,4759,4760,4761,4762,4763,4764,4765,4823,4824,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022,2023,2024,2025,2026,2027,2028,2029,2030,2031,2032,2033,2034,2035,2036,2037,2038,2039,2040,2041,2042,2043,2044,2045,2056,2058,2059,2060,2061,2063,2064,2066,2067,2068,2069,2070,2071,2072,2073,2074,2075,2076,2077,2078,2079,2080,2081,2082,2083,2084,2085,2086,2087,2088,2089,2090,2091,2092,2093,2094,2095,2096,2097,2098,2099,2100,2101,2102,2103,2104,2105,2106,2107,2108,2109,2110,2111,2112,2113,2114,2115,2116,2117,2118,2119,2120,2121,2122,2123,2124,2125,2126,2127,2128,2129,2130,2131,2132,2133,2134,2135,2136,2137,2138,2139,2140,2141,2142,2143,2144,2145,2146,2147,2148,2149,2150,2151,2152,2153,2154,2155,2156,2157,2158,2159,2160,2161,2162,2163,2164,2165,2166,2167,2168,2169,2170,2171,2172,2173,2174,2175,2176,2177,2178,2179,2180,2188,2189,2190,2191,2192,2193,2194,2195,2196,2197,2198,2199,2200,2201,2202,2203,2204,2205,2206,2207,2208,2209,2210,2211,2212,2213,2214,2215,2216,2217,2219,2220,2222,2223,2224,2225,2226,2227,2228,2229,2230,2231,2232,2233,2234,2235,2236,2237,2238,2239,2240,2241,2242,2243,2244,2245,2246,2247,2248,2249,2250,2251,2252,2253,2254,2255,2256,2257,2258,2259,2260,2261,2262,2263,2264,2265,2266,2267,2268,2269,2270,2271,2272,2273,2274,2275,2276,2277,2278,2279,2280,2281,2282,2283,2284,2285,2286,2287,2288,2289,2290,2291,2292,2294,2295,2308,2309,2310,2311,2312,2313,2314,2315,2316,2317,2318,2319,2320,2321,2322,2323,2324,2325,2326,2327,2328,2329,2330,2331,2332,2333,2334,2335,2336,2337,2338,2339,2340,2341,2342,2343,2344,2345,2346,2347,2348,2349,2350,2351,2352,2353,2354,2355,2356,2357,2358,2359,2360,2361,2362,2363,2364,2365,2366,2367,2368,2369,2370,2371,2372,2373,2374,2375,2376,2377,2378,2379,2380,2381,2382,2383,2384,2385,2386,2387,2388,2389,2390,2391,2392,2393,2394,2395,2396,2397,2398,2399,2400,2401,2402,2403,2404,2405,2406,2407,2408,2409,2410,2411,2412,2413,2414,2415,2416,2417,2418,2419,2420,2421,2422,2423,2424,2425,2426,2427,2428,2429,2430,2431,2432,2433,2434,2435,2436,2437,2438,2439,2440,2441,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2453,2454,2455,2456,2457,2458,2459,2460,2461,2462,2463,2464,2465,2466,2467,2468,2469,2470,2471,2472,2473,2474,2475,2476,2477,2478,2479,2480,2481,2482,2483,2484,2485,2486,2487,2488,2489,2490,2491,2492,2493,2494,2495,2496,2497,2498,2499,2500,2501,2502,2503,2504,2505,2506,2507,2508,2509,2510,2511,2512,2513,2514,2515,2516,2517,2518,2519,2520,2521,2522,2523,2524,2525,2526,2527,2528,2529,2530,2531,2532,2533,2534,2535,2536,2537,2538,2539,2540,2541,2542,2543,2544,2545,2546,2547,2548,2549,2550,2551,2552,2553,2554,2555,2556,2557,2558,2559,2560,2561,2562,2563,2564,2565,2566,2567,2568,2569,2570,2571,2572,2573,2574,2575,2576,2577,2578,2579,2580,2581,2582,2583,2584,2585,2586,2587,2588,2589,2590,2591,2592,2593,2594,2595,2596,2597,2598,2599,2600,2601,2602,2603,2604,2605,2606,2607,2608,2609,2610,2611,2612,2613,2614,2615,2616,2617,2618,2619,2620,2621,2622,2623,2624,2625,2626,2627,2628,2629,2630,2631,2632,2633,2634,2635,2636,2637,2638,2639,2640,2641,2642,2643,2644,2645,2646,2647,2648,2649,2650,2651,2652,2653,2654,2655,2656,2657,2658,2659,2660,2661,2662,2663,2664,2665,2666,2667,2668,2669,2670,2671,2672,2673,2674,2675,2676,2677,2678,2679,2680,2681,2682,2683,2684,2685,2686,2687,2688,2689,2690,2691,2692,2693,2694,2695,2696,2697,2698,2699,2700,2701,2702,2703,2704,2705,2706,2707,2708,2709,2710,2711,2712,2713,2714,2715,2716,2717,2718,2719,2720,2721,2722,2723,2724,2725,2726,2727,2728,2729,2730,2731,2732,2733,2734,2735,2736,2737,2738,2739,2740,2741,2742,2743,2744,2745,2746,2747,2748,2749,2750,2751,2752,2753,2754,2755,2756,2757,2758,2759,2760,2761,2762,2763,2764,2765,2766,2767,2768,2769,2770,2771,2772,2773,2774,2775,2776,2777,2778,2779,2780,2781,2782,2783,2784,2785,2786,2787,2788,2789,2790,2791,2792,2793,2794,2795,2796,2797,2798,2799,2800,2801,2802,2803,2804,2805,2806,2807,2808,2809,2810,2811,2812,2813,2814,2815,2816,2817,2818,2819,2820,2821,2822,2823,2824,2825,2826,2827,2828,2829,2830,2831,2832,2833,2834,2835,2836,2837,2838,2839,2840,2841,2842,2843,2844,2845,2846,2847,2848,2849,2850,2851,2852,2853,2854,2855,2856,2857,2858,2859,2860,2861,2862,2863,2864,2865,2866,2867,2868,2869,2870,2871,2872,2873,2874,2875,2876,2877,2878,2879,2880,2881,2882,2883,2884,2885,2886,2887,2888,2889,2890,2891,2892,2893,2894,2895,2896,2897,2898,2899,2900,2901,2902,2903,2904,2905,2906,2907,2908,2909,2910,2911,2912,2913,2914,2915,2916,2917,2918,2919,2920,2921,2922,2923,2924,2925,2926,2927,2928,2929,2930,2931,2932,2933,2935,2936,2937,2938,2939,2940,2941,2942,2943,2944,2945,2946,2947,2948,2949,2950,2951,2952,2953,2954,2955,2956,2957,2958,2959,2960,2961,2962,2964,2965,2966,2967,2968,2969,2970,2971,2972,2973,2975,2976,2977,2978,2979,2980,2981,2982,2983,2984,2987,2988,2989,2990,2991,2992,2993,2994,2995,2996,2997,2998,2999,3000,3001,3002,3003,3004,3005,3006,3007,3008,3009,3010,3011,3012,3013,3014,3015,3016,3017,3018,3019,3020,3021,3022,3023,3024,3025,3026,3027,3028,3029,3030,3031,3032,3033,3034,3035,3036,3037,3038,3039,3040,3041,3042,3043,3044,3045,3046,3047,3048,3049,3050,3051,3054,3055,3056,3057,3058,3059,3060,3061,3062,3063,3064,3065,3066,3067,3068,3069,3070,3071,3072,3073,3074,3075,3076,3077,3080,3081,3082,3083,3084,3085,3086,3087,3088,3089,3090,3091,3092,3093,3094,3095,3096,3097,3098,3099,3100,3101,3102,3103,3104,3105,3106,3107,3108,3109,3110,3111,3112,3113,3114,3115,3116,3117,3118,3119,3120,3121,3122,3123,3124,3125,3126,3127,3128,3129,3130,3131,3132,3133,3134,3135,3136,3137,3138,3140,3141,3142,3143,3146,3147,3148,3149,3150,3151,3152,3153,3154,3155,3156,3157,3158,3159,3160,3161,3162,3163,3164,3165,3166,3169,3170,3171,3172,3174,3175,3176,3177,3178,3179,3180,3181,3182,3183,3184,3185,3186,3187,3188,3189,3190,3191,3192,3193,3194,3195,3196,3197,3198,3199,3200,3201,3202,3203,3204,3205,3206,3207,3208,3209,3210,3211,3212,3213,3214,3215,3216,3217,3218,3219,3220,3221,3222,3223,3224,3225,3226,3227,3228,3229,3230,3231,3232,3233,3234,3235,3236,3237,3238,3239,3240,3241,3242,3243,3244,3245,3246,3247,3248,3249,3250,3251,3252,3253,3254,3255,3256,3257,3258,3259,3260,3261,3262,3263,3264,3265,3266,3267,3268,3269,3270,3271,3272,3273,3274,3275,3276,3277,3278,3279,3280,3281,3282,3283,3284,3285,3286,3287,3288,3289,3290,3291,3292,3293,3294,3296,3297,3298,3299,3300,3301,3302,3303,3304,3305,3306,3307,3308,3309,3310,3311,3312,3313,3314,3315,3316,3317,3318,3319,3320,3321,3322,3323,3324,3325,3326,3327,3328,3329,3330,3331,3332,3333,3334,3335,3336,3337,3338,3339,3340,3341,3342,3343,3344,3345,3346,3347,3348,3349,3350,3351,3352,3353,3354,3355,3356,3357,3358,3359,3360,3361,3362,3363,3364,3365,3366,3367,3368,3369,3370,3371,3372,3373,3374,3377,3378,3379,3380,3381,3382,3383,3384,3385,3386,3387,3388,3389,3390,3391,3392,3393,3394,3395,3396,3397,3398,3399,3400,3401,3402,3403,3404,3405,3406,3407,3408,3409,3411,3412,3413,3414,3415,3416,3417,3418,3419,3420,3421,3422,3423,3424,3425,3426,3427,3428,3429,3430,3431,3432,3433,3434,3435,3436,3437,3438,3439,3440,3441,3442,3443,3444,3445,3446,3447,3448,3449,3450,3451,3452,3453,3454,3455,3456,3457,3458,3459,3460,3461,3462,3463,3464,3465,3466,3467,3469,3470,3471,3472,3473,3474,3475,3476,3477,3478,3479,3480,3481,3482,3483,3484,3485,3486,3487,3488,3489,3490,3491,3492,3493,3494,3495,3496,3497,3498,3499,3500,3501,3502,3503,3504,3505,3506,3507,3508,3509,3510,3511,3512,3513,3514,3515,3516,3517,3518,3519,3520,3521,3522,3523,3524,3525,3526,3527,3528,3529,3530,3531,3532,3533,3534,3535,3536,3537,3538,3539,3540,3541,3542,3543,3544,3545,3546,3547,3548,3549,3550,3551,3552,3553,3554,3555,3556,3557,3558,3559,3560,3561,3562,3563,3564,3565,3566,3567,3568,3569,3570,3571,3572,3573,3574,3575,3576,3577,3578,3579,3580,3581,3582,3583,3584,3585,3586,3587,3588,3589,3590,3592,3593,3594,3595,3596,3597,3598,3599,3600,3601,3602,3603,3604,3605,3606,3607,3608,3609,3610,3611,3612,3613,3614,3615,3616,3617,3618,3619,3620,3621,3622,3623,3624,3625,3626,3627,3628,3629,3630,3631,3632,3633,3634,3635,3636,3637,3638,3639,3640,3641,3642,3643,3644,3645,3646,3647,3648,3649,3650,3651,3652,3653,3654,3655,3656,3657,3658,3659,3660,3661,3662,3663,3664,3665,3666,3667,3668,3669,3670,3671,3672,3673,3674,3675,3676,3677,3678,3679,3680,3681,3682,3683,3684,3685,3686,3687,3688,3689,3690,3691,3692,3693,3694,3695,3696,3697,3698,3699,3700,3701,3702,3703,3704,3705,3706,3707,3708,3709,3710,3711,3712,3713,3714,3715,3716,3717,3718,3719,3720,3721,3722,3723,3724,3725,3726,3727,3728,3729,3730,3731,3732,3733,3734,3735,3736,3737,3738,3739,3740,3741,3742,3743,3744,3745,3746,3747,3748,3749,3750,3751,3752,3753,3754,3755,3756,3757,3758,3759,3760,3761,3762,3763,3764,3765,3766,3767,3768,3769,3770,3771,3772,3773,3774,3775,3776,3777,3778,3779,3780,3781,3782,3783,3784,3785,3786,3787,3788,3789,3790,3791,3793,3794,3795,3796,3797,3798,3799,3800,3801,3802,3812,3814,3815,3816,3825,3826,3827,3828,3829,3832,3833,3834,3835,3836,3837,3838,3839,3840,3841,3842,3843,3844,3845,3846,3847,3848,3849,3850,3851,3852,3854,3857,3890,3891,3892,3893,3907,3908,3909,3910,3911,3912,3920,3942,3943,3944,3945,3946,3947,3948,3949,3950,3968,3969,3970,3976,3978,3979,3985,3986,3987,3988,3989,3991,3992,3994,3995,3996,3997,4026,4037,4038,4048,4049,4050,4051,4056,4057,4058,4059,4060,4061,4062,4063,4071,4082,4083,4093,4094,4095,4096,4414,4415,4417,4434,4437,4455,4456,4457,4462,4467,4471,4474,4484,4485,4486,4487,4488,4489,4491,4492,4493,4494,4495,4496,4497,4498,4499,4500,4501,4502,4503,4504,4505,4506,4507,4508,4509,4510,4511,4512,4513,4514,4515,4516,4517,4518,4519,4520,4521,4522,4523,4524,4525,4526,4527,4528,4529,4530,4531,4532,4533,4534,4535,4536,4537,4538,4539,4540,4541,4542,4543,4544,4545,4546,4547,4548,4549,4550,4551,4552,4553,4554,4559,4568,4569,4570,4571,4572,4573,4574,4575,4576,4577,4578,4579,4580,4581,4582,4583,4584,4585,4586,4587,4588,4589,4647,4652,4653,4654,4655,4656,4766,4767,4768,4769,4770,4771,4772,4773,4774,4775,4776,4777,4778,4779,4780,4781,4782,4783,4784,4785,4786,4787,4788,4789,4790,4791,4792,4793,4794,4795,4796,4797,4798,4799,4800,4812,4822,4826,20004,20005,20006,20007,20008,20009,20010,20011,20012,20013,20014,20015,20016,20017,20018,20019,20020,20021,20022,20023,20024,20025,20026,20027,20028,20029,20030,20031,20032,20064,20065,20066,20067,20068,20069,20070,20071,20072,20073,20074,20075,20076,20077,20078,20079,20080,20081,20082,20083,20084,20085,20086,20087,20088,20089,20090,20091,20092,20135,20136,20137,20138,20248,20249,20250,20251,20252,20253,20254,20255,20256,20257,20258,20348,20349,20350,20351,20352,20353,20354,20355,20356,20357,20358,20436,20437,20438,20439,20440,20499,20538,20539,20822,20823,20824,20934,20935,20936,21035,21036,21037,21095,21096,21097,21148,21149,21150,21291,21292,21413,21414,21415,21416,21417,21418,21419,21420,21421,21422,21423,21453,21454,21455,21456,21457,21458,21459,21460,21461,21462,21463,21473,21474,21475,21476,21477,21478,21479,21480,21481,21482,21483,21781,21782,21817,21818,21891,21892,21893,21894,21896,21897,21898,21899,22032,22033,22091,22092,22171,22172,22173,22174,22175,22176,22177,22181,22182,22183,22184,22185,22186,22187,22191,22192,22193,22194,22195,22196,22197,22234,22235,22236,22332,22391,22392,22521,22522,22523,22524,22525,22700,22770,22780,22832,22991,22992,22993,22994,23028,23029,23030,23031,23032,23033,23034,23035,23036,23037,23038,23090,23095,23239,23240,23433,23700,23830,23831,23832,23833,23834,23835,23836,23837,23838,23839,23840,23841,23842,23843,23844,23845,23846,23847,23848,23849,23850,23851,23852,23853,23866,23867,23868,23869,23870,23871,23872,23877,23878,23879,23880,23881,23882,23883,23884,23886,23887,23888,23889,23890,23891,23892,23893,23894,23946,23947,23948,24047,24048,24100,24200,24305,24306,24311,24312,24313,24342,24343,24344,24345,24346,24347,24370,24371,24372,24373,24374,24375,24376,24377,24378,24379,24380,24381,24382,24383,24500,24547,24548,24600,24718,24719,24720,24817,24818,24819,24820,24821,24877,24878,24879,24880,24881,24882,24891,24892,24893,25000,25231,25391,25392,25393,25394,25395,25828,25829,25830,25831,25832,25833,25834,25835,25836,25837,25838,25884,25932,26191,26192,26193,26194,26195,26237,26331,26332,26391,26392,26393,26432,26632,26692,26701,26702,26703,26704,26705,26706,26707,26708,26709,26710,26711,26712,26713,26714,26715,26716,26717,26718,26719,26720,26721,26722,26729,26730,26732,26733,26734,26735,26736,26737,26738,26739,26740,26741,26742,26743,26744,26745,26746,26747,26748,26749,26750,26751,26752,26753,26754,26755,26756,26757,26758,26759,26760,26766,26767,26768,26769,26770,26771,26772,26773,26774,26775,26776,26777,26778,26779,26780,26781,26782,26783,26784,26785,26786,26787,26791,26792,26793,26794,26795,26796,26797,26798,26799,26801,26802,26803,26811,26812,26813,26814,26815,26819,26820,26821,26822,26823,26824,26825,26826,26830,26831,26832,26833,26834,26835,26836,26837,26841,26842,26843,26844,26845,26846,26847,26848,26849,26850,26851,26852,26853,26854,26855,26856,26857,26858,26859,26860,26861,26862,26863,26864,26865,26866,26867,26868,26869,26870,26891,26892,26893,26894,26895,26896,26897,26898,26899,26901,26902,26903,26904,26905,26906,26907,26908,26909,26910,26911,26912,26913,26914,26915,26916,26917,26918,26919,26920,26921,26922,26923,26929,26930,26932,26933,26934,26935,26936,26937,26938,26939,26940,26941,26942,26943,26944,26945,26946,26948,26949,26950,26951,26952,26953,26954,26955,26956,26957,26958,26959,26960,26961,26962,26963,26964,26965,26966,26967,26968,26969,26970,26971,26972,26973,26974,26975,26976,26977,26978,26979,26980,26981,26982,26983,26984,26985,26986,26987,26988,26989,26990,26991,26992,26993,26994,26995,26996,26997,26998,27037,27038,27039,27040,27120,27205,27206,27207,27208,27209,27210,27211,27212,27213,27214,27215,27216,27217,27218,27219,27220,27221,27222,27223,27224,27225,27226,27227,27228,27229,27230,27231,27232,27258,27259,27260,27291,27292,27429,27492,27493,27700,28191,28192,28193,28232,28348,28349,28350,28351,28352,28353,28354,28355,28356,28357,28358,28402,28403,28404,28405,28406,28407,28408,28409,28410,28411,28412,28413,28414,28415,28416,28417,28418,28419,28420,28421,28422,28423,28424,28425,28426,28427,28428,28429,28430,28431,28432,28462,28463,28464,28465,28466,28467,28468,28469,28470,28471,28472,28473,28474,28475,28476,28477,28478,28479,28480,28481,28482,28483,28484,28485,28486,28487,28488,28489,28490,28491,28492,28600,28991,28992,29100,29101,29118,29119,29120,29121,29122,29168,29169,29170,29171,29172,29177,29178,29179,29180,29181,29182,29183,29184,29185,29187,29188,29189,29190,29191,29192,29193,29194,29195,29220,29221,29333,29635,29636,29738,29739,29849,29850,29900,29901,29902,29903,30161,30162,30163,30164,30165,30166,30167,30168,30169,30170,30171,30172,30173,30174,30175,30176,30177,30178,30179,30200,30339,30340,30491,30492,30493,30494,30729,30730,30731,30732,30791,30792,30800,31028,31121,31154,31170,31171,31254,31255,31256,31257,31258,31259,31265,31266,31267,31268,31275,31276,31277,31278,31279,31284,31285,31286,31287,31294,31295,31296,31297,31300,31370,31461,31462,31463,31464,31465,31466,31467,31468,31469,31528,31529,31600,31700,31838,31839,31900,31901,31965,31966,31967,31968,31969,31970,31971,31972,31973,31974,31975,31976,31977,31978,31979,31980,31981,31982,31983,31984,31985,31986,31987,31988,31989,31990,31991,31992,31993,31994,31995,31996,31997,31998,31999,32000,32001,32002,32003,32005,32006,32007,32008,32009,32010,32011,32012,32013,32014,32015,32016,32017,32018,32019,32020,32021,32022,32023,32024,32025,32026,32027,32028,32029,32030,32031,32033,32034,32035,32036,32037,32038,32039,32040,32041,32042,32043,32044,32045,32046,32047,32048,32049,32050,32051,32052,32053,32054,32055,32056,32057,32058,32061,32062,32064,32065,32066,32067,32074,32075,32076,32077,32081,32082,32083,32084,32085,32086,32098,32099,32100,32104,32107,32108,32109,32110,32111,32112,32113,32114,32115,32116,32117,32118,32119,32120,32121,32122,32123,32124,32125,32126,32127,32128,32129,32130,32133,32134,32135,32136,32137,32138,32139,32140,32141,32142,32143,32144,32145,32146,32147,32148,32149,32150,32151,32152,32153,32154,32155,32156,32157,32158,32161,32164,32165,32166,32167,32180,32181,32182,32183,32184,32185,32186,32187,32188,32189,32190,32191,32192,32193,32194,32195,32196,32197,32198,32199,32201,32202,32203,32204,32205,32206,32207,32208,32209,32210,32211,32212,32213,32214,32215,32216,32217,32218,32219,32220,32221,32222,32223,32224,32225,32226,32227,32228,32229,32230,32231,32232,32233,32234,32235,32236,32237,32238,32239,32240,32241,32242,32243,32244,32245,32246,32247,32248,32249,32250,32251,32252,32253,32254,32255,32256,32257,32258,32259,32260,32301,32302,32303,32304,32305,32306,32307,32308,32309,32310,32311,32312,32313,32314,32315,32316,32317,32318,32319,32320,32321,32322,32323,32324,32325,32326,32327,32328,32329,32330,32331,32332,32333,32334,32335,32336,32337,32338,32339,32340,32341,32342,32343,32344,32345,32346,32347,32348,32349,32350,32351,32352,32353,32354,32355,32356,32357,32358,32359,32360,32401,32402,32403,32404,32405,32406,32407,32408,32409,32410,32411,32412,32413,32414,32415,32416,32417,32418,32419,32420,32421,32422,32423,32424,32425,32426,32427,32428,32429,32430,32431,32432,32433,32434,32435,32436,32437,32438,32439,32440,32441,32442,32443,32444,32445,32446,32447,32448,32449,32450,32451,32452,32453,32454,32455,32456,32457,32458,32459,32460,32501,32502,32503,32504,32505,32506,32507,32508,32509,32510,32511,32512,32513,32514,32515,32516,32517,32518,32519,32520,32521,32522,32523,32524,32525,32526,32527,32528,32529,32530,32531,32532,32533,32534,32535,32536,32537,32538,32539,32540,32541,32542,32543,32544,32545,32546,32547,32548,32549,32550,32551,32552,32553,32554,32555,32556,32557,32558,32559,32560,32601,32602,32603,32604,32605,32606,32607,32608,32609,32610,32611,32612,32613,32614,32615,32616,32617,32618,32619,32620,32621,32622,32623,32624,32625,32626,32627,32628,32629,32630,32631,32632,32633,32634,32635,32636,32637,32638,32639,32640,32641,32642,32643,32644,32645,32646,32647,32648,32649,32650,32651,32652,32653,32654,32655,32656,32657,32658,32659,32660,32661,32662,32664,32665,32666,32667,32701,32702,32703,32704,32705,32706,32707,32708,32709,32710,32711,32712,32713,32714,32715,32716,32717,32718,32719,32720,32721,32722,32723,32724,32725,32726,32727,32728,32729,32730,32731,32732,32733,32734,32735,32736,32737,32738,32739,32740,32741,32742,32743,32744,32745,32746,32747,32748,32749,32750,32751,32752,32753,32754,32755,32756,32757,32758,32759,32760,32761,32766
+
Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.proj4j/src/main/java/org/gvsig/proj/proj4j/DefaultEllipsoid.java
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.proj4j/src/main/java/org/gvsig/proj/proj4j/DefaultEllipsoid.java	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.proj4j/src/main/java/org/gvsig/proj/proj4j/DefaultEllipsoid.java	(revision 1010)
@@ -0,0 +1,98 @@
+/* gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright © 2007-2012 gvSIG Association
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+package org.gvsig.proj.proj4j;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.gvsig.proj.Ellipsoid;
+
+/**
+ * {@link Ellipsoid} implementation based on the Proj4J library.
+ * 
+ * @author <a href="http://www.disid.com">DiSiD Technologies S.L.</a>
+ * @version $Rev$
+ * @since 0.1.0
+ */
+public class DefaultEllipsoid implements Ellipsoid {
+
+    private org.osgeo.proj4j.datum.Ellipsoid ellipsoid;
+
+    private static final String[] SHORT_NAMES = new String[] { "intl",
+        "bessel", "clrk66", "clrk80", "airy", "WGS60", "WGS66", "WGS72",
+        "WGS84", "krass", "evrst30", "new_intl", "GRS80", "australian",
+        "MERIT", "SGS85", "IAU76", "APL4.9", "NWL9D", "mod_airy", "andrae",
+        "aust_SA", "GRS67", "bess_nam", "CPM", "delmbr", "engelis", "evrst48",
+        "evrst56", "evrst69", "evrstSS", "fschr60", "fschr60m", "fschr68",
+        "helmert", "hough", "intl", "kaula", "lerch", "mprts", "plessis",
+        "SEasia", "walbeck", "NAD27", "NAD83", "sphere" };
+
+    private static final double[] FLATTENINGS = new double[] { 297.0,
+        299.1528128, 0.0, 293.4663, 0.0, 298.3, 298.25, 298.26, 298.257223563,
+        298.3, 300.8017, 0.0, 298.257222101, 298.25, 298.257, 298.257, 298.257,
+        298.25, 298.25, 0.0, 300.0, 298.25, 298.2471674270, 299.1528128,
+        334.29, 311.5, 298.2566, 300.8017, 300.8017, 300.8017, 300.8017, 298.3,
+        298.3, 298.3, 298.3, 297.0, 297.0, 298.24, 298.257, 191.0, 0.0, 0.0,
+        0.0, 293.4663, 298.257222101, 0.0 };
+
+    private static final Map ellipsoidFlattenings = new HashMap();
+
+    static {
+        for (int i = 0; i < SHORT_NAMES.length; i++) {
+            ellipsoidFlattenings
+                .put(SHORT_NAMES[i], new Double(FLATTENINGS[i]));
+        }
+    }
+
+    /**
+     * Creates a new ellipsoid based on a Proj4J one.
+     * 
+     * @param ellipsoid
+     *            the Proj4J ellipsoid
+     */
+    public DefaultEllipsoid(org.osgeo.proj4j.datum.Ellipsoid ellipsoid) {
+        this.ellipsoid = ellipsoid;
+    }
+
+    public String getShortName() {
+        return ellipsoid.getShortName();
+    }
+
+    public String getName() {
+        return ellipsoid.getName();
+    }
+
+    public double getSemiMajorAxis() {
+        return ellipsoid.getEquatorRadius();
+    }
+
+    public double getSemiMinorAxis() {
+        return ellipsoid.poleRadius;
+    }
+
+    public double getReciprocalFlattening() {
+        Double flattening = (Double) ellipsoidFlattenings.get(getShortName());
+        return flattening == null ? 0.0d : flattening.doubleValue();
+    }
+
+}
Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.proj4j/src/main/java/org/gvsig/proj/proj4j/Proj4jCoordinateReferenceSystemLibrary.java
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.proj4j/src/main/java/org/gvsig/proj/proj4j/Proj4jCoordinateReferenceSystemLibrary.java	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.proj4j/src/main/java/org/gvsig/proj/proj4j/Proj4jCoordinateReferenceSystemLibrary.java	(revision 1010)
@@ -0,0 +1,53 @@
+/**
+ * gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright (C) 2007-2012 gvSIG Association.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+package org.gvsig.proj.proj4j;
+
+import org.gvsig.proj.CoordinateReferenceSystemLibrary;
+import org.gvsig.proj.CoordinateReferenceSystemLocator;
+import org.gvsig.tools.library.AbstractLibrary;
+import org.gvsig.tools.library.LibraryException;
+
+/**
+ * Library to register the Proj4J based implementation of the org.gvsig.proj
+ * API.
+ * 
+ * @author gvSIG team
+ * @version $Id$
+ */
+public class Proj4jCoordinateReferenceSystemLibrary extends AbstractLibrary {
+
+    public void doRegistration() {
+        registerAsImplementationOf(CoordinateReferenceSystemLibrary.class);
+    }
+
+    protected void doInitialize() throws LibraryException {
+        CoordinateReferenceSystemLocator
+            .registerManager(DefaultCoordinateReferenceSystemManager.class);
+    }
+
+    protected void doPostInitialize() throws LibraryException {
+        // Do nothing
+    }
+
+}
Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.proj4j/src/main/java/org/gvsig/proj/proj4j/DefaultCoordinateReferenceSystemManager.java
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.proj4j/src/main/java/org/gvsig/proj/proj4j/DefaultCoordinateReferenceSystemManager.java	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.proj4j/src/main/java/org/gvsig/proj/proj4j/DefaultCoordinateReferenceSystemManager.java	(revision 1010)
@@ -0,0 +1,282 @@
+/* gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright © 2007-2012 gvSIG Association
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+package org.gvsig.proj.proj4j;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.OutputStream;
+import java.io.PrintStream;
+import java.io.StreamTokenizer;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.Properties;
+import java.util.Set;
+
+import org.osgeo.proj4j.CRSFactory;
+import org.osgeo.proj4j.io.Proj4FileReader;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import org.gvsig.proj.CoordinateReferenceSystem;
+import org.gvsig.proj.CoordinateReferenceSystemManager;
+import org.gvsig.proj.CoordinateReferenceSystemNotFoundException;
+import org.gvsig.tools.dynobject.DynObject;
+
+/**
+ * Proj4J based {@link CoordinateReferenceSystemManager} implementation.
+ * 
+ * @author gvSIG Team
+ */
+public class DefaultCoordinateReferenceSystemManager implements
+    CoordinateReferenceSystemManager {
+
+    private static final Logger LOG = LoggerFactory
+        .getLogger(DefaultCoordinateReferenceSystemManager.class);
+
+    private final Map authorityCodes;
+
+    private CRSFactory factory = new CRSFactory();
+
+    /**
+     * Default constructor.
+     */
+    public DefaultCoordinateReferenceSystemManager() {
+        authorityCodes = loadSupportedCRS();
+    }
+
+    public List getAuthorityNames() {
+        Set authCodeSet = authorityCodes.keySet();
+        Object[] codes = authCodeSet.toArray();
+        Arrays.sort(codes);
+        return Collections.unmodifiableList(Arrays.asList(codes));
+    }
+
+    public List getCodes(String authorityName) {
+        return (List) authorityCodes.get(authorityName);
+    }
+
+    public void updateAllWorkingCodes() {
+
+    }
+
+    /**
+     * Shows the list of working codes for each authority in the console.
+     * 
+     * @throws IOException
+     *             if there is an error writing in the console output stream
+     */
+    public void showAllWorkingCodes() throws IOException {
+        storeAllWorkingCodes(System.out);
+    }
+
+    /**
+     * Stores the list of working codes for each authority in the
+     * {@link OutputStream} in properties format.
+     * 
+     * @param os
+     *            to show the list of working codes into.
+     * @throws IOException
+     *             if there is an error writing in the stream
+     */
+    public void storeAllWorkingCodes(OutputStream os) throws IOException {
+        String[] auths =
+            new String[] { "EPSG", "ESRI", "WORLD", "NAD83", "NAD27" };
+        Properties properties = new Properties();
+        for (int i = 0; i < auths.length; i++) {
+            List workingCodes = findWorkingCodes(auths[i]);
+            StringBuffer buffer = new StringBuffer();
+            for (int j = 0; workingCodes != null && j < workingCodes.size(); j++) {
+                buffer.append(workingCodes.get(j));
+                if (j < workingCodes.size() - 1) {
+                    buffer.append(",");
+                }
+            }
+            properties.setProperty(auths[i], buffer.toString());
+        }
+        properties.store(new PrintStream(os), "Created by calling "
+            + "DefaultCoordinateReferenceSystemManager.storeAllWorkingCodes()");
+    }
+
+    /**
+     * Looks for the list of codes currently working for an authority,
+     * as the pro4j library CRS definition files usually provides more
+     * than really supports.
+     * 
+     * @param authority
+     *            to find the working codes from
+     * @return the list of codes of the authority which might be used to get a
+     *         CRS
+     */
+    public List findWorkingCodes(String authority) {
+        List codes;
+
+        String filename = "/nad/" + authority.toLowerCase();
+        InputStream inStr = Proj4FileReader.class.getResourceAsStream(filename);
+        if (inStr == null) {
+            throw new IllegalStateException("Unable to access CRS file: "
+                + filename);
+        }
+        BufferedReader reader =
+            new BufferedReader(new InputStreamReader(inStr));
+        try {
+            codes = readAuthorityCodes(reader);
+        } catch (IOException e) {
+            throw new RuntimeException("Error reading the codes of authority: "
+                + authority, e);
+        } finally {
+            try {
+                reader.close();
+            } catch (IOException e) {
+                LOG.warn("Error closing BufferedReader on file " + filename, e);
+            }
+        }
+
+        // Check if a projection might be really created with a given code
+        // and remove from the list otherwise
+        for (Iterator iterator = codes.iterator(); iterator.hasNext();) {
+            String code = (String) iterator.next();
+            try {
+                factory.createFromName(getCRSName(authority, code));
+            } catch (Throwable e) {
+                iterator.remove();
+                LOG.debug("CRS with authority '" + authority + "' and code '"
+                    + code + "' could not be loaded, removing from the list "
+                    + "of codes of the authority", e);
+            }
+        }
+
+        return codes;
+    }
+
+    private StreamTokenizer createTokenizer(BufferedReader reader) {
+        StreamTokenizer t = new StreamTokenizer(reader);
+        t.commentChar('#');
+        t.ordinaryChars('0', '9');
+        t.ordinaryChars('.', '.');
+        t.ordinaryChars('-', '-');
+        t.ordinaryChars('+', '+');
+        t.wordChars('0', '9');
+        t.wordChars('\'', '\'');
+        t.wordChars('"', '"');
+        t.wordChars('_', '_');
+        t.wordChars('.', '.');
+        t.wordChars('-', '-');
+        t.wordChars('+', '+');
+        t.wordChars(',', ',');
+        t.wordChars('@', '@');
+        return t;
+    }
+
+    private List readAuthorityCodes(BufferedReader reader) throws IOException {
+        List codes = new ArrayList();
+        StreamTokenizer t = createTokenizer(reader);
+
+        t.nextToken();
+        while (t.ttype == '<') {
+            t.nextToken();
+            if (t.ttype != StreamTokenizer.TT_WORD) {
+                throw new IOException(t.lineno() + ": Word expected after '<'");
+            }
+            codes.add(t.sval);
+            t.nextToken();
+            if (t.ttype != '>')
+                throw new IOException(t.lineno() + ": '>' expected");
+            t.nextToken();
+
+            while (t.ttype != '<') {
+                t.nextToken();
+            }
+            t.nextToken();
+            if (t.ttype != '>')
+                throw new IOException(t.lineno() + ": '<>' expected");
+            t.nextToken();
+        }
+        return codes;
+    }
+
+    public CoordinateReferenceSystem getCoordinateReferenceSystem(
+        String authority, String code)
+        throws CoordinateReferenceSystemNotFoundException {
+        int n = code.indexOf("(");
+        if( n>0 ) {
+            code = code.substring(0, n);
+        }
+        org.osgeo.proj4j.CoordinateReferenceSystem proj4jcrs =
+            factory.createFromName(getCRSName(authority, code));
+        return new DefaultCoordinateReferenceSystem(authority, code, proj4jcrs);
+    }
+
+    private String getCRSName(String authority, String code) {
+        String name = authority.concat(":").concat(code);
+        return name;
+    }
+
+    public DynObject createParameters() {
+        // Nothing to do, no parameters needed.
+        return null;
+    }
+
+    public void initialize(DynObject parameters) {
+        // Nothing to do
+    }
+
+    private Map loadSupportedCRS() {
+        Properties supported = new Properties();
+        InputStream is =
+            getClass().getResourceAsStream("supportedcrs.properties");
+        try {
+            if (is == null) {
+                throw new RuntimeException(
+                    "Supported crs property file not found in "
+                        + getClass().getResource("supportedcrs.properties"));
+            } else {
+                supported.load(is);
+            }
+        } catch (IOException e) {
+            throw new RuntimeException(
+                "Error loading the supported crs property file from "
+                    + getClass().getResource("supportedcrs.properties"), e);
+        }
+
+        Map authorityCodes = new HashMap(supported.size());
+        for (Iterator iterator = supported.entrySet().iterator(); iterator
+            .hasNext();) {
+            Entry entry = (Entry) iterator.next();
+            String authority = (String) entry.getKey();
+            String codesAsString = (String) entry.getValue();
+            List codes =
+                Collections.unmodifiableList(Arrays.asList(codesAsString
+                    .split(",")));
+            authorityCodes.put(authority, Collections.unmodifiableList(codes));
+        }
+        return authorityCodes;
+    }
+}
Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.proj4j/src/main/java/org/gvsig/proj/proj4j/package.html
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.proj4j/src/main/java/org/gvsig/proj/proj4j/package.html	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.proj4j/src/main/java/org/gvsig/proj/proj4j/package.html	(revision 1010)
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+
+    gvSIG. Desktop Geographic Information System.
+
+    Copyright (C) 2007-2012 gvSIG Association.
+
+    This program is free software; you can redistribute it and/or
+    modify it under the terms of the GNU General Public License
+    as published by the Free Software Foundation; either version 2
+    of the License, or (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+    MA  02110-1301, USA.
+
+    For any additional information, do not hesitate to contact us
+    at info AT gvsig.com, or visit our website www.gvsig.com.
+
+-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<title>org.gvsig.proj package documentation</title>
+</head>
+<body>
+
+	<p>Projection library API implementation based on the 
+	<a href="http://sourceforge.net/projects/jmapprojlib/">Java Map Projection Library</a>.</p>
+
+</body>
+</html>
\ No newline at end of file
Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.proj4j/src/main/java/org/gvsig/proj/proj4j/DefaultDatum.java
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.proj4j/src/main/java/org/gvsig/proj/proj4j/DefaultDatum.java	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.proj4j/src/main/java/org/gvsig/proj/proj4j/DefaultDatum.java	(revision 1010)
@@ -0,0 +1,64 @@
+/* gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright © 2007-2012 gvSIG Association
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+package org.gvsig.proj.proj4j;
+
+import org.gvsig.proj.Datum;
+import org.gvsig.proj.Ellipsoid;
+
+
+/**
+ * {@link Datum} implementation based on the Proj4J library.
+ * 
+ * @author <a href="http://www.disid.com">DiSiD Technologies S.L.</a>
+ * @version $Rev$
+ * @since 0.1.0
+ */
+public class DefaultDatum implements Datum {
+
+    private org.osgeo.proj4j.datum.Datum datum;
+    private Ellipsoid ellipsoid;
+
+    /**
+     * Creates a new datum based on a Proj4J datum.
+     * 
+     * @param datum
+     *            the Proj4J Datum.
+     */
+    public DefaultDatum(org.osgeo.proj4j.datum.Datum datum) {
+        this.datum = datum;
+        this.ellipsoid = new DefaultEllipsoid(datum.getEllipsoid());
+    }
+
+    public String getShortName() {
+        return datum.getCode();
+    }
+
+    public String getName() {
+        return datum.getName();
+    }
+
+    public Ellipsoid getEllipsoid() {
+        return ellipsoid;
+    }
+
+}
Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.proj4j/src/main/java/org/gvsig/proj/proj4j/DefaultCoordinateReferenceSystem.java
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.proj4j/src/main/java/org/gvsig/proj/proj4j/DefaultCoordinateReferenceSystem.java	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.proj4j/src/main/java/org/gvsig/proj/proj4j/DefaultCoordinateReferenceSystem.java	(revision 1010)
@@ -0,0 +1,117 @@
+/* gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright © 2007-2012 gvSIG Association
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+package org.gvsig.proj.proj4j;
+
+import org.osgeo.proj4j.proj.LongLatProjection;
+
+import org.gvsig.proj.CoordinateReferenceSystem;
+import org.gvsig.proj.CoordinateTransformation;
+import org.gvsig.proj.Datum;
+
+/**
+ * Proj4J based {@link CoordinateReferenceSystem} implementation.
+ * 
+ * @author gvSIG Team
+ */
+public class DefaultCoordinateReferenceSystem implements
+    CoordinateReferenceSystem {
+
+    private final org.osgeo.proj4j.CoordinateReferenceSystem crs;
+    private final String authorityName;
+    private final String code;
+    private final Datum datum;
+
+    /**
+     * Constructor
+     */
+    public DefaultCoordinateReferenceSystem(String authorityName, String code,
+        org.osgeo.proj4j.CoordinateReferenceSystem crs) {
+        this.authorityName = authorityName;
+        this.code = code;
+        this.crs = crs;
+        this.datum = new DefaultDatum(crs.getDatum());
+    }
+
+    public String getAuthorityName() {
+        return authorityName;
+    }
+
+    public String getCode() {
+        return code;
+    }
+
+    public String getReference() {
+        return authorityName.concat(":").concat(code);
+    }
+
+    public String getDefinition() {
+        return crs.getParameterString();
+    }
+
+    public String getDescription() {
+        return crs.getProjection().getPROJ4Description();
+    }
+
+    public boolean isProjected() {
+        return !(crs.getProjection() instanceof LongLatProjection);
+    }
+
+    public Object clone() throws CloneNotSupportedException {
+        DefaultCoordinateReferenceSystem cloned =
+            (DefaultCoordinateReferenceSystem) super.clone();
+        return cloned;
+    }
+
+    /**
+     * @return the crs
+     */
+    public org.osgeo.proj4j.CoordinateReferenceSystem getCRS() {
+        return crs;
+    }
+
+    public org.osgeo.proj4j.CoordinateReferenceSystem getGeographicCRS() {
+        return crs.createGeographic();
+    }
+
+    public CoordinateTransformation getTransformation(
+        CoordinateReferenceSystem target) {
+        return new DefaultCoordinateTransformation(this,
+            (DefaultCoordinateReferenceSystem) target);
+    }
+
+    public String toString() {
+        return getReference() + "(" + getDefinition() + ")";
+    }
+
+    public CoordinateReferenceSystem createGeographic() {
+        org.osgeo.proj4j.CoordinateReferenceSystem geographic =
+            crs.createGeographic();
+        return new DefaultCoordinateReferenceSystem(getAuthorityName(), "GEO-"
+            + geographic.getDatum().getCode(), geographic);
+    }
+
+    public Datum getDatum() {
+        return datum;
+    }
+
+}
Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.proj4j/src/main/java/org/gvsig/proj/proj4j/DefaultCoordinateTransformation.java
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.proj4j/src/main/java/org/gvsig/proj/proj4j/DefaultCoordinateTransformation.java	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.proj4j/src/main/java/org/gvsig/proj/proj4j/DefaultCoordinateTransformation.java	(revision 1010)
@@ -0,0 +1,88 @@
+/* gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright © 2007-2012 gvSIG Association
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+package org.gvsig.proj.proj4j;
+
+import org.osgeo.proj4j.CoordinateTransform;
+import org.osgeo.proj4j.CoordinateTransformFactory;
+import org.osgeo.proj4j.ProjCoordinate;
+
+import org.gvsig.proj.CoordinateReferenceSystem;
+import org.gvsig.proj.CoordinateTransformation;
+
+/**
+ * Proj4J based {@link CoordinateTransformation} implementation.
+ * 
+ * @author gvSIG Team
+ */
+public class DefaultCoordinateTransformation implements
+    CoordinateTransformation {
+
+    private final DefaultCoordinateReferenceSystem source;
+    private final DefaultCoordinateReferenceSystem target;
+    private final CoordinateTransform transform;
+
+    /**
+     * Creates a new {@link CoordinateTransformation} with the the source and
+     * target projections.
+     * 
+     * @param source
+     *            the projection to transform coordinates from
+     * @param target
+     *            the projection to transform coordinates to
+     */
+    public DefaultCoordinateTransformation(DefaultCoordinateReferenceSystem source,
+        DefaultCoordinateReferenceSystem target) {
+        this.source = source;
+        this.target = target;
+        CoordinateTransformFactory factory = new CoordinateTransformFactory();
+        this.transform =
+            factory.createTransform(source.getCRS(), target.getCRS());
+    }
+
+    public CoordinateReferenceSystem getSourceProjection() {
+        return source;
+    }
+
+    public CoordinateReferenceSystem getTargetProjection() {
+        return target;
+    }
+
+    public void convert(double[] pointxy) {
+        ProjCoordinate source = new ProjCoordinate(pointxy[0], pointxy[1]);
+        ProjCoordinate result = new ProjCoordinate();
+
+        transform.transform(source, result);
+
+        pointxy[0] = result.x;
+        pointxy[1] = result.y;
+    }
+
+    public CoordinateTransformation getReverse() {
+        return new DefaultCoordinateTransformation(target, source);
+    }
+
+    public Object clone() throws CloneNotSupportedException {
+        return super.clone();
+    }
+
+}
Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.proj4j/pom.xml
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.proj4j/pom.xml	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.proj4j/pom.xml	(revision 1010)
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <artifactId>org.gvsig.proj.lib.proj4j</artifactId>
+    <packaging>jar</packaging>
+    <name>${project.artifactId}</name>
+    <parent>
+        <groupId>org.gvsig</groupId>
+        <artifactId>org.gvsig.proj.lib</artifactId>
+        <version>1.0.8</version>
+    </parent>
+	
+    <dependencies>
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.tools.lib</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.tools.lib</artifactId>
+            <type>test-jar</type>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.proj.lib.api</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.proj.lib.api</artifactId>
+            <type>test-jar</type>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.osgeo</groupId>
+            <artifactId>proj4j</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <scope>test</scope>
+        </dependency>          
+    </dependencies>
+</project>

Property changes on: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.proj4j
___________________________________________________________________
Added: svn:ignore
   + .settings
target
.classpath
.project


Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/pom.xml
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/pom.xml	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/pom.xml	(revision 1010)
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+	<modelVersion>4.0.0</modelVersion>
+	<artifactId>org.gvsig.proj.lib</artifactId>
+	<packaging>pom</packaging>
+	<name>${project.artifactId}</name>
+	<parent>
+		<groupId>org.gvsig</groupId>
+		<artifactId>org.gvsig.proj</artifactId>
+		<version>1.0.8</version>
+	</parent>
+
+	<build>
+		<plugins>
+			<!-- Configure as a Java 1.7 compatible project -->
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-compiler-plugin</artifactId>
+				<configuration>
+					<source>1.7</source>
+					<target>1.7</target>
+				</configuration>
+			</plugin>
+			<plugin>
+				<groupId>org.codehaus.mojo</groupId>
+				<artifactId>animal-sniffer-maven-plugin</artifactId>
+				<executions>
+					<execution>
+						<id>check-java-api</id>
+						<phase>test</phase>
+						<goals>
+							<goal>check</goal>
+						</goals>
+						<configuration>
+							<signature>
+								<groupId>org.codehaus.mojo.signature</groupId>
+								<artifactId>java17</artifactId>
+								<version>1.0</version>
+							</signature>
+						</configuration>
+					</execution>
+				</executions>
+			</plugin>
+		</plugins>
+	</build>
+
+	<modules>
+		<module>org.gvsig.proj.lib.api</module>
+		<module>org.gvsig.proj.lib.proj4j</module>
+	</modules>
+</project>
Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.api/src/test/java/org/gvsig/proj/CoordinateReferenceSystemManagerIT.java
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.api/src/test/java/org/gvsig/proj/CoordinateReferenceSystemManagerIT.java	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.api/src/test/java/org/gvsig/proj/CoordinateReferenceSystemManagerIT.java	(revision 1010)
@@ -0,0 +1,109 @@
+/* gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright © 2007-2012 gvSIG Association
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+package org.gvsig.proj;
+
+import java.util.List;
+
+import org.gvsig.tools.junit.AbstractLibraryAutoInitTestCase;
+
+/**
+ * {@link CoordinateReferenceSystemManager} API acceptance tests.
+ * 
+ * @author gvSIG Team
+ */
+public abstract class CoordinateReferenceSystemManagerIT extends
+    AbstractLibraryAutoInitTestCase {
+
+    protected CoordinateReferenceSystemManager manager;
+
+    protected void doSetUp() throws Exception {
+        manager = createProjectionManager();
+    }
+
+    /**
+     * Creates a {@link CoordinateReferenceSystemManager} instance.
+     * 
+     * @return the {@link CoordinateReferenceSystemManager} instance
+     */
+    protected abstract CoordinateReferenceSystemManager createProjectionManager();
+
+    /**
+     * Returns the authority name to use to create the projections to test.
+     * 
+     * @return the authority name
+     */
+    protected abstract String getAuthorityName();
+
+    /**
+     * Returns the code to use to create the projections to test.
+     * 
+     * @return the code
+     */
+    protected abstract String getCode();
+
+    /**
+     * Test method for
+     * {@link org.gvsig.proj.CoordinateReferenceSystemManager#getAuthorityNames()}
+     * .
+     */
+    public void testGetAuthorityNames() {
+        List names = manager.getAuthorityNames();
+        assertNotNull(names);
+        assertTrue("Authority names list is empty", names.size() > 0);
+        for (int i = 0; i < names.size(); i++) {
+            if (!(names.get(i) instanceof String)) {
+                fail("At least one authority name is not a String");
+            }
+        }
+    }
+
+    /**
+     * Test method for
+     * {@link org.gvsig.proj.CoordinateReferenceSystemManager#getCodes(java.lang.String)}
+     * .
+     */
+    public void testGetCodes() {
+        List names = manager.getAuthorityNames();
+        for (int i = 0; i < names.size(); i++) {
+            List codes = manager.getCodes((String) names.get(i));
+            for (int j = 0; j < codes.size(); j++) {
+                if (!(codes.get(i) instanceof String)) {
+                    fail("At least one code of the authority " + names.get(i)
+                        + " is not a String");
+                }
+            }
+        }
+    }
+
+    /**
+     * Test method for
+     * {@link org.gvsig.proj.CoordinateReferenceSystemManager#getCoordinateReferenceSystem(java.lang.String, java.lang.String)}
+     */
+    public void testGetProjection() throws Exception {
+        CoordinateReferenceSystem projection =
+            manager.getCoordinateReferenceSystem(getAuthorityName(), getCode());
+        assertEquals(getAuthorityName(), projection.getAuthorityName());
+        assertEquals(getCode(), projection.getCode());
+    }
+
+}
Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.api/src/test/java/org/gvsig/proj/CoordinateReferenceSystemIT.java
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.api/src/test/java/org/gvsig/proj/CoordinateReferenceSystemIT.java	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.api/src/test/java/org/gvsig/proj/CoordinateReferenceSystemIT.java	(revision 1010)
@@ -0,0 +1,138 @@
+/* gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright © 2007-2012 gvSIG Association
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+package org.gvsig.proj;
+
+import org.gvsig.tools.junit.AbstractLibraryAutoInitTestCase;
+
+/**
+ * {@link CoordinateReferenceSystem} API acceptance tests.
+ * 
+ * @author gvSIG Team
+ */
+public abstract class CoordinateReferenceSystemIT extends
+    AbstractLibraryAutoInitTestCase {
+
+    protected CoordinateReferenceSystem projection;
+
+    protected void doSetUp() throws Exception {
+        projection = createProjection(getAuthorityName(), getCode());
+    }
+
+    /**
+     * Creates a new {@link CoordinateReferenceSystem}.
+     * 
+     * @param authorityName
+     * @param code
+     * @return the created projection
+     * @throws CoordinateReferenceSystemNotFoundException
+     */
+    protected CoordinateReferenceSystem createProjection(String authorityName,
+        String code) throws CoordinateReferenceSystemNotFoundException,
+        Exception {
+        return CoordinateReferenceSystemLocator.getManager().getCoordinateReferenceSystem(
+            getAuthorityName(), getCode());
+    }
+
+    /**
+     * Returns the authority name to use to create the projections to test.
+     * 
+     * @return the authority name
+     */
+    protected abstract String getAuthorityName();
+
+    /**
+     * Returns the code to use to create the projections to test.
+     * 
+     * @return the code
+     */
+    protected abstract String getCode();
+
+    /**
+     * Returns as second code to use to create the projections to test
+     * transformation creation.
+     * 
+     * @return the code
+     */
+    protected abstract String getCode2();
+
+    /**
+     * Test method for
+     * {@link org.gvsig.proj.CoordinateReferenceSystem#getAuthorityName()}.
+     */
+    public void testGetAuthorityName() {
+        assertEquals(getAuthorityName(), projection.getAuthorityName());
+    }
+
+    /**
+     * Test method for
+     * {@link org.gvsig.proj.CoordinateReferenceSystem#getCode()}.
+     */
+    public void testGetCode() {
+        assertEquals(getCode(), projection.getCode());
+    }
+
+    /**
+     * Test method for
+     * {@link org.gvsig.proj.CoordinateReferenceSystem#getReference()}.
+     */
+    public void testGetReference() {
+        assertEquals(getAuthorityName() + ":" + getCode(),
+            projection.getReference());
+    }
+
+    /**
+     * Test method for
+     * {@link org.gvsig.proj.CoordinateReferenceSystem#getDefinition()}.
+     */
+    public void testGetDefinition() {
+        assertNotNull(projection.getDefinition());
+    }
+
+    /**
+     * Test method for
+     * {@link org.gvsig.proj.CoordinateReferenceSystem#getTransformation(org.gvsig.proj.CoordinateReferenceSystem)}
+     * .
+     */
+    public void testGetTransformation() throws Exception {
+        CoordinateReferenceSystem targetProjection =
+            createProjection(getAuthorityName(), getCode2());
+        CoordinateTransformation transformation =
+            projection.getTransformation(targetProjection);
+
+        if (transformation == null) {
+            fail("Transformation from source projection " + projection + " to "
+                + targetProjection + " is null");
+        }
+        assertEquals(projection, transformation.getSourceProjection());
+        assertEquals(targetProjection, transformation.getTargetProjection());
+    }
+
+    /**
+     * Test method for
+     * {@link org.gvsig.proj.CoordinateReferenceSystem#isProjected()}.
+     */
+    public void testIsProjected() {
+        assertTrue(projection.isProjected());
+    }
+
+}
Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.api/src/test/java/org/gvsig/proj/CoordinateTransformationIT.java
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.api/src/test/java/org/gvsig/proj/CoordinateTransformationIT.java	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.api/src/test/java/org/gvsig/proj/CoordinateTransformationIT.java	(revision 1010)
@@ -0,0 +1,78 @@
+/* gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright © 2007-2012 gvSIG Association
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+package org.gvsig.proj;
+
+import org.gvsig.tools.junit.AbstractLibraryAutoInitTestCase;
+
+/**
+ * {@link CoordinateTransformation} API acceptance tests.
+ * 
+ * @author gvSIG Team
+ */
+public abstract class CoordinateTransformationIT extends
+    AbstractLibraryAutoInitTestCase {
+
+    protected CoordinateReferenceSystem source;
+    protected CoordinateReferenceSystem target;
+    protected CoordinateTransformation transformation;
+
+    protected void doSetUp() throws Exception {
+        source = createSourceProjection();
+        target = createTargetProjection();
+        transformation = source.getTransformation(target);
+    }
+
+    protected abstract CoordinateReferenceSystem createSourceProjection()
+        throws Exception;
+
+    protected abstract CoordinateReferenceSystem createTargetProjection()
+        throws Exception;
+
+    /**
+     * Test method for
+     * {@link org.gvsig.proj.CoordinateTransformation#getSourceProjection()}.
+     */
+    public void testGetSourceProjection() {
+        assertEquals(source, transformation.getSourceProjection());
+    }
+
+    /**
+     * Test method for
+     * {@link org.gvsig.proj.CoordinateTransformation#getTargetProjection()}.
+     */
+    public void testGetTargetProjection() {
+        assertEquals(target, transformation.getTargetProjection());
+    }
+
+    /**
+     * Test method for
+     * {@link org.gvsig.proj.CoordinateTransformation#getReverse()}.
+     */
+    public void testGetReverse() {
+        CoordinateTransformation reverseTransformation =
+            transformation.getReverse();
+        assertEquals(target, reverseTransformation.getSourceProjection());
+        assertEquals(source, reverseTransformation.getTargetProjection());
+    }
+
+}
Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.api/src/test/java/org/gvsig/proj/CoordinateReferenceSystemLocatorTest.java
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.api/src/test/java/org/gvsig/proj/CoordinateReferenceSystemLocatorTest.java	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.api/src/test/java/org/gvsig/proj/CoordinateReferenceSystemLocatorTest.java	(revision 1010)
@@ -0,0 +1,81 @@
+/* gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright © 2007-2012 gvSIG Association
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+package org.gvsig.proj;
+
+import java.util.List;
+
+import junit.framework.TestCase;
+
+import org.gvsig.tools.dynobject.DynObject;
+
+/**
+ * {@link CoordinateReferenceSystemLocator} unit tests.
+ * 
+ * @author gvSIG Team
+ */
+public class CoordinateReferenceSystemLocatorTest extends TestCase {
+
+    /**
+     * Test method for
+     * {@link org.gvsig.proj.CoordinateReferenceSystemLocator#registerManager(java.lang.Class)}
+     * .
+     */
+    public void testRegisterManager() {
+        CoordinateReferenceSystemLocator
+            .registerManager(DummyProjectionManager.class);
+        CoordinateReferenceSystemManager manager =
+            CoordinateReferenceSystemLocator.getManager();
+        assertTrue(manager instanceof DummyProjectionManager);
+    }
+
+    public static class DummyProjectionManager implements
+        CoordinateReferenceSystemManager {
+
+        public List getAuthorityNames() {
+            // Nothing to do
+            return null;
+        }
+
+        public List getCodes(String authorityName) {
+            // Nothing to do
+            return null;
+        }
+
+        public CoordinateReferenceSystem getCoordinateReferenceSystem(String authorityName,
+            String code) {
+            // Nothing to do
+            return null;
+        }
+
+        public DynObject createParameters() {
+            // Nothing to do
+            return null;
+        }
+
+        public void initialize(DynObject parameters) {
+            // Nothing to do
+        }
+
+    }
+
+}
Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.api/src/main/resources/META-INF/services/org.gvsig.tools.library.Library
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.api/src/main/resources/META-INF/services/org.gvsig.tools.library.Library	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.api/src/main/resources/META-INF/services/org.gvsig.tools.library.Library	(revision 1010)
@@ -0,0 +1,2 @@
+org.gvsig.proj.CoordinateReferenceSystemLibrary
+org.gvsig.proj.cts.ProjIProjectionLibrary
\ No newline at end of file
Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.api/src/main/java/org/gvsig/proj/CoordinateReferenceSystemManager.java
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.api/src/main/java/org/gvsig/proj/CoordinateReferenceSystemManager.java	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.api/src/main/java/org/gvsig/proj/CoordinateReferenceSystemManager.java	(revision 1010)
@@ -0,0 +1,105 @@
+/**
+ * gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright (C) 2007-2012 gvSIG Association.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+package org.gvsig.proj;
+
+import java.util.List;
+
+import org.gvsig.tools.dynobject.DynObject;
+
+/**
+ * This class is responsible of the management of the CoordinateReferenceSystem
+ * library's business logic.
+ * It is the library's main entry point, and provides all the services to manage
+ * {@link CoordinateReferenceSystem}s.
+ * 
+ * @author gvSIG team
+ * @version $Id$
+ */
+public interface CoordinateReferenceSystemManager {
+
+    /**
+     * Returns a List of String values with the available authority names.
+     * 
+     * @return the available authority names
+     */
+    List getAuthorityNames();
+
+    /**
+     * Returns a List of String values with the codes available for a given
+     * Authority,
+     * 
+     * @param authorityName
+     *            name of the authority to get the codes of
+     * @return the list of available codes
+     */
+    List getCodes(String authorityName);
+
+    /**
+     * Returns a Coordinate Reference System.
+     * 
+     * @param authorityName
+     *            name of the Authority who defines de Coordinate Reference
+     *            System
+     * @param code
+     *            the code used by the Authority to identify the Coordinate
+     *            Reference System
+     * @return the projection
+     * @throws CoordinateReferenceSystemNotFoundException
+     *             if there is not any Coordinate Reference System available in
+     *             the library with the given reference
+     */
+    CoordinateReferenceSystem getCoordinateReferenceSystem(
+        String authorityName, String code)
+        throws CoordinateReferenceSystemNotFoundException;
+
+    /**
+     * TODO: allow user defined projections
+     */
+    // CoordinateReferenceSystem getCoordinateReferenceSystem(String
+    // authorityName, String
+    // code,
+    // String definition, String description);
+
+    /*
+     * TODO: allow code or user registered CoordinateReferenceSystem. In current
+     * version
+     * available projections will be fixed.
+     */
+    // public void register(CoordinateReferenceSystem proj);
+
+    /**
+     * Creates the parameters needed to initialize the manager.
+     * 
+     * @return the initialization parameters
+     */
+    DynObject createParameters();
+
+    /**
+     * Initializes the manager with the given parameters.
+     * 
+     * @param parameters
+     *            to initialize the manager
+     */
+    void initialize(DynObject parameters);
+}
Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.api/src/main/java/org/gvsig/proj/CoordinateReferenceSystemNotFoundException.java
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.api/src/main/java/org/gvsig/proj/CoordinateReferenceSystemNotFoundException.java	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.api/src/main/java/org/gvsig/proj/CoordinateReferenceSystemNotFoundException.java	(revision 1010)
@@ -0,0 +1,69 @@
+/**
+ * gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright (C) 2007-2012 gvSIG Association.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+package org.gvsig.proj;
+
+/**
+ * Exception thrown when there is a {@link CoordinateReferenceSystem} is not
+ * found.
+ * 
+ * @author gvSIG team
+ * @version $Id$
+ */
+public class CoordinateReferenceSystemNotFoundException extends
+    CoordinateReferenceSystemException {
+
+    private static final long serialVersionUID = -4051458353306878010L;
+
+    private static final String MESSAGE =
+        "The projection with Authority: %(authority) "
+            + "and Code: %(code) is not available";
+
+    private static final String KEY = "_ProjectionNotFoundException";
+
+    /**
+     * Creates a new {@link CoordinateReferenceSystemNotFoundException}.
+     * 
+     * @param cause
+     *            the original cause
+     */
+    public CoordinateReferenceSystemNotFoundException(String authority,
+        String code) {
+        super(MESSAGE, KEY, serialVersionUID);
+        setValue("authority", authority);
+        setValue("code", code);
+    }
+
+    /**
+     * Creates a new {@link CoordinateReferenceSystemNotFoundException}.
+     * 
+     * @param cause
+     *            the original cause
+     */
+    public CoordinateReferenceSystemNotFoundException(String authority,
+        String code, Throwable cause) {
+        super(MESSAGE, cause, KEY, serialVersionUID);
+        setValue("authority", authority);
+        setValue("code", code);
+    }
+}
Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.api/src/main/java/org/gvsig/proj/cts/ProjIProjectionLibrary.java
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.api/src/main/java/org/gvsig/proj/cts/ProjIProjectionLibrary.java	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.api/src/main/java/org/gvsig/proj/cts/ProjIProjectionLibrary.java	(revision 1010)
@@ -0,0 +1,52 @@
+/**
+ * gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright (C) 2007-2012 gvSIG Association.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+package org.gvsig.proj.cts;
+
+import org.cresques.ProjectionLibrary;
+import org.gvsig.fmap.crs.CRSFactory;
+import org.gvsig.tools.library.AbstractLibrary;
+import org.gvsig.tools.library.LibraryException;
+
+/**
+ * Library to register as a org.gvsig.projection API implementation a facade
+ * over the org.gvsig.proj API.
+ * 
+ * @author gvSIG team
+ * @version $Id$
+ */
+public class ProjIProjectionLibrary extends AbstractLibrary {
+
+    public void doRegistration() {
+        registerAsImplementationOf(ProjectionLibrary.class, 5);
+    }
+
+    protected void doInitialize() throws LibraryException {
+        CRSFactory.registerCRSFactory( new DefaultICRSFactory());
+    }
+
+    protected void doPostInitialize() throws LibraryException {
+        // Do nothing
+    }
+
+}
Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.api/src/main/java/org/gvsig/proj/cts/DefaultIProjection.java
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.api/src/main/java/org/gvsig/proj/cts/DefaultIProjection.java	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.api/src/main/java/org/gvsig/proj/cts/DefaultIProjection.java	(revision 1010)
@@ -0,0 +1,223 @@
+/* gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright © 2007-2012 gvSIG Association
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+package org.gvsig.proj.cts;
+
+import java.awt.Color;
+import java.awt.Graphics2D;
+import java.awt.geom.Point2D;
+import java.awt.geom.Rectangle2D;
+
+import org.cresques.cts.ICoordTrans;
+import org.cresques.cts.IDatum;
+import org.cresques.cts.IProjection;
+import org.cresques.geo.ViewPortData;
+
+import org.gvsig.proj.CoordinateReferenceSystem;
+import org.gvsig.proj.CoordinateReferenceSystemLocator;
+import org.gvsig.proj.CoordinateReferenceSystemNotFoundException;
+import org.gvsig.proj.CoordinateTransformation;
+
+/**
+ * Java Map CoordinateReferenceSystem Library based implementation. It works as
+ * a facade over a {@link CoordinateReferenceSystem} object.
+ *
+ * @author gvSIG Team
+ */
+public class DefaultIProjection implements IProjection {
+
+    private CoordinateReferenceSystem crs;
+
+    /**
+     * Creates a {@link DefaultIProjection} with an authority name and CRS code.
+     *
+     * @param authorityName name of the authority which defined the CRS.
+     * @param code of the defined CRS represented by this object
+     * @throws CoordinateReferenceSystemNotFoundException if a CRS with the
+     * given authority name and code could not be found in the system
+     */
+    public DefaultIProjection(String authorityName, String code)
+            throws CoordinateReferenceSystemNotFoundException {
+        this(CoordinateReferenceSystemLocator.getManager()
+                .getCoordinateReferenceSystem(authorityName, code));
+    }
+
+    /**
+     *
+     * @param crs
+     */
+    public DefaultIProjection(CoordinateReferenceSystem crs) {
+        this.crs = crs;
+    }
+
+    @Override
+    public IDatum getDatum() {
+        return new IDatum() {
+
+            @Override
+            public double getEIFlattening() {
+                return getCoordinateReferenceSystem().getDatum().getEllipsoid()
+                        .getReciprocalFlattening();
+            }
+
+            @Override
+            public double getESemiMajorAxis() {
+                return getCoordinateReferenceSystem().getDatum().getEllipsoid()
+                        .getSemiMajorAxis();
+            }
+
+        };
+    }
+
+    @Override
+    public Point2D createPoint(double x, double y) {
+        return new Point2D.Double(x, y);
+    }
+
+    @Override
+    public String getAbrev() {
+        return getCoordinateReferenceSystem().getReference();
+    }
+
+    @Override
+    public String getFullCode() {
+        return getCoordinateReferenceSystem().getReference();
+    }
+
+    @Override
+    public void drawGrid(Graphics2D g, ViewPortData vp) {
+        throw new UnsupportedOperationException("Not implemented");
+    }
+
+    @Override
+    public void setGridColor(Color gridColor) {
+        throw new UnsupportedOperationException("Not implemented");
+    }
+
+    @Override
+    public Color getGridColor() {
+        throw new UnsupportedOperationException("Not implemented");
+    }
+
+    @Override
+    public ICoordTrans getCT(IProjection dest) {
+        return new DefaultICoordTrans(this, (DefaultIProjection) dest);
+    }
+
+    @Override
+    public Point2D toGeo(Point2D pt) {
+        CoordinateReferenceSystem geographic = crs.createGeographic();
+
+        CoordinateTransformation transfToGeo
+                = crs.getTransformation(geographic);
+
+        double[] coords = new double[]{pt.getX(), pt.getY()};
+        transfToGeo.convert(coords);
+        return new Point2D.Double(coords[0], coords[1]);
+    }
+
+    @Override
+    public Point2D fromGeo(Point2D gPt, Point2D mPt) {
+        CoordinateReferenceSystem geographic = crs.createGeographic();
+
+        CoordinateTransformation transfFromGeo
+                = geographic.getTransformation(crs);
+
+        double[] coords = new double[]{gPt.getX(), gPt.getY()};
+        transfFromGeo.convert(coords);
+        mPt.setLocation(coords[0], coords[1]);
+        return mPt;
+    }
+
+    @Override
+    public double getScale(double minX, double maxX, double width, double dpi) {
+        double scale = ((maxX - minX) * // metros
+                (dpi / 2.54 * 100.0))
+                / // px / metro
+                width; // pixels
+        return scale;
+    }
+
+    @Override
+    public Rectangle2D getExtent(Rectangle2D extent, double scale,
+            double wImage, double hImage, double mapUnits, double distanceUnits,
+            double dpi) {
+
+        // Code copied from the org.gvsig.crs.Crs class.
+        // I think this calculation might be moved outside the projection
+        // implementation classes, it seems to be common.
+        double w = ((wImage / dpi) * 2.54);
+        double h = ((hImage / dpi) * 2.54);
+        double wExtent = w * scale / mapUnits;
+        double hExtent = h * scale / mapUnits;
+
+        double xExtent = extent.getCenterX() - wExtent / 2;
+        double yExtent = extent.getCenterY() - hExtent / 2;
+        Rectangle2D rec
+                = new Rectangle2D.Double(xExtent, yExtent, wExtent, hExtent);
+        return rec;
+    }
+
+    @Override
+    public boolean isProjected() {
+        return getCoordinateReferenceSystem().isProjected();
+    }
+
+    @Override
+    public Object clone() throws CloneNotSupportedException {
+        DefaultIProjection cloned = (DefaultIProjection) super.clone();
+        cloned.crs
+                = (CoordinateReferenceSystem) this.getCoordinateReferenceSystem()
+                .clone();
+        return cloned;
+    }
+
+    public CoordinateReferenceSystem getCoordinateReferenceSystem() {
+        return crs;
+    }
+
+    @Override
+    public String toString() {
+        return crs.toString();
+    }
+
+    @Override
+    public String export(String format) {
+        return null;
+    }
+
+    @Override
+    public boolean equals(Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if (!(obj instanceof DefaultIProjection)) {
+            return false;
+        }
+        return this.getFullCode().equalsIgnoreCase(((DefaultIProjection) obj).getFullCode());
+    }
+
+    @Override
+    public int hashCode() {
+        return this.getFullCode().hashCode();
+    }
+}
Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.api/src/main/java/org/gvsig/proj/cts/DefaultICoordTrans.java
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.api/src/main/java/org/gvsig/proj/cts/DefaultICoordTrans.java	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.api/src/main/java/org/gvsig/proj/cts/DefaultICoordTrans.java	(revision 1010)
@@ -0,0 +1,101 @@
+/* gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright © 2007-2012 gvSIG Association
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+package org.gvsig.proj.cts;
+
+import java.awt.geom.Point2D;
+import java.awt.geom.Rectangle2D;
+
+import org.cresques.cts.ICoordTrans;
+import org.cresques.cts.IProjection;
+
+import org.gvsig.proj.CoordinateTransformation;
+
+/**
+ * Java Map CoordinateReferenceSystem Library based implementation. It works
+ * as a facade over a {@link CoordinateTransformation} object.
+ * 
+ * @author gvSIG Team
+ */
+public class DefaultICoordTrans implements ICoordTrans {
+
+    private final DefaultIProjection sourceIProjection;
+
+    private final DefaultIProjection targetIProjection;
+
+    private final CoordinateTransformation transformation;
+
+    /**
+     * Creates a {@link DefaultICoordTrans} with the given source projection
+     * and the projection to convert to.
+     * 
+     * @param source
+     *            projection of the source data
+     * @param target
+     *            projection to convert data to
+     */
+    public DefaultICoordTrans(DefaultIProjection source,
+        DefaultIProjection target) {
+        transformation =
+            source.getCoordinateReferenceSystem().getTransformation(
+                target.getCoordinateReferenceSystem());
+        this.sourceIProjection = source;
+        this.targetIProjection = target;
+    }
+
+    public IProjection getPOrig() {
+        return sourceIProjection;
+    }
+
+    public IProjection getPDest() {
+        return targetIProjection;
+    }
+
+    public Point2D convert(Point2D ptOrig, Point2D ptDest) {
+        double[] coords = new double[] { ptOrig.getX(), ptOrig.getY() };
+        transformation.convert(coords);
+        if (ptDest == null) {
+            ptDest = new Point2D.Double();
+        }
+        ptDest.setLocation(coords[0], coords[1]);
+        return ptDest;
+    }
+
+    public Rectangle2D convert(Rectangle2D rect) {
+        double[] coords1 = new double[] { rect.getMinX(), rect.getMinY() };
+        double[] coords2 = new double[] { rect.getMaxX(), rect.getMaxY() };
+
+        transformation.convert(coords1);
+        transformation.convert(coords2);
+
+        Rectangle2D converted = new Rectangle2D.Double();
+        converted.setFrameFromDiagonal(coords1[0], coords1[1], coords2[0],
+            coords2[1]);
+
+        return converted;
+    }
+
+    public ICoordTrans getInverted() {
+        return new DefaultICoordTrans(targetIProjection, sourceIProjection);
+    }
+
+}
Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.api/src/main/java/org/gvsig/proj/cts/DefaultICRSFactory.java
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.api/src/main/java/org/gvsig/proj/cts/DefaultICRSFactory.java	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.api/src/main/java/org/gvsig/proj/cts/DefaultICRSFactory.java	(revision 1010)
@@ -0,0 +1,61 @@
+/* gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright © 2007-2012 gvSIG Association
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+package org.gvsig.proj.cts;
+
+import org.cresques.cts.ICRSFactory;
+import org.cresques.cts.IProjection;
+
+import org.gvsig.proj.CoordinateReferenceSystem;
+import org.gvsig.proj.CoordinateReferenceSystemNotFoundException;
+
+/**
+ * Java Map CoordinateReferenceSystem Library based implementation. Factory
+ * of {@link IProjection} objects based on the usage of the
+ * {@link CoordinateReferenceSystem} API.
+ *
+ * @author gvSIG Team
+ */
+public class DefaultICRSFactory implements ICRSFactory {
+
+    public boolean doesRigurousTransformations() {
+        return false;
+    }
+
+    public IProjection get(String name) {
+        int pos = name.indexOf(':');
+        String authority = name.substring(0, pos);
+        String code = name.substring(pos + 1);
+        try {
+            return new DefaultIProjection(authority, code);
+        } catch (CoordinateReferenceSystemNotFoundException e) {
+            throw new RuntimeException("Not found projection with definition: "
+                + name, e);
+        }
+    }
+
+    public IProjection get(String format, String value) {
+        // Not supported yet. Do nothing and return null
+        return null;
+    }
+
+}
Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.api/src/main/java/org/gvsig/proj/CoordinateReferenceSystemException.java
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.api/src/main/java/org/gvsig/proj/CoordinateReferenceSystemException.java	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.api/src/main/java/org/gvsig/proj/CoordinateReferenceSystemException.java	(revision 1010)
@@ -0,0 +1,99 @@
+/**
+ * gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright (C) 2007-2012 gvSIG Association.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+package org.gvsig.proj;
+
+import org.gvsig.tools.exception.BaseException;
+
+/**
+ * Generic exception thrown in the CoordinateReferenceSystem API when the
+ * exception or error
+ * may be dealt by the program or the user of the program which is a client of
+ * the CoordinateReferenceSystem API.
+ * 
+ * @see {@link CoordinateReferenceSystemManager}
+ * @author gvSIG team.
+ * @version $Id$
+ */
+public class CoordinateReferenceSystemException extends BaseException {
+
+    private static final long serialVersionUID = 6756475060924237176L;
+
+    private static final String MESSAGE =
+        "An error has been produced in the CoordinateReferenceSystem library";
+
+    private static final String KEY = "_ProjectionException";
+
+    /**
+     * Constructor to be used in rare cases, usually you must create a new child
+     * exception class for each case.
+     * <strong>Don't use this constructor in child classes.</strong>
+     */
+    public CoordinateReferenceSystemException() {
+        super(MESSAGE, KEY, serialVersionUID);
+    }
+
+    /**
+     * Constructor to be used in rare cases, usually you must create a new child
+     * exception class for each case.
+     * <p>
+     * <strong>Don't use this constructor in child classes.</strong>
+     * </p>
+     * 
+     * @param cause
+     *            the original cause of the exception
+     */
+    public CoordinateReferenceSystemException(Exception cause) {
+        super(MESSAGE, cause, KEY, serialVersionUID);
+    }
+
+    /**
+     * @see BaseException#BaseException(String, String, long).
+     * @param message
+     *            the default messageFormat to describe the exception
+     * @param key
+     *            the key to use to search a localized messageFormnata
+     * @param code
+     *            the unique code to identify the exception
+     */
+    protected CoordinateReferenceSystemException(String message, String key,
+        long code) {
+        super(message, key, code);
+    }
+
+    /**
+     * @see BaseException#BaseException(String, Throwable, String, long).
+     * @param message
+     *            the default messageFormat to describe the exception
+     * @param cause
+     *            the original cause of the exception
+     * @param key
+     *            the key to use to search a localized messageFormnata
+     * @param code
+     *            the unique code to identify the exception
+     */
+    protected CoordinateReferenceSystemException(String message,
+        Throwable cause, String key, long code) {
+        super(message, cause, key, code);
+    }
+}
Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.api/src/main/java/org/gvsig/proj/Datum.java
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.api/src/main/java/org/gvsig/proj/Datum.java	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.api/src/main/java/org/gvsig/proj/Datum.java	(revision 1010)
@@ -0,0 +1,62 @@
+/* gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright © 2007-2012 gvSIG Association
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+package org.gvsig.proj;
+
+
+/**
+ * A geodetic datum (plural datums, not data) is a reference from which
+ * measurements are made. In surveying and geodesy, a datum is a set of
+ * reference points on the Earth's surface against which position measurements
+ * are made and (often) an associated model of the shape of the Earth (reference
+ * ellipsoid) to define a geographic coordinate system.
+ * 
+ * @see http://en.wikipedia.org/wiki/Datum_%28geodesy%29
+ * @see http://en.wikipedia.org/wiki/Geodetic_system
+ * 
+ * @author <a href="http://www.disid.com">DiSiD Technologies S.L.</a>
+ * @version $Rev$
+ * @since 0.1.0
+ */
+public interface Datum {
+
+    /**
+     * Returns the Datum short name, like the one used in ProJ4 definitions.
+     * 
+     * @return the short name.
+     */
+    public String getShortName();
+
+    /**
+     * Returns the Datum name.
+     * 
+     * @return the Datum name
+     */
+    public String getName();
+
+    /**
+     * Returns the {@link Ellipsoid} used in this Datum.
+     * 
+     * @return the related {@link Ellipsoid}
+     */
+    public Ellipsoid getEllipsoid();
+}
Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.api/src/main/java/org/gvsig/proj/CoordinateReferenceSystem.java
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.api/src/main/java/org/gvsig/proj/CoordinateReferenceSystem.java	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.api/src/main/java/org/gvsig/proj/CoordinateReferenceSystem.java	(revision 1010)
@@ -0,0 +1,116 @@
+/* gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright © 2007-2012 gvSIG Association
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+package org.gvsig.proj;
+
+import org.gvsig.tools.lang.Cloneable;
+
+/**
+ * Representation of a map projection, a method of representing the surface of a
+ * sphere or other three-dimensional body on a plane.
+ * 
+ * @see http://en.wikipedia.org/wiki/Coordinate_reference_system
+ * @see http://en.wikipedia.org/wiki/Map_projection
+ * @author gvSIG Team
+ */
+public interface CoordinateReferenceSystem extends Cloneable {
+
+    /**
+     * Returns the Authority name of the projection reference.
+     * 
+     * @return the Authority reference
+     */
+    String getAuthorityName();
+
+    /**
+     * Return the projection reference code as assigned by the related
+     * Authority.
+     * 
+     * @return the projection reference code
+     */
+    String getCode();
+
+    /**
+     * Return the projection reference. Usually it will be the Authority name +
+     * code.
+     * 
+     * @return the projection reference value
+     */
+    String getReference();
+
+    /**
+     * Return the project definition.
+     * <p>
+     * This is a String value which fully defines the projection and possible
+     * related transformation. One example of it would be the command line
+     * parameters for the PROJ4 library to define the current projection.
+     * </p>
+     * 
+     * @return
+     */
+    String getDefinition();
+
+    /**
+     * Returns a description of the projection.
+     * 
+     * @return a description of the projection
+     */
+    String getDescription();
+
+    /**
+     * Returns a transformation to be used to convert coordinates in the
+     * current projection to the target one.
+     * 
+     * @param target
+     *            projection to convert coordinates to
+     * @return the transformation to apply to the coordinates
+     */
+    CoordinateTransformation getTransformation(CoordinateReferenceSystem target);
+
+    /**
+     * Returns if the CRS is projected.
+     * 
+     * @return if the CRS is projected
+     */
+    boolean isProjected();
+
+    /**
+     * Creates a geographic (unprojected) {@link CoordinateReferenceSystem}
+     * based on the {@link Datum} of this CRS.
+     * This is useful for defining {@link CoordinateTransform}s
+     * to and from geographic coordinate systems,
+     * where no datum transformation is required.
+     * The {@link Units} of the geographic CRS are set to {@link Units#DEGREES}.
+     * 
+     * @return a geographic CoordinateReferenceSystem based on the datum of this
+     *         CRS
+     */
+    public CoordinateReferenceSystem createGeographic();
+
+    /**
+     * Returns the Datum of this CRS.
+     * 
+     * @return the Datum
+     */
+    public Datum getDatum();
+
+}
Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.api/src/main/java/org/gvsig/proj/CoordinateTransformation.java
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.api/src/main/java/org/gvsig/proj/CoordinateTransformation.java	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.api/src/main/java/org/gvsig/proj/CoordinateTransformation.java	(revision 1010)
@@ -0,0 +1,73 @@
+/* gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright © 2007-2012 gvSIG Association
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+package org.gvsig.proj;
+
+import org.gvsig.tools.lang.Cloneable;
+
+/**
+ * Representation of a transformation between map
+ * {@link CoordinateReferenceSystem}s.
+ * 
+ * @see http://en.wikipedia.org/wiki/Map_projection
+ * @see http://en.wikipedia.org/wiki/Coordinate_reference_system
+ * @author gvSIG Team
+ */
+public interface CoordinateTransformation extends Cloneable {
+
+    /**
+     * Returns the {@link CoordinateReferenceSystem} of the coordinates to be
+     * converted from.
+     * 
+     * @return the coordinates original {@link CoordinateReferenceSystem}
+     */
+    CoordinateReferenceSystem getSourceProjection();
+
+    /**
+     * Returns the {@link CoordinateReferenceSystem} of the coordinates to be
+     * converted to.
+     * 
+     * @return the coordinates target {@link CoordinateReferenceSystem}
+     */
+    CoordinateReferenceSystem getTargetProjection();
+
+    /**
+     * Converts coordinates from their source projection to the target one.
+     * 
+     * @param pointxy
+     *            x and y values of the coordinates to convert.
+     *            The converted values will be written over the same array given
+     *            as parameter
+     */
+    void convert(double[] pointxy);
+
+    /**
+     * Returns a {@link CoordinateTransformation} object which is able to
+     * convert coordinates, but performing the opposite conversion, using this
+     * transformation source projection as the target one, and using the
+     * target projection as the source one.
+     * 
+     * @return a {@link CoordinateTransformation} for the opposite conversion
+     */
+    CoordinateTransformation getReverse();
+
+}
Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.api/src/main/java/org/gvsig/proj/package.html
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.api/src/main/java/org/gvsig/proj/package.html	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.api/src/main/java/org/gvsig/proj/package.html	(revision 1010)
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+
+    gvSIG. Desktop Geographic Information System.
+
+    Copyright (C) 2007-2012 gvSIG Association.
+
+    This program is free software; you can redistribute it and/or
+    modify it under the terms of the GNU General Public License
+    as published by the Free Software Foundation; either version 2
+    of the License, or (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+    MA  02110-1301, USA.
+
+    For any additional information, do not hesitate to contact us
+    at info AT gvsig.com, or visit our website www.gvsig.com.
+
+-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<title>org.gvsig.proj package documentation</title>
+</head>
+<body>
+
+	<p>CoordinateReferenceSystem library API.</p>
+	
+	<p>
+	Management of Coordinate Reference Systems and transformation of coordinates.
+	</p>
+
+</body>
+</html>
\ No newline at end of file
Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.api/src/main/java/org/gvsig/proj/CoordinateReferenceSystemLocator.java
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.api/src/main/java/org/gvsig/proj/CoordinateReferenceSystemLocator.java	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.api/src/main/java/org/gvsig/proj/CoordinateReferenceSystemLocator.java	(revision 1010)
@@ -0,0 +1,105 @@
+/**
+ * gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright (C) 2007-2012 gvSIG Association.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+package org.gvsig.proj;
+
+import org.gvsig.tools.locator.BaseLocator;
+import org.gvsig.tools.locator.Locator;
+import org.gvsig.tools.locator.LocatorException;
+
+/**
+ * This locator is the entry point for the CoordinateReferenceSystem library,
+ * providing access to all CoordinateReferenceSystem services through the
+ * {@link CoordinateReferenceSystemManager} .
+ * 
+ * @author gvSIG team
+ * @version $Id$
+ */
+public class CoordinateReferenceSystemLocator extends BaseLocator {
+
+    /**
+     * CoordinateReferenceSystem manager name.
+     */
+    public static final String MANAGER_NAME =
+        "CoordinateReferenceSystem.manager";
+
+    /**
+     * CoordinateReferenceSystem manager description.
+     */
+    public static final String MANAGER_DESCRIPTION =
+        "CoordinateReferenceSystem Manager";
+
+    private static final String LOCATOR_NAME =
+        "CoordinateReferenceSystem.locator";
+
+    /**
+     * Unique instance.
+     */
+    private static final CoordinateReferenceSystemLocator INSTANCE =
+        new CoordinateReferenceSystemLocator();
+
+    /**
+     * Return the singleton instance.
+     * 
+     * @return the singleton instance
+     */
+    public static CoordinateReferenceSystemLocator getInstance() {
+        return INSTANCE;
+    }
+
+    /**
+     * Return the Locator's name.
+     * 
+     * @return a String with the Locator's name
+     */
+    public final String getLocatorName() {
+        return LOCATOR_NAME;
+    }
+
+    /**
+     * Return a reference to the CoordinateReferenceSystemManager.
+     * 
+     * @return a reference to the CoordinateReferenceSystemManager
+     * @throws LocatorException
+     *             if there is no access to the class or the class cannot be
+     *             instantiated
+     * @see Locator#get(String)
+     */
+    public static CoordinateReferenceSystemManager getManager()
+        throws LocatorException {
+        return (CoordinateReferenceSystemManager) getInstance().get(
+            MANAGER_NAME);
+    }
+
+    /**
+     * Registers the Class implementing the CoordinateReferenceSystemManager
+     * interface.
+     * 
+     * @param clazz
+     *            implementing the CoordinateReferenceSystemManager interface
+     */
+    public static void registerManager(Class clazz) {
+        getInstance().register(MANAGER_NAME, MANAGER_DESCRIPTION, clazz);
+    }
+
+}
Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.api/src/main/java/org/gvsig/proj/CoordinateReferenceSystemLibrary.java
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.api/src/main/java/org/gvsig/proj/CoordinateReferenceSystemLibrary.java	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.api/src/main/java/org/gvsig/proj/CoordinateReferenceSystemLibrary.java	(revision 1010)
@@ -0,0 +1,56 @@
+/**
+ * gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright (C) 2007-2012 gvSIG Association.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+package org.gvsig.proj;
+
+import org.gvsig.tools.library.AbstractLibrary;
+import org.gvsig.tools.library.LibraryException;
+import org.gvsig.tools.locator.ReferenceNotRegisteredException;
+
+/**
+ * Library for API initialization and configuration of the
+ * CoordinateReferenceSystem library.
+ * 
+ * @author gvSIG team
+ * @version $Id$
+ */
+public class CoordinateReferenceSystemLibrary extends AbstractLibrary {
+
+    public void doRegistration() {
+        registerAsAPI(CoordinateReferenceSystemLibrary.class);
+    }
+
+    protected void doInitialize() throws LibraryException {
+        // Do nothing
+    }
+
+    protected void doPostInitialize() throws LibraryException {
+        // Validate there is any implementation registered.
+        if( !CoordinateReferenceSystemLocator.getInstance().exists(CoordinateReferenceSystemLocator.MANAGER_NAME) ) {
+            throw new ReferenceNotRegisteredException(
+                CoordinateReferenceSystemLocator.MANAGER_NAME,
+                CoordinateReferenceSystemLocator.getInstance());
+        }
+    }
+
+}
Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.api/src/main/java/org/gvsig/proj/Ellipsoid.java
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.api/src/main/java/org/gvsig/proj/Ellipsoid.java	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.api/src/main/java/org/gvsig/proj/Ellipsoid.java	(revision 1010)
@@ -0,0 +1,76 @@
+/* gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright © 2007-2012 gvSIG Association
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+package org.gvsig.proj;
+
+
+/**
+ * In geodesy, a reference ellipsoid is a mathematically-defined surface that
+ * approximates the geoid, the truer figure of the Earth, or other planetary
+ * body. Because of their relative simplicity, reference ellipsoids are used as
+ * a preferred surface on which geodetic network computations are performed and
+ * point coordinates such as latitude, longitude, and elevation are defined.
+ * 
+ * @see http://en.wikipedia.org/wiki/Reference_ellipsoid
+ * 
+ * @author <a href="http://www.disid.com">DiSiD Technologies S.L.</a>
+ * @version $Rev$
+ * @since 0.1.0
+ */
+public interface Ellipsoid {
+
+    /**
+     * Returns the Ellipsoid short name, like the one used in ProJ4 definitions.
+     * 
+     * @return the Ellipsoid short name.
+     */
+    public String getShortName();
+
+    /**
+     * Return the name of the Ellipsoid.
+     * 
+     * @return the name of the Ellipsoid
+     */
+    public String getName();
+
+    /**
+     * Returns the the equatorial radius or semi-major axis value.
+     * 
+     * @return the equatorial radius or semi-major axis.
+     */
+    public double getSemiMajorAxis();
+
+    /**
+     * Returns the polar radius or semi-minor axis value.
+     * 
+     * @return the polar radius or semi-minor axis.
+     */
+    public double getSemiMinorAxis();
+
+    /**
+     * Returns the reciprocal flattening.
+     * 
+     * @return the reciprocal flattening.
+     */
+    public double getReciprocalFlattening();
+
+}
Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.api/pom.xml
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.api/pom.xml	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.api/pom.xml	(revision 1010)
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <artifactId>org.gvsig.proj.lib.api</artifactId>
+    <packaging>jar</packaging>
+    <name>${project.artifactId}</name>
+    <parent>
+        <groupId>org.gvsig</groupId>
+        <artifactId>org.gvsig.proj.lib</artifactId>
+        <version>1.0.8</version>
+    </parent>
+	
+    <dependencies>
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.tools.lib</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.tools.lib</artifactId>
+            <type>test-jar</type>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.projection.api</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <scope>test</scope>
+        </dependency>     
+    </dependencies>
+	
+    <build>
+        <plugins>
+        </plugins>
+    </build>
+	
+</project>
\ No newline at end of file

Property changes on: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib/org.gvsig.proj.lib.api
___________________________________________________________________
Added: svn:ignore
   + .settings
target
.classpath
.project



Property changes on: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.lib
___________________________________________________________________
Added: svn:ignore
   + .settings
target


Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/pom.xml
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/pom.xml	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/pom.xml	(revision 1010)
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+	<modelVersion>4.0.0</modelVersion>
+	<artifactId>org.gvsig.proj.swing</artifactId>
+	<packaging>pom</packaging>
+	<name>${project.artifactId}</name>
+	<parent>
+		<groupId>org.gvsig</groupId>
+		<artifactId>org.gvsig.proj</artifactId>
+		<version>1.0.8</version>
+	</parent>
+	<dependencies>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.proj.lib.api</artifactId>
+			<scope>compile</scope>
+		</dependency>
+	</dependencies>
+
+	<modules>
+		<module>org.gvsig.proj.swing.api</module>
+		<module>org.gvsig.proj.swing.impl</module>
+	</modules>
+</project>
+
Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.api/src/main/resources/META-INF/services/org.gvsig.tools.library.Library
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.api/src/main/resources/META-INF/services/org.gvsig.tools.library.Library	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.api/src/main/resources/META-INF/services/org.gvsig.tools.library.Library	(revision 1010)
@@ -0,0 +1 @@
+org.gvsig.proj.swing.CoordinateReferenceSystemSwingLibrary
\ No newline at end of file
Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.api/src/main/java/org/gvsig/proj/swing/CoordinateReferenceSystemSelectorComponent.java
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.api/src/main/java/org/gvsig/proj/swing/CoordinateReferenceSystemSelectorComponent.java	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.api/src/main/java/org/gvsig/proj/swing/CoordinateReferenceSystemSelectorComponent.java	(revision 1010)
@@ -0,0 +1,49 @@
+/* gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright © 2007-2012 gvSIG Association
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+package org.gvsig.proj.swing;
+
+import org.gvsig.proj.CoordinateReferenceSystem;
+import org.gvsig.tools.swing.api.Component;
+
+/**
+ * User interface component API to select a {@link CoordinateReferenceSystem}.
+ * 
+ * @author gvSIG Team
+ */
+public interface CoordinateReferenceSystemSelectorComponent extends Component {
+
+    /**
+     * Returns the selected {@link CoordinateReferenceSystem}.
+     * 
+     * @return the selected {@link CoordinateReferenceSystem}
+     */
+    CoordinateReferenceSystem getSelectedCoordinateReferenceSystem();
+
+    /**
+     * Sets the current {@link CoordinateReferenceSystem}.
+     * 
+     * @param crs
+     *            the current {@link CoordinateReferenceSystem}
+     */
+    void setCoordinateReferenceSystem(CoordinateReferenceSystem crs);
+}
Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.api/src/main/java/org/gvsig/proj/swing/CoordinateReferenceSystemSwingLocator.java
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.api/src/main/java/org/gvsig/proj/swing/CoordinateReferenceSystemSwingLocator.java	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.api/src/main/java/org/gvsig/proj/swing/CoordinateReferenceSystemSwingLocator.java	(revision 1010)
@@ -0,0 +1,103 @@
+/**
+ * gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright (C) 2007-2012 gvSIG Association.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+package org.gvsig.proj.swing;
+
+import org.gvsig.tools.locator.BaseLocator;
+
+/**
+ * This locator is the entry point for the CoordinateReferenceSystem swing
+ * library,
+ * providing access to all CoordinateReferenceSystem swing services through the
+ * {@link CoordinateReferenceSystemSwingManager} .
+ * 
+ * @author gvSIG team
+ * @version $Id$
+ */
+public class CoordinateReferenceSystemSwingLocator extends BaseLocator {
+
+    /**
+     * CoordinateReferenceSystem swing manager name.
+     */
+    public static final String SWING_MANAGER_NAME =
+        "CoordinateReferenceSystem.swing.manager";
+
+    /**
+     * CoordinateReferenceSystem swing manager description.
+     */
+    public static final String SWING_MANAGER_DESCRIPTION =
+        "CoordinateReferenceSystem UIManager";
+
+    private static final String LOCATOR_NAME =
+        "CoordinateReferenceSystem.swing.locator";
+
+    /**
+     * Unique instance.
+     */
+    private static final CoordinateReferenceSystemSwingLocator INSTANCE =
+        new CoordinateReferenceSystemSwingLocator();
+
+    /**
+     * Return the singleton instance.
+     * 
+     * @return the singleton instance
+     */
+    public static CoordinateReferenceSystemSwingLocator getInstance() {
+        return INSTANCE;
+    }
+
+    /**
+     * Return the Locator's name
+     * 
+     * @return a String with the Locator's name
+     */
+    public final String getLocatorName() {
+        return LOCATOR_NAME;
+    }
+
+    /**
+     * Registers the Class implementing the
+     * CoordinateReferenceSystemSwingManager interface.
+     * 
+     * @param clazz
+     *            implementing the CoordinateReferenceSystemSwingManager
+     *            interface
+     */
+    public static void registerSwingManager(
+        Class<? extends CoordinateReferenceSystemSwingManager> clazz) {
+        getInstance().register(SWING_MANAGER_NAME, SWING_MANAGER_DESCRIPTION,
+            clazz);
+    }
+
+    /**
+     * Gets the instance of the {@link CoordinateReferenceSystemSwingManager}
+     * registered.
+     * 
+     * @return {@link CoordinateReferenceSystemSwingManager}
+     */
+    public static CoordinateReferenceSystemSwingManager getSwingManager() {
+        return (CoordinateReferenceSystemSwingManager) getInstance().get(
+            SWING_MANAGER_NAME);
+    }
+
+}
Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.api/src/main/java/org/gvsig/proj/swing/CoordinateReferenceSystemSwingLibrary.java
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.api/src/main/java/org/gvsig/proj/swing/CoordinateReferenceSystemSwingLibrary.java	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.api/src/main/java/org/gvsig/proj/swing/CoordinateReferenceSystemSwingLibrary.java	(revision 1010)
@@ -0,0 +1,60 @@
+/**
+ * gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright (C) 2007-2012 gvSIG Association.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+package org.gvsig.proj.swing;
+
+import org.gvsig.proj.CoordinateReferenceSystemLibrary;
+import org.gvsig.tools.library.AbstractLibrary;
+import org.gvsig.tools.library.LibraryException;
+import org.gvsig.tools.locator.ReferenceNotRegisteredException;
+
+/**
+ * Initialization and configuration of the org.gvsig.proj.swing.api library.
+ * 
+ * @author gvSIG team
+ * @version $Id$
+ */
+public class CoordinateReferenceSystemSwingLibrary extends AbstractLibrary {
+
+    public void doRegistration() {
+        this.registerAsAPI(CoordinateReferenceSystemSwingLibrary.class);
+        this.require(CoordinateReferenceSystemLibrary.class);
+    }
+
+    @Override
+    protected void doInitialize() throws LibraryException {
+        // Do nothing
+    }
+
+    @Override
+    protected void doPostInitialize() throws LibraryException {
+        // Validate there is any implementation registered.
+    	
+        if( !CoordinateReferenceSystemSwingLocator.getInstance().exists(CoordinateReferenceSystemSwingLocator.SWING_MANAGER_NAME) ) {
+            throw new ReferenceNotRegisteredException(
+                CoordinateReferenceSystemSwingLocator.SWING_MANAGER_NAME,
+                CoordinateReferenceSystemSwingLocator.getInstance());
+        }
+    }
+
+}
Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.api/src/main/java/org/gvsig/proj/swing/CoordinateReferenceSystemSwingManager.java
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.api/src/main/java/org/gvsig/proj/swing/CoordinateReferenceSystemSwingManager.java	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.api/src/main/java/org/gvsig/proj/swing/CoordinateReferenceSystemSwingManager.java	(revision 1010)
@@ -0,0 +1,71 @@
+/**
+ * gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright (C) 2007-2012 gvSIG Association.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+package org.gvsig.proj.swing;
+
+import org.gvsig.proj.CoordinateReferenceSystemManager;
+import org.gvsig.tools.swing.api.windowmanager.WindowManager;
+
+/**
+ * This class is responsible of the management of the library's swing user
+ * interface. It is the swing library's main entry point, and provides all the
+ * services to manage library swing components.
+ * 
+ * @see JProjServicePanel
+ * @author gvSIG team
+ * @version $Id$
+ */
+public interface CoordinateReferenceSystemSwingManager {
+
+    /**
+     * Returns the component to select a CoordinateReferenceSystem.
+     * 
+     * @return a {@link CoordinateReferenceSystemSelectorComponent} to select a
+     *         CoordinateReferenceSystem
+     */
+    CoordinateReferenceSystemSelectorComponent createCoordinateReferenceSystemSelectionComponent();
+
+    /**
+     * Returns the {@link CoordinateReferenceSystemManager}.
+     * 
+     * @return {@link CoordinateReferenceSystemManager}
+     * @see {@link CoordinateReferenceSystemManager}
+     */
+    CoordinateReferenceSystemManager getManager();
+
+    /**
+     * Returns the translation of a string.
+     * 
+     * @param key
+     *            String to translate
+     * @return a String with the translation of the string passed by parameter
+     */
+    String getTranslation(String key);
+
+    /**
+     * Returns the {@link WindowManager}.
+     * 
+     * @return {@link WindowManager}
+     */
+    WindowManager getWindowManager();
+}
Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.api/src/main/java/org/gvsig/proj/swing/package.html
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.api/src/main/java/org/gvsig/proj/swing/package.html	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.api/src/main/java/org/gvsig/proj/swing/package.html	(revision 1010)
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+
+    gvSIG. Desktop Geographic Information System.
+
+    Copyright (C) 2007-2012 gvSIG Association.
+
+    This program is free software; you can redistribute it and/or
+    modify it under the terms of the GNU General Public License
+    as published by the Free Software Foundation; either version 2
+    of the License, or (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+    MA  02110-1301, USA.
+
+    For any additional information, do not hesitate to contact us
+    at info AT gvsig.com, or visit our website www.gvsig.com.
+
+-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<title>org.gvsig.proj.swing.api package documentation</title>
+</head>
+<body>
+
+	<p>CoordinateReferenceSystem swing library API.</p>
+	
+	<p>
+	It allows to get swing components to show or select 
+	CoordinateReferenceSystem, and to include them in windows.
+	</p>
+
+</body>
+</html>
\ No newline at end of file
Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.api/pom.xml
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.api/pom.xml	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.api/pom.xml	(revision 1010)
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<artifactId>org.gvsig.proj.swing.api</artifactId>
+	<packaging>jar</packaging>
+	<name>${project.artifactId}</name>
+	<parent>
+		<groupId>org.gvsig</groupId>
+		<artifactId>org.gvsig.proj.swing</artifactId>
+		<version>1.0.8</version>
+	</parent>
+
+	<dependencies>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.tools.lib</artifactId>
+			<scope>compile</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.tools.lib</artifactId>
+			<type>test-jar</type>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.tools.swing.api</artifactId>
+			<scope>compile</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.proj.lib.api</artifactId>
+			<scope>compile</scope>
+		</dependency>
+	</dependencies>
+
+	<build>
+		<plugins>
+		</plugins>
+	</build>
+
+</project>
\ No newline at end of file

Property changes on: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.api
___________________________________________________________________
Added: svn:ignore
   + .settings
target
.classpath
.project


Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/.project
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/.project	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/.project	(revision 1010)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.gvsig.proj.swing</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+	</natures>
+</projectDescription>
Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.impl/src/test/resources/README.txt
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.impl/src/test/resources/README.txt	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.impl/src/test/resources/README.txt	(revision 1010)
@@ -0,0 +1,32 @@
+====
+    gvSIG. Desktop Geographic Information System.
+
+    Copyright (C) 2007-2012 gvSIG Association.
+
+    This program is free software; you can redistribute it and/or
+    modify it under the terms of the GNU General Public License
+    as published by the Free Software Foundation; either version 2
+    of the License, or (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+    MA  02110-1301, USA.
+
+    For any additional information, do not hesitate to contact us
+    at info AT gvsig.com, or visit our website www.gvsig.com.
+====
+
+Put into this folder the resources needed by your test classes.
+
+This folder is added to the Tests classpath, so you can load any resources 
+through the ClassLoader.
+
+By default, in this folder you can find an example of log4j configuration,
+prepared to log messages through the console, so logging works when you
+run your tests classes.
\ No newline at end of file
Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.impl/src/test/resources/log4j.xml
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.impl/src/test/resources/log4j.xml	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.impl/src/test/resources/log4j.xml	(revision 1010)
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!--
+
+    gvSIG. Desktop Geographic Information System.
+
+    Copyright (C) 2007-2012 gvSIG Association.
+
+    This program is free software; you can redistribute it and/or
+    modify it under the terms of the GNU General Public License
+    as published by the Free Software Foundation; either version 2
+    of the License, or (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+    MA  02110-1301, USA.
+
+    For any additional information, do not hesitate to contact us
+    at info AT gvsig.com, or visit our website www.gvsig.com.
+
+-->
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<!-- 
+Log4J configuration file for unit tests execution.
+ -->
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
+
+	<!-- Appender configuration to show logging messages through the console -->
+	<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
+		<layout class="org.apache.log4j.PatternLayout">
+			<param name="ConversionPattern" value="%d{HH:mm:ss,SSS} %-5p [%c{2}.%M()]\n  %m%n" />
+		</layout>
+	</appender>
+
+	<!-- 
+	Activate logging messages of DEBUG level of higher only for the
+	org.gvsig.tools packages.
+	You can put full classes names or packages instead, to configure
+	logging for all the classes and subpackages of the package.
+	-->
+	<category name="org.gvsig.tools">
+		<priority value="DEBUG" />
+	</category>
+	<category name="org.gvsig.proj">
+		<priority value="DEBUG" />
+	</category>
+
+	<!-- 
+	By default, show only logging messages of INFO level or higher, 
+	through the previously configured CONSOLE appender. 
+	-->
+	<root>
+		<priority value="INFO" />
+		<appender-ref ref="CONSOLE" />
+	</root>
+</log4j:configuration>
\ No newline at end of file
Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.impl/src/main/java/org/gvsig/proj/swing/impl/DefaultCoordinateReferenceSystemSelectorComponent.java
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.impl/src/main/java/org/gvsig/proj/swing/impl/DefaultCoordinateReferenceSystemSelectorComponent.java	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.impl/src/main/java/org/gvsig/proj/swing/impl/DefaultCoordinateReferenceSystemSelectorComponent.java	(revision 1010)
@@ -0,0 +1,184 @@
+/**
+ * gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright (C) 2007-2012 gvSIG Association.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+package org.gvsig.proj.swing.impl;
+
+import java.awt.Dimension;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.KeyAdapter;
+import java.awt.event.KeyEvent;
+import javax.swing.JComponent;
+import javax.swing.event.ListDataEvent;
+import javax.swing.event.ListDataListener;
+import javax.swing.event.ListSelectionEvent;
+import javax.swing.event.ListSelectionListener;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import org.gvsig.proj.CoordinateReferenceSystem;
+import org.gvsig.proj.CoordinateReferenceSystemNotFoundException;
+import org.gvsig.proj.swing.CoordinateReferenceSystemSelectorComponent;
+import org.gvsig.proj.swing.CoordinateReferenceSystemSwingManager;
+
+/**
+ * Default implementation for the
+ * {@link CoordinateReferenceSystemSelectorComponent}.
+ * 
+ * @author gvSIG Team
+ * @version $Id$
+ */
+public class DefaultCoordinateReferenceSystemSelectorComponent extends DefaultCoordinateReferenceSystemSelectorComponentView
+    implements CoordinateReferenceSystemSelectorComponent {
+
+    private static final Logger LOG = LoggerFactory
+        .getLogger(DefaultCoordinateReferenceSystemSelectorComponent.class);
+
+    private static final long serialVersionUID = 2965442763236823977L;
+
+    private final CoordinateReferenceSystemSwingManager uimanager;
+
+    private CodeListModel codeModel;
+
+    private AuthorityComboBoxModel authorityModel;
+
+    public DefaultCoordinateReferenceSystemSelectorComponent(
+        final DefaultCoordinateReferenceSystemSwingManager uimanager) {
+
+        this.uimanager = uimanager;
+        this.initComponents();
+    }
+    
+    private void initComponents() {
+
+        this.lblAutority.setText(uimanager.getTranslation("authority") + ":");
+        this.lblCode.setText(uimanager.getTranslation("code") + ":");
+        this.lblDefinition.setText(uimanager.getTranslation("definition") + ":");
+        this.btnSearch.setText(uimanager.getTranslation("Search"));
+        
+        authorityModel = new AuthorityComboBoxModel(uimanager.getManager());
+        this.cboAuthority.setModel(authorityModel);
+        
+        codeModel = new CodeListModel(uimanager.getManager(), authorityModel);
+        this.lstCodes.setModel(codeModel);
+        codeModel.addListDataListener(new ListDataListener() {
+
+            @Override
+            public void intervalRemoved(ListDataEvent e) {
+                // Nothing to do
+            }
+
+            @Override
+            public void intervalAdded(ListDataEvent e) {
+                // Nothing to do
+            }
+
+            @Override
+            public void contentsChanged(ListDataEvent e) {
+                // A new code has been selected
+                txtDefinition.setText("");
+                CoordinateReferenceSystem crs =
+                    getSelectedCoordinateReferenceSystem();
+                if (crs != null) {
+                    txtDefinition.setText(crs.getDefinition());
+                }
+            }
+        });
+        
+        this.btnSearch.addActionListener(new ActionListener() {
+
+            @Override
+            public void actionPerformed(ActionEvent ae) {
+                codeModel.applyFilter(txtCode.getText());
+            }
+        });
+        this.txtCode.addKeyListener(new KeyAdapter() {
+
+            @Override
+            public void keyTyped(KeyEvent e) {
+                if( e.getKeyChar()=='\n') {
+                    codeModel.applyFilter(txtCode.getText());
+                } else if( e.getKeyChar()=='\033') {
+                    txtCode.setText("");
+                    codeModel.applyFilter("");
+                }
+            
+                super.keyTyped(e); //To change body of generated methods, choose Tools | Templates.
+            }
+        });
+        
+        lstCodes.addListSelectionListener(new ListSelectionListener() {
+
+            @Override
+            public void valueChanged(ListSelectionEvent e) {
+                CoordinateReferenceSystem crs = getSelectedCoordinateReferenceSystem();
+                if( crs == null ) {
+                    txtDefinition.setText("");
+                } else {
+                    txtDefinition.setText(crs.getDefinition());    
+                }
+            }
+        });
+                
+    }
+
+    @Override
+    public JComponent asJComponent() {
+        return this;
+    }
+
+    @Override
+    public Dimension getPreferredSize() {
+        Dimension dim = super.getPreferredSize();
+        if( dim.width<350 ) {
+            dim.width = 350;
+        }
+        return dim; 
+    }
+
+    public CoordinateReferenceSystem getSelectedCoordinateReferenceSystem() {
+        CoordinateReferenceSystem crs = null;
+        String authority = authorityModel.getSelectedAuthority();
+        String code = (String) this.lstCodes.getSelectedValue();
+        if (authority != null && code != null) {
+            try {
+                crs = uimanager.getManager().getCoordinateReferenceSystem(
+                        authority, code
+                );
+            } catch (CoordinateReferenceSystemNotFoundException e) {
+                LOG.error("Could not find CRS with authority: " + authority
+                    + " and code: " + code, e);
+            }
+        }
+        return crs;
+    }
+
+    public void setCoordinateReferenceSystem(CoordinateReferenceSystem crs) {
+        if (crs != null) {
+            authorityModel.setSelectedAuthority(crs.getAuthorityName());
+            this.lstCodes.setSelectedValue(crs.getCode(), true);
+            this.txtDefinition.setText(crs.getDefinition());
+        }
+    }
+}
Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.impl/src/main/java/org/gvsig/proj/swing/impl/CodeListModel.java
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.impl/src/main/java/org/gvsig/proj/swing/impl/CodeListModel.java	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.impl/src/main/java/org/gvsig/proj/swing/impl/CodeListModel.java	(revision 1010)
@@ -0,0 +1,119 @@
+/* gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright © 2007-2012 gvSIG Association
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+package org.gvsig.proj.swing.impl;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.swing.AbstractListModel;
+import javax.swing.ComboBoxModel;
+import javax.swing.event.ListDataEvent;
+import javax.swing.event.ListDataListener;
+import org.apache.commons.io.FilenameUtils;
+import org.apache.commons.io.IOCase;
+
+import org.gvsig.proj.CoordinateReferenceSystemManager;
+
+/**
+ * {@link ComboBoxModel} to manage the list of available CRS codes as defined
+ * by some authority.
+ * 
+ * @author gvSIG Team
+ */
+public class CodeListModel 
+    extends AbstractListModel 
+    {
+
+    private static final long serialVersionUID = -5594433634336286602L;
+
+    private List<String> allCodes;
+    private List<String> filteredCodes;
+    private String filterPattern=null;
+
+//    private String selectedCode;
+    private AuthorityComboBoxModel authorityModel;
+    
+    private final CoordinateReferenceSystemManager manager;
+
+    @SuppressWarnings("LeakingThisInConstructor")
+    public CodeListModel(CoordinateReferenceSystemManager manager,
+        AuthorityComboBoxModel theAuthorityModel) {
+        this.manager = manager;
+        this.authorityModel = theAuthorityModel;
+        this.authorityModel.addListDataListener(new ListDataListener() {
+
+            @Override
+            public void intervalAdded(ListDataEvent e) {
+            }
+
+            @Override
+            public void intervalRemoved(ListDataEvent e) {
+            }
+
+            @Override
+            public void contentsChanged(ListDataEvent e) {
+                String authority = authorityModel.getSelectedAuthority();  
+                updateAuthority(authority);
+            }
+        });
+    }
+
+    @Override
+    public int getSize() {
+        return filteredCodes == null ? 0 : filteredCodes.size();
+    }
+
+    @Override
+    public Object getElementAt(int index) {
+        if( filteredCodes == null || index <0 || index>this.filteredCodes.size() ) {
+            return null;
+        }
+        return filteredCodes.get(index);
+    }
+
+    private void updateAuthority(String authority) {
+        allCodes = manager.getCodes(authority);
+        this.applyFilter(this.filterPattern);
+    }
+    
+    public void applyFilter(String pattern) {
+        this.filterPattern = pattern;
+        if( this.filterPattern == null ) {
+            this.filteredCodes = this.allCodes;
+        } else {
+            if( !this.filterPattern.contains("*") ) {
+                this.filterPattern = this.filterPattern + "*";
+            }
+            List filteredCodes = new ArrayList<>();
+            for (String code : allCodes) {
+                if( FilenameUtils.wildcardMatch(code, this.filterPattern, IOCase.INSENSITIVE)) {
+                    filteredCodes.add(code);
+                }
+            }
+            fireIntervalRemoved(this, 0,this.filteredCodes.size());
+            this.filteredCodes = filteredCodes;
+        }
+        fireIntervalAdded(this, 0,this.filteredCodes.size());
+    }
+
+}
Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.impl/src/main/java/org/gvsig/proj/swing/impl/DefaultCoordinateReferenceSystemSelectorComponentView.xml
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.impl/src/main/java/org/gvsig/proj/swing/impl/DefaultCoordinateReferenceSystemSelectorComponentView.xml	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.impl/src/main/java/org/gvsig/proj/swing/impl/DefaultCoordinateReferenceSystemSelectorComponentView.xml	(revision 1010)
@@ -0,0 +1,655 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<object classname="com.jeta.forms.store.memento.FormPackage">
+ <at name="fileversion">
+  <object classname="com.jeta.forms.store.memento.FormsVersion2">
+   <at name="major">2</at>
+   <at name="minor">0</at>
+   <at name="sub">0</at>
+  </object>
+ </at>
+ <at name="form">
+  <object classname="com.jeta.forms.store.memento.FormMemento">
+   <super classname="com.jeta.forms.store.memento.ComponentMemento">
+    <at name="cellconstraints">
+     <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+      <at name="column">1</at>
+      <at name="row">1</at>
+      <at name="colspan">1</at>
+      <at name="rowspan">1</at>
+      <at name="halign">default</at>
+      <at name="valign">default</at>
+      <at name="insets" object="insets">0,0,0,0</at>
+     </object>
+    </at>
+    <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
+   </super>
+   <at name="id">/home/jjdelcerro/datos/devel/org.gvsig.proj/org.gvsig.proj.swing/org.gvsig.proj.swing.impl/src/main/java/org/gvsig/proj/swing/impl/DefaultCoordinateReferenceSystemSelectorComponentView.xml</at>
+   <at name="rowspecs">CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE,FILL:DEFAULT:GROW(1.0),CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE</at>
+   <at name="colspecs">FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:GROW(1.0),FILL:DEFAULT:NONE,FILL:DEFAULT:NONE</at>
+   <at name="components">
+    <object classname="java.util.LinkedList">
+     <item >
+      <at name="value">
+       <object classname="com.jeta.forms.store.memento.BeanMemento">
+        <super classname="com.jeta.forms.store.memento.ComponentMemento">
+         <at name="cellconstraints">
+          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+           <at name="column">2</at>
+           <at name="row">4</at>
+           <at name="colspan">1</at>
+           <at name="rowspan">1</at>
+           <at name="halign">left</at>
+           <at name="valign">center</at>
+           <at name="insets" object="insets">0,0,0,0</at>
+          </object>
+         </at>
+         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
+        </super>
+        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
+        <at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
+        <at name="beanproperties">
+         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+          <at name="classname">com.jeta.forms.components.label.JETALabel</at>
+          <at name="properties">
+           <object classname="com.jeta.forms.store.support.PropertyMap">
+            <at name="text">Code:</at>
+            <at name="height">14</at>
+            <at name="width">33</at>
+            <at name="name">lblCode</at>
+            <at name="fill">
+             <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
+              <at name="name">fill</at>
+             </object>
+            </at>
+            <at name="border">
+             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+              <super classname="com.jeta.forms.store.properties.BorderProperty">
+               <at name="name">border</at>
+              </super>
+              <at name="borders">
+               <object classname="java.util.LinkedList">
+                <item >
+                 <at name="value">
+                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                   <super classname="com.jeta.forms.store.properties.BorderProperty">
+                    <at name="name">border</at>
+                   </super>
+                  </object>
+                 </at>
+                </item>
+               </object>
+              </at>
+             </object>
+            </at>
+           </object>
+          </at>
+         </object>
+        </at>
+       </object>
+      </at>
+     </item>
+     <item >
+      <at name="value">
+       <object classname="com.jeta.forms.store.memento.BeanMemento">
+        <super classname="com.jeta.forms.store.memento.ComponentMemento">
+         <at name="cellconstraints">
+          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+           <at name="column">5</at>
+           <at name="row">4</at>
+           <at name="colspan">1</at>
+           <at name="rowspan">1</at>
+           <at name="halign">default</at>
+           <at name="valign">default</at>
+           <at name="insets" object="insets">0,0,0,0</at>
+          </object>
+         </at>
+         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
+        </super>
+        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
+        <at name="beanclass">javax.swing.JButton</at>
+        <at name="beanproperties">
+         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+          <at name="classname">javax.swing.JButton</at>
+          <at name="properties">
+           <object classname="com.jeta.forms.store.support.PropertyMap">
+            <at name="text">Search</at>
+            <at name="height">22</at>
+            <at name="width">72</at>
+            <at name="name">btnSearch</at>
+            <at name="actionCommand">Search</at>
+            <at name="border">
+             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+              <super classname="com.jeta.forms.store.properties.BorderProperty">
+               <at name="name">border</at>
+              </super>
+              <at name="borders">
+               <object classname="java.util.LinkedList">
+                <item >
+                 <at name="value">
+                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                   <super classname="com.jeta.forms.store.properties.BorderProperty">
+                    <at name="name">border</at>
+                   </super>
+                  </object>
+                 </at>
+                </item>
+               </object>
+              </at>
+             </object>
+            </at>
+           </object>
+          </at>
+         </object>
+        </at>
+       </object>
+      </at>
+     </item>
+     <item >
+      <at name="value">
+       <object classname="com.jeta.forms.store.memento.BeanMemento">
+        <super classname="com.jeta.forms.store.memento.ComponentMemento">
+         <at name="cellconstraints">
+          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+           <at name="column">4</at>
+           <at name="row">4</at>
+           <at name="colspan">1</at>
+           <at name="rowspan">1</at>
+           <at name="halign">default</at>
+           <at name="valign">default</at>
+           <at name="insets" object="insets">0,0,0,0</at>
+          </object>
+         </at>
+         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
+        </super>
+        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
+        <at name="beanclass">javax.swing.JTextField</at>
+        <at name="beanproperties">
+         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+          <at name="classname">javax.swing.JTextField</at>
+          <at name="properties">
+           <object classname="com.jeta.forms.store.support.PropertyMap">
+            <at name="height">20</at>
+            <at name="width">146</at>
+            <at name="name">txtCode</at>
+            <at name="border">
+             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+              <super classname="com.jeta.forms.store.properties.BorderProperty">
+               <at name="name">border</at>
+              </super>
+              <at name="borders">
+               <object classname="java.util.LinkedList">
+                <item >
+                 <at name="value">
+                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                   <super classname="com.jeta.forms.store.properties.BorderProperty">
+                    <at name="name">border</at>
+                   </super>
+                  </object>
+                 </at>
+                </item>
+               </object>
+              </at>
+             </object>
+            </at>
+           </object>
+          </at>
+         </object>
+        </at>
+       </object>
+      </at>
+     </item>
+     <item >
+      <at name="value">
+       <object classname="com.jeta.forms.store.memento.BeanMemento">
+        <super classname="com.jeta.forms.store.memento.ComponentMemento">
+         <at name="cellconstraints">
+          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+           <at name="column">4</at>
+           <at name="row">5</at>
+           <at name="colspan">2</at>
+           <at name="rowspan">1</at>
+           <at name="halign">default</at>
+           <at name="valign">default</at>
+           <at name="insets" object="insets">0,0,0,0</at>
+          </object>
+         </at>
+         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
+        </super>
+        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
+        <at name="beanclass">javax.swing.JList</at>
+        <at name="beanproperties">
+         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+          <at name="classname">javax.swing.JList</at>
+          <at name="properties">
+           <object classname="com.jeta.forms.store.support.PropertyMap">
+            <at name="scrollableTracksViewportWidth">true</at>
+            <at name="height">217</at>
+            <at name="items">
+             <object classname="com.jeta.forms.store.properties.ItemsProperty">
+              <at name="name">items</at>
+             </object>
+            </at>
+            <at name="width">220</at>
+            <at name="name">lstCodes</at>
+            <at name="scollBars">
+             <object classname="com.jeta.forms.store.properties.ScrollBarsProperty">
+              <at name="name">scollBars</at>
+              <at name="verticalpolicy">20</at>
+              <at name="horizontalpolicy">30</at>
+              <at name="border">
+               <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+                <super classname="com.jeta.forms.store.properties.BorderProperty">
+                 <at name="name">border</at>
+                </super>
+                <at name="borders">
+                 <object classname="java.util.LinkedList">
+                  <item >
+                   <at name="value">
+                    <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                     <super classname="com.jeta.forms.store.properties.BorderProperty">
+                      <at name="name">border</at>
+                     </super>
+                    </object>
+                   </at>
+                  </item>
+                 </object>
+                </at>
+               </object>
+              </at>
+             </object>
+            </at>
+            <at name="border">
+             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+              <super classname="com.jeta.forms.store.properties.BorderProperty">
+               <at name="name">border</at>
+              </super>
+              <at name="borders">
+               <object classname="java.util.LinkedList">
+                <item >
+                 <at name="value">
+                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                   <super classname="com.jeta.forms.store.properties.BorderProperty">
+                    <at name="name">border</at>
+                   </super>
+                  </object>
+                 </at>
+                </item>
+               </object>
+              </at>
+             </object>
+            </at>
+            <at name="scrollableTracksViewportHeight">true</at>
+           </object>
+          </at>
+         </object>
+        </at>
+       </object>
+      </at>
+     </item>
+     <item >
+      <at name="value">
+       <object classname="com.jeta.forms.store.memento.BeanMemento">
+        <super classname="com.jeta.forms.store.memento.ComponentMemento">
+         <at name="cellconstraints">
+          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+           <at name="column">2</at>
+           <at name="row">2</at>
+           <at name="colspan">1</at>
+           <at name="rowspan">1</at>
+           <at name="halign">left</at>
+           <at name="valign">center</at>
+           <at name="insets" object="insets">0,0,0,0</at>
+          </object>
+         </at>
+         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
+        </super>
+        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
+        <at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
+        <at name="beanproperties">
+         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+          <at name="classname">com.jeta.forms.components.label.JETALabel</at>
+          <at name="properties">
+           <object classname="com.jeta.forms.store.support.PropertyMap">
+            <at name="text">Authority:</at>
+            <at name="height">14</at>
+            <at name="width">54</at>
+            <at name="name">lblAutority</at>
+            <at name="fill">
+             <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
+              <at name="name">fill</at>
+             </object>
+            </at>
+            <at name="border">
+             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+              <super classname="com.jeta.forms.store.properties.BorderProperty">
+               <at name="name">border</at>
+              </super>
+              <at name="borders">
+               <object classname="java.util.LinkedList">
+                <item >
+                 <at name="value">
+                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                   <super classname="com.jeta.forms.store.properties.BorderProperty">
+                    <at name="name">border</at>
+                   </super>
+                  </object>
+                 </at>
+                </item>
+               </object>
+              </at>
+             </object>
+            </at>
+           </object>
+          </at>
+         </object>
+        </at>
+       </object>
+      </at>
+     </item>
+     <item >
+      <at name="value">
+       <object classname="com.jeta.forms.store.memento.BeanMemento">
+        <super classname="com.jeta.forms.store.memento.ComponentMemento">
+         <at name="cellconstraints">
+          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+           <at name="column">4</at>
+           <at name="row">2</at>
+           <at name="colspan">2</at>
+           <at name="rowspan">1</at>
+           <at name="halign">default</at>
+           <at name="valign">default</at>
+           <at name="insets" object="insets">0,0,0,0</at>
+          </object>
+         </at>
+         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
+        </super>
+        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
+        <at name="beanclass">javax.swing.JComboBox</at>
+        <at name="beanproperties">
+         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+          <at name="classname">javax.swing.JComboBox</at>
+          <at name="properties">
+           <object classname="com.jeta.forms.store.support.PropertyMap">
+            <at name="height">20</at>
+            <at name="items">
+             <object classname="com.jeta.forms.store.properties.ItemsProperty">
+              <at name="name">items</at>
+             </object>
+            </at>
+            <at name="width">222</at>
+            <at name="name">cboAuthority</at>
+            <at name="border">
+             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+              <super classname="com.jeta.forms.store.properties.BorderProperty">
+               <at name="name">border</at>
+              </super>
+              <at name="borders">
+               <object classname="java.util.LinkedList">
+                <item >
+                 <at name="value">
+                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                   <super classname="com.jeta.forms.store.properties.BorderProperty">
+                    <at name="name">border</at>
+                   </super>
+                  </object>
+                 </at>
+                </item>
+               </object>
+              </at>
+             </object>
+            </at>
+           </object>
+          </at>
+         </object>
+        </at>
+       </object>
+      </at>
+     </item>
+     <item >
+      <at name="value">
+       <object classname="com.jeta.forms.store.memento.BeanMemento">
+        <super classname="com.jeta.forms.store.memento.ComponentMemento">
+         <at name="cellconstraints">
+          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+           <at name="column">2</at>
+           <at name="row">7</at>
+           <at name="colspan">1</at>
+           <at name="rowspan">1</at>
+           <at name="halign">left</at>
+           <at name="valign">top</at>
+           <at name="insets" object="insets">0,0,0,0</at>
+          </object>
+         </at>
+         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
+        </super>
+        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
+        <at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
+        <at name="beanproperties">
+         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+          <at name="classname">com.jeta.forms.components.label.JETALabel</at>
+          <at name="properties">
+           <object classname="com.jeta.forms.store.support.PropertyMap">
+            <at name="text">Definition:</at>
+            <at name="height">14</at>
+            <at name="width">57</at>
+            <at name="name">lblDefinition</at>
+            <at name="fill">
+             <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
+              <at name="name">fill</at>
+             </object>
+            </at>
+            <at name="border">
+             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+              <super classname="com.jeta.forms.store.properties.BorderProperty">
+               <at name="name">border</at>
+              </super>
+              <at name="borders">
+               <object classname="java.util.LinkedList">
+                <item >
+                 <at name="value">
+                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                   <super classname="com.jeta.forms.store.properties.BorderProperty">
+                    <at name="name">border</at>
+                   </super>
+                  </object>
+                 </at>
+                </item>
+               </object>
+              </at>
+             </object>
+            </at>
+           </object>
+          </at>
+         </object>
+        </at>
+       </object>
+      </at>
+     </item>
+     <item >
+      <at name="value">
+       <object classname="com.jeta.forms.store.memento.BeanMemento">
+        <super classname="com.jeta.forms.store.memento.ComponentMemento">
+         <at name="cellconstraints">
+          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+           <at name="column">4</at>
+           <at name="row">7</at>
+           <at name="colspan">2</at>
+           <at name="rowspan">1</at>
+           <at name="halign">default</at>
+           <at name="valign">default</at>
+           <at name="insets" object="insets">0,0,0,0</at>
+          </object>
+         </at>
+         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
+        </super>
+        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
+        <at name="beanclass">javax.swing.JTextArea</at>
+        <at name="beanproperties">
+         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+          <at name="classname">javax.swing.JTextArea</at>
+          <at name="properties">
+           <object classname="com.jeta.forms.store.support.PropertyMap">
+            <at name="lineWrap">true</at>
+            <at name="scrollableTracksViewportWidth">true</at>
+            <at name="height">78</at>
+            <at name="width">220</at>
+            <at name="name">txtDefinition</at>
+            <at name="scollBars">
+             <object classname="com.jeta.forms.store.properties.ScrollBarsProperty">
+              <at name="name">scollBars</at>
+              <at name="verticalpolicy">20</at>
+              <at name="horizontalpolicy">30</at>
+              <at name="border">
+               <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+                <super classname="com.jeta.forms.store.properties.BorderProperty">
+                 <at name="name">border</at>
+                </super>
+                <at name="borders">
+                 <object classname="java.util.LinkedList">
+                  <item >
+                   <at name="value">
+                    <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                     <super classname="com.jeta.forms.store.properties.BorderProperty">
+                      <at name="name">border</at>
+                     </super>
+                    </object>
+                   </at>
+                  </item>
+                 </object>
+                </at>
+               </object>
+              </at>
+             </object>
+            </at>
+            <at name="border">
+             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+              <super classname="com.jeta.forms.store.properties.BorderProperty">
+               <at name="name">border</at>
+              </super>
+              <at name="borders">
+               <object classname="java.util.LinkedList">
+                <item >
+                 <at name="value">
+                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                   <super classname="com.jeta.forms.store.properties.BorderProperty">
+                    <at name="name">border</at>
+                   </super>
+                  </object>
+                 </at>
+                </item>
+               </object>
+              </at>
+             </object>
+            </at>
+            <at name="scrollableTracksViewportHeight">true</at>
+           </object>
+          </at>
+         </object>
+        </at>
+       </object>
+      </at>
+     </item>
+    </object>
+   </at>
+   <at name="properties">
+    <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+     <at name="classname">com.jeta.forms.gui.form.GridView</at>
+     <at name="properties">
+      <object classname="com.jeta.forms.store.support.PropertyMap">
+       <at name="name"></at>
+       <at name="fill">
+        <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
+         <at name="name">fill</at>
+        </object>
+       </at>
+       <at name="scollBars">
+        <object classname="com.jeta.forms.store.properties.ScrollBarsProperty">
+         <at name="name">scollBars</at>
+         <at name="verticalpolicy">21</at>
+         <at name="horizontalpolicy">31</at>
+         <at name="border">
+          <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+           <super classname="com.jeta.forms.store.properties.BorderProperty">
+            <at name="name">border</at>
+           </super>
+           <at name="borders">
+            <object classname="java.util.LinkedList">
+             <item >
+              <at name="value">
+               <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                <super classname="com.jeta.forms.store.properties.BorderProperty">
+                 <at name="name">border</at>
+                </super>
+               </object>
+              </at>
+             </item>
+            </object>
+           </at>
+          </object>
+         </at>
+        </object>
+       </at>
+       <at name="border">
+        <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+         <super classname="com.jeta.forms.store.properties.BorderProperty">
+          <at name="name">border</at>
+         </super>
+         <at name="borders">
+          <object classname="java.util.LinkedList"/>
+         </at>
+        </object>
+       </at>
+      </object>
+     </at>
+    </object>
+   </at>
+   <at name="cellpainters">
+    <object classname="com.jeta.forms.store.support.Matrix">
+     <at name="rows">
+      <object classname="[Ljava.lang.Object;" size="8">
+       <at name="item" index="0">
+        <object classname="[Ljava.lang.Object;" size="6"/>
+       </at>
+       <at name="item" index="1">
+        <object classname="[Ljava.lang.Object;" size="6"/>
+       </at>
+       <at name="item" index="2">
+        <object classname="[Ljava.lang.Object;" size="6"/>
+       </at>
+       <at name="item" index="3">
+        <object classname="[Ljava.lang.Object;" size="6"/>
+       </at>
+       <at name="item" index="4">
+        <object classname="[Ljava.lang.Object;" size="6"/>
+       </at>
+       <at name="item" index="5">
+        <object classname="[Ljava.lang.Object;" size="6"/>
+       </at>
+       <at name="item" index="6">
+        <object classname="[Ljava.lang.Object;" size="6"/>
+       </at>
+       <at name="item" index="7">
+        <object classname="[Ljava.lang.Object;" size="6"/>
+       </at>
+      </object>
+     </at>
+    </object>
+   </at>
+   <at name="rowgroups">
+    <object classname="com.jeta.forms.store.memento.FormGroupSet">
+     <at name="groups">
+      <object classname="java.util.HashMap"/>
+     </at>
+    </object>
+   </at>
+   <at name="colgroups">
+    <object classname="com.jeta.forms.store.memento.FormGroupSet">
+     <at name="groups">
+      <object classname="java.util.HashMap"/>
+     </at>
+    </object>
+   </at>
+  </object>
+ </at>
+</object>
Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.impl/src/main/java/org/gvsig/proj/swing/impl/package.html
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.impl/src/main/java/org/gvsig/proj/swing/impl/package.html	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.impl/src/main/java/org/gvsig/proj/swing/impl/package.html	(revision 1010)
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+
+    gvSIG. Desktop Geographic Information System.
+
+    Copyright (C) 2007-2012 gvSIG Association.
+
+    This program is free software; you can redistribute it and/or
+    modify it under the terms of the GNU General Public License
+    as published by the Free Software Foundation; either version 2
+    of the License, or (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+    MA  02110-1301, USA.
+
+    For any additional information, do not hesitate to contact us
+    at info AT gvsig.com, or visit our website www.gvsig.com.
+
+-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<title>org.gvsig.proj.swing.lib.impl package documentation</title>
+</head>
+<body>
+
+	<p>CoordinateReferenceSystem swing library API default implementation.</p>
+
+</body>
+</html>
\ No newline at end of file
Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.impl/src/main/java/org/gvsig/proj/swing/impl/CoordinateReferenceSystemSwingDefaultImplLibrary.java
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.impl/src/main/java/org/gvsig/proj/swing/impl/CoordinateReferenceSystemSwingDefaultImplLibrary.java	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.impl/src/main/java/org/gvsig/proj/swing/impl/CoordinateReferenceSystemSwingDefaultImplLibrary.java	(revision 1010)
@@ -0,0 +1,63 @@
+/**
+ * gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright (C) 2007-2012 gvSIG Association.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+package org.gvsig.proj.swing.impl;
+
+import org.gvsig.proj.swing.CoordinateReferenceSystemSwingLibrary;
+import org.gvsig.proj.swing.CoordinateReferenceSystemSwingLocator;
+import org.gvsig.tools.ToolsLocator;
+import org.gvsig.tools.i18n.I18nManager;
+import org.gvsig.tools.library.AbstractLibrary;
+import org.gvsig.tools.library.LibraryException;
+
+/**
+ * Library for default swing implementation initialization and configuration.
+ * 
+ * @author gvSIG team
+ * @version $Id$
+ */
+public class CoordinateReferenceSystemSwingDefaultImplLibrary extends
+    AbstractLibrary {
+
+    @Override
+    public void doRegistration() {
+        registerAsImplementationOf(CoordinateReferenceSystemSwingLibrary.class);
+    }
+
+    @Override
+    protected void doInitialize() throws LibraryException {
+        CoordinateReferenceSystemSwingLocator
+            .registerSwingManager(DefaultCoordinateReferenceSystemSwingManager.class);
+    }
+
+    @Override
+    protected void doPostInitialize() throws LibraryException {
+    	I18nManager i18nMgr = ToolsLocator.getI18nManager();
+        i18nMgr.addResourceFamily("org.gvsig.proj.swing.impl.i18n.text",
+            CoordinateReferenceSystemSwingDefaultImplLibrary.class
+                .getClassLoader(),
+            CoordinateReferenceSystemSwingDefaultImplLibrary.class.getClass()
+                .getName());
+    }
+
+}
Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.impl/src/main/java/org/gvsig/proj/swing/impl/DefaultCoordinateReferenceSystemSelectorComponentView.java
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.impl/src/main/java/org/gvsig/proj/swing/impl/DefaultCoordinateReferenceSystemSelectorComponentView.java	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.impl/src/main/java/org/gvsig/proj/swing/impl/DefaultCoordinateReferenceSystemSelectorComponentView.java	(revision 1010)
@@ -0,0 +1,180 @@
+package org.gvsig.proj.swing.impl;
+
+import com.jeta.open.i18n.I18NUtils;
+import com.jgoodies.forms.layout.CellConstraints;
+import com.jgoodies.forms.layout.FormLayout;
+import java.awt.BorderLayout;
+import java.awt.ComponentOrientation;
+import java.awt.Container;
+import java.awt.Dimension;
+import javax.swing.Box;
+import javax.swing.ImageIcon;
+import javax.swing.JButton;
+import javax.swing.JComboBox;
+import javax.swing.JFrame;
+import javax.swing.JLabel;
+import javax.swing.JList;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.JTextArea;
+import javax.swing.JTextField;
+
+
+public class DefaultCoordinateReferenceSystemSelectorComponentView extends JPanel
+{
+   JLabel lblCode = new JLabel();
+   JButton btnSearch = new JButton();
+   JTextField txtCode = new JTextField();
+   JList lstCodes = new JList();
+   JLabel lblAutority = new JLabel();
+   JComboBox cboAuthority = new JComboBox();
+   JLabel lblDefinition = new JLabel();
+   JTextArea txtDefinition = new JTextArea();
+
+   /**
+    * Default constructor
+    */
+   public DefaultCoordinateReferenceSystemSelectorComponentView()
+   {
+      initializePanel();
+   }
+
+   /**
+    * Adds fill components to empty cells in the first row and first column of the grid.
+    * This ensures that the grid spacing will be the same as shown in the designer.
+    * @param cols an array of column indices in the first row where fill components should be added.
+    * @param rows an array of row indices in the first column where fill components should be added.
+    */
+   void addFillComponents( Container panel, int[] cols, int[] rows )
+   {
+      Dimension filler = new Dimension(10,10);
+
+      boolean filled_cell_11 = false;
+      CellConstraints cc = new CellConstraints();
+      if ( cols.length > 0 && rows.length > 0 )
+      {
+         if ( cols[0] == 1 && rows[0] == 1 )
+         {
+            /** add a rigid area  */
+            panel.add( Box.createRigidArea( filler ), cc.xy(1,1) );
+            filled_cell_11 = true;
+         }
+      }
+
+      for( int index = 0; index < cols.length; index++ )
+      {
+         if ( cols[index] == 1 && filled_cell_11 )
+         {
+            continue;
+         }
+         panel.add( Box.createRigidArea( filler ), cc.xy(cols[index],1) );
+      }
+
+      for( int index = 0; index < rows.length; index++ )
+      {
+         if ( rows[index] == 1 && filled_cell_11 )
+         {
+            continue;
+         }
+         panel.add( Box.createRigidArea( filler ), cc.xy(1,rows[index]) );
+      }
+
+   }
+
+   /**
+    * Helper method to load an image file from the CLASSPATH
+    * @param imageName the package and name of the file to load relative to the CLASSPATH
+    * @return an ImageIcon instance with the specified image file
+    * @throws IllegalArgumentException if the image resource cannot be loaded.
+    */
+   public ImageIcon loadImage( String imageName )
+   {
+      try
+      {
+         ClassLoader classloader = getClass().getClassLoader();
+         java.net.URL url = classloader.getResource( imageName );
+         if ( url != null )
+         {
+            ImageIcon icon = new ImageIcon( url );
+            return icon;
+         }
+      }
+      catch( Exception e )
+      {
+         e.printStackTrace();
+      }
+      throw new IllegalArgumentException( "Unable to load image: " + imageName );
+   }
+
+   /**
+    * Method for recalculating the component orientation for 
+    * right-to-left Locales.
+    * @param orientation the component orientation to be applied
+    */
+   public void applyComponentOrientation( ComponentOrientation orientation )
+   {
+      // Not yet implemented...
+      // I18NUtils.applyComponentOrientation(this, orientation);
+      super.applyComponentOrientation(orientation);
+   }
+
+   public JPanel createPanel()
+   {
+      JPanel jpanel1 = new JPanel();
+      FormLayout formlayout1 = new FormLayout("FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:GROW(1.0),FILL:DEFAULT:NONE,FILL:DEFAULT:NONE","CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE,FILL:DEFAULT:GROW(1.0),CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE");
+      CellConstraints cc = new CellConstraints();
+      jpanel1.setLayout(formlayout1);
+
+      lblCode.setName("lblCode");
+      lblCode.setText("Code:");
+      jpanel1.add(lblCode,new CellConstraints(2,4,1,1,CellConstraints.LEFT,CellConstraints.CENTER));
+
+      btnSearch.setActionCommand("Search");
+      btnSearch.setName("btnSearch");
+      btnSearch.setText("Search");
+      jpanel1.add(btnSearch,cc.xy(5,4));
+
+      txtCode.setName("txtCode");
+      jpanel1.add(txtCode,cc.xy(4,4));
+
+      lstCodes.setName("lstCodes");
+      JScrollPane jscrollpane1 = new JScrollPane();
+      jscrollpane1.setViewportView(lstCodes);
+      jscrollpane1.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
+      jscrollpane1.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
+      jpanel1.add(jscrollpane1,cc.xywh(4,5,2,1));
+
+      lblAutority.setName("lblAutority");
+      lblAutority.setText("Authority:");
+      jpanel1.add(lblAutority,new CellConstraints(2,2,1,1,CellConstraints.LEFT,CellConstraints.CENTER));
+
+      cboAuthority.setName("cboAuthority");
+      jpanel1.add(cboAuthority,cc.xywh(4,2,2,1));
+
+      lblDefinition.setName("lblDefinition");
+      lblDefinition.setText("Definition:");
+      jpanel1.add(lblDefinition,new CellConstraints(2,7,1,1,CellConstraints.LEFT,CellConstraints.TOP));
+
+      txtDefinition.setLineWrap(true);
+      txtDefinition.setName("txtDefinition");
+      JScrollPane jscrollpane2 = new JScrollPane();
+      jscrollpane2.setViewportView(txtDefinition);
+      jscrollpane2.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
+      jscrollpane2.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
+      jpanel1.add(jscrollpane2,cc.xywh(4,7,2,1));
+
+      addFillComponents(jpanel1,new int[]{ 1,2,3,4,5,6 },new int[]{ 1,2,3,4,5,6,7,8 });
+      return jpanel1;
+   }
+
+   /**
+    * Initializer
+    */
+   protected void initializePanel()
+   {
+      setLayout(new BorderLayout());
+      add(createPanel(), BorderLayout.CENTER);
+   }
+
+
+}
Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.impl/src/main/java/org/gvsig/proj/swing/impl/AuthorityComboBoxModel.java
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.impl/src/main/java/org/gvsig/proj/swing/impl/AuthorityComboBoxModel.java	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.impl/src/main/java/org/gvsig/proj/swing/impl/AuthorityComboBoxModel.java	(revision 1010)
@@ -0,0 +1,79 @@
+/* gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright © 2007-2012 gvSIG Association
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+package org.gvsig.proj.swing.impl;
+
+import java.util.List;
+
+import javax.swing.AbstractListModel;
+import javax.swing.ComboBoxModel;
+
+import org.gvsig.proj.CoordinateReferenceSystemManager;
+
+/**
+ * {@link ComboBoxModel} to manage the list of available CRS authority names.
+ * 
+ * @author gvSIG Team
+ */
+public class AuthorityComboBoxModel extends AbstractListModel implements
+    ComboBoxModel {
+
+    private static final long serialVersionUID = -5594433634336286602L;
+
+    private List<String> authorityNames;
+
+    private String selectedAuthority;
+
+    @SuppressWarnings("unchecked")
+    public AuthorityComboBoxModel(CoordinateReferenceSystemManager manager) {
+        authorityNames = manager.getAuthorityNames();
+    }
+
+    public int getSize() {
+        return authorityNames.size();
+    }
+
+    public Object getElementAt(int index) {
+        return authorityNames.get(index);
+    }
+
+    public void setSelectedItem(Object anItem) {
+        if ((selectedAuthority != null && !selectedAuthority.equals(anItem))
+            || selectedAuthority == null && anItem != null) {
+            selectedAuthority = anItem.toString();
+            fireContentsChanged(this, -1, -1);
+        }
+    }
+
+    public Object getSelectedItem() {
+        return getSelectedAuthority();
+    }
+
+    public String getSelectedAuthority() {
+        return selectedAuthority;
+    }
+
+    public void setSelectedAuthority(String authority) {
+        setSelectedItem(authority);
+    }
+
+}
Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.impl/src/main/java/org/gvsig/proj/swing/impl/DefaultCoordinateReferenceSystemSwingManager.java
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.impl/src/main/java/org/gvsig/proj/swing/impl/DefaultCoordinateReferenceSystemSwingManager.java	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.impl/src/main/java/org/gvsig/proj/swing/impl/DefaultCoordinateReferenceSystemSwingManager.java	(revision 1010)
@@ -0,0 +1,67 @@
+/**
+ * gvSIG. Desktop Geographic Information System.
+ *
+ * Copyright (C) 2007-2012 gvSIG Association.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * For any additional information, do not hesitate to contact us
+ * at info AT gvsig.com, or visit our website www.gvsig.com.
+ */
+package org.gvsig.proj.swing.impl;
+
+import org.gvsig.proj.CoordinateReferenceSystemLocator;
+import org.gvsig.proj.CoordinateReferenceSystemManager;
+import org.gvsig.proj.swing.CoordinateReferenceSystemSelectorComponent;
+import org.gvsig.proj.swing.CoordinateReferenceSystemSwingManager;
+import org.gvsig.tools.ToolsLocator;
+import org.gvsig.tools.i18n.I18nManager;
+import org.gvsig.tools.swing.api.ToolsSwingLocator;
+import org.gvsig.tools.swing.api.windowmanager.WindowManager;
+
+/**
+ * Default implementation of the {@link CoordinateReferenceSystemSwingManager}.
+ * 
+ * @author gvSIG Team
+ * @version $Id$
+ */
+public class DefaultCoordinateReferenceSystemSwingManager implements
+    CoordinateReferenceSystemSwingManager {
+
+    private CoordinateReferenceSystemManager manager;
+    private I18nManager i18nmanager = null;
+
+    public DefaultCoordinateReferenceSystemSwingManager() {
+        this.manager = CoordinateReferenceSystemLocator.getManager();
+        this.i18nmanager = ToolsLocator.getI18nManager();
+    }
+
+    public CoordinateReferenceSystemManager getManager() {
+        return this.manager;
+    }
+
+    public String getTranslation(String key) {
+        return this.i18nmanager.getTranslation(key);
+    }
+
+    public WindowManager getWindowManager() {
+        return ToolsSwingLocator.getWindowManager();
+    }
+
+    public CoordinateReferenceSystemSelectorComponent createCoordinateReferenceSystemSelectionComponent() {
+        return new DefaultCoordinateReferenceSystemSelectorComponent(this);
+    }
+}
Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.impl/src/main/resources/META-INF/services/org.gvsig.tools.library.Library
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.impl/src/main/resources/META-INF/services/org.gvsig.tools.library.Library	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.impl/src/main/resources/META-INF/services/org.gvsig.tools.library.Library	(revision 1010)
@@ -0,0 +1 @@
+org.gvsig.proj.swing.impl.CoordinateReferenceSystemSwingDefaultImplLibrary
\ No newline at end of file
Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.impl/src/main/resources/org/gvsig/proj/swing/impl/i18n/text.properties
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.impl/src/main/resources/org/gvsig/proj/swing/impl/i18n/text.properties	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.impl/src/main/resources/org/gvsig/proj/swing/impl/i18n/text.properties	(revision 1010)
@@ -0,0 +1,3 @@
+authority=Autoridad
+code=Código
+definition=Definición
\ No newline at end of file
Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.impl/src/main/resources/org/gvsig/proj/swing/impl/i18n/text_en.properties
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.impl/src/main/resources/org/gvsig/proj/swing/impl/i18n/text_en.properties	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.impl/src/main/resources/org/gvsig/proj/swing/impl/i18n/text_en.properties	(revision 1010)
@@ -0,0 +1,3 @@
+authority=Authority
+code=Code
+definition=Definition
\ No newline at end of file
Index: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.impl/pom.xml
===================================================================
--- org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.impl/pom.xml	(revision 0)
+++ org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.impl/pom.xml	(revision 1010)
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<artifactId>org.gvsig.proj.swing.impl</artifactId>
+	<packaging>jar</packaging>
+	<name>${project.artifactId}</name>
+	<parent>
+		<groupId>org.gvsig</groupId>
+		<artifactId>org.gvsig.proj.swing</artifactId>
+		<version>1.0.8</version>
+	</parent>
+	<dependencies>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.tools.lib</artifactId>
+			<scope>compile</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.tools.lib</artifactId>
+			<type>test-jar</type>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.tools.swing.api</artifactId>
+			<scope>compile</scope>
+		</dependency>
+		<!-- 
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.i18n</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        -->
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.proj.lib.api</artifactId>
+			<scope>compile</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.proj.lib.proj4j</artifactId>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.proj.swing.api</artifactId>
+			<scope>compile</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.proj.swing.api</artifactId>
+			<type>test-jar</type>
+			<scope>test</scope>
+		</dependency>
+                <dependency>
+                    <groupId>commons-io</groupId>
+                    <artifactId>commons-io</artifactId>
+                    <scope>compile</scope>
+                </dependency>
+                <dependency>
+                    <groupId>com.jeta</groupId>
+                    <artifactId>formsrt</artifactId>
+                    <scope>compile</scope>
+                </dependency>
+                <dependency>
+                    <groupId>com.jgoodies</groupId>
+                    <artifactId>jgoodies-forms</artifactId>
+                    <scope>compile</scope>
+                </dependency>                
+	</dependencies>
+</project>
\ No newline at end of file

Property changes on: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing/org.gvsig.proj.swing.impl
___________________________________________________________________
Added: svn:ignore
   + .settings
target
.classpath
.project



Property changes on: org.gvsig.proj/tags/org.gvsig.proj-1.0.8/org.gvsig.proj.swing
___________________________________________________________________
Added: svn:ignore
   + .settings
target



Property changes on: org.gvsig.proj/tags/org.gvsig.proj-1.0.8
___________________________________________________________________
Added: svn:ignore
   + .settings
.project
target


