Bug 1007266

Summary: org.apache.commons.beanutils.PropertyUtilsBean throws java.lang.NoSuchMethodException
Product: Red Hat Enterprise Virtualization Manager Reporter: Ilia Meerovich <iliam>
Component: ovirt-engine-sdk-javaAssignee: Juan Hernández <juan.hernandez>
Status: CLOSED CURRENTRELEASE QA Contact: Ilia Meerovich <iliam>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 3.3.0CC: aberezin, iliam, juan.hernandez, oramraz, srevivo, yeylon
Target Milestone: ---   
Target Release: 3.3.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: infra
Fixed In Version: is15 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-01-21 22:11:50 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: Infra RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Ilia Meerovich 2013-09-12 08:16:33 UTC
org.apache.commons.beanutils.PropertyUtilsBean throws java.lang.NoSuchMethodException.

For example run:
import java.io.IOException;

import org.apache.http.client.ClientProtocolException;
import org.ovirt.engine.sdk.Api;
import org.ovirt.engine.sdk.exceptions.ServerException;
import org.ovirt.engine.sdk.exceptions.UnsecuredConnectionAttemptError;


public class Foo {
        private static final String URL = "https://*****:443/api";

    public static void main(String[] args) throws ClientProtocolException, ServerException,
            UnsecuredConnectionAttemptError, IOException {
        Api api = new Api(URL, "admin@internal", "*****", true);
       	System.out.print(api.getHosts().list().get(0).getRebootAfterInstallation());
    }
}

and you will see:
java.lang.NoSuchMethodException: Property 'links' has no setter method in class 'class org.ovirt.engine.sdk.decorators.Host'null
	at org.apache.commons.beanutils.PropertyUtilsBean.setSimpleProperty(PropertyUtilsBean.java:2138)
	at org.apache.commons.beanutils.PropertyUtilsBean.setNestedProperty(PropertyUtilsBean.java:1957)
	at org.apache.commons.beanutils.PropertyUtilsBean.setProperty(PropertyUtilsBean.java:2064)
	at org.apache.commons.beanutils.PropertyUtils.setProperty(PropertyUtils.java:858)
	at org.ovirt.engine.sdk.mapping.Mapper.excludeExceptions(Mapper.java:91)
	at org.ovirt.engine.sdk.mapping.Mapper.map(Mapper.java:58)
	at org.ovirt.engine.sdk.common.CollectionDecorator.unmarshall(CollectionDecorator.java:185)
	at org.ovirt.engine.sdk.common.CollectionDecorator.list(CollectionDecorator.java:164)
	at org.ovirt.engine.sdk.common.CollectionDecorator.list(CollectionDecorator.java:137)
	at org.ovirt.engine.sdk.decorators.Hosts.list(Hosts.java:75)
	at debugRemove.main(debugRemove.java:15)

Comment 1 Ilia Meerovich 2013-09-12 08:19:05 UTC
build is14

Comment 2 Michael Pasternak 2013-09-12 08:33:15 UTC
even if we'll file a bug for PropertyUtilsBean, it won't be addressed in any near
feature, so i'll provide a workaround in sdk,

Ilia,

can you please run all your tests and check if the only place where 
PropertyUtilsBean.setSimpleProperty fails is a 'links' property?

thanks.

Comment 4 Ilia Meerovich 2013-09-17 15:51:22 UTC
verified with is15

Comment 6 Itamar Heim 2014-01-21 22:11:50 UTC
Closing - RHEV 3.3 Released