Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
[FAST-47] byteVector having default value causes StringIndexOutOfBoundsException Created: 17/May/13 Updated: 23/Jan/14 Status: Project: Component/s: Affects Version/s: Fix Version/s: Resolved OpenFAST Types 1.1.2 Type: Reporter: Resolution: Labels: Environment: Bug Dmitry Vulf Not a bug byteVector Win x64, JDK 1.7 Attachments: Resolved: 20/May/13 None Priority: Assignee: Votes: Critical Jacob Northey 0 FIX50SP2-ALL.xml Description having this line in the template file: <byteVector name="SecurityIDSource" id="22" presence="optional"><default value="4"/></byteVector> get exception in ByteUtil.convertHexStringToByteArray in line bytes[i / 2] = (byte) Integer.parseInt(hexString.substring(i, i + 2), 16); Comments Comment by Jacob Northey [ 17/May/13 ] The byteVector default value uses the hex format so that any byte value can be represented. Can you try to use hex encoding for the default value? If you are using ASCII encoding then the default value should be 34. Try the following: <byteVector name="SecurityIDSource" id="22" presence="optional"><default value="34"/></byteVector> Comment by Dmitry Vulf [ 20/May/13 ] Thanks, Changing values manually fixes the issue. However MICEX(Moscow stock exchange) provides default values for byteVector not in the hex format (I attached the template) and it happens in several places. Compatibility error or MICEX applies wrong format? Comment by Jacob Northey [ 20/May/13 ] Hi Dmitry, I've posted a new message on the FAST Protocol forums here: http://fixprotocol.org/discuss/read/ff6dc431. Hopefully this issue can be resolved by the Market Data Optimization Working Group. Regards, Jake Comment by Jacob Northey [ 20/May/13 ] It looks like MICEX is not following the spec for how to encode default values for byteVector fields. Is there somebody at the exchange you can inform to update their templates? Since OpenFAST is following the FAST specification I will mark this as not an issue. http://fixprotocol.org/discuss/read/8bac4745 If MICEX is unable to resolve the issue it might make sense to write a script that will parse the FAST templates and convert from the ASCII-encoded default value to the hex-encoded format. Comment by Jacob Northey [ 20/May/13 ] OpenFAST is following the FAST specification in terms of how to define byteVector default values. Comment by Dmitry Vulf [ 20/May/13 ] Hi Jake, Thanks for the investigation. I'll inform MICEX about this issue. Comment by Andrey Alekov [ 23/Jan/14 ] Dmitry, MICEX and RTS (now both are is MOEX) don't follow full FAST 1.1 specification. [FAST-46] MessageInputStream.readMessage() throws unexpected exception instead of returning null if the end of stream is reached. Created: 05/Mar/13 Updated: 11/Mar/13 Resolved: 11/Mar/13 Status: Project: Component/s: Affects Version/s: Fix Version/s: Resolved OpenFAST None 1.1.1 Type: Reporter: Resolution: Labels: Bug Christian Plätzinger Fixed None 1.1.2 Priority: Assignee: Votes: Major Jacob Northey 0 Description After upgrade to version 1.1.1 we are encountered the following exception when processing FAST messages received via multicast stream: org.openfast.error.FastException: The end of the input stream has been reached. at org.openfast.error.ErrorCode.throwException(ErrorCode.java:45) at org.openfast.error.ErrorHandler$1.error(ErrorHandler.java:26) at org.openfast.Global.handleError(Global.java:41) at org.openfast.template.type.codec.BitVectorType.decode(BitVectorType.java:66) at org.openfast.codec.FastDecoder.readMessage(FastDecoder.java:64) at org.openfast.MessageInputStream.readMessage(MessageInputStream.java:65) at com.macd.xConnect.gateway.mdi.MdiBlockConverter.decode(MdiBlockConverter.java:83) Everything worked well with version 1.0.0. I expect org.openfast.MessageInputStream.readMessage() to return null instead of throwing undocumented exception! Otherwise I expect to get a specific exception so that the application can identify an EOF. Please let me know if you need some more information. Comments Comment by Christian Plätzinger [ 05/Mar/13 ] Seems that the changes done with http://www.quickfixj.org/jira/browse/FAST-43 are responsible for this. Comment by Jacob Northey [ 05/Mar/13 ] I apologize for the inconvenience, this was not handled properly. I have just checked in a change which implements this the way we intended. The javadoc for MessageInputStream.readMessage has been updated. A new version has been checked in that performs accordingly: /** * Decodes the next message in the input stream if a message is found. If no more * messages are present in the stream, <code>null</code> is returned. If a partial * message is encountered a {@link org.openfast.error.FastException FastException} with error code 104 * is thrown (see {@link org.openfast.error.FastConstants#END_OF_STREAM FastConstants.END_OF_STREAM}). */ Comment by Christian Plätzinger [ 06/Mar/13 ] Hi Jacob, thank you very much for the fast reaction. I will checkout and build the trunk. After some test I will come back to you. Will you release a new version if it works? Regards, Christian Comment by Christian Plätzinger [ 06/Mar/13 ] Tested and it works as expected. Thanks for the fast bug-fix! [FAST-45] NPE when parsing empty mantissa and exponent elements Created: 14/May/12 Updated: 14/May/12 Resolved: 14/May/12 Status: Project: Component/s: Affects Version/s: Fix Version/s: Resolved OpenFAST None 1.0.0, 1.0.1, 1.0.2, 1.0.3, 1.1.0 Type: Reporter: Resolution: Labels: Bug Jacob Northey Fixed None 1.1.1 Priority: Assignee: Votes: Default Jacob Northey 0 Description I'm using openfast-1.1.0 to load the FIX/FAST template file published by CME, it seems that "ComposedDecimalParser" is having difficulties parsing a DECIMAL node the with following structure: <decimal name="NetChgPrevDay" id="451" presence="optional"> <exponent> </exponent> <mantissa> </mantissa> </decimal> Below are the stack dump: ---------------------------------------------------Exception in thread "main" java.lang.NullPointerException at org.openfast.template.loader.ComposedDecimalParser.createComposedDecimal(ComposedDecimalParser.java:9 at org.openfast.template.loader.ComposedDecimalParser.parse(ComposedDecimalParser.java:61) at org.openfast.template.loader.AbstractFieldParser.parse(AbstractFieldParser.java:51) at org.openfast.template.loader.GroupParser.parseFields(GroupParser.java:80) at org.openfast.template.loader.SequenceParser.parse(SequenceParser.java:52) at org.openfast.template.loader.AbstractFieldParser.parse(AbstractFieldParser.java:51) at org.openfast.template.loader.GroupParser.parseFields(GroupParser.java:80) at org.openfast.template.loader.TemplateParser.parse(TemplateParser.java:46) at org.openfast.template.loader.AbstractFieldParser.parse(AbstractFieldParser.java:51) at org.openfast.template.loader.XMLMessageTemplateLoader.load(XMLMessageTemplateLoader.java:124) at org.openfast.examples.consumer.FastMessageConsumer.<init>(FastMessageConsumer.java:36) at org.openfast.examples.consumer.Main.main(Main.java:69) However, the ComposedDecimalParser works correctly when the above node is changed to: <decimal name="NetChgPrevDay" id="451" presence="optional"> <exponent/> <mantissa/> </decimal> [FAST-44] ArrayIndexOutOfBoundsException when encoding a sequence that contains more fields than the template it resides in Created: 11/Apr/12 Updated: 11/Apr/12 Resolved: 11/Apr/12 Status: Project: Component/s: Affects Version/s: Fix Version/s: Resolved OpenFAST None 1.0.2, 1.0.3 Type: Reporter: Resolution: Labels: Bug Jacob Northey Fixed None 1.1.0 Priority: Assignee: Votes: Critical Jacob Northey 0 Description java.lang.ArrayIndexOutOfBoundsException: 2 at org.openfast.BitVector.set(BitVector.java:61) at org.openfast.BitVectorBuilder.set(BitVectorBuilder.java:31) at org.openfast.template.operator.OperatorCodec.getValueToEncode(OperatorCodec.java:127) at org.openfast.template.Scalar.encode(Scalar.java:146) at org.openfast.template.Group.encode(Group.java:174) at org.openfast.template.Sequence.encode(Sequence.java:177) at org.openfast.template.Group.encode(Group.java:174) at org.openfast.template.MessageTemplate.encode(MessageTemplate.java:97) at org.openfast.codec.FastEncoder.encode(FastEncoder.java:48) at org.openfast.MessageOutputStream.writeMessage(MessageOutputStream.java:66) at org.openfast.MessageOutputStream.writeMessage(MessageOutputStream.java:52) [FAST-43] inputStream.read returns -1, indicating end-of-file and doesn't throw an Exception Created: 25/Mar/12 Updated: 11/Apr/12 Resolved: 11/Apr/12 Status: Project: Component/s: Affects Version/s: Fix Version/s: Resolved OpenFAST Types 1.0.2, 1.0.3 Type: Reporter: Resolution: Labels: Bug ivan Fixed None 1.1.0 Priority: Assignee: Votes: Default Jacob Northey 0 Description org.openfast.template.type.codec.UnsignedInteger contains a method public ScalarValue decode(InputStream in) { long value = 0; int byt; try { do { byt = in.read(); value = (value << 7) | (byt & 0x7f); } while ((byt & 0x80) == 0); } catch (IOException e) { throw new RuntimeException(e); } return createValue(value); } it does not checks for eof condition (that return could be -1) [FAST-42] Notify session is closed when abnormal counterparty initiated disconnection occurs Created: 23/Jan/12 Updated: 23/Jan/12 Resolved: 23/Jan/12 Status: Project: Component/s: Affects Version/s: Fix Version/s: Resolved OpenFAST None None Type: Reporter: Resolution: Labels: Improvement Jacob Northey Fixed None None Priority: Assignee: Votes: Default Jacob Northey 0 [FAST-41] Improve buffer creation performance using ThreadLocal Created: 23/Jan/12 Updated: 23/Jan/12 Resolved: 23/Jan/12 Status: Project: Component/s: Affects Version/s: Fix Version/s: Resolved OpenFAST None None Type: Reporter: Resolution: Labels: Improvement Jacob Northey Fixed None 1.3.0 Description Patch submitted by Dieter Mayer at UniCredit. Priority: Assignee: Votes: Default Jacob Northey 0 [FAST-40] MulticastEndpoint connect method binds multicast socket to any ip Created: 20/Dec/11 Updated: 11/Apr/12 Resolved: 11/Apr/12 Status: Project: Component/s: Affects Version/s: Fix Version/s: Resolved OpenFAST None 1.0.2 Type: Reporter: Resolution: Labels: Bug Stas Gromov Fixed None 1.1.0 Priority: Assignee: Votes: Default Jacob Northey 0 Description MulticastEndpoint method connect creates MulticastSocket as new MulticastSocket(port) and so our connection will receive all messages received on that port. should be new MulticastSocket(new InetSocketAddress(group, port)); to listen packets just from this group and port. Comments Comment by Stas Gromov [ 20/Dec/11 ] or... it can be optional in case we really want to listen to all messages on that port from all multicast groups [FAST-39] Some FAST implementations include a block size that OpenFAST does not support Created: 25/Nov/11 Updated: 11/Apr/12 Resolved: 11/Apr/12 Status: Project: Component/s: Affects Version/s: Fix Version/s: Resolved OpenFAST Message Object Model 1.0.2 Type: Reporter: Resolution: Labels: Environment: Improvement Colin Crist Fixed None N/A 1.0.3 Priority: Assignee: Votes: Default Jacob Northey 0 Description I am not sure how non-standard this is but some FAST implementations include a block size in the message that OpenFAST does not expect causing the codec to fail. Below is what I have done to fix it in my local copy of the code. I'm not sure how to handle configuration properties for the CODEC so I can make it switchable - should it hang of the Context or elsewhere? Index: FastDecoder.java =================================================================== — FastDecoder.java (revision 232) +++ FastDecoder.java (working copy) @@ -41,6 +41,7 @@ } public Message readMessage() { + TypeCodec.BIT_VECTOR.decode(in) ; // Discard block size. BitVectorValue bitVectorValue = (BitVectorValue) TypeCodec.BIT_VECTOR.decode(in); if (bitVectorValue == null) { Comments Comment by Jacob Northey [ 11/Apr/12 ] There is a readMessage(int offset) method in FastDecoder which can be used to skip a nonFAST header or block length. Additionally there is a MessageBlockReader interface that can be implemented and assigned to a MessageInputStream. Comment by Jacob Northey [ 11/Apr/12 ] The FastDecoder.readMessage(int offset) method was added in 1.0.3. [FAST-38] Buffer overflow in RecordingInputStream Created: 28/Oct/11 Updated: 28/Oct/11 Resolved: 28/Oct/11 Status: Project: Component/s: Affects Version/s: Fix Version/s: Resolved OpenFAST None 1.0.0, 1.0.1 Type: Reporter: Resolution: Labels: Bug Jacob Northey Fixed None 1.0.3 Priority: Assignee: Votes: Major Jacob Northey 0 Description Hi! I've discovered a bug in util.RecordingInputStream.java where buffer overflow is a almost guarantee. The method RecordingInputStream.read() reads from the underlying inputstream and stores the read bytes into an array. Unfortunately the array is fixed size at 1024 bytes and sometimes the amount of data exceeds this. Enclosed is a patch that will resize the array if it becomes full. cheers /Erik Erik Svensson Software Architect Comments Comment by Jacob Northey [ 28/Oct/11 ] Committed Erik's patch. [FAST-37] BigDecimal constructor for DecimalValue incorrectly sets the exponent Created: 20/Oct/11 Updated: 20/Oct/11 Resolved: 20/Oct/11 Status: Project: Component/s: Affects Version/s: Fix Version/s: Resolved OpenFAST Types 1.0.0 Type: Reporter: Resolution: Labels: Bug Glyn Walters Fixed None Issue Links: Duplicate duplicates FAST-36 BigDecimals are not correctly interpr... 1.0.3 Priority: Assignee: Votes: Default Jacob Northey 0 Description BigDecimal constructor sets instance variables for exponent as: this.exponent = bigDecimal.scale(); The correct version should be inverted (as it is in the double constructor) this.exponent = - bigDecimal.scale(); Resolved [FAST-36] BigDecimals are not correctly interpreted in DecimalValue constructor Created: 23/May/11 Updated: 20/Oct/11 Resolved: 20/Oct/11 Status: Project: Component/s: Affects Version/s: Fix Version/s: Resolved OpenFAST Types 1.0.1 Type: Reporter: Resolution: Labels: Environment: Bug Priority: Paul Gribben Assignee: Fixed Votes: encoding JRE 1.6, Windows and Linux Issue Links: Duplicate is duplicated by 1.0.3 FAST37 Major Jacob Northey 0 BigDecimal constructor for DecimalVal... Resolved Description BigDecimal scale is mis-interpreted as being identical to exponent, resulting in incorrect number conversion. According to java doc for BigDecimal the value is: unscaledValue × 10^(scale), whereas for openfast DecimalValue the value is: mantissa x 10^(exponent). Therefore exponent = -bigDecimal.scale (and not bigDecimal.scale). To test this, encode BigDecimal(2.4) then decode the byte stream and you'll get 240 (24 x 10^1, but should be 24 x 10^(-1)). [FAST-31] Openfast can not encode optional unicode string with 127 bytes length Created: 19/Nov/10 Updated: 20/Oct/11 Resolved: 20/Oct/11 Status: Project: Component/s: Affects Version/s: Fix Version/s: Resolved OpenFAST Types 1.0.0 Type: Reporter: Resolution: Labels: Bug Alexey Utkin Fixed None 1.0.3 Attachments: Priority: Assignee: Votes: Critical Jacob Northey 0 bytevector.patch Description Test case: public void testString127() throws Exception { TypeCodec codec = new NullableUnicodeString(); byte[] b = new byte[127]; Arrays.fill(b, (byte)'1'); String expected = new String(b); byte[] bytes = codec.encode(new StringValue(expected)); final ScalarValue value = codec.decode(new ByteArrayInputStream(bytes)); String actual = value.toString(); Assert.assertEquals(expected, actual); } Patch file is attached [FAST-26] MulticastInputStream doesnot override public int available() throws IOException from java.io.InputStream Created: 14/Apr/10 Updated: 11/Apr/12 Resolved: 11/Apr/12 Status: Project: Component/s: Affects Version/s: Fix Version/s: Resolved OpenFAST None 1.0.0 Type: Reporter: Resolution: Labels: Environment: Bug Stas Gromov Fixed None ANY 1.1.0 Priority: Assignee: Votes: Major Jacob Northey 0 Description java.io.InputStream has a method implemented public int available() throws IOException { return 0; } and comments <p> A subclass' implementation of this method may choose to throw an {@link IOException} if this input stream has been closed by invoking the {@link #close()} method. * <p> The {@code available} method for class {@code InputStream} always returns {@code 0} . * <p> This method should be overridden by subclasses. but org.openfast.session.multicast.MulticastInputStream does not override this method. Suppose to add such code to org.openfast.session.multicast.MulticastInputStream @Override public int available() throws IOException { System.out.println("!2"+socket.isConnected()); return buffer.remaining(); } Comments Comment by Stas Gromov [ 14/Apr/10 ] I meen @Override public int available() throws IOException { return buffer.remaining(); } )) wo System.out.println("!2"+socket.isConnected()); Comment by Stas Gromov [ 14/Apr/10 ] seems, i was wrong in implementation. buffer can be empty, while data is available in socket... but it's better than nothing Comment by Stas Gromov [ 20/Dec/11 ] setSOtimeout will helps alot, but we are blocked by java version upgrade. [FAST-14] SCP 1.1 Template Exchange decoder does not decode type references Created: 28/Oct/08 Updated: 29/Oct/08 Resolved: 29/Oct/08 Status: Project: Component/s: Affects Version/s: Fix Version/s: Resolved OpenFAST None 1.0.0 Type: Reporter: Resolution: Labels: Bug Jacob Northey Fixed None 1.0.1 Priority: Assignee: Votes: Default Jacob Northey 0 [FAST-13] SCP 1.1 Template Exchange decoder does not decode scalar ids Created: 28/Oct/08 Updated: 29/Oct/08 Resolved: 29/Oct/08 Status: Project: Component/s: Affects Version/s: Fix Version/s: Resolved OpenFAST Session Control Protocol 1.0.0 Type: Reporter: Resolution: Labels: Bug Jacob Northey Fixed None 1.0.1 Priority: Assignee: Votes: Default Jacob Northey 0 [FAST-11] ByteVector length namespace and id are not parsed when loading templates from XML Created: 28/Oct/08 Updated: 29/Oct/08 Resolved: 29/Oct/08 Status: Project: Component/s: Affects Version/s: Fix Version/s: Resolved OpenFAST None 1.0.0 Type: Reporter: Resolution: Labels: Bug Jacob Northey Fixed None 1.0.1 Priority: Assignee: Votes: Default Jacob Northey 0 [FAST-10] Message Template XML Serializer Created: 28/Oct/08 Updated: 28/Oct/08 Resolved: 28/Oct/08 Status: Project: Component/s: Affects Version/s: Fix Version/s: Resolved OpenFAST Message Object Model None Type: Reporter: Resolution: Labels: New Feature Jacob Northey Fixed None 1.0.1 Priority: Assignee: Votes: Default Jacob Northey 0 Description Implement a basic XML serializer for serializing the OpenFAST MessageTemplate model [FAST-9] Implement Delta Operator for Byte Vector and Unicode Strings Created: 26/Oct/08 Updated: 28/Oct/08 Resolved: 28/Oct/08 Status: Project: Component/s: Affects Version/s: Fix Version/s: Resolved OpenFAST None None Type: Reporter: Resolution: Labels: Improvement Jacob Northey Fixed None 1.0.1 Priority: Assignee: Votes: Major Jacob Northey 0 [FAST-8] SCP 1.1 Template Exchange fails due to Static Template Reference decoding error Created: 24/Oct/08 Updated: 24/Oct/08 Resolved: 24/Oct/08 Status: Project: Component/s: Affects Version/s: Fix Version/s: Resolved OpenFAST Session Control Protocol 1.0.0 Type: Reporter: Resolution: Labels: Bug Jacob Northey Fixed None 1.0.1 Priority: Assignee: Votes: Critical Jacob Northey 0 Description When a static template reference is being decoded, the current template is not updated in the context. Any operators in the template referenced by the static template reference and using the template dictionary scope are not encoded or decoded correctly. In the Session Control Protocol, the following template is affected: <template name="TemplateName"> <string name="Ns" charset="unicode"> <copy dictionary="template"/> </string> <string name="Name" charset="unicode"/> </template> [FAST-7] GroupValue.isDefined should handle undefined fields correctly Created: 24/Oct/08 Updated: 24/Oct/08 Resolved: 24/Oct/08 Status: Project: Component/s: Affects Version/s: Fix Version/s: Resolved OpenFAST Message Object Model 1.0.0 Type: Reporter: Resolution: Labels: Environment: Improvement Minor Priority: Dale Wilson Jacob Northey Assignee: Fixed 0 Votes: None WinXP SP3; JavaSE 1.5; OpenFAST from SVN trunk. 1.0.1 Description A call to GroupValue.isDefined giving a field name that is not mentioned in the template used to encode/decode the message results in an IllegalArgumentException. The exception is misleading because the field might be defined when other templates are used to transmit this particular message type. isDefined() should simply return "false" if the field is not declared in the template meaning the field is not included in this instance of the message. The following stack trace shows an occurrence of this problem: Exception in thread "main" java.lang.IllegalArgumentException: The field "MDEntryID" does not exist in group MDEntries at org.openfast.GroupValue.getValue(GroupValue.java:180) at org.openfast.GroupValue.isDefined(GroupValue.java:329) at com.oci.trader.marketdata.MarketDataConsumer.processMDEntry(MarketDataConsumer.java:121) <SNIP> The field MDEntryID is defined for the Market Data Incremental Refresh message being decoded here (see "FIX 4.4 with Errata 20030618 Volume 3" page 68, but this particular counterparty doesn't this optional field so they omitted it from their template. -------Work around: private boolean fieldPresent(GroupValue groupValue, String fieldName) { return groupValue.getGroup().hasField(fieldName) && groupValue.isDefined(fieldName); } [FAST-6] MulticastInputStream wors incorrectly Created: 01/Sep/08 Updated: 24/Oct/08 Resolved: 24/Oct/08 Status: Project: Component/s: Affects Version/s: Fix Version/s: Resolved OpenFAST None 0.9.8 Type: Reporter: Resolution: Labels: Bug Alexander Kosenkov Fixed None 1.0.0 Priority: Assignee: Votes: Critical Jacob Northey 0 Description MulticastInputStream extends InputStream and incorrectly implements public int read() { ... return buffer.get(); } It should be: public int read() { ... return buffer.get() & 0xFF; // convert int to byte } Comments Comment by Alexander Kosenkov [ 01/Sep/08 ] Without this fix, MulticastInputStream in unusable. It returns values like -63 which are incorrectly treated as End Of Input by InputStream users Comment by Jacob Northey [ 24/Oct/08 ] This bug was fixed in the 1.0.0 version. [FAST-5] Group containing single optional decimal with always present exponent operator and optionally present mantissa operator does not create presence map Created: 09/Jul/08 Updated: 24/Oct/08 Resolved: 24/Oct/08 Status: Project: Component/s: Affects Version/s: Fix Version/s: Resolved OpenFAST None None Type: Reporter: Resolution: Labels: Bug Jacob Northey Fixed None 1.0.0 Priority: Assignee: Votes: Default Jacob Northey 1 Description Given the template below, a presence map should always be encoded due to the mantissa operator requiring a presence map. However, the presence map is never encoded and the mantissa is unable to decode the value properly. <template> <group name="grp"> <decimal name="dcml" presence="optional"> <exponent><delta/></exponent> <mantissa><copy/></mantissa> </decimal> </group> </template> See FAST discussion at FPL Forums: http://fixprotocol.org/discuss/read/8e1d2cc9 [FAST-4] Session.error() discarding important debug info Created: 12/May/08 Updated: 24/Oct/08 Resolved: 24/Oct/08 Status: Project: Component/s: Affects Version/s: Fix Version/s: Resolved OpenFAST Session Control Protocol 0.9.8 Type: Reporter: Resolution: Labels: Bug Christopher Helck Fixed None 1.0.1 Priority: Assignee: Votes: Default Jacob Northey 0 Description If the ErrorCode is D9_TEMPLATE_NOT_REGISTERED then the original message is discarded. Important information like the template id is lost. This makes finding the original problem much harder. I don't understand why the original message is being replaced, but perhaps the original message could be appended to the new one? public void error(ErrorCode code, String message) { if (code.equals(FastConstants.D9_TEMPLATE_NOT_REGISTERED)) { code = SessionConstants.TEMPLATE_NOT_SUPPORTED; message = "Template Not Supported"; } protocol.onError(this, code, message); errorHandler.error(code, message); } [FAST-3] Source Code distribution does not include pom.xml file. Created: 09/May/08 Updated: 24/Oct/08 Resolved: 24/Oct/08 Status: Project: Component/s: Affects Version/s: Fix Version/s: Resolved OpenFAST None 0.9.8 Type: Reporter: Resolution: Labels: Bug Christopher Helck Fixed None 1.0.0 Priority: Assignee: Votes: Default Jacob Northey 0 Description The source distro does not include the maven files needed for building. Either pom.xml or project.xml should be supplied. This was seen in the 0.9.8 release. Comments Comment by Christopher Helck [ 13/May/08 ] The zip file on the download page does not contain the pom.xml nor many of the data files needed for the unit tests. The actual source code from subversion seems perfectly fine and builds. I suggest removing the tarballs from the download page, or fixing them. [FAST-2] Errors serializing Messages Created: 23/Apr/08 Status: Project: Component/s: Affects Version/s: Fix Version/s: Resolved OpenFAST Message Object Model 0.9.7 Type: Reporter: Bug Priority: Markus Koller @ APR Assignee: Consulting Fixed Votes: None Using openfast head revision (pre 0.9.8) trying to send Messages to JMS Resolution: Labels: Environment: Updated: 24/Oct/08 Resolved: 24/Oct/08 1.0.0 Default Jacob Northey 0 Description Serializing a Message I get NotSerializableExceptions for: QName used by the MessageTemplate DecimalConverter used by ComposedScalar Field (as well used by the MessageTemplate) As ComposedScalar can use any type of ComposedValueConverter (DecimalConverter currently being the only one) the interface should probably be Serializable. Adding the Serializable interface to QName and ComposedValueConverter fixes the problem for me. (together with serialVersionUIDs for QName and DecimalConverter) [FAST-1] DecimalValue precision Created: 04/Mar/08 Status: Project: Component/s: Affects Version/s: Fix Version/s: Resolved OpenFAST Message Object Model 0.9.6 Type: Reporter: Resolution: Labels: Bug James Beilby Fixed None Updated: 24/Oct/08 Resolved: 24/Oct/08 0.9.7 Priority: Assignee: Votes: Default Jacob Northey 0 Description While the mantissa and exponent are maintained to full precision in transfer encoding, this precision is lost on the receiver when a DecimalValue is converted to a BigDecimal via a double: public BigDecimal toBigDecimal() { return new BigDecimal(value); } I believe this needs to be changed to: public BigDecimal toBigDecimal() { return BigDecimal.valueOf(mantissa, -exponent); } Generated at Sun Apr 30 15:37:50 UTC 2017 using JIRA 7.0.10#70120sha1:37e3d7a6fc4d580639533e7f7c232c925e554a6a.