You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Sadeep Jayasumana (JIRA)" <ji...@apache.org> on 2010/11/19 19:12:13 UTC

[jira] Created: (AXIS2-4890) Support for service classes having a Java 5 parameterized type (class/multiple interfaces) as a super type.

Support for service classes having a Java 5 parameterized type (class/multiple interfaces) as a super type.
-----------------------------------------------------------------------------------------------------------

                 Key: AXIS2-4890
                 URL: https://issues.apache.org/jira/browse/AXIS2-4890
             Project: Axis2
          Issue Type: Improvement
          Components: adb, kernel
    Affects Versions: 1.5.3
            Reporter: Sadeep Jayasumana


When a class implements an interface (or extends a class) which is a parameterized type, compiler creates a synthetic method which behaves as a bridge method in order to support sub classing. Axis2 detects this bridge method as an overloaded method and hence does not properly support service classes having parameterized super types.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


[jira] Updated: (AXIS2-4890) Support for service classes having a Java 5 parameterized type (class/multiple interfaces) as a super type.

Posted by "Sadeep Jayasumana (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS2-4890?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sadeep Jayasumana updated AXIS2-4890:
-------------------------------------

    Attachment: patch.txt

Patch attached. Here we skip bridge methods when generating schemas so that they won't be detected as overloaded methods. RPCMessageReceiver is modified to direct the web service call to the actual method by neglecting bridge methods when searching for a candidate method.

> Support for service classes having a Java 5 parameterized type (class/multiple interfaces) as a super type.
> -----------------------------------------------------------------------------------------------------------
>
>                 Key: AXIS2-4890
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4890
>             Project: Axis2
>          Issue Type: Improvement
>          Components: adb, kernel
>    Affects Versions: 1.5.3
>            Reporter: Sadeep Jayasumana
>         Attachments: patch.txt
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> When a class implements an interface (or extends a class) which is a parameterized type, compiler creates a synthetic method which behaves as a bridge method in order to support sub classing. Axis2 detects this bridge method as an overloaded method and hence does not properly support service classes having parameterized super types.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


[jira] Assigned: (AXIS2-4890) Support for service classes having a Java 5 parameterized type (class/multiple interfaces) as a super type.

Posted by "Senaka Fernando (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS2-4890?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Senaka Fernando reassigned AXIS2-4890:
--------------------------------------

    Assignee: Senaka Fernando

> Support for service classes having a Java 5 parameterized type (class/multiple interfaces) as a super type.
> -----------------------------------------------------------------------------------------------------------
>
>                 Key: AXIS2-4890
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4890
>             Project: Axis2
>          Issue Type: Improvement
>          Components: adb, kernel
>    Affects Versions: 1.5.3
>            Reporter: Sadeep Jayasumana
>            Assignee: Senaka Fernando
>         Attachments: patch.txt, patch2.txt
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> When a class implements an interface (or extends a class) which is a parameterized type, compiler creates a synthetic method which behaves as a bridge method in order to support sub classing. Axis2 detects this bridge method as an overloaded method and hence does not properly support service classes having parameterized super types.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


[jira] Updated: (AXIS2-4890) Support for service classes having a Java 5 parameterized type (class/multiple interfaces) as a super type.

Posted by "Sadeep Jayasumana (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS2-4890?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sadeep Jayasumana updated AXIS2-4890:
-------------------------------------

    Attachment: patch2.txt

New patch is attached with some improvements.

> Support for service classes having a Java 5 parameterized type (class/multiple interfaces) as a super type.
> -----------------------------------------------------------------------------------------------------------
>
>                 Key: AXIS2-4890
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4890
>             Project: Axis2
>          Issue Type: Improvement
>          Components: adb, kernel
>    Affects Versions: 1.5.3
>            Reporter: Sadeep Jayasumana
>         Attachments: patch.txt, patch2.txt
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> When a class implements an interface (or extends a class) which is a parameterized type, compiler creates a synthetic method which behaves as a bridge method in order to support sub classing. Axis2 detects this bridge method as an overloaded method and hence does not properly support service classes having parameterized super types.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


[jira] [Updated] (AXIS2-4890) Support for service classes having a Java 5 parameterized type (class/multiple interfaces) as a super type.

Posted by "Sadeep Jayasumana (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS2-4890?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sadeep Jayasumana updated AXIS2-4890:
-------------------------------------

    Description: 
When a class implements an interface (or extends a class) which is a parameterized type, compiler creates a synthetic method which behaves as a bridge method in order to support sub classing. Axis2 detects this bridge method as an overloaded method and hence does not properly support service classes having parameterized super types. For example, axis2 does not support EchoClass below as a service class.

public interface Echo<T> {
    public T echo(T value);
}

public class EchoClass implements Echo<String> {
    public String echo(String value) {
        return value;
    }
}


  was:When a class implements an interface (or extends a class) which is a parameterized type, compiler creates a synthetic method which behaves as a bridge method in order to support sub classing. Axis2 detects this bridge method as an overloaded method and hence does not properly support service classes having parameterized super types.

     Issue Type: New Feature  (was: Improvement)

> Support for service classes having a Java 5 parameterized type (class/multiple interfaces) as a super type.
> -----------------------------------------------------------------------------------------------------------
>
>                 Key: AXIS2-4890
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4890
>             Project: Axis2
>          Issue Type: New Feature
>          Components: adb, kernel
>    Affects Versions: 1.5.3
>            Reporter: Sadeep Jayasumana
>            Assignee: Senaka Fernando
>             Fix For: nightly
>
>         Attachments: patch.txt, patch2.txt
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> When a class implements an interface (or extends a class) which is a parameterized type, compiler creates a synthetic method which behaves as a bridge method in order to support sub classing. Axis2 detects this bridge method as an overloaded method and hence does not properly support service classes having parameterized super types. For example, axis2 does not support EchoClass below as a service class.
> public interface Echo<T> {
>     public T echo(T value);
> }
> public class EchoClass implements Echo<String> {
>     public String echo(String value) {
>         return value;
>     }
> }

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


[jira] Resolved: (AXIS2-4890) Support for service classes having a Java 5 parameterized type (class/multiple interfaces) as a super type.

Posted by "Senaka Fernando (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS2-4890?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Senaka Fernando resolved AXIS2-4890.
------------------------------------

       Resolution: Fixed
    Fix Version/s: nightly

Applied patch. Thanks Sadeep.

Thanks,
Senaka.

> Support for service classes having a Java 5 parameterized type (class/multiple interfaces) as a super type.
> -----------------------------------------------------------------------------------------------------------
>
>                 Key: AXIS2-4890
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4890
>             Project: Axis2
>          Issue Type: Improvement
>          Components: adb, kernel
>    Affects Versions: 1.5.3
>            Reporter: Sadeep Jayasumana
>            Assignee: Senaka Fernando
>             Fix For: nightly
>
>         Attachments: patch.txt, patch2.txt
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> When a class implements an interface (or extends a class) which is a parameterized type, compiler creates a synthetic method which behaves as a bridge method in order to support sub classing. Axis2 detects this bridge method as an overloaded method and hence does not properly support service classes having parameterized super types.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org