<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Extractor de metadatos in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/extractor-de-metadatos/m-p/203371#M156501</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;He modificado el ImgMetadataExtractor.java&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;quedando de esta manera&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;/*&lt;BR /&gt; * Copyright (C) 2005-2010 Alfresco Software Limited.&lt;BR /&gt; *&lt;BR /&gt; * This file is part of Alfresco&lt;BR /&gt; *&lt;BR /&gt; * Alfresco is free software: you can redistribute it and/or modify&lt;BR /&gt; * it under the terms of the GNU Lesser General Public License as published by&lt;BR /&gt; * the Free Software Foundation, either version 3 of the License, or&lt;BR /&gt; * (at your option) any later version.&lt;BR /&gt; *&lt;BR /&gt; * Alfresco is distributed in the hope that it will be useful,&lt;BR /&gt; * but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;BR /&gt; * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.&amp;nbsp; See the&lt;BR /&gt; * GNU Lesser General Public License for more details.&lt;BR /&gt; *&lt;BR /&gt; * You should have received a copy of the GNU Lesser General Public License&lt;BR /&gt; * along with Alfresco. If not, see &amp;lt;&lt;A href="http://www.gnu.org/licenses/" rel="nofollow noopener noreferrer"&gt;http://www.gnu.org/licenses/&lt;/A&gt;&amp;gt;.&lt;BR /&gt; */&lt;BR /&gt;package com.metadataExtraction;&lt;BR /&gt;&lt;BR /&gt;import java.io.Serializable;&lt;BR /&gt;import java.text.ParseException;&lt;BR /&gt;import java.text.SimpleDateFormat;&lt;BR /&gt;import java.util.Arrays;&lt;BR /&gt;import java.util.Date;&lt;BR /&gt;import java.util.HashSet;&lt;BR /&gt;import java.util.Map;&lt;BR /&gt;import java.util.Set;&lt;BR /&gt;&lt;BR /&gt;import org.alfresco.repo.content.MimetypeMap;&lt;BR /&gt;import org.alfresco.repo.content.metadata.TikaPoweredMetadataExtracter;&lt;BR /&gt;import org.alfresco.service.namespace.QName;&lt;BR /&gt;import org.apache.log4j.Logger;&lt;BR /&gt;import org.apache.tika.metadata.Metadata;&lt;BR /&gt;import org.apache.tika.metadata.TIFF;&lt;BR /&gt;import org.apache.tika.parser.Parser;&lt;BR /&gt;import org.apache.tika.parser.jpeg.JpegParser;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;/**&lt;BR /&gt; * Extracts the following values from img files:&lt;BR /&gt; * &amp;lt;pre&amp;gt;&lt;BR /&gt; *&amp;nbsp;&amp;nbsp; &amp;lt;b&amp;gt;descripcion:&amp;lt;/b&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; –&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {img}:descripcion&lt;BR /&gt; *&amp;nbsp;&amp;nbsp; &amp;lt;b&amp;gt;medidaX:&amp;lt;/b&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; –&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {img}:medidaX&lt;BR /&gt; *&amp;nbsp;&amp;nbsp; &amp;lt;b&amp;gt;medidaY:&amp;lt;/b&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; –&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {img}:medidaY&lt;BR /&gt; *&amp;nbsp;&amp;nbsp; &amp;lt;b&amp;gt;resolucion:&amp;lt;/b&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; –&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {img}:resolucion&lt;BR /&gt; *&amp;nbsp;&amp;nbsp; &amp;lt;b&amp;gt;fecha:&amp;lt;/b&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; –&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {img}:fecha&lt;BR /&gt; *&amp;nbsp;&amp;nbsp; &amp;lt;b&amp;gt;latitud:&amp;lt;/b&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; –&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {img}:latitud&lt;BR /&gt; *&amp;nbsp;&amp;nbsp; &amp;lt;b&amp;gt;longitud:&amp;lt;/b&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;–&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {img}:longitud&lt;BR /&gt; *&amp;nbsp;&amp;nbsp; &amp;lt;b&amp;gt;tiempoExposicion:&amp;lt;/b&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; –&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {img}:tiempoExposicion&lt;BR /&gt; *&amp;nbsp;&amp;nbsp; &amp;lt;b&amp;gt;apertura:&amp;lt;/b&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;–&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {img}:apertura&lt;BR /&gt; *&amp;nbsp;&amp;nbsp; &amp;lt;b&amp;gt;velocidadISO:&amp;lt;/b&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; –&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {img}:velocidadISO&lt;BR /&gt; *&amp;nbsp;&amp;nbsp; &amp;lt;b&amp;gt;flash:&amp;lt;/b&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;–&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {img}:flash&lt;BR /&gt; *&amp;nbsp;&amp;nbsp; &amp;lt;b&amp;gt;modoMedida:&amp;lt;/b&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; –&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {img}:modoMedida&lt;BR /&gt; *&amp;nbsp;&amp;nbsp; &amp;lt;b&amp;gt;programaExposicion:&amp;lt;/b&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; –&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {img}:programaExposicion&lt;BR /&gt; *&amp;nbsp;&amp;nbsp; &amp;lt;b&amp;gt;longitudFocal:&amp;lt;/b&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; –&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {img}:longitudFocal&lt;BR /&gt; *&amp;nbsp;&amp;nbsp; &amp;lt;b&amp;gt;software:&amp;lt;/b&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;–&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {img}:software&lt;BR /&gt; *&amp;nbsp;&amp;nbsp; &amp;lt;b&amp;gt;copyright:&amp;lt;/b&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; –&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {img}:copyright&lt;BR /&gt; * &amp;lt;/pre&amp;gt;&lt;BR /&gt; * &lt;BR /&gt; * &lt;BR /&gt; * Uses Apache Tika&lt;BR /&gt; * &lt;BR /&gt; * @author Nick Burch&lt;BR /&gt; * @author Roy Wetherall&lt;BR /&gt; */&lt;BR /&gt;public class ImgMetadataExtracter extends TikaPoweredMetadataExtracter&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;private Logger logger = Logger.getLogger(ImgMetadataExtracter.class);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private static final String KEY_IMG_MEDIDAX = "medidaX";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private static final String KEY_IMG_MEDIDAY = "medidaY";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private static final String KEY_IMG_RESOLUCION = "resolucion";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private static final String KEY_IMG_FECHA = "fecha";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private static final String KEY_IMG_LATITUD = "latitud";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private static final String KEY_IMG_LONGITUD = "longitud";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private static final String KEY_IMG_TIEMPO_EXPOSICION = "tiempoExposicion";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private static final String KEY_IMG_APERTURA = "apertura";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private static final String KEY_IMG_VELOCIDAD_ISO = "velocidadISO";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private static final String KEY_IMG_FLASH = "flash";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private static final String KEY_IMG_MODO_MEDIDA = "modoMedida";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private static final String KEY_IMG_PROGRAMA_EXPOSICION = "programaExposicion";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private static final String KEY_IMG_LONGITUD_FOCAL = "longitudFocal";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private static final String KEY_IMG_SOFTWARE = "software";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private static final String KEY_IMG_COPYRIGHT = "copyright";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private static final String CUSTOM_PREFIX = "img:";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private static final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ss");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; medidaX&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; medidaY&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; resolucion&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fecha&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; latitud&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; longitud&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; tiempoExposicion&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; apertura&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; velocidadISO&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; flash&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; modoMedida&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; programaExposicion&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; longitudFocal&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; software&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; copyright&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static String[] SUPPORTED_MIMETYPES = new String[] {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MimetypeMap.MIMETYPE_IMAGE_GIF,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MimetypeMap.MIMETYPE_IMAGE_JPEG,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MimetypeMap.MIMETYPE_IMAGE_PNG,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MimetypeMap.MIMETYPE_IMAGE_RGB,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MimetypeMap.MIMETYPE_IMAGE_SVG,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MimetypeMap.MIMETYPE_OPENDOCUMENT_GRAPHICS,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MimetypeMap.MIMETYPE_OPENDOCUMENT_IMAGE,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; };&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public ImgMetadataExtracter()&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; super(SUPPORTED_MIMETYPES);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; super(new HashSet&amp;lt;String&amp;gt;(Arrays.asList(SUPPORTED_MIMETYPES)));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logger.debug("Initializing ImgMetadataExtracter logger constructor");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; @Override&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; protected Map&amp;lt;String, Serializable&amp;gt; extractSpecific(Metadata metadata, Map&amp;lt;String, Serializable&amp;gt; properties, Map&amp;lt;String,String&amp;gt; headers) {&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; putRawValue(KEY_IMG_MEDIDAX, metadata.get(XMPDM.ALBUM), properties);&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; putRawValue(KEY_SONG_TITLE, metadata.get(Metadata.TITLE), properties);&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; putRawValue(KEY_ARTIST, metadata.get(TIFF.ARTIST), properties);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; putRawValue(KEY_IMG_MEDIDAX, metadata.get(Metadata.IMAGE_WIDTH), properties);&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; putRawValue(KEY_IMG_MEDIDAY, metadata.get(Metadata.IMAGE_LENGTH), properties);&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; putRawValue(KEY_IMG_RESOLUCION, metadata.get(Metadata.RESOLUTION_HORIZONTAL), properties);&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;////&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; putRawValue(KEY_IMG_FECHA, getDateOrNull(metadata.get(Metadata.CREATION_DATE)), properties);&lt;BR /&gt;////&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; putRawValue(KEY_IMG_FECHA, getDateOrNull(metadata.get(Metadata.ORIGINAL_DATE)), properties);&lt;BR /&gt;////&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; putRawValue(KEY_IMG_FECHA, metadata.get(Metadata.ORIGINAL_DATE), properties);&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; putRawValue(KEY_IMG_LATITUD, metadata.get(Metadata.LATITUDE), properties);&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; putRawValue(KEY_IMG_LONGITUD, metadata.get(Metadata.ALTITUDE), properties);&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; putRawValue(KEY_IMG_TIEMPO_EXPOSICION, metadata.get(Metadata.EXPOSURE_TIME), properties);&lt;BR /&gt;////&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; putRawValue(KEY_IMG_APERTURA, metadata.get(TIFF.ALBUM), properties);&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; putRawValue(KEY_IMG_VELOCIDAD_ISO, metadata.get(Metadata.ISO_SPEED_RATINGS), properties);&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; putRawValue(KEY_IMG_FLASH, metadata.get(Metadata.FLASH_FIRED), properties);&lt;BR /&gt;////&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; putRawValue(KEY_IMG_MODO_MEDIDA, metadata.get(TIFF.ALBUM), properties);&lt;BR /&gt;////&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; putRawValue(KEY_IMG_PROGRAMA_EXPOSICION, metadata.get(Tiff.ALBUM), properties);&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; putRawValue(KEY_IMG_LONGITUD_FOCAL, metadata.get(Metadata.FOCAL_LENGTH), properties);&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; putRawValue(KEY_IMG_SOFTWARE, metadata.get(Metadata.SOFTWARE), properties);&lt;BR /&gt;//&lt;BR /&gt;////&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; putRawValue(KEY_IMG_COPYRIGHT, metadata.get(XMPDM.COPYRIGHT), properties);&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;putRawValue(KEY_IMG_COPYRIGHT, "probando copyright", properties);&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;putRawValue(CUSTOM_PREFIX+KEY_IMG_COPYRIGHT, "probando copyright 2", properties);&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;putRawValue("a", getDateOrNull(metadata.get(Metadata.CREATION_DATE)), properties);&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;putRawValue("b", getDateOrNull(metadata.get(Metadata.ORIGINAL_DATE)), properties);&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;putRawValue("c", metadata.get(TIFF.IMAGE_WIDTH), properties);&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;putRawValue(KEY_AUTHOR, metadata.get(Metadata.AUTHOR), properties);&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; putRawValue(KEY_TITLE, metadata.get(Metadata.TITLE), properties);&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; putRawValue(KEY_COMMENTS, metadata.get(Metadata.COMMENTS), properties);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logger.debug("Poniendo datos?");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logger.debug("KEY_IMG_MEDIDAX: "+KEY_IMG_MEDIDAX);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logger.debug("Metadata.IMAGE_WIDTH.toString(): "+Metadata.IMAGE_WIDTH.toString());&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logger.debug("metadata.get(Metadata.IMAGE_WIDTH): "+metadata.get(Metadata.IMAGE_WIDTH));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logger.debug("properties: "+properties.toString());&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logger.debug("headers: "+headers.toString());&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Handle user-defined properties dynamically&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logger.debug("headers: "+headers.values().toString());&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logger.debug("headers");&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (String key : headers.keySet())&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logger.debug("key: "+key);&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logger.debug("get key: "+headers.get(key));&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logger.debug("Map");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Map&amp;lt;String, Set&amp;lt;QName&amp;gt;&amp;gt; mapping = super.getMapping();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (String key : mapping.keySet())&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logger.debug("key: "+key);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (metadata.get(CUSTOM_PREFIX + key) != null)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logger.debug("dentro if key");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; putRawValue(key, metadata.get(CUSTOM_PREFIX + key), properties);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logger.debug("Fi for Map");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logger.debug(metadata.get(Metadata.TITLE));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logger.debug(metadata.get(Metadata.CREATION_DATE));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logger.debug(metadata.get(Metadata.CREATOR));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logger.debug(metadata.get(Metadata.DATE));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logger.debug(metadata.get(Metadata.DESCRIPTION));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return properties;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Override&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;protected Parser getParser() {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// TODO Auto-generated method stub&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return new TiffParser();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return new JpegParser();&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return new ImageParser();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;private Date getDateOrNull(String dateString)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (dateString != null &amp;amp;&amp;amp; dateString.length() != 0)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return dateFormat.parse(dateString);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } catch(ParseException e) {}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return null;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;}&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;basicamente he modificado la función getParser() pasando de esto:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;protected Parser getParser() {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// TODO Auto-generated method stub&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return new TiffParser();&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return new JpegParser();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return new ImageParser();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;SPAN&gt;a esto:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;protected Parser getParser() {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// TODO Auto-generated method stub&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return new TiffParser();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return new JpegParser();&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return new ImageParser();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;y en la función extractSpecific, he comentado todos los putRawValue que había puesto anteriormente.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;y ahora este es el logger que obtengo:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;08:41:31,653 User:admin DEBUG [metadataExtraction.ImgMetadataExtracter] Poniendo datos?&lt;BR /&gt;08:41:31,653 User:admin DEBUG [metadataExtraction.ImgMetadataExtracter] KEY_IMG_MEDIDAX: medidaX&lt;BR /&gt;08:41:31,654 User:admin DEBUG [metadataExtraction.ImgMetadataExtracter] Metadata.IMAGE_WIDTH.toString(): org.apache.tika.metadata.Property@6706ad67&lt;BR /&gt;08:41:31,654 User:admin DEBUG [metadataExtraction.ImgMetadataExtracter] metadata.get(Metadata.IMAGE_WIDTH): 250&lt;BR /&gt;08:41:31,654 User:admin DEBUG [metadataExtraction.ImgMetadataExtracter] properties: {Number of Components=3, Image Height=167 pixels, Data Precision=8 bits, tiff:BitsPerSample=8, Component 1=Y component: Quantization table 0, Sampling factors 2 horiz/2 vert, tiff:ImageLength=167, Component 2=Cb component: Quantization table 1, Sampling factors 1 horiz/1 vert, author=null, Component 3=Cr component: Quantization table 1, Sampling factors 1 horiz/1 vert, title=null, tiff:ImageWidth=250, Image Width=250 pixels, comments=null}&lt;BR /&gt;08:41:31,654 User:admin DEBUG [metadataExtraction.ImgMetadataExtracter] Map&lt;BR /&gt;08:41:31,654 User:admin DEBUG [metadataExtraction.ImgMetadataExtracter] key: flash&lt;BR /&gt;08:41:31,654 User:admin DEBUG [metadataExtraction.ImgMetadataExtracter] key: resolucion&lt;BR /&gt;08:41:31,654 User:admin DEBUG [metadataExtraction.ImgMetadataExtracter] key: copyright&lt;BR /&gt;08:41:31,654 User:admin DEBUG [metadataExtraction.ImgMetadataExtracter] key: tiempoExposicion&lt;BR /&gt;08:41:31,654 User:admin DEBUG [metadataExtraction.ImgMetadataExtracter] key: software&lt;BR /&gt;08:41:31,654 User:admin DEBUG [metadataExtraction.ImgMetadataExtracter] key: velocidadISO&lt;BR /&gt;08:41:31,654 User:admin DEBUG [metadataExtraction.ImgMetadataExtracter] key: apertura&lt;BR /&gt;08:41:31,654 User:admin DEBUG [metadataExtraction.ImgMetadataExtracter] key: programaExposicion&lt;BR /&gt;08:41:31,654 User:admin DEBUG [metadataExtraction.ImgMetadataExtracter] key: latitud&lt;BR /&gt;08:41:31,654 User:admin DEBUG [metadataExtraction.ImgMetadataExtracter] key: longitudFocal&lt;BR /&gt;08:41:31,654 User:admin DEBUG [metadataExtraction.ImgMetadataExtracter] key: longitud&lt;BR /&gt;08:41:31,654 User:admin DEBUG [metadataExtraction.ImgMetadataExtracter] key: modoMedida&lt;BR /&gt;08:41:31,654 User:admin DEBUG [metadataExtraction.ImgMetadataExtracter] key: medidaY&lt;BR /&gt;08:41:31,655 User:admin DEBUG [metadataExtraction.ImgMetadataExtracter] key: medidaX&lt;BR /&gt;08:41:31,655 User:admin DEBUG [metadataExtraction.ImgMetadataExtracter] Fi for Map&lt;BR /&gt;08:41:31,655 User:admin DEBUG [metadataExtraction.ImgMetadataExtracter] &lt;BR /&gt;08:41:31,655 User:admin DEBUG [metadataExtraction.ImgMetadataExtracter] &lt;BR /&gt;08:41:31,655 User:admin DEBUG [metadataExtraction.ImgMetadataExtracter] &lt;BR /&gt;08:41:31,655 User:admin DEBUG [metadataExtraction.ImgMetadataExtracter] &lt;BR /&gt;08:41:31,655 User:admin DEBUG [metadataExtraction.ImgMetadataExtracter]&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;como se puede ver a partir de la 5a linea, el properties ya tiene valores, ahora solo me falta poner esos valores dentro de mi tipo img:imagen&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;entiendo que esto se define en el fichero /shared/classes/alfresco/extension –&amp;gt; custom-metadata-extrators-context.xml, pero no consigo hacerlo funcionar correctamente, ya que cuando añado una imagen del tipo img:imagen, esta continua teniendo todas las propiedades en blanco&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 04 Jan 2012 07:52:10 GMT</pubDate>
    <dc:creator>ruben_arjonilla</dc:creator>
    <dc:date>2012-01-04T07:52:10Z</dc:date>
    <item>
      <title>Extractor de metadatos</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/extractor-de-metadatos/m-p/203370#M156500</link>
      <description>Buenas, Tengo algunas dudas sobre los extractores de metadatos de los archivos.A mi entender, un extractor de metadatos lo que hace es poner unos metadatos que trae un fichero en propiedades que pueden ser creadas por uno mismo.En mi caso, quiero poner los metadatos que traen los ficheros de imagen,</description>
      <pubDate>Tue, 03 Jan 2012 14:34:20 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/extractor-de-metadatos/m-p/203370#M156500</guid>
      <dc:creator>ruben_arjonilla</dc:creator>
      <dc:date>2012-01-03T14:34:20Z</dc:date>
    </item>
    <item>
      <title>Re: Extractor de metadatos</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/extractor-de-metadatos/m-p/203371#M156501</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;He modificado el ImgMetadataExtractor.java&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;quedando de esta manera&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;/*&lt;BR /&gt; * Copyright (C) 2005-2010 Alfresco Software Limited.&lt;BR /&gt; *&lt;BR /&gt; * This file is part of Alfresco&lt;BR /&gt; *&lt;BR /&gt; * Alfresco is free software: you can redistribute it and/or modify&lt;BR /&gt; * it under the terms of the GNU Lesser General Public License as published by&lt;BR /&gt; * the Free Software Foundation, either version 3 of the License, or&lt;BR /&gt; * (at your option) any later version.&lt;BR /&gt; *&lt;BR /&gt; * Alfresco is distributed in the hope that it will be useful,&lt;BR /&gt; * but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;BR /&gt; * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.&amp;nbsp; See the&lt;BR /&gt; * GNU Lesser General Public License for more details.&lt;BR /&gt; *&lt;BR /&gt; * You should have received a copy of the GNU Lesser General Public License&lt;BR /&gt; * along with Alfresco. If not, see &amp;lt;&lt;A href="http://www.gnu.org/licenses/" rel="nofollow noopener noreferrer"&gt;http://www.gnu.org/licenses/&lt;/A&gt;&amp;gt;.&lt;BR /&gt; */&lt;BR /&gt;package com.metadataExtraction;&lt;BR /&gt;&lt;BR /&gt;import java.io.Serializable;&lt;BR /&gt;import java.text.ParseException;&lt;BR /&gt;import java.text.SimpleDateFormat;&lt;BR /&gt;import java.util.Arrays;&lt;BR /&gt;import java.util.Date;&lt;BR /&gt;import java.util.HashSet;&lt;BR /&gt;import java.util.Map;&lt;BR /&gt;import java.util.Set;&lt;BR /&gt;&lt;BR /&gt;import org.alfresco.repo.content.MimetypeMap;&lt;BR /&gt;import org.alfresco.repo.content.metadata.TikaPoweredMetadataExtracter;&lt;BR /&gt;import org.alfresco.service.namespace.QName;&lt;BR /&gt;import org.apache.log4j.Logger;&lt;BR /&gt;import org.apache.tika.metadata.Metadata;&lt;BR /&gt;import org.apache.tika.metadata.TIFF;&lt;BR /&gt;import org.apache.tika.parser.Parser;&lt;BR /&gt;import org.apache.tika.parser.jpeg.JpegParser;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;/**&lt;BR /&gt; * Extracts the following values from img files:&lt;BR /&gt; * &amp;lt;pre&amp;gt;&lt;BR /&gt; *&amp;nbsp;&amp;nbsp; &amp;lt;b&amp;gt;descripcion:&amp;lt;/b&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; –&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {img}:descripcion&lt;BR /&gt; *&amp;nbsp;&amp;nbsp; &amp;lt;b&amp;gt;medidaX:&amp;lt;/b&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; –&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {img}:medidaX&lt;BR /&gt; *&amp;nbsp;&amp;nbsp; &amp;lt;b&amp;gt;medidaY:&amp;lt;/b&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; –&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {img}:medidaY&lt;BR /&gt; *&amp;nbsp;&amp;nbsp; &amp;lt;b&amp;gt;resolucion:&amp;lt;/b&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; –&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {img}:resolucion&lt;BR /&gt; *&amp;nbsp;&amp;nbsp; &amp;lt;b&amp;gt;fecha:&amp;lt;/b&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; –&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {img}:fecha&lt;BR /&gt; *&amp;nbsp;&amp;nbsp; &amp;lt;b&amp;gt;latitud:&amp;lt;/b&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; –&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {img}:latitud&lt;BR /&gt; *&amp;nbsp;&amp;nbsp; &amp;lt;b&amp;gt;longitud:&amp;lt;/b&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;–&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {img}:longitud&lt;BR /&gt; *&amp;nbsp;&amp;nbsp; &amp;lt;b&amp;gt;tiempoExposicion:&amp;lt;/b&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; –&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {img}:tiempoExposicion&lt;BR /&gt; *&amp;nbsp;&amp;nbsp; &amp;lt;b&amp;gt;apertura:&amp;lt;/b&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;–&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {img}:apertura&lt;BR /&gt; *&amp;nbsp;&amp;nbsp; &amp;lt;b&amp;gt;velocidadISO:&amp;lt;/b&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; –&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {img}:velocidadISO&lt;BR /&gt; *&amp;nbsp;&amp;nbsp; &amp;lt;b&amp;gt;flash:&amp;lt;/b&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;–&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {img}:flash&lt;BR /&gt; *&amp;nbsp;&amp;nbsp; &amp;lt;b&amp;gt;modoMedida:&amp;lt;/b&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; –&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {img}:modoMedida&lt;BR /&gt; *&amp;nbsp;&amp;nbsp; &amp;lt;b&amp;gt;programaExposicion:&amp;lt;/b&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; –&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {img}:programaExposicion&lt;BR /&gt; *&amp;nbsp;&amp;nbsp; &amp;lt;b&amp;gt;longitudFocal:&amp;lt;/b&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; –&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {img}:longitudFocal&lt;BR /&gt; *&amp;nbsp;&amp;nbsp; &amp;lt;b&amp;gt;software:&amp;lt;/b&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;–&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {img}:software&lt;BR /&gt; *&amp;nbsp;&amp;nbsp; &amp;lt;b&amp;gt;copyright:&amp;lt;/b&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; –&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {img}:copyright&lt;BR /&gt; * &amp;lt;/pre&amp;gt;&lt;BR /&gt; * &lt;BR /&gt; * &lt;BR /&gt; * Uses Apache Tika&lt;BR /&gt; * &lt;BR /&gt; * @author Nick Burch&lt;BR /&gt; * @author Roy Wetherall&lt;BR /&gt; */&lt;BR /&gt;public class ImgMetadataExtracter extends TikaPoweredMetadataExtracter&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;private Logger logger = Logger.getLogger(ImgMetadataExtracter.class);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private static final String KEY_IMG_MEDIDAX = "medidaX";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private static final String KEY_IMG_MEDIDAY = "medidaY";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private static final String KEY_IMG_RESOLUCION = "resolucion";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private static final String KEY_IMG_FECHA = "fecha";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private static final String KEY_IMG_LATITUD = "latitud";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private static final String KEY_IMG_LONGITUD = "longitud";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private static final String KEY_IMG_TIEMPO_EXPOSICION = "tiempoExposicion";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private static final String KEY_IMG_APERTURA = "apertura";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private static final String KEY_IMG_VELOCIDAD_ISO = "velocidadISO";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private static final String KEY_IMG_FLASH = "flash";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private static final String KEY_IMG_MODO_MEDIDA = "modoMedida";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private static final String KEY_IMG_PROGRAMA_EXPOSICION = "programaExposicion";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private static final String KEY_IMG_LONGITUD_FOCAL = "longitudFocal";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private static final String KEY_IMG_SOFTWARE = "software";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private static final String KEY_IMG_COPYRIGHT = "copyright";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private static final String CUSTOM_PREFIX = "img:";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private static final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ss");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; medidaX&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; medidaY&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; resolucion&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fecha&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; latitud&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; longitud&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; tiempoExposicion&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; apertura&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; velocidadISO&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; flash&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; modoMedida&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; programaExposicion&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; longitudFocal&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; software&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; copyright&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static String[] SUPPORTED_MIMETYPES = new String[] {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MimetypeMap.MIMETYPE_IMAGE_GIF,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MimetypeMap.MIMETYPE_IMAGE_JPEG,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MimetypeMap.MIMETYPE_IMAGE_PNG,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MimetypeMap.MIMETYPE_IMAGE_RGB,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MimetypeMap.MIMETYPE_IMAGE_SVG,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MimetypeMap.MIMETYPE_OPENDOCUMENT_GRAPHICS,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MimetypeMap.MIMETYPE_OPENDOCUMENT_IMAGE,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; };&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public ImgMetadataExtracter()&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; super(SUPPORTED_MIMETYPES);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; super(new HashSet&amp;lt;String&amp;gt;(Arrays.asList(SUPPORTED_MIMETYPES)));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logger.debug("Initializing ImgMetadataExtracter logger constructor");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; @Override&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; protected Map&amp;lt;String, Serializable&amp;gt; extractSpecific(Metadata metadata, Map&amp;lt;String, Serializable&amp;gt; properties, Map&amp;lt;String,String&amp;gt; headers) {&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; putRawValue(KEY_IMG_MEDIDAX, metadata.get(XMPDM.ALBUM), properties);&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; putRawValue(KEY_SONG_TITLE, metadata.get(Metadata.TITLE), properties);&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; putRawValue(KEY_ARTIST, metadata.get(TIFF.ARTIST), properties);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; putRawValue(KEY_IMG_MEDIDAX, metadata.get(Metadata.IMAGE_WIDTH), properties);&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; putRawValue(KEY_IMG_MEDIDAY, metadata.get(Metadata.IMAGE_LENGTH), properties);&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; putRawValue(KEY_IMG_RESOLUCION, metadata.get(Metadata.RESOLUTION_HORIZONTAL), properties);&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;////&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; putRawValue(KEY_IMG_FECHA, getDateOrNull(metadata.get(Metadata.CREATION_DATE)), properties);&lt;BR /&gt;////&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; putRawValue(KEY_IMG_FECHA, getDateOrNull(metadata.get(Metadata.ORIGINAL_DATE)), properties);&lt;BR /&gt;////&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; putRawValue(KEY_IMG_FECHA, metadata.get(Metadata.ORIGINAL_DATE), properties);&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; putRawValue(KEY_IMG_LATITUD, metadata.get(Metadata.LATITUDE), properties);&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; putRawValue(KEY_IMG_LONGITUD, metadata.get(Metadata.ALTITUDE), properties);&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; putRawValue(KEY_IMG_TIEMPO_EXPOSICION, metadata.get(Metadata.EXPOSURE_TIME), properties);&lt;BR /&gt;////&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; putRawValue(KEY_IMG_APERTURA, metadata.get(TIFF.ALBUM), properties);&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; putRawValue(KEY_IMG_VELOCIDAD_ISO, metadata.get(Metadata.ISO_SPEED_RATINGS), properties);&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; putRawValue(KEY_IMG_FLASH, metadata.get(Metadata.FLASH_FIRED), properties);&lt;BR /&gt;////&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; putRawValue(KEY_IMG_MODO_MEDIDA, metadata.get(TIFF.ALBUM), properties);&lt;BR /&gt;////&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; putRawValue(KEY_IMG_PROGRAMA_EXPOSICION, metadata.get(Tiff.ALBUM), properties);&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; putRawValue(KEY_IMG_LONGITUD_FOCAL, metadata.get(Metadata.FOCAL_LENGTH), properties);&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; putRawValue(KEY_IMG_SOFTWARE, metadata.get(Metadata.SOFTWARE), properties);&lt;BR /&gt;//&lt;BR /&gt;////&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; putRawValue(KEY_IMG_COPYRIGHT, metadata.get(XMPDM.COPYRIGHT), properties);&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;putRawValue(KEY_IMG_COPYRIGHT, "probando copyright", properties);&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;putRawValue(CUSTOM_PREFIX+KEY_IMG_COPYRIGHT, "probando copyright 2", properties);&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;putRawValue("a", getDateOrNull(metadata.get(Metadata.CREATION_DATE)), properties);&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;putRawValue("b", getDateOrNull(metadata.get(Metadata.ORIGINAL_DATE)), properties);&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;putRawValue("c", metadata.get(TIFF.IMAGE_WIDTH), properties);&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;putRawValue(KEY_AUTHOR, metadata.get(Metadata.AUTHOR), properties);&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; putRawValue(KEY_TITLE, metadata.get(Metadata.TITLE), properties);&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; putRawValue(KEY_COMMENTS, metadata.get(Metadata.COMMENTS), properties);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logger.debug("Poniendo datos?");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logger.debug("KEY_IMG_MEDIDAX: "+KEY_IMG_MEDIDAX);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logger.debug("Metadata.IMAGE_WIDTH.toString(): "+Metadata.IMAGE_WIDTH.toString());&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logger.debug("metadata.get(Metadata.IMAGE_WIDTH): "+metadata.get(Metadata.IMAGE_WIDTH));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logger.debug("properties: "+properties.toString());&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logger.debug("headers: "+headers.toString());&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Handle user-defined properties dynamically&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logger.debug("headers: "+headers.values().toString());&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logger.debug("headers");&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (String key : headers.keySet())&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logger.debug("key: "+key);&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logger.debug("get key: "+headers.get(key));&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logger.debug("Map");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Map&amp;lt;String, Set&amp;lt;QName&amp;gt;&amp;gt; mapping = super.getMapping();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (String key : mapping.keySet())&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logger.debug("key: "+key);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (metadata.get(CUSTOM_PREFIX + key) != null)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logger.debug("dentro if key");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; putRawValue(key, metadata.get(CUSTOM_PREFIX + key), properties);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logger.debug("Fi for Map");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logger.debug(metadata.get(Metadata.TITLE));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logger.debug(metadata.get(Metadata.CREATION_DATE));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logger.debug(metadata.get(Metadata.CREATOR));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logger.debug(metadata.get(Metadata.DATE));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logger.debug(metadata.get(Metadata.DESCRIPTION));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return properties;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Override&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;protected Parser getParser() {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// TODO Auto-generated method stub&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return new TiffParser();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return new JpegParser();&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return new ImageParser();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;private Date getDateOrNull(String dateString)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (dateString != null &amp;amp;&amp;amp; dateString.length() != 0)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return dateFormat.parse(dateString);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } catch(ParseException e) {}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return null;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;}&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;basicamente he modificado la función getParser() pasando de esto:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;protected Parser getParser() {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// TODO Auto-generated method stub&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return new TiffParser();&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return new JpegParser();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return new ImageParser();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;SPAN&gt;a esto:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;protected Parser getParser() {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// TODO Auto-generated method stub&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return new TiffParser();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return new JpegParser();&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return new ImageParser();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;y en la función extractSpecific, he comentado todos los putRawValue que había puesto anteriormente.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;y ahora este es el logger que obtengo:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;08:41:31,653 User:admin DEBUG [metadataExtraction.ImgMetadataExtracter] Poniendo datos?&lt;BR /&gt;08:41:31,653 User:admin DEBUG [metadataExtraction.ImgMetadataExtracter] KEY_IMG_MEDIDAX: medidaX&lt;BR /&gt;08:41:31,654 User:admin DEBUG [metadataExtraction.ImgMetadataExtracter] Metadata.IMAGE_WIDTH.toString(): org.apache.tika.metadata.Property@6706ad67&lt;BR /&gt;08:41:31,654 User:admin DEBUG [metadataExtraction.ImgMetadataExtracter] metadata.get(Metadata.IMAGE_WIDTH): 250&lt;BR /&gt;08:41:31,654 User:admin DEBUG [metadataExtraction.ImgMetadataExtracter] properties: {Number of Components=3, Image Height=167 pixels, Data Precision=8 bits, tiff:BitsPerSample=8, Component 1=Y component: Quantization table 0, Sampling factors 2 horiz/2 vert, tiff:ImageLength=167, Component 2=Cb component: Quantization table 1, Sampling factors 1 horiz/1 vert, author=null, Component 3=Cr component: Quantization table 1, Sampling factors 1 horiz/1 vert, title=null, tiff:ImageWidth=250, Image Width=250 pixels, comments=null}&lt;BR /&gt;08:41:31,654 User:admin DEBUG [metadataExtraction.ImgMetadataExtracter] Map&lt;BR /&gt;08:41:31,654 User:admin DEBUG [metadataExtraction.ImgMetadataExtracter] key: flash&lt;BR /&gt;08:41:31,654 User:admin DEBUG [metadataExtraction.ImgMetadataExtracter] key: resolucion&lt;BR /&gt;08:41:31,654 User:admin DEBUG [metadataExtraction.ImgMetadataExtracter] key: copyright&lt;BR /&gt;08:41:31,654 User:admin DEBUG [metadataExtraction.ImgMetadataExtracter] key: tiempoExposicion&lt;BR /&gt;08:41:31,654 User:admin DEBUG [metadataExtraction.ImgMetadataExtracter] key: software&lt;BR /&gt;08:41:31,654 User:admin DEBUG [metadataExtraction.ImgMetadataExtracter] key: velocidadISO&lt;BR /&gt;08:41:31,654 User:admin DEBUG [metadataExtraction.ImgMetadataExtracter] key: apertura&lt;BR /&gt;08:41:31,654 User:admin DEBUG [metadataExtraction.ImgMetadataExtracter] key: programaExposicion&lt;BR /&gt;08:41:31,654 User:admin DEBUG [metadataExtraction.ImgMetadataExtracter] key: latitud&lt;BR /&gt;08:41:31,654 User:admin DEBUG [metadataExtraction.ImgMetadataExtracter] key: longitudFocal&lt;BR /&gt;08:41:31,654 User:admin DEBUG [metadataExtraction.ImgMetadataExtracter] key: longitud&lt;BR /&gt;08:41:31,654 User:admin DEBUG [metadataExtraction.ImgMetadataExtracter] key: modoMedida&lt;BR /&gt;08:41:31,654 User:admin DEBUG [metadataExtraction.ImgMetadataExtracter] key: medidaY&lt;BR /&gt;08:41:31,655 User:admin DEBUG [metadataExtraction.ImgMetadataExtracter] key: medidaX&lt;BR /&gt;08:41:31,655 User:admin DEBUG [metadataExtraction.ImgMetadataExtracter] Fi for Map&lt;BR /&gt;08:41:31,655 User:admin DEBUG [metadataExtraction.ImgMetadataExtracter] &lt;BR /&gt;08:41:31,655 User:admin DEBUG [metadataExtraction.ImgMetadataExtracter] &lt;BR /&gt;08:41:31,655 User:admin DEBUG [metadataExtraction.ImgMetadataExtracter] &lt;BR /&gt;08:41:31,655 User:admin DEBUG [metadataExtraction.ImgMetadataExtracter] &lt;BR /&gt;08:41:31,655 User:admin DEBUG [metadataExtraction.ImgMetadataExtracter]&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;como se puede ver a partir de la 5a linea, el properties ya tiene valores, ahora solo me falta poner esos valores dentro de mi tipo img:imagen&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;entiendo que esto se define en el fichero /shared/classes/alfresco/extension –&amp;gt; custom-metadata-extrators-context.xml, pero no consigo hacerlo funcionar correctamente, ya que cuando añado una imagen del tipo img:imagen, esta continua teniendo todas las propiedades en blanco&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 04 Jan 2012 07:52:10 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/extractor-de-metadatos/m-p/203371#M156501</guid>
      <dc:creator>ruben_arjonilla</dc:creator>
      <dc:date>2012-01-04T07:52:10Z</dc:date>
    </item>
    <item>
      <title>Re: Extractor de metadatos</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/extractor-de-metadatos/m-p/203372#M156502</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Me he dado cuenta de una cosa.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Si en el extractor (java), pongo estas lineas:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;putRawValue("prueba1", "probando 1", properties);&lt;BR /&gt;putRawValue("prueba2", "probando 2", properties);&lt;BR /&gt;putRawValue("prueba3", "probando 3", properties);&lt;BR /&gt;putRawValue("prueba4", "probando 4", properties);&lt;BR /&gt;putRawValue("prueba5", "probando 5", properties);&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;y en el ImgMetadataExtracter.properties pongo esto&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;prueba1=img:copyright&lt;BR /&gt;prueba2=cm:description&lt;BR /&gt;prueba3=cm:title&lt;BR /&gt;prueba4=cm:author&lt;BR /&gt;prueba5=cm:name&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;Cuando añado la imagen al repositorio, se ejecuta el extractor, y en los metadatos del archivo, &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;el cm:name es el mismo que el nombre del fichero que estoy subiendo&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;el cm:description=probando 2&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;el cm:title=probando 3&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;el cm:author=probando 4&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;y el img:copyright esta vacío&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Es como si el extractor solo funcionara con algunos campos del cm:content, en este caso cm:description, cm:title y cm:author&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Que es lo que hago mal?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Revisando por el foro, he encontrado este post:&lt;/SPAN&gt;&lt;BR /&gt;&lt;A href="https://forums.alfresco.com/es/viewtopic.php?f=11&amp;amp;t=93&amp;amp;p=202&amp;amp;hilit=extractor" rel="nofollow noopener noreferrer"&gt;https://forums.alfresco.com/es/viewtopic.php?f=11&amp;amp;t=93&amp;amp;p=202&amp;amp;hilit=extractor&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;en el que hablan que hay que modificar unos java del núcleo de Alfresco, pero el post es del 2007, de verdad hay que hacer estos cambios para la versión 3.4? o no tiene nada que ver?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 04 Jan 2012 10:50:31 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/extractor-de-metadatos/m-p/203372#M156502</guid>
      <dc:creator>ruben_arjonilla</dc:creator>
      <dc:date>2012-01-04T10:50:31Z</dc:date>
    </item>
    <item>
      <title>Re: Extractor de metadatos</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/extractor-de-metadatos/m-p/203373#M156503</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Buenas.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Yo no tengo experiencia en este campo pero hace no mucho cybermakoki tuvo también problemas al respecto y es que el estractor de metadatos había cambiado, para la 3.4 se utiliza el Apache Tika. Ojea su &lt;/SPAN&gt;&lt;A href="https://forums.alfresco.com/es/viewtopic.php?f=11&amp;amp;t=3256" rel="nofollow noopener noreferrer"&gt;hilo&lt;/A&gt;&lt;SPAN&gt;. Además, &lt;/SPAN&gt;&lt;A href="http://crisinthecloud.blogspot.com/2011/03/hola-escribo-aqui-animada-por-cris.html" rel="nofollow noopener noreferrer"&gt;escribió este articulo&lt;/A&gt;&lt;SPAN&gt;, por si te sirve de referencia.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Un saludo.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 05 Jan 2012 11:47:03 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/extractor-de-metadatos/m-p/203373#M156503</guid>
      <dc:creator>cristinamr</dc:creator>
      <dc:date>2012-01-05T11:47:03Z</dc:date>
    </item>
    <item>
      <title>Re: Extractor de metadatos</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/extractor-de-metadatos/m-p/203374#M156504</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;El post de cybermakoki ya me lo había leído.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;En cuanto al articulo, viene a decir lo mismo que habla en el post.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Tiene que haber algún fichero que no tengo bien, o alguna cosa, o lo que digo yo de que tenga que modificar las lineas esas del código de alfresco (cosa que me extraña), pero no seria la primera vez que tengo que tocar algo del código de Alfresco…&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Solo veo una diferencia entre su extractor y el mio, y es el nombre de la función donde rellenamos los datos.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Yo tengo: protected Map&amp;lt;String, Serializable&amp;gt; extractSpecific(Metadata metadata, Map&amp;lt;String, Serializable&amp;gt; properties, Map&amp;lt;String,String&amp;gt; headers) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;El tiene:&amp;nbsp; public Map&amp;lt;String, Serializable&amp;gt; extractRaw(ContentReader reader) throws Throwable&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;y dentro usa rawProperties en vez del properties mio.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Probare poniendo ese nombre, o coger directamente su extractor y modificarlo para que coja los metadatos que yo necesito.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Gracias por tu respuesta, ya informare cuando haya echo los cambios para ver como me ha ido&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 05 Jan 2012 12:06:17 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/extractor-de-metadatos/m-p/203374#M156504</guid>
      <dc:creator>ruben_arjonilla</dc:creator>
      <dc:date>2012-01-05T12:06:17Z</dc:date>
    </item>
  </channel>
</rss>

