Hi again Rob,
I'm a bit befuddled. I'm seeing a bunch of errors like:


[javac] /home/fadams/qpid/qpid-trunk/qpid/tools/src/java/src/qpid-broker-plugins-management-qmf2/java/org/apache/qpid/server/qmf2/QmfManagementAgent.java:218: incompatible types
    [javac] found   : java.lang.Object
    [javac] required: org.apache.qpid.server.model.VirtualHost
    [javac]         for (VirtualHost vhost : _broker.getVirtualHosts())
[javac]                                                         ^
[javac] /home/fadams/qpid/qpid-trunk/qpid/tools/src/java/src/qpid-broker-plugins-management-qmf2/java/org/apache/qpid/server/qmf2/QmfManagementAgent.java:226: incompatible types
    [javac] found   : java.lang.Object
    [javac] required: org.apache.qpid.server.model.Connection
[javac] for (Connection connection : vhost.getConnections())
[javac] ^
[javac] /home/fadams/qpid/qpid-trunk/qpid/tools/src/java/src/qpid-broker-plugins-management-qmf2/java/org/apache/qpid/server/qmf2/QmfManagementAgent.java:230: incompatible types
    [javac] found   : java.lang.Object
    [javac] required: org.apache.qpid.server.model.Session
[javac] for (Session session : connection.getSessions())
    [javac]


In code that had previously worked.

The first bit of code looks like:

        for (VirtualHost vhost : _broker.getVirtualHosts())
        {

Which seems fairly reasonable - I grepped in the Java Broker for getVirtualHosts() and I'm seeing

        VirtualHost<?> vhost = null;

        for(VirtualHost vh : getBroker().getVirtualHosts())
        {
            if(vh.getName().equals(vhostName))
            {
                vhost = vh;
                break;
            }
        }

in MessageContentServlet.java - which looks essentially the same as mine. Looking at the Broker model class I see:

    Collection < VirtualHost<?> > getVirtualHosts();

Is the <?> bit something new and is that my problem? To be honest my Java generics knowledge doesn't go down to the level of <?>


If I change
        for (VirtualHost vhost : _broker.getVirtualHosts())
        {
to

for (VirtualHost vhost : (java.util.Collection<VirtualHost>)_broker.getVirtualHosts())
        {

It compiles (though I've no idea if it would work correctly) but it doesn't feel right especially since you seem to have "for(VirtualHost vh : getBroker().getVirtualHosts())" working.


Any idea what I'd need to change, it's all a bit crytic to me I'm afraid.

Cheers,
Frase


On 07/03/14 11:54, Rob Godfrey wrote:
On 7 March 2014 12:47, Fraser Adams <[email protected]> wrote:

On 07/03/14 11:38, Rob Godfrey wrote:

Hi Fraser,

sorry - I had it on my list for today to look to see if any of the recent
changes had broken the build for the QMF plugin...

we really need to see if we can integrate the QMF plugin into the Jenkins
builds or something so we get informed when it gets broken

-- Rob

  Hey Rob,
I'm going through it now. I'm starting with the Statistics stuff which
seems reasonably straightforward to sort out.

I'll give you a yell if I tun into any issues - my first priority is to
get the number of errors to a level where my eyes stop going fuzzy :-)

There seems to be a change to the main plugin bit where there used to be
stuff relating to AVAILABLE_ATTRIBUTES I've not reached that bit yet, but
if you've got any pointers to the changes around there and what needs to
change that'd be a help.



So, if you are looking at a given instance of a ConfiguredObject you can
call Collection<String> getAttributeNames();

If you want to know the available attributes for a given type of object you
can call     public static <X extends ConfiguredObject> Collection<String>
getAttributeNames(Class<X> clazz) on AbstractConfiguredObject,  so

AbstractConfiguredObject.getAttributeNames(Queue.class);

for instance.

At some point in the near future there'll be sub-interfaces for different
types of things (e.g. PriorityQueue and LastValueQueue would have
additional attributes over Queue)...

Apologies - I stupidly hadn't realised that your code was so dependent on
the constant String definitions of the attribute names

-- Rob




It'd be good to get it into Jenkins, though I really wouldn't know where
to begin with that.
Frase

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]




---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to