Una de las limitaciones más comunes a la hora de programar es la versión del jdk que requiere nuestra aplicación. Cuando los requerimientos exigen una versión un tanto antigua (1.4 por ejemplo), encontramos problemas a la hora de usar tecnologías como AJAX, sobretodo si necesitamos utilizar respuestas de tipo JSON. Para ello existe una librería muy simple «java-json.jar» pero nos encontramos de que es incompatible con el jdk 1.4.
Aquí explicaré en pocos pasos como adaptar y recompilar esta librería para hacerla compatible y funcional para una aplicación que use un jdk 1.4. Necesitaremos descargar el código fuente de la librería y modificar unos pequeños detalles de las clases que contiene.
Se puede descargar el código fuente de aquí
PROCEDIMIENTO:
Primero importaremos el código a nuestro IDE (en este caso uso Eclipse Juno) . Crearemos un proyecto Java.
Y definimos la versión del jdk que usaremos como jdk_4_2_19
Una vez tenemos nuestro proyecto creado, importaremos las clases de la librería que vamos a refactorizar. Para eso vamos a Archivo -> importar -> File System
Y seleccionamos la carpeta donde tenemos las clases descargadas.
Una vez tenemos las clases importadas, abrimos una de estas clases y miramos el «package» donde debería estar incluida la clase.
Creamos en nuestro proyecto este package y movemos todas las clases a este package
Ahora comprobaremos que las clases muestran errores, esto es lo que debemos corregir.
1 – Cambiamos la utilización de la clase «StringBuilder» por «StringBuffer»
2 – Eliminamos las parametrizaciones de las clases «Iterator», «ArrayList», «Set», «Collection», «Enumeration», «Map» i «HashMap»
3 – Al eliminar la parametrización, deberemos añadir unos «casts» ya que al no estar parametrizados, ahora todos seran «Object».
4 – Eliminamos las anotaciones.
5 – Las operaciones de suma entre objetos se deben modificar para que sean entre tipos primitivos, ya que la suma entre objetos no está soportada.
Imagen 1 |
Imagen 2 |
6 – Modificamos las asignaciones directas de tipos primitivos a clases por una instanciación de la propia clase.
Una vez nuestro proyecto esta corregido sin errores, encapsulamos de nuevo todas las clases en un nuevo archivo .jar compilado con el jdk 1.4. Para esto, clickamos sobre el package «org.json» con el botón derecho del ratón i selecionamos «export -> Java-> Jar file».
Finalmente, clickamos a «Finish» y tenemos nuestra librería compilada y totalmente funcional para Java 1.4.