Re: [Quickfix-developers] Re: empty tag
Brought to you by:
orenmnero
|
From: Oren M. <or...@qu...> - 2005-07-05 15:45:25
|
The configuration setting ValidateFieldsHaveValues already exists.
Returning null is not really an option in the C++ api. I'm not really =
sure if always having to check for null before using a field really =
saves any trouble anyway. The engine is designed to catch the exception =
and send an appropriate reject message if not present. Maybe I'm not =
understanding your particular case, but I'm not really sure why you need =
to trap that exception in the general case.
--oren
----- Original Message -----=20
From: Alvin Wang=20
To: Oren Miller ; qui...@li... ; =
qui...@li...=20
Sent: Tuesday, July 05, 2005 10:29 PM
Subject: Re: [Quickfix-developers] Re: empty tag
Oren,=20
if we can discuss this issue in a more broader scope, can QF have a =
configuration to (dis)allow to handle "empty-tag" message received from =
counterparty?=20
Also, can the message.getFiled() method return null if a tag does not =
exist (or is empty)? rather than through a exception.=20
I have found catching this kind of exception is troublesome and I have =
to wrap it in my own methods for each different data types.=20
Thanks=20
Alvin=20
Alvin Wang=20
07/05/2005 11:16 PM=20
=20
To: "Oren Miller" <or...@qu...>=20
cc: qui...@li..., =
qui...@li...=20
Subject: Re: [Quickfix-developers] Re: empty =
tagLink=20
IMHO, can QF have a configuration for this behavior? Exception(strict) =
vs Ignore(forgiving)...=20
Thanks=20
"Oren Miller" <or...@qu...>=20
Sent by: qui...@li...=20
07/05/2005 10:16 AM=20
=20
To: "Alvin Wang" <AW...@FF...>=20
cc: <qui...@li...>, =
<qui...@li...>=20
bcc: =20
Subject: Re: [Quickfix-developers] Re: empty tag=20
My concern is how to handle the situation where the field already =
exists. If field 58 is set in the message, and I set it again with a =
field that has an empty tag, what does this mean? Does it mean that I =
ignore the new field and retain the old value? Or do I remove the old =
field from the message completely. In which case setting a field with =
an empty tag is the same behavior as calling removeField. Both of these =
behaviors feel a little surprising to me. I'd be interested in hearing =
other opinions on this.=20
=20
--oren=20
----- Original Message -----=20
From: Alvin Wang=20
To: Oren Miller=20
Cc: qui...@li... ; =
qui...@li...=20
Sent: Tuesday, July 05, 2005 9:40 PM=20
Subject: [Quickfix-developers] Re: empty tag=20
Oren, I can understand where you are coming from. It makes total sense =
if QF throws NoTagValue exception in this case. However, I just feel it =
will add workload to the developers and the production may become =
disruptive.=20
Thanks=20
Alvin=20
"Oren Miller" <or...@qu...>=20
07/05/2005 10:00 AM=20
=20
To: <qui...@li...>, =
<qui...@li...>, "Alvin Wang" =
<AW...@FF...>=20
cc: =20
bcc: =20
Subject: Re: empty tag=20
We could, although more likely I would throw a NoTagValue exception. =
I don't much like the idea of having QF silently ignoring a field that =
the developer would be expecting to go out in the message (much like I =
don't like the current behavior). I can imagine the head scratching =
that would go on if they added a field and then found it mysteriously =
absent in the logs.=20
=20
In either case if you have a field that might contain a blank value, I =
would suggest checking it before adding it to a message.=20
=20
--oren=20
----- Original Message -----=20
From: Alvin Wang=20
To: qui...@li... ; =
qui...@li...=20
Cc: Oren Miller=20
Sent: Tuesday, July 05, 2005 9:10 PM=20
Subject: empty tag=20
HI=20
If I set a tag as below:=20
message.set(new Text(text));=20
and if the variable "text" is null. QF will include an empty tag 58. =
As a result, some FIX engine (such as QF itself) on the other end will =
reject the message. Can QF skip including empty tag?=20
Thanks=20
Alvin =
********************************************************************** =
This e-mail message is intended solely for the use of the addressee. The =
message may contain information that is privileged and confidential. =
Disclosure to anyone other than the intended recipient is prohibited. If =
you are not the intended recipient, please do not disseminate, =
distribute or copy this communication, by e-mail or otherwise. Instead, =
please notify us immediately by return e-mail (including the original =
message with your reply) and then delete and discard all copies of the =
message. We have taken precautions to minimize the risk of transmitting =
software viruses but nevertheless advise you to carry out your own virus =
checks on any attachment to this message. We accept no liability for any =
loss or damage caused by software viruses. =
**********************************************************************=20
|