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]