I'm relieved that you're up and running :-)

I wouldn't say it's stupidity not understanding the placeholders. It's way harder than I'd anticipated to get something that's truly intuitive. Clearly I haven't succeeded as well as I'd have liked. It's also worth pointing out that the grey text is truly a placeholder and not a "default" it's really a "stylistic"/"look and feel" thing.

I agonised a bit about the styling because with this style the text input box has the same background colour as the list item containing it. Without the placeholders that would look "dead" but if you look on say something like an iPad/iPod settings page for adding a mail account that's the style I was pretty much aiming for. Placeholders are new to HTML5 and aren't supported on IE6 - 9 hence the shim to make things consistent. It seems that browsers with native placeholder support behave differently - as I said previously on the last version of Firefox I was running the placeholder disappeared on focus but it now disappears when text is entered, IIRC my shim placeholders disappear on focus. It can get quite quirky with Opera 11 I discovered that it supported placeholders for text input, but not textarea (which is what I use for the connection options and XML binding entry) imagine my surprise :-) I was nearly driven insane by quirks across browsers and had to be quite devious to make sure that thing like the radio buttons and checkboxes got properly "reskinned" for dynamically constructed lists.

One thing I'm quite pleased with is that when you point it at an iPhone/iPod touch it automatically morphs itself so that the sidebar becomes the main menu page. It should hopefully work the same on other smartphones but I'm lacking devices to test it with. I fired up an Android 'phone and tablet virtual machine and it looks OK with those but it's possible that other devices might have issues. I've used CSS media queries to apply styles based on device dimensions so it shouldn't be hard to make things work if there are issues with other devices but it's hard to test that without the device.



RE the issues that you've had with the trunk. I guess it's reassuring that it works across 0.18 or 0.20 brokers, so that probably suggests it's not an issue with changes to the ManagementAgent.

One thing has got me a little worried. ISTR back in August Rajith Attapatu posted something about [JMS] ListMessage support. To be honest I only skimmed it and put it on my "list of things to look at" because I was trying to focus on the GUI. If Rajith has made any changes to how the JMS implementation deals with ListMessages then that's going to mess my QMF2 stuff up a fair bit. As I mentioned earlier I have code (copied below) that may be familiar to you....Any changes to that will affect how QMF Events work and as I mentioned earlier I use notification from heartbeat events to trigger firing off getObject() updates to the Management Objects. I really hope this hasn't changed, but it's the first place I'd look.

I might have mentioned this before - but as you can see from the comment it's this block of code that started me off down the path of writing the QMF2 API Implementation and ultimately the GUI - so it's all your fault really :-)

    /**
* JMS QMF returns amqp/list types as a BytesMessage this method decodes that into a java.util.List
     * <p>
     * Taken from Gordon Sim's initial JMS QMF Example using the BBDecoder
     * <p>
* Trivia: This block of code from Gordon Sim is the seed that spawned the whole of this Java QMF2 API
     * implementation - cheers Gordon.
     *
     * @param message amqp/list encoded JMS Message
     * @return a java.util.List decoded from Message
     */
    @SuppressWarnings("unchecked")
public static <T> List<T> getList(final Message message) throws JMSException
    {
        if (message == null)
        {
throw new MessageFormatException("Attempting to do AMQPMessage.getList() on null Message");
        }
        else if (message instanceof BytesMessage)
        {
            BytesMessage msg = (BytesMessage)message;

            //only handles responses up to 2^31-1 bytes long
            byte[] data = new byte[(int) msg.getBodyLength()];
            msg.readBytes(data);
            BBDecoder decoder = new BBDecoder();
            decoder.init(ByteBuffer.wrap(data));
            return (List<T>)decoder.readList();
        }
        else
        {
            return null;
        }
    }









On 22/01/13 20:28, Gordon Sim wrote:
On 01/22/2013 07:15 PM, Fraser Adams wrote:
 From the post below Gordon it sounds like you've now got it up and
running. It's a shame that it didn't "just work" for you as I'd hoped.
If there's any specific gotchas that you came across feel free to add
them to the Jira comments.

Yes, my problem was primarily the version of the qpid jars I was using. (Plus some of my own stupidity in not understanding the way the text boxes with greyed out text worked).

Interestingly the version of the broker doesn't seem to be the issue. I can access either 0.18 or 0.20 brokers with the right jars. I haven't yet had the time to chase it down further.

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