You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Simone Riccucci (JIRA)" <ji...@apache.org> on 2009/04/21 14:53:47 UTC
[jira] Created: (BEANUTILS-345) BeanUtilsBean.setProperty does not
handle some kind of nested properties
BeanUtilsBean.setProperty does not handle some kind of nested properties
------------------------------------------------------------------------
Key: BEANUTILS-345
URL: https://issues.apache.org/jira/browse/BEANUTILS-345
Project: Commons BeanUtils
Issue Type: Bug
Components: Bean / Property Utils
Affects Versions: 1.8.0
Environment: Windows XP, java 1.6
Reporter: Simone Riccucci
If we have a Bean containing a two dimension array, the method setProperty of class BeanUtilsBean does not work correctly.
Example
public class MyBean {
String [][]matr =new String[][]{{"1","2"},{"3","4"}};
public String[][] getMatr() {
return matr;
}
public void setMatr(String[][] matr) {
this.matr = matr;
}
}
When calling BeanUtilsBean.getInstance().setProperty(myBean, "matr[0][0]","Sample") the method does not set the first element of first array.
I have patched this behaviour adding the line between comment //BEGIN PATCH and //END PATCH to BeanUtilsBean.java
920: // Calculate the property type
921: if (target instanceof DynaBean) {
922: DynaClass dynaClass = ((DynaBean) target).getDynaClass();
923: DynaProperty dynaProperty = dynaClass.getDynaProperty(propName);
924: if (dynaProperty == null) {
925: return; // Skip this property setter
926: }
927: type = dynaProperty.getType();
928: } else if (target instanceof Map) {
929: type = Object.class;
930: // BEGIN PATCH
931: } else if (target.getClass().isArray() && index>=0) {
932: type = Array.get(target, index).getClass();
933: // END PATCH
934: } else {
......
.......
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (BEANUTILS-345) BeanUtilsBean.setProperty does not
handle some kind of nested properties
Posted by "Simone Riccucci (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/BEANUTILS-345?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Simone Riccucci updated BEANUTILS-345:
--------------------------------------
Description:
If we have a Bean containing a two dimension array, the method setProperty of class BeanUtilsBean does not work correctly.
Example
{code:title=MyBean.java|borderStyle=solid}
public class MyBean {
String [][]matr =new String[][]{{"1","2"},{"3","4"}};
public String[][] getMatr() {
return matr;
}
public void setMatr(String[][] matr) {
this.matr = matr;
}
}
{code}
When calling {code:borderStyle=solid} BeanUtilsBean.getInstance().setProperty(myBean, "matr[0][0]","Sample"){code} the method does not set the first element of first array.
I have patched this behaviour adding the line between comment //BEGIN PATCH and //END PATCH to BeanUtilsBean.java
{code:title=BeanUtilsBean.java|borderStyle=solid}
920: // Calculate the property type
921: if (target instanceof DynaBean) {
922: DynaClass dynaClass = ((DynaBean) target).getDynaClass();
923: DynaProperty dynaProperty = dynaClass.getDynaProperty(propName);
924: if (dynaProperty == null) {
925: return; // Skip this property setter
926: }
927: type = dynaProperty.getType();
928: } else if (target instanceof Map) {
929: type = Object.class;
930: // BEGIN PATCH
931: } else if (target.getClass().isArray() && index>=0) {
932: type = Array.get(target, index).getClass();
933: // END PATCH
934: } else {
......
......
{code}
was:
If we have a Bean containing a two dimension array, the method setProperty of class BeanUtilsBean does not work correctly.
Example
{code:title=MyBean.java|borderStyle=solid}
public class MyBean {
String [][]matr =new String[][]{{"1","2"},{"3","4"}};
public String[][] getMatr() {
return matr;
}
public void setMatr(String[][] matr) {
this.matr = matr;
}
}
{code}
When calling {code:borderStyle=solid} BeanUtilsBean.getInstance().setProperty(myBean, "matr[0][0]","Sample"){code} the method does not set the first element of first array.
I have patched this behaviour adding the line between comment //BEGIN PATCH and //END PATCH to BeanUtilsBean.java
{code:borderStyle=solid}
920: // Calculate the property type
921: if (target instanceof DynaBean) {
922: DynaClass dynaClass = ((DynaBean) target).getDynaClass();
923: DynaProperty dynaProperty = dynaClass.getDynaProperty(propName);
924: if (dynaProperty == null) {
925: return; // Skip this property setter
926: }
927: type = dynaProperty.getType();
928: } else if (target instanceof Map) {
929: type = Object.class;
930: // BEGIN PATCH
931: } else if (target.getClass().isArray() && index>=0) {
932: type = Array.get(target, index).getClass();
933: // END PATCH
934: } else {
......
.......
{code}
> BeanUtilsBean.setProperty does not handle some kind of nested properties
> ------------------------------------------------------------------------
>
> Key: BEANUTILS-345
> URL: https://issues.apache.org/jira/browse/BEANUTILS-345
> Project: Commons BeanUtils
> Issue Type: Bug
> Components: Bean / Property Utils
> Affects Versions: 1.8.0
> Environment: Windows XP, java 1.6
> Reporter: Simone Riccucci
>
> If we have a Bean containing a two dimension array, the method setProperty of class BeanUtilsBean does not work correctly.
> Example
> {code:title=MyBean.java|borderStyle=solid}
> public class MyBean {
> String [][]matr =new String[][]{{"1","2"},{"3","4"}};
>
> public String[][] getMatr() {
> return matr;
> }
> public void setMatr(String[][] matr) {
> this.matr = matr;
> }
> }
> {code}
> When calling {code:borderStyle=solid} BeanUtilsBean.getInstance().setProperty(myBean, "matr[0][0]","Sample"){code} the method does not set the first element of first array.
> I have patched this behaviour adding the line between comment //BEGIN PATCH and //END PATCH to BeanUtilsBean.java
> {code:title=BeanUtilsBean.java|borderStyle=solid}
> 920: // Calculate the property type
> 921: if (target instanceof DynaBean) {
> 922: DynaClass dynaClass = ((DynaBean) target).getDynaClass();
> 923: DynaProperty dynaProperty = dynaClass.getDynaProperty(propName);
> 924: if (dynaProperty == null) {
> 925: return; // Skip this property setter
> 926: }
> 927: type = dynaProperty.getType();
> 928: } else if (target instanceof Map) {
> 929: type = Object.class;
> 930: // BEGIN PATCH
> 931: } else if (target.getClass().isArray() && index>=0) {
> 932: type = Array.get(target, index).getClass();
> 933: // END PATCH
> 934: } else {
> ......
> ......
> {code}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Resolved: (BEANUTILS-345) BeanUtilsBean.setProperty does not
handle some kind of nested properties
Posted by "Niall Pemberton (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/BEANUTILS-345?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Niall Pemberton resolved BEANUTILS-345.
---------------------------------------
Resolution: Fixed
Fix Version/s: 1.8.1
Assignee: Niall Pemberton
I agree with your suggestion - thanks for the patch, I have fixed this:
http://svn.apache.org/viewvc?view=rev&revision=822308
> BeanUtilsBean.setProperty does not handle some kind of nested properties
> ------------------------------------------------------------------------
>
> Key: BEANUTILS-345
> URL: https://issues.apache.org/jira/browse/BEANUTILS-345
> Project: Commons BeanUtils
> Issue Type: Bug
> Components: Bean / Property Utils
> Affects Versions: 1.8.0
> Environment: Windows XP, java 1.6
> Reporter: Simone Riccucci
> Assignee: Niall Pemberton
> Fix For: 1.8.1
>
>
> If we have a Bean containing a two dimension array, the method setProperty of class BeanUtilsBean does not work correctly.
> Example
> {code:title=MyBean.java|borderStyle=solid}
> public class MyBean {
> String [][]matr =new String[][]{{"1","2"},{"3","4"}};
>
> public String[][] getMatr() {
> return matr;
> }
> public void setMatr(String[][] matr) {
> this.matr = matr;
> }
> }
> {code}
> When calling {code:borderStyle=solid} BeanUtilsBean.getInstance().setProperty(myBean, "matr[0][0]","Sample"){code} the method does not set the first element of first array.
> I have patched this behaviour adding the line between comment //BEGIN PATCH and //END PATCH to BeanUtilsBean.java
> {code:title=BeanUtilsBean.java|borderStyle=solid}
> 920: // Calculate the property type
> 921: if (target instanceof DynaBean) {
> 922: DynaClass dynaClass = ((DynaBean) target).getDynaClass();
> 923: DynaProperty dynaProperty = dynaClass.getDynaProperty(propName);
> 924: if (dynaProperty == null) {
> 925: return; // Skip this property setter
> 926: }
> 927: type = dynaProperty.getType();
> 928: } else if (target instanceof Map) {
> 929: type = Object.class;
> 930: // BEGIN PATCH
> 931: } else if (target.getClass().isArray() && index>=0) {
> 932: type = Array.get(target, index).getClass();
> 933: // END PATCH
> 934: } else {
> ......
> ......
> {code}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (BEANUTILS-345) BeanUtilsBean.setProperty does not
handle some kind of nested properties
Posted by "Simone Riccucci (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/BEANUTILS-345?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Simone Riccucci updated BEANUTILS-345:
--------------------------------------
Description:
If we have a Bean containing a two dimension array, the method setProperty of class BeanUtilsBean does not work correctly.
Example
{code:title=MyBean.java|borderStyle=solid}
public class MyBean {
String [][]matr =new String[][]{{"1","2"},{"3","4"}};
public String[][] getMatr() {
return matr;
}
public void setMatr(String[][] matr) {
this.matr = matr;
}
}
{code}
When calling BeanUtilsBean.getInstance().setProperty(myBean, "matr[0][0]","Sample") the method does not set the first element of first array.
I have patched this behaviour adding the line between comment //BEGIN PATCH and //END PATCH to BeanUtilsBean.java
{code:borderStyle=solid}
920: // Calculate the property type
921: if (target instanceof DynaBean) {
922: DynaClass dynaClass = ((DynaBean) target).getDynaClass();
923: DynaProperty dynaProperty = dynaClass.getDynaProperty(propName);
924: if (dynaProperty == null) {
925: return; // Skip this property setter
926: }
927: type = dynaProperty.getType();
928: } else if (target instanceof Map) {
929: type = Object.class;
930: // BEGIN PATCH
931: } else if (target.getClass().isArray() && index>=0) {
932: type = Array.get(target, index).getClass();
933: // END PATCH
934: } else {
......
.......
{code}
was:
If we have a Bean containing a two dimension array, the method setProperty of class BeanUtilsBean does not work correctly.
Example
{code:title=MyBean.java|borderStyle=solid}
public class MyBean {
String [][]matr =new String[][]{{"1","2"},{"3","4"}};
public String[][] getMatr() {
return matr;
}
public void setMatr(String[][] matr) {
this.matr = matr;
}
}
{code}
When calling BeanUtilsBean.getInstance().setProperty(myBean, "matr[0][0]","Sample") the method does not set the first element of first array.
I have patched this behaviour adding the line between comment //BEGIN PATCH and //END PATCH to BeanUtilsBean.java
{code:title=borderStyle=solid}
920: // Calculate the property type
921: if (target instanceof DynaBean) {
922: DynaClass dynaClass = ((DynaBean) target).getDynaClass();
923: DynaProperty dynaProperty = dynaClass.getDynaProperty(propName);
924: if (dynaProperty == null) {
925: return; // Skip this property setter
926: }
927: type = dynaProperty.getType();
928: } else if (target instanceof Map) {
929: type = Object.class;
930: // BEGIN PATCH
931: } else if (target.getClass().isArray() && index>=0) {
932: type = Array.get(target, index).getClass();
933: // END PATCH
934: } else {
......
.......
{code}
> BeanUtilsBean.setProperty does not handle some kind of nested properties
> ------------------------------------------------------------------------
>
> Key: BEANUTILS-345
> URL: https://issues.apache.org/jira/browse/BEANUTILS-345
> Project: Commons BeanUtils
> Issue Type: Bug
> Components: Bean / Property Utils
> Affects Versions: 1.8.0
> Environment: Windows XP, java 1.6
> Reporter: Simone Riccucci
>
> If we have a Bean containing a two dimension array, the method setProperty of class BeanUtilsBean does not work correctly.
> Example
> {code:title=MyBean.java|borderStyle=solid}
> public class MyBean {
> String [][]matr =new String[][]{{"1","2"},{"3","4"}};
>
> public String[][] getMatr() {
> return matr;
> }
> public void setMatr(String[][] matr) {
> this.matr = matr;
> }
> }
> {code}
> When calling BeanUtilsBean.getInstance().setProperty(myBean, "matr[0][0]","Sample") the method does not set the first element of first array.
> I have patched this behaviour adding the line between comment //BEGIN PATCH and //END PATCH to BeanUtilsBean.java
> {code:borderStyle=solid}
> 920: // Calculate the property type
> 921: if (target instanceof DynaBean) {
> 922: DynaClass dynaClass = ((DynaBean) target).getDynaClass();
> 923: DynaProperty dynaProperty = dynaClass.getDynaProperty(propName);
> 924: if (dynaProperty == null) {
> 925: return; // Skip this property setter
> 926: }
> 927: type = dynaProperty.getType();
> 928: } else if (target instanceof Map) {
> 929: type = Object.class;
> 930: // BEGIN PATCH
> 931: } else if (target.getClass().isArray() && index>=0) {
> 932: type = Array.get(target, index).getClass();
> 933: // END PATCH
> 934: } else {
> ......
> .......
> {code}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (BEANUTILS-345) BeanUtilsBean.setProperty does not
handle some kind of nested properties
Posted by "Simone Riccucci (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/BEANUTILS-345?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Simone Riccucci updated BEANUTILS-345:
--------------------------------------
Description:
If we have a Bean containing a two dimension array, the method setProperty of class BeanUtilsBean does not work correctly.
Example
{code:title=MyBean.java|borderStyle=solid}
public class MyBean {
String [][]matr =new String[][]{{"1","2"},{"3","4"}};
public String[][] getMatr() {
return matr;
}
public void setMatr(String[][] matr) {
this.matr = matr;
}
}
{code}
When calling BeanUtilsBean.getInstance().setProperty(myBean, "matr[0][0]","Sample") the method does not set the first element of first array.
I have patched this behaviour adding the line between comment //BEGIN PATCH and //END PATCH to BeanUtilsBean.java
{code:title=borderStyle=solid}
920: // Calculate the property type
921: if (target instanceof DynaBean) {
922: DynaClass dynaClass = ((DynaBean) target).getDynaClass();
923: DynaProperty dynaProperty = dynaClass.getDynaProperty(propName);
924: if (dynaProperty == null) {
925: return; // Skip this property setter
926: }
927: type = dynaProperty.getType();
928: } else if (target instanceof Map) {
929: type = Object.class;
930: // BEGIN PATCH
931: } else if (target.getClass().isArray() && index>=0) {
932: type = Array.get(target, index).getClass();
933: // END PATCH
934: } else {
......
.......
{code}
was:
If we have a Bean containing a two dimension array, the method setProperty of class BeanUtilsBean does not work correctly.
Example
public class MyBean {
String [][]matr =new String[][]{{"1","2"},{"3","4"}};
public String[][] getMatr() {
return matr;
}
public void setMatr(String[][] matr) {
this.matr = matr;
}
}
When calling BeanUtilsBean.getInstance().setProperty(myBean, "matr[0][0]","Sample") the method does not set the first element of first array.
I have patched this behaviour adding the line between comment //BEGIN PATCH and //END PATCH to BeanUtilsBean.java
920: // Calculate the property type
921: if (target instanceof DynaBean) {
922: DynaClass dynaClass = ((DynaBean) target).getDynaClass();
923: DynaProperty dynaProperty = dynaClass.getDynaProperty(propName);
924: if (dynaProperty == null) {
925: return; // Skip this property setter
926: }
927: type = dynaProperty.getType();
928: } else if (target instanceof Map) {
929: type = Object.class;
930: // BEGIN PATCH
931: } else if (target.getClass().isArray() && index>=0) {
932: type = Array.get(target, index).getClass();
933: // END PATCH
934: } else {
......
.......
> BeanUtilsBean.setProperty does not handle some kind of nested properties
> ------------------------------------------------------------------------
>
> Key: BEANUTILS-345
> URL: https://issues.apache.org/jira/browse/BEANUTILS-345
> Project: Commons BeanUtils
> Issue Type: Bug
> Components: Bean / Property Utils
> Affects Versions: 1.8.0
> Environment: Windows XP, java 1.6
> Reporter: Simone Riccucci
>
> If we have a Bean containing a two dimension array, the method setProperty of class BeanUtilsBean does not work correctly.
> Example
> {code:title=MyBean.java|borderStyle=solid}
> public class MyBean {
> String [][]matr =new String[][]{{"1","2"},{"3","4"}};
>
> public String[][] getMatr() {
> return matr;
> }
> public void setMatr(String[][] matr) {
> this.matr = matr;
> }
> }
> {code}
> When calling BeanUtilsBean.getInstance().setProperty(myBean, "matr[0][0]","Sample") the method does not set the first element of first array.
> I have patched this behaviour adding the line between comment //BEGIN PATCH and //END PATCH to BeanUtilsBean.java
> {code:title=borderStyle=solid}
> 920: // Calculate the property type
> 921: if (target instanceof DynaBean) {
> 922: DynaClass dynaClass = ((DynaBean) target).getDynaClass();
> 923: DynaProperty dynaProperty = dynaClass.getDynaProperty(propName);
> 924: if (dynaProperty == null) {
> 925: return; // Skip this property setter
> 926: }
> 927: type = dynaProperty.getType();
> 928: } else if (target instanceof Map) {
> 929: type = Object.class;
> 930: // BEGIN PATCH
> 931: } else if (target.getClass().isArray() && index>=0) {
> 932: type = Array.get(target, index).getClass();
> 933: // END PATCH
> 934: } else {
> ......
> .......
> {code}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (BEANUTILS-345) BeanUtilsBean.setProperty does not
handle some kind of nested properties
Posted by "Simone Riccucci (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/BEANUTILS-345?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Simone Riccucci updated BEANUTILS-345:
--------------------------------------
Description:
If we have a Bean containing a two dimension array, the method setProperty of class BeanUtilsBean does not work correctly.
Example
{code:title=MyBean.java|borderStyle=solid}
public class MyBean {
String [][]matr =new String[][]{{"1","2"},{"3","4"}};
public String[][] getMatr() {
return matr;
}
public void setMatr(String[][] matr) {
this.matr = matr;
}
}
{code}
When calling {code:borderStyle=solid} BeanUtilsBean.getInstance().setProperty(myBean, "matr[0][0]","Sample"){code} the method does not set the first element of first array.
I have patched this behaviour adding the line between comment //BEGIN PATCH and //END PATCH to BeanUtilsBean.java
{code:borderStyle=solid}
920: // Calculate the property type
921: if (target instanceof DynaBean) {
922: DynaClass dynaClass = ((DynaBean) target).getDynaClass();
923: DynaProperty dynaProperty = dynaClass.getDynaProperty(propName);
924: if (dynaProperty == null) {
925: return; // Skip this property setter
926: }
927: type = dynaProperty.getType();
928: } else if (target instanceof Map) {
929: type = Object.class;
930: // BEGIN PATCH
931: } else if (target.getClass().isArray() && index>=0) {
932: type = Array.get(target, index).getClass();
933: // END PATCH
934: } else {
......
.......
{code}
was:
If we have a Bean containing a two dimension array, the method setProperty of class BeanUtilsBean does not work correctly.
Example
{code:title=MyBean.java|borderStyle=solid}
public class MyBean {
String [][]matr =new String[][]{{"1","2"},{"3","4"}};
public String[][] getMatr() {
return matr;
}
public void setMatr(String[][] matr) {
this.matr = matr;
}
}
{code}
When calling BeanUtilsBean.getInstance().setProperty(myBean, "matr[0][0]","Sample") the method does not set the first element of first array.
I have patched this behaviour adding the line between comment //BEGIN PATCH and //END PATCH to BeanUtilsBean.java
{code:borderStyle=solid}
920: // Calculate the property type
921: if (target instanceof DynaBean) {
922: DynaClass dynaClass = ((DynaBean) target).getDynaClass();
923: DynaProperty dynaProperty = dynaClass.getDynaProperty(propName);
924: if (dynaProperty == null) {
925: return; // Skip this property setter
926: }
927: type = dynaProperty.getType();
928: } else if (target instanceof Map) {
929: type = Object.class;
930: // BEGIN PATCH
931: } else if (target.getClass().isArray() && index>=0) {
932: type = Array.get(target, index).getClass();
933: // END PATCH
934: } else {
......
.......
{code}
> BeanUtilsBean.setProperty does not handle some kind of nested properties
> ------------------------------------------------------------------------
>
> Key: BEANUTILS-345
> URL: https://issues.apache.org/jira/browse/BEANUTILS-345
> Project: Commons BeanUtils
> Issue Type: Bug
> Components: Bean / Property Utils
> Affects Versions: 1.8.0
> Environment: Windows XP, java 1.6
> Reporter: Simone Riccucci
>
> If we have a Bean containing a two dimension array, the method setProperty of class BeanUtilsBean does not work correctly.
> Example
> {code:title=MyBean.java|borderStyle=solid}
> public class MyBean {
> String [][]matr =new String[][]{{"1","2"},{"3","4"}};
>
> public String[][] getMatr() {
> return matr;
> }
> public void setMatr(String[][] matr) {
> this.matr = matr;
> }
> }
> {code}
> When calling {code:borderStyle=solid} BeanUtilsBean.getInstance().setProperty(myBean, "matr[0][0]","Sample"){code} the method does not set the first element of first array.
> I have patched this behaviour adding the line between comment //BEGIN PATCH and //END PATCH to BeanUtilsBean.java
> {code:borderStyle=solid}
> 920: // Calculate the property type
> 921: if (target instanceof DynaBean) {
> 922: DynaClass dynaClass = ((DynaBean) target).getDynaClass();
> 923: DynaProperty dynaProperty = dynaClass.getDynaProperty(propName);
> 924: if (dynaProperty == null) {
> 925: return; // Skip this property setter
> 926: }
> 927: type = dynaProperty.getType();
> 928: } else if (target instanceof Map) {
> 929: type = Object.class;
> 930: // BEGIN PATCH
> 931: } else if (target.getClass().isArray() && index>=0) {
> 932: type = Array.get(target, index).getClass();
> 933: // END PATCH
> 934: } else {
> ......
> .......
> {code}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.