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

Sergey Beryozkin resolved CXF-4379.
-----------------------------------

       Resolution: Fixed
    Fix Version/s: 2.7.0
                   2.6.2
                   2.5.5
                   2.4.9
         Assignee: Sergey Beryozkin
    
> InjectionUtils failes to convert path-value to class annotated with 
> XmlJavaTypeAdapter
> --------------------------------------------------------------------------------------
>
>                 Key: CXF-4379
>                 URL: https://issues.apache.org/jira/browse/CXF-4379
>             Project: CXF
>          Issue Type: Bug
>          Components: JAX-RS
>    Affects Versions: 2.5.4, 2.6.1
>            Reporter: Erling Holmqvist
>            Assignee: Sergey Beryozkin
>             Fix For: 2.4.9, 2.5.5, 2.6.2, 2.7.0
>
>
> {code:java}
> package no.nrk.panorama.serum;
> import static org.fest.assertions.Assertions.assertThat;
> import java.lang.annotation.Annotation;
> import javax.xml.bind.annotation.adapters.XmlAdapter;
> import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
> import org.apache.cxf.jaxrs.model.ParameterType;
> import org.apache.cxf.jaxrs.utils.InjectionUtils;
> import org.apache.cxf.message.MessageImpl;
> import org.junit.Test;
> public class CXFInjectionUtilsJUnitTest {
>       public static class Adapter extends XmlAdapter<String, Id> {
>               @Override
>               public String marshal(final Id id) throws Exception {
>                       return id.getId();
>               }
>               @Override
>               public Id unmarshal(final String idStr) throws Exception {
>                       Id id = new DelegatingId();
>                       id.setId(idStr);
>                       return id;
>               }
>       }
>       @XmlJavaTypeAdapter(Adapter.class)
>       public interface Id {
>               public String getId();
>               public void setId(String id);
>       }
>       public static class DelegatingId implements Id {
>               private String id;
>               public String getId() {
>                       return this.id;
>               }
>               public void setId(String id) {
>                       this.id = id;
>               }
>       }
>       @Test
>       public void 
> handleParameter_givenValidInput_shouldReturnIdWithCorrectValue() throws 
> Exception {
>               // Arrange
>               String value = "1.1";
>               // Act
>               Object id = InjectionUtils.handleParameter(value, true, 
> Id.class, new Annotation[] {}, ParameterType.PATH,
>                     new MessageImpl());
>               // Assert
>               assertThat(id).isInstanceOf(Id.class);
>               assertThat(((Id)id).getId()).isEqualTo(value);
>       }
> }
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to