You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Darryl L. Pierce (JIRA)" <ji...@apache.org> on 2012/11/27 19:25:58 UTC
[jira] [Created] (QPID-4479) spout/drain examples fixes and
improvements
Darryl L. Pierce created QPID-4479:
--------------------------------------
Summary: spout/drain examples fixes and improvements
Key: QPID-4479
URL: https://issues.apache.org/jira/browse/QPID-4479
Project: Qpid
Issue Type: Improvement
Reporter: Darryl L. Pierce
Assignee: Darryl L. Pierce
Priority: Minor
Fix For: 0.20
(From BZ#878940)
Description of problem:
It is unable to set message properties with spout.pl, following change needs to be made to fix this issue:
- $message->getProperties()->{$name} = $value;
+ $message->setProperty($name, $value);
Below are proposed changes to the spout/drain examples to be more conformable to other clients (c++, python, java), I think it is valuable to have all the client examples working the same way:
Patch files for both spout.pl/drain.pl can be found in attachment.
* drain.pl *:
Drain do not output the message properties in usable form (properties are displayed as a hash), ie:
# perl /usr/share/doc/perl-qpid-0.18/examples/drain.pl -c 1 q
Message(properties=HASH(0x8f1ecc8),content='')
It also can be useful to display if the message is redelivered as other clients do.
Proposing following change to fix these issues:
+sub printProperties {
+ my $h = shift();
+ return qq[{${\(join', ',map"'$_': '$h->{$_}'",keys%$h)}}]
+}
- print "Message(properties=" . $message->getProperties() . ",content='";
+ my $redelivered = ($message->getRedelivered) ? "redelivered=True, " : "";
+ print "Message(" . $redelivered . "properties=" . printProperties($message->getProperties()) . ", content='";
Proposing to set default timeout to 0 (to be more conformable to other clients):
- my $timeout = 60;
+ my $timeout = 0;
Proposing to set default messages count to 0 (to be more conformable to other clients)
- my $count = 1;
+ my $count = 0;
* both spout.pl/drain.pl *:
It is good practise to output usage with -h/--help options, or if the input is wrong. It is also in place to stop the program execution after the bad input/help request.
Proposing following change:
- "connection-options=s" => \ $connectionOptions,
-);
-
-
-if (! $result) {
- print "Usage: perl drain.pl [OPTIONS]\n";
-}
-
+ "connection-options=s" => \ $connectionOptions,
+ "help|h" => \ &usage
+) or usage();
+sub usage {
+ print "Usage: perl drain.pl [OPTIONS]\n";
+ exit;
+}
Version-Release number of selected component (if applicable):
perl-qpid-0.18-1.el6
Actual results:
Unable to set message properties with spout.pl, spout/drain behaviour differs from other clients (c++,py,java)
Expected results:
Message properties can be set using spout.pl, spout/drain behaviour more concords to other clients
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org
[jira] [Updated] (QPID-4479) spout/drain examples fixes and
improvements
Posted by "Justin Ross (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/QPID-4479?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Justin Ross updated QPID-4479:
------------------------------
Fix Version/s: 0.21
> spout/drain examples fixes and improvements
> -------------------------------------------
>
> Key: QPID-4479
> URL: https://issues.apache.org/jira/browse/QPID-4479
> Project: Qpid
> Issue Type: Improvement
> Reporter: Darryl L. Pierce
> Assignee: Darryl L. Pierce
> Priority: Minor
> Fix For: 0.20, 0.21
>
>
> (From BZ#878940)
> Description of problem:
> It is unable to set message properties with spout.pl, following change needs to be made to fix this issue:
> - $message->getProperties()->{$name} = $value;
> + $message->setProperty($name, $value);
> Below are proposed changes to the spout/drain examples to be more conformable to other clients (c++, python, java), I think it is valuable to have all the client examples working the same way:
> Patch files for both spout.pl/drain.pl can be found in attachment.
> * drain.pl *:
> Drain do not output the message properties in usable form (properties are displayed as a hash), ie:
> # perl /usr/share/doc/perl-qpid-0.18/examples/drain.pl -c 1 q
> Message(properties=HASH(0x8f1ecc8),content='')
> It also can be useful to display if the message is redelivered as other clients do.
> Proposing following change to fix these issues:
> +sub printProperties {
> + my $h = shift();
> + return qq[{${\(join', ',map"'$_': '$h->{$_}'",keys%$h)}}]
> +}
> - print "Message(properties=" . $message->getProperties() . ",content='";
> + my $redelivered = ($message->getRedelivered) ? "redelivered=True, " : "";
> + print "Message(" . $redelivered . "properties=" . printProperties($message->getProperties()) . ", content='";
> Proposing to set default timeout to 0 (to be more conformable to other clients):
> - my $timeout = 60;
> + my $timeout = 0;
> Proposing to set default messages count to 0 (to be more conformable to other clients)
> - my $count = 1;
> + my $count = 0;
> * both spout.pl/drain.pl *:
> It is good practise to output usage with -h/--help options, or if the input is wrong. It is also in place to stop the program execution after the bad input/help request.
> Proposing following change:
> - "connection-options=s" => \ $connectionOptions,
> -);
> -
> -
> -if (! $result) {
> - print "Usage: perl drain.pl [OPTIONS]\n";
> -}
> -
> + "connection-options=s" => \ $connectionOptions,
> + "help|h" => \ &usage
> +) or usage();
> +sub usage {
> + print "Usage: perl drain.pl [OPTIONS]\n";
> + exit;
> +}
> Version-Release number of selected component (if applicable):
> perl-qpid-0.18-1.el6
> Actual results:
> Unable to set message properties with spout.pl, spout/drain behaviour differs from other clients (c++,py,java)
> Expected results:
> Message properties can be set using spout.pl, spout/drain behaviour more concords to other clients
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org
[jira] [Resolved] (QPID-4479) spout/drain examples fixes and
improvements
Posted by "Darryl L. Pierce (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/QPID-4479?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Darryl L. Pierce resolved QPID-4479.
------------------------------------
Resolution: Fixed
> spout/drain examples fixes and improvements
> -------------------------------------------
>
> Key: QPID-4479
> URL: https://issues.apache.org/jira/browse/QPID-4479
> Project: Qpid
> Issue Type: Improvement
> Reporter: Darryl L. Pierce
> Assignee: Darryl L. Pierce
> Priority: Minor
> Fix For: 0.20
>
>
> (From BZ#878940)
> Description of problem:
> It is unable to set message properties with spout.pl, following change needs to be made to fix this issue:
> - $message->getProperties()->{$name} = $value;
> + $message->setProperty($name, $value);
> Below are proposed changes to the spout/drain examples to be more conformable to other clients (c++, python, java), I think it is valuable to have all the client examples working the same way:
> Patch files for both spout.pl/drain.pl can be found in attachment.
> * drain.pl *:
> Drain do not output the message properties in usable form (properties are displayed as a hash), ie:
> # perl /usr/share/doc/perl-qpid-0.18/examples/drain.pl -c 1 q
> Message(properties=HASH(0x8f1ecc8),content='')
> It also can be useful to display if the message is redelivered as other clients do.
> Proposing following change to fix these issues:
> +sub printProperties {
> + my $h = shift();
> + return qq[{${\(join', ',map"'$_': '$h->{$_}'",keys%$h)}}]
> +}
> - print "Message(properties=" . $message->getProperties() . ",content='";
> + my $redelivered = ($message->getRedelivered) ? "redelivered=True, " : "";
> + print "Message(" . $redelivered . "properties=" . printProperties($message->getProperties()) . ", content='";
> Proposing to set default timeout to 0 (to be more conformable to other clients):
> - my $timeout = 60;
> + my $timeout = 0;
> Proposing to set default messages count to 0 (to be more conformable to other clients)
> - my $count = 1;
> + my $count = 0;
> * both spout.pl/drain.pl *:
> It is good practise to output usage with -h/--help options, or if the input is wrong. It is also in place to stop the program execution after the bad input/help request.
> Proposing following change:
> - "connection-options=s" => \ $connectionOptions,
> -);
> -
> -
> -if (! $result) {
> - print "Usage: perl drain.pl [OPTIONS]\n";
> -}
> -
> + "connection-options=s" => \ $connectionOptions,
> + "help|h" => \ &usage
> +) or usage();
> +sub usage {
> + print "Usage: perl drain.pl [OPTIONS]\n";
> + exit;
> +}
> Version-Release number of selected component (if applicable):
> perl-qpid-0.18-1.el6
> Actual results:
> Unable to set message properties with spout.pl, spout/drain behaviour differs from other clients (c++,py,java)
> Expected results:
> Message properties can be set using spout.pl, spout/drain behaviour more concords to other clients
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org
[jira] [Commented] (QPID-4479) spout/drain examples fixes and
improvements
Posted by "Darryl L. Pierce (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/QPID-4479?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13504944#comment-13504944 ]
Darryl L. Pierce commented on QPID-4479:
----------------------------------------
This commit can be found here (it has the BZ number rather than this JIRA reference in the commit message).
http://svn.apache.org/viewvc?view=revision&revision=1414221
> spout/drain examples fixes and improvements
> -------------------------------------------
>
> Key: QPID-4479
> URL: https://issues.apache.org/jira/browse/QPID-4479
> Project: Qpid
> Issue Type: Improvement
> Reporter: Darryl L. Pierce
> Assignee: Darryl L. Pierce
> Priority: Minor
> Fix For: 0.20
>
>
> (From BZ#878940)
> Description of problem:
> It is unable to set message properties with spout.pl, following change needs to be made to fix this issue:
> - $message->getProperties()->{$name} = $value;
> + $message->setProperty($name, $value);
> Below are proposed changes to the spout/drain examples to be more conformable to other clients (c++, python, java), I think it is valuable to have all the client examples working the same way:
> Patch files for both spout.pl/drain.pl can be found in attachment.
> * drain.pl *:
> Drain do not output the message properties in usable form (properties are displayed as a hash), ie:
> # perl /usr/share/doc/perl-qpid-0.18/examples/drain.pl -c 1 q
> Message(properties=HASH(0x8f1ecc8),content='')
> It also can be useful to display if the message is redelivered as other clients do.
> Proposing following change to fix these issues:
> +sub printProperties {
> + my $h = shift();
> + return qq[{${\(join', ',map"'$_': '$h->{$_}'",keys%$h)}}]
> +}
> - print "Message(properties=" . $message->getProperties() . ",content='";
> + my $redelivered = ($message->getRedelivered) ? "redelivered=True, " : "";
> + print "Message(" . $redelivered . "properties=" . printProperties($message->getProperties()) . ", content='";
> Proposing to set default timeout to 0 (to be more conformable to other clients):
> - my $timeout = 60;
> + my $timeout = 0;
> Proposing to set default messages count to 0 (to be more conformable to other clients)
> - my $count = 1;
> + my $count = 0;
> * both spout.pl/drain.pl *:
> It is good practise to output usage with -h/--help options, or if the input is wrong. It is also in place to stop the program execution after the bad input/help request.
> Proposing following change:
> - "connection-options=s" => \ $connectionOptions,
> -);
> -
> -
> -if (! $result) {
> - print "Usage: perl drain.pl [OPTIONS]\n";
> -}
> -
> + "connection-options=s" => \ $connectionOptions,
> + "help|h" => \ &usage
> +) or usage();
> +sub usage {
> + print "Usage: perl drain.pl [OPTIONS]\n";
> + exit;
> +}
> Version-Release number of selected component (if applicable):
> perl-qpid-0.18-1.el6
> Actual results:
> Unable to set message properties with spout.pl, spout/drain behaviour differs from other clients (c++,py,java)
> Expected results:
> Message properties can be set using spout.pl, spout/drain behaviour more concords to other clients
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org
[jira] [Commented] (QPID-4479) spout/drain examples fixes and
improvements
Posted by "Justin Ross (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/QPID-4479?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13505419#comment-13505419 ]
Justin Ross commented on QPID-4479:
-----------------------------------
This change was codeveloped by Petr Matousek and Darryl. Approved for 0.20.
For the discussion, see https://bugzilla.redhat.com/show_bug.cgi?id=878940 .
> spout/drain examples fixes and improvements
> -------------------------------------------
>
> Key: QPID-4479
> URL: https://issues.apache.org/jira/browse/QPID-4479
> Project: Qpid
> Issue Type: Improvement
> Reporter: Darryl L. Pierce
> Assignee: Darryl L. Pierce
> Priority: Minor
> Fix For: 0.20, 0.21
>
>
> (From BZ#878940)
> Description of problem:
> It is unable to set message properties with spout.pl, following change needs to be made to fix this issue:
> - $message->getProperties()->{$name} = $value;
> + $message->setProperty($name, $value);
> Below are proposed changes to the spout/drain examples to be more conformable to other clients (c++, python, java), I think it is valuable to have all the client examples working the same way:
> Patch files for both spout.pl/drain.pl can be found in attachment.
> * drain.pl *:
> Drain do not output the message properties in usable form (properties are displayed as a hash), ie:
> # perl /usr/share/doc/perl-qpid-0.18/examples/drain.pl -c 1 q
> Message(properties=HASH(0x8f1ecc8),content='')
> It also can be useful to display if the message is redelivered as other clients do.
> Proposing following change to fix these issues:
> +sub printProperties {
> + my $h = shift();
> + return qq[{${\(join', ',map"'$_': '$h->{$_}'",keys%$h)}}]
> +}
> - print "Message(properties=" . $message->getProperties() . ",content='";
> + my $redelivered = ($message->getRedelivered) ? "redelivered=True, " : "";
> + print "Message(" . $redelivered . "properties=" . printProperties($message->getProperties()) . ", content='";
> Proposing to set default timeout to 0 (to be more conformable to other clients):
> - my $timeout = 60;
> + my $timeout = 0;
> Proposing to set default messages count to 0 (to be more conformable to other clients)
> - my $count = 1;
> + my $count = 0;
> * both spout.pl/drain.pl *:
> It is good practise to output usage with -h/--help options, or if the input is wrong. It is also in place to stop the program execution after the bad input/help request.
> Proposing following change:
> - "connection-options=s" => \ $connectionOptions,
> -);
> -
> -
> -if (! $result) {
> - print "Usage: perl drain.pl [OPTIONS]\n";
> -}
> -
> + "connection-options=s" => \ $connectionOptions,
> + "help|h" => \ &usage
> +) or usage();
> +sub usage {
> + print "Usage: perl drain.pl [OPTIONS]\n";
> + exit;
> +}
> Version-Release number of selected component (if applicable):
> perl-qpid-0.18-1.el6
> Actual results:
> Unable to set message properties with spout.pl, spout/drain behaviour differs from other clients (c++,py,java)
> Expected results:
> Message properties can be set using spout.pl, spout/drain behaviour more concords to other clients
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org