You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Michal Kutyla (JIRA)" <ji...@apache.org> on 2011/06/01 11:49:47 UTC

[jira] [Created] (DOSGI-95) CLONE - org.apache.cxf.dosgi.dsw.ClassUtils#getInterfaceClass() method should search through super class interfaces too

CLONE - org.apache.cxf.dosgi.dsw.ClassUtils#getInterfaceClass() method should search through super class interfaces too
-----------------------------------------------------------------------------------------------------------------------

                 Key: DOSGI-95
                 URL: https://issues.apache.org/jira/browse/DOSGI-95
             Project: CXF Distributed OSGi
          Issue Type: Bug
         Environment: any
            Reporter: Michal Kutyla
            Assignee: David Bosschaert
            Priority: Minor
             Fix For: 1.2


ServiceHookUtils won't publish OSGi service if service interface implemented by super class. For example, java.util.ArrayList instance can be published as java.util.List service but not as java.util.Collections: 

    <osgi:service interface="java.util.Collection"> <!-- can't publish-->
        <osgi:service-properties>
            <entry key="osgi.remote.interfaces" value="*"/>
            <entry key="osgi.remote.configuration.type" value="pojo"/>
            <entry key="osgi.remote.configuration.pojo.httpservice.context" value="/collection"/>
        </osgi:service-properties>
        <bean class="java.util.ArrayList"/>
    </osgi:service>

    <osgi:service interface="java.util.List"> <!-- published ok-->
        <osgi:service-properties>
            <entry key="osgi.remote.interfaces" value="*"/>
            <entry key="osgi.remote.configuration.type" value="pojo"/>
            <entry key="osgi.remote.configuration.pojo.httpservice.context" value="/list"/>
        </osgi:service-properties>
        <bean class="java.util.ArrayList"/>
    </osgi:service>



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

[jira] [Resolved] (DOSGI-95) CLONE - org.apache.cxf.dosgi.dsw.ClassUtils#getInterfaceClass() method should search through super class interfaces too

Posted by "Sergey Beryozkin (Resolved) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/DOSGI-95?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sergey Beryozkin resolved DOSGI-95.
-----------------------------------

       Resolution: Duplicate
    Fix Version/s: 1.3

Patch is available in DOSGI-94
                
> CLONE - org.apache.cxf.dosgi.dsw.ClassUtils#getInterfaceClass() method should search through super class interfaces too
> -----------------------------------------------------------------------------------------------------------------------
>
>                 Key: DOSGI-95
>                 URL: https://issues.apache.org/jira/browse/DOSGI-95
>             Project: CXF Distributed OSGi
>          Issue Type: Bug
>         Environment: any
>            Reporter: Michal Kutyla
>            Assignee: Sergey Beryozkin
>            Priority: Minor
>             Fix For: 1.3, 1.2
>
>
> The solution applied to the original issue is not fully correct.
> It will work if service interface is extended by other INTERFACE(so does in example with ArrayList and Collection). 
> It won't work if service interface is implemented by super CLASS.
> I couldn't find example in JDK so imagine that you have:
> class A extends B {...}
> class B implements C {...}
> interface C {...}
> Now, when you call ClassUtils.getInterfaceClass(new A(), "C") it will return null.
> A workaround for this issue is to declare:
> class A extends B implements C {...}.

--
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

        

[jira] [Updated] (DOSGI-95) CLONE - org.apache.cxf.dosgi.dsw.ClassUtils#getInterfaceClass() method should search through super class interfaces too

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

Michal Kutyla updated DOSGI-95:
-------------------------------

    Description: 
The solution applied to original issue is not fully correct.

It will work if service interface is extended by other INTERFACE(so does in example with ArrayList and Collection). 
It won't work if service interface is implemented by super CLASS.
I couldn't find example in JDK so imagine that you have:

class A extends B {...}
class B implements C {...}
interface C {...}

Now, when you call Classutils.getInterfaceClass(new A(), "C") it will return null.

A workaround for this issue is to declare:
class A extends B implements C {...}.

  was:
The solution applied to issue is not fully correct.

It will work if service interface is extended by other INTERFACE(so does in example with ArrayList and Collection). 
It won't work if service interface is implemented by super CLASS.
I couldn't find example in JDK so imagine that you have:

class A extends B {...}
class B implements C {...}
interface C {...}

Now, when you call Classutils.getInterfaceClass(new A(), "C") it will return null.

A workaround for this issue is to declare:
class A extends B implements C {...}.


> CLONE - org.apache.cxf.dosgi.dsw.ClassUtils#getInterfaceClass() method should search through super class interfaces too
> -----------------------------------------------------------------------------------------------------------------------
>
>                 Key: DOSGI-95
>                 URL: https://issues.apache.org/jira/browse/DOSGI-95
>             Project: CXF Distributed OSGi
>          Issue Type: Bug
>         Environment: any
>            Reporter: Michal Kutyla
>            Assignee: David Bosschaert
>            Priority: Minor
>             Fix For: 1.2
>
>
> The solution applied to original issue is not fully correct.
> It will work if service interface is extended by other INTERFACE(so does in example with ArrayList and Collection). 
> It won't work if service interface is implemented by super CLASS.
> I couldn't find example in JDK so imagine that you have:
> class A extends B {...}
> class B implements C {...}
> interface C {...}
> Now, when you call Classutils.getInterfaceClass(new A(), "C") it will return null.
> A workaround for this issue is to declare:
> class A extends B implements C {...}.

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

[jira] [Updated] (DOSGI-95) CLONE - org.apache.cxf.dosgi.dsw.ClassUtils#getInterfaceClass() method should search through super class interfaces too

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

Michal Kutyla updated DOSGI-95:
-------------------------------

    Description: 
The solution applied to the original issue is not fully correct.

It will work if service interface is extended by other INTERFACE(so does in example with ArrayList and Collection). 
It won't work if service interface is implemented by super CLASS.
I couldn't find example in JDK so imagine that you have:

class A extends B {...}
class B implements C {...}
interface C {...}

Now, when you call ClassUtils.getInterfaceClass(new A(), "C") it will return null.

A workaround for this issue is to declare:
class A extends B implements C {...}.

  was:
The solution applied to the original issue is not fully correct.

It will work if service interface is extended by other INTERFACE(so does in example with ArrayList and Collection). 
It won't work if service interface is implemented by super CLASS.
I couldn't find example in JDK so imagine that you have:

class A extends B {...}
class B implements C {...}
interface C {...}

Now, when you call Classutils.getInterfaceClass(new A(), "C") it will return null.

A workaround for this issue is to declare:
class A extends B implements C {...}.


> CLONE - org.apache.cxf.dosgi.dsw.ClassUtils#getInterfaceClass() method should search through super class interfaces too
> -----------------------------------------------------------------------------------------------------------------------
>
>                 Key: DOSGI-95
>                 URL: https://issues.apache.org/jira/browse/DOSGI-95
>             Project: CXF Distributed OSGi
>          Issue Type: Bug
>         Environment: any
>            Reporter: Michal Kutyla
>            Assignee: David Bosschaert
>            Priority: Minor
>             Fix For: 1.2
>
>
> The solution applied to the original issue is not fully correct.
> It will work if service interface is extended by other INTERFACE(so does in example with ArrayList and Collection). 
> It won't work if service interface is implemented by super CLASS.
> I couldn't find example in JDK so imagine that you have:
> class A extends B {...}
> class B implements C {...}
> interface C {...}
> Now, when you call ClassUtils.getInterfaceClass(new A(), "C") it will return null.
> A workaround for this issue is to declare:
> class A extends B implements C {...}.

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

[jira] [Updated] (DOSGI-95) CLONE - org.apache.cxf.dosgi.dsw.ClassUtils#getInterfaceClass() method should search through super class interfaces too

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

Michal Kutyla updated DOSGI-95:
-------------------------------

    Description: 
The solution applied to issue is not fully correct.

It will work if service interface is extended by other INTERFACE(so does in example with ArrayList and Collection). 
It won't work if service interface is implemented by super CLASS.
I couldn't find example in JDK so imagine that you have:

class A extends B {...}
class B implements C {...}
interface C {...}

Now, when you call Classutils.getInterfaceClass(new A(), "C") it will return null.

A workaround for this issue is to declare:
class A extends B implements C {...}.

  was:
ServiceHookUtils won't publish OSGi service if service interface implemented by super class. For example, java.util.ArrayList instance can be published as java.util.List service but not as java.util.Collections: 

    <osgi:service interface="java.util.Collection"> <!-- can't publish-->
        <osgi:service-properties>
            <entry key="osgi.remote.interfaces" value="*"/>
            <entry key="osgi.remote.configuration.type" value="pojo"/>
            <entry key="osgi.remote.configuration.pojo.httpservice.context" value="/collection"/>
        </osgi:service-properties>
        <bean class="java.util.ArrayList"/>
    </osgi:service>

    <osgi:service interface="java.util.List"> <!-- published ok-->
        <osgi:service-properties>
            <entry key="osgi.remote.interfaces" value="*"/>
            <entry key="osgi.remote.configuration.type" value="pojo"/>
            <entry key="osgi.remote.configuration.pojo.httpservice.context" value="/list"/>
        </osgi:service-properties>
        <bean class="java.util.ArrayList"/>
    </osgi:service>




> CLONE - org.apache.cxf.dosgi.dsw.ClassUtils#getInterfaceClass() method should search through super class interfaces too
> -----------------------------------------------------------------------------------------------------------------------
>
>                 Key: DOSGI-95
>                 URL: https://issues.apache.org/jira/browse/DOSGI-95
>             Project: CXF Distributed OSGi
>          Issue Type: Bug
>         Environment: any
>            Reporter: Michal Kutyla
>            Assignee: David Bosschaert
>            Priority: Minor
>             Fix For: 1.2
>
>
> The solution applied to issue is not fully correct.
> It will work if service interface is extended by other INTERFACE(so does in example with ArrayList and Collection). 
> It won't work if service interface is implemented by super CLASS.
> I couldn't find example in JDK so imagine that you have:
> class A extends B {...}
> class B implements C {...}
> interface C {...}
> Now, when you call Classutils.getInterfaceClass(new A(), "C") it will return null.
> A workaround for this issue is to declare:
> class A extends B implements C {...}.

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

[jira] [Assigned] (DOSGI-95) CLONE - org.apache.cxf.dosgi.dsw.ClassUtils#getInterfaceClass() method should search through super class interfaces too

Posted by "Sergey Beryozkin (Assigned) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/DOSGI-95?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sergey Beryozkin reassigned DOSGI-95:
-------------------------------------

    Assignee: Sergey Beryozkin  (was: David Bosschaert)
    
> CLONE - org.apache.cxf.dosgi.dsw.ClassUtils#getInterfaceClass() method should search through super class interfaces too
> -----------------------------------------------------------------------------------------------------------------------
>
>                 Key: DOSGI-95
>                 URL: https://issues.apache.org/jira/browse/DOSGI-95
>             Project: CXF Distributed OSGi
>          Issue Type: Bug
>         Environment: any
>            Reporter: Michal Kutyla
>            Assignee: Sergey Beryozkin
>            Priority: Minor
>             Fix For: 1.2
>
>
> The solution applied to the original issue is not fully correct.
> It will work if service interface is extended by other INTERFACE(so does in example with ArrayList and Collection). 
> It won't work if service interface is implemented by super CLASS.
> I couldn't find example in JDK so imagine that you have:
> class A extends B {...}
> class B implements C {...}
> interface C {...}
> Now, when you call ClassUtils.getInterfaceClass(new A(), "C") it will return null.
> A workaround for this issue is to declare:
> class A extends B implements C {...}.

--
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

        

[jira] [Updated] (DOSGI-95) CLONE - org.apache.cxf.dosgi.dsw.ClassUtils#getInterfaceClass() method should search through super class interfaces too

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

Michal Kutyla updated DOSGI-95:
-------------------------------

    Description: 
The solution applied to the original issue is not fully correct.

It will work if service interface is extended by other INTERFACE(so does in example with ArrayList and Collection). 
It won't work if service interface is implemented by super CLASS.
I couldn't find example in JDK so imagine that you have:

class A extends B {...}
class B implements C {...}
interface C {...}

Now, when you call Classutils.getInterfaceClass(new A(), "C") it will return null.

A workaround for this issue is to declare:
class A extends B implements C {...}.

  was:
The solution applied to original issue is not fully correct.

It will work if service interface is extended by other INTERFACE(so does in example with ArrayList and Collection). 
It won't work if service interface is implemented by super CLASS.
I couldn't find example in JDK so imagine that you have:

class A extends B {...}
class B implements C {...}
interface C {...}

Now, when you call Classutils.getInterfaceClass(new A(), "C") it will return null.

A workaround for this issue is to declare:
class A extends B implements C {...}.


> CLONE - org.apache.cxf.dosgi.dsw.ClassUtils#getInterfaceClass() method should search through super class interfaces too
> -----------------------------------------------------------------------------------------------------------------------
>
>                 Key: DOSGI-95
>                 URL: https://issues.apache.org/jira/browse/DOSGI-95
>             Project: CXF Distributed OSGi
>          Issue Type: Bug
>         Environment: any
>            Reporter: Michal Kutyla
>            Assignee: David Bosschaert
>            Priority: Minor
>             Fix For: 1.2
>
>
> The solution applied to the original issue is not fully correct.
> It will work if service interface is extended by other INTERFACE(so does in example with ArrayList and Collection). 
> It won't work if service interface is implemented by super CLASS.
> I couldn't find example in JDK so imagine that you have:
> class A extends B {...}
> class B implements C {...}
> interface C {...}
> Now, when you call Classutils.getInterfaceClass(new A(), "C") it will return null.
> A workaround for this issue is to declare:
> class A extends B implements C {...}.

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