You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by "Andrus Adamchik (JIRA)" <ji...@apache.org> on 2013/03/23 08:51:15 UTC

[jira] [Closed] (CAY-1804) Serialisation of long[] type was not working correctly.

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

Andrus Adamchik closed CAY-1804.
--------------------------------

       Resolution: Fixed
    Fix Version/s:     (was: Undefined future)
                   3.1B3

Thanks for the patch. Committed to 3 active branches
                
> Serialisation of long[] type was not working correctly.
> -------------------------------------------------------
>
>                 Key: CAY-1804
>                 URL: https://issues.apache.org/jira/browse/CAY-1804
>             Project: Cayenne
>          Issue Type: Bug
>    Affects Versions: 3.0, 3.1B2
>            Reporter: Kris Erik Schwerdt
>              Labels: patch
>             Fix For: 3.0.3, 3.1B3, 3.2M1
>
>
> When an attribute of type long[] should be written into the database there was just an object reference written.
> Patch for 3.0.x:
> From 5f9d95f1a2f72d7c2c45ed7105b0506ce3e8cf4a Mon Sep 17 00:00:00 2001
> From: Kris Erik Schwerdt <kr...@quantentunnel.de>
> Date: Fri, 22 Mar 2013 15:52:24 +0100
> Subject: [PATCH] BUGFIX: added type long[] correctly.
> The type long[] was not correctly deserialized before, because there was
> missing a line in org.apache.cayenne.util.Util. This line has been added
> now.
> ---
>  .../src/main/java/org/apache/cayenne/util/Util.java                    | 3 +++
>  1 file changed, 3 insertions(+)
> diff --git a/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/util/Util.java b/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/util/Util.java
> index 3a114d4..86dd0d8 100644
> --- a/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/util/Util.java
> +++ b/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/util/Util.java
> @@ -645,6 +645,9 @@ public class Util {
>              else if ("int".equals(className)) {
>                  return int[].class;
>              }
> +           else if ("long".equals(className)) {
> +               return long[].class;
> +           }
>              else if ("short".equals(className)) {
>                  return short[].class;
>              }
> -- 
> 1.8.2
> Patch for trunk:
> From 7afbc06cbf324b5d2e3d27abeef1c04b11a99ec2 Mon Sep 17 00:00:00 2001
> From: Kris Erik Schwerdt <kr...@quantentunnel.de>
> Date: Fri, 22 Mar 2013 16:11:45 +0100
> Subject: [PATCH] BUGFIX: added type long[] correctly.
> The type long[] was not correctly deserialized before, because there was
> missing a line in org.apache.cayenne.di.spi.DefaultAdhocObjectFactory
> and org.apache.cayenne.reflect.PropertyUtils. This line has been added
> now.
> ---
>  .../java/org/apache/cayenne/di/spi/DefaultAdhocObjectFactory.java   | 3 +++
>  .../src/main/java/org/apache/cayenne/reflect/PropertyUtils.java     | 6 ++++++
>  2 files changed, 9 insertions(+)
> diff --git a/framework/cayenne-di-unpublished/src/main/java/org/apache/cayenne/di/spi/DefaultAdhocObjectFactory.java b/framework/cayenne-di-unpublished/src/main/java/org/apache/cayenne/di/spi/DefaultAdhocObjectFactory.java
> index 1e2d4d6..6e91598 100644
> --- a/framework/cayenne-di-unpublished/src/main/java/org/apache/cayenne/di/spi/DefaultAdhocObjectFactory.java
> +++ b/framework/cayenne-di-unpublished/src/main/java/org/apache/cayenne/di/spi/DefaultAdhocObjectFactory.java
> @@ -159,6 +159,9 @@ public class DefaultAdhocObjectFactory implements AdhocObjectFactory {
>              else if ("int".equals(className)) {
>                  return int[].class;
>              }
> +           else if ("long".equals(className)) {
> +               return long[].class;
> +           }
>              else if ("short".equals(className)) {
>                  return short[].class;
>              }
> diff --git a/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/reflect/PropertyUtils.java b/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/reflect/PropertyUtils.java
> index 297eb6f..c37f0e0 100644
> --- a/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/reflect/PropertyUtils.java
> +++ b/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/reflect/PropertyUtils.java
> @@ -276,6 +276,9 @@ public class PropertyUtils {
>              else if ("int".equals(className)) {
>                  return Integer.class;
>              }
> +           else if ("long".equals(className)) {
> +               return Long.class;
> +           }
>              else if ("short".equals(className)) {
>                  return Short.class;
>              }
> @@ -310,6 +313,9 @@ public class PropertyUtils {
>              else if ("int".equals(className)) {
>                  return Integer.valueOf(0);
>              }
> +           else if ("long".equals(className)) {
> +               return Long.valueOf(0);
> +           }
>              else if ("short".equals(className)) {
>                  return Short.valueOf((short) 0);
>              }
> -- 
> 1.8.2

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira