[
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