You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Lars W (JIRA)" <ji...@apache.org> on 2018/03/23 13:27:00 UTC

[jira] [Updated] (CONFIGURATION-693) Conversion to File is missing

     [ https://issues.apache.org/jira/browse/CONFIGURATION-693?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Lars W updated CONFIGURATION-693:
---------------------------------
    Attachment: Converter.patch.txt

> Conversion to File is missing
> -----------------------------
>
>                 Key: CONFIGURATION-693
>                 URL: https://issues.apache.org/jira/browse/CONFIGURATION-693
>             Project: Commons Configuration
>          Issue Type: Improvement
>          Components: Type conversion
>    Affects Versions: 2.2
>            Reporter: Lars W
>            Priority: Major
>         Attachments: Converter.patch.txt
>
>
> PropertyConverter.java misses type conversion to File although a string could be easily converted to a File.
> Attaching the patch as a file does not work - I don't know why. So I'll paste it here:
>  
> Index: src/main/java/org/apache/commons/configuration/PropertyConverter.java
> ===================================================================
> --- src/main/java/org/apache/commons/configuration/PropertyConverter.java
> +++ src/main/java/org/apache/commons/configuration/PropertyConverter.java
> @@ -19,6 +19,7 @@
>  package org.apache.commons.configuration2.convert;
>  
>  import java.awt.Color;
> +import java.io.File;
>  import java.lang.reflect.Constructor;
>  import java.lang.reflect.InvocationTargetException;
>  import java.math.BigDecimal;
> @@ -29,6 +30,7 @@
>  import java.net.URISyntaxException;
>  import java.net.URL;
>  import java.net.UnknownHostException;
> +import java.nio.file.Path;
>  import java.text.ParseException;
>  import java.text.SimpleDateFormat;
>  import java.util.Calendar;
> @@ -153,6 +155,10 @@
>          {
>              return toCalendar(value, convHandler.getDateFormat());
>          }
> +        else if (File.class.equals(cls))
> +        {
> +            return toFile(value);
> +        }
>          else if (URI.class.equals(cls))
>          {
>              return toURI(value);
> @@ -477,6 +483,33 @@
>      }
>  
>      /**
> +     * Convert the specified object into a File.
> +     *
> +     * @param value the value to convert
> +     * @return the converted value
> +     * @throws ConversionException thrown if the value cannot be converted to a File
> +     */
> +    public static File toFile(Object value) throws ConversionException
> +    {
> +        if (value instanceof File)
> +        {
> +            return (File) value;
> +        }
> +        else if (value instanceof Path)
> +        {
> +            return ((Path) value).toFile();
> +        }
> +        else if (value instanceof String)
> +        {
> +            return new File((String) value);
> +        }
> +        else
> +        {
> +            throw new ConversionException("The value " + value + " can't be converted to a File");
> +        }
> +    }
> +
> +    /**
>       * Convert the specified object into an URI.
>       *
>       * @param value the value to convert



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)