David Reiss [Tue, 3 Feb 2009 22:16:46 +0000 (22:16 +0000)]
THRIFT-258. csharp: Include all lib source files in Makefile.am
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@740485
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Tue, 3 Feb 2009 21:20:55 +0000 (21:20 +0000)]
THRIFT-264. csharp: Include TBufferedTransport in the build on Linux
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@740456
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Tue, 3 Feb 2009 21:20:27 +0000 (21:20 +0000)]
THRIFT-264. csharp: Use /langversion:linq to fix the Linux build
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@740454
13f79535-47bb-0310-9956-
ffa450edef68
Bryan Duxbury [Tue, 3 Feb 2009 19:18:57 +0000 (19:18 +0000)]
THRIFT-132. ruby: Ruby generator should use ::Thrift::Foo namespace form
All of the Thrift library includes now prefix with ::.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@740377
13f79535-47bb-0310-9956-
ffa450edef68
Bryan Duxbury [Tue, 3 Feb 2009 18:16:54 +0000 (18:16 +0000)]
THRIFT-302. ruby: Native extension fails to build
A piece of code needed for compilation on Linux was missing; this patch replaces it. Also, there were some compiler warnings and declarations that were missing that are now fixed.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@740366
13f79535-47bb-0310-9956-
ffa450edef68
Bryan Duxbury [Tue, 3 Feb 2009 00:49:25 +0000 (00:49 +0000)]
THRIFT-297. java: getFieldValue and setFieldValue should be abstract TBase methods
This patch makes getFieldValue, setFieldValue, and isSet TBase interface methods, and adds all the previously beans-only getters and setters to all Java generated classes.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@740169
13f79535-47bb-0310-9956-
ffa450edef68
Bryan Duxbury [Tue, 3 Feb 2009 00:31:55 +0000 (00:31 +0000)]
THRIFT-298. ruby: Exception propagation seems broken for Ruby clients
This patch fixes the problem. How is anyone's guess, but we'll simplify all this code in the future.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@740161
13f79535-47bb-0310-9956-
ffa450edef68
Bryan Duxbury [Mon, 2 Feb 2009 00:48:17 +0000 (00:48 +0000)]
THRIFT-248. ruby: Factor BinaryProtocolAccelerated into separate protocol and struct components
This patch replaces the "binaryprotocolaccelerated" c extension with the "thrift_native" c extension. This new extension creates native implementations for the struct.rb #write and #read methods, Thrift::BinaryProtocol, and Thrift::MemoryBuffer, but keeps ruby-level interfaces, allowing all protocols to benefit from the struct code and the memory buffer. There is however an additional cost associated with going through this ruby layer, but the increased interoperability seems to be well worth it.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@739895
13f79535-47bb-0310-9956-
ffa450edef68
Bryan Duxbury [Sun, 1 Feb 2009 16:56:29 +0000 (16:56 +0000)]
THRIFT-178. java, csharp, cpp: Final Keyword
The lexer has been changed to make "final" a non-reserved word, and the java, csharp, and cpp compilers now look for the final annotation and amend their class declarations appropriately.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@739788
13f79535-47bb-0310-9956-
ffa450edef68
Bryan Duxbury [Sun, 1 Feb 2009 06:21:13 +0000 (06:21 +0000)]
THRIFT-299. doc: binary type isn't documented nor demonstrated in the tutorial
The existence of the "binary" type is now documented in the relevant places.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@739702
13f79535-47bb-0310-9956-
ffa450edef68
Bryan Duxbury [Sun, 1 Feb 2009 06:08:35 +0000 (06:08 +0000)]
add a lot of things to svn:ignore. there are many autogenerated build products that are best ignored, and this gets all of them, I think.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@739701
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Sun, 1 Feb 2009 05:36:10 +0000 (05:36 +0000)]
THRIFT-259. html: Generate "extends" link for extended services
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@739700
13f79535-47bb-0310-9956-
ffa450edef68
T Jake Luciani [Sun, 1 Feb 2009 04:47:30 +0000 (04:47 +0000)]
THRIFT-199: integrate perl into automake
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@739697
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Sun, 1 Feb 2009 00:42:10 +0000 (00:42 +0000)]
THRIFT-285. python: Don't generate _result structs for async functions
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@739668
13f79535-47bb-0310-9956-
ffa450edef68
T Jake Luciani [Sat, 31 Jan 2009 22:36:20 +0000 (22:36 +0000)]
THRIFT-270: change cpp namespaces from facebook::thrift to apache::thrift
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@739644
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Sat, 31 Jan 2009 22:12:34 +0000 (22:12 +0000)]
THRIFT-209. csharp: Make TTransportFactory.GetTransport virtual
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@739641
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Sat, 31 Jan 2009 21:59:32 +0000 (21:59 +0000)]
THRIFT-195. python: Add a simple THttpServer
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@739638
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Sat, 31 Jan 2009 21:59:27 +0000 (21:59 +0000)]
python: Add TFileObjectTransport
TFileObjectTransport is a Thrift transport that wraps a
Python-style file-like object. This is necessary to add
methods like isOpen and readAll.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@739637
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Sat, 31 Jan 2009 21:39:25 +0000 (21:39 +0000)]
THRIFT-212. python: Make TFramedTransport implement CReadableTransport
This involved adding a few methods to provide lower-level access to the
internal read buffer. This will allow us to use TBinaryProtocolAccelerated
with TFramedTransport.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@739632
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Sat, 31 Jan 2009 21:39:20 +0000 (21:39 +0000)]
python: Make TFramedTransport use a cStringIO for reading
Tested by running a client against a framed-transport server.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@739631
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Sat, 31 Jan 2009 21:39:16 +0000 (21:39 +0000)]
python: Eliminate the option of TFramedTransport to not frame
We've done this in a few other languages. All the tests still pass.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@739630
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Sat, 31 Jan 2009 21:39:11 +0000 (21:39 +0000)]
cpp: Make the test server compatible with the Python test client
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@739629
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Sat, 31 Jan 2009 21:39:08 +0000 (21:39 +0000)]
python: Make the unit tests run faster and more reliably
- The async test was making the server sleep for 2 seconds. Cut it to 0.5.
- The test driver was waiting 5 seconds for shutdown. Cut it to 1.
- Add a 0.25 second sleep to make sure the server comes up before the client.
This is all a bit hacky, but it is better than the status quo.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@739628
13f79535-47bb-0310-9956-
ffa450edef68
Greg Stein [Sat, 31 Jan 2009 03:54:03 +0000 (03:54 +0000)]
THRIFT-295: remove empty directories.
These directories have no files in them. Toss 'em from version control.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@739501
13f79535-47bb-0310-9956-
ffa450edef68
Greg Stein [Fri, 30 Jan 2009 19:19:45 +0000 (19:19 +0000)]
THRIFT-292
Delete a number of generated artifacts. The build system should produce
these, rather than having them stored in version control.
* contrib/fb303/py/fb303/...: remove generated Python bindings
* contrib/fb303/java/FacebookService.java:
* contrib/fb303/java/fb_status.java:
* contrib/fb303/java/Constants.java:
- remove generated Java bindings
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@739384
13f79535-47bb-0310-9956-
ffa450edef68
Greg Stein [Fri, 30 Jan 2009 19:10:27 +0000 (19:10 +0000)]
THRIFT-291
* README: tweak for Thrift's new home at Apache.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@739380
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Thu, 29 Jan 2009 23:54:41 +0000 (23:54 +0000)]
Add a few new generated directories to .gitignore
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@739089
13f79535-47bb-0310-9956-
ffa450edef68
Bryan Duxbury [Thu, 29 Jan 2009 23:53:34 +0000 (23:53 +0000)]
Accidentally svn:ignored Makefile*, getting rid of Makefile.am changes
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@739087
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Thu, 29 Jan 2009 23:46:46 +0000 (23:46 +0000)]
THRIFT-289. cpp: Fix "make check" by defining a comparator for "Instanity"
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@739083
13f79535-47bb-0310-9956-
ffa450edef68
Bryan Duxbury [Thu, 29 Jan 2009 22:13:56 +0000 (22:13 +0000)]
THRIFT-290. java: Metadata map doesn't properly reference external thrift file's types
The code generator now uses full namespaces to refer to the classes.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@739045
13f79535-47bb-0310-9956-
ffa450edef68
Bryan Duxbury [Thu, 29 Jan 2009 21:31:25 +0000 (21:31 +0000)]
THRIFT-289. test: "make check" no longer runs the Java tests
Thanks to David for the changes that straighten the makefiles out.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@739024
13f79535-47bb-0310-9956-
ffa450edef68
Bryan Duxbury [Thu, 29 Jan 2009 05:47:21 +0000 (05:47 +0000)]
THRIFT-288. java: Generated code iterates maps during write inefficiently
Newly generated code will now use entrySet instead of keySet when serializing maps. Existing generated classes does not need to be regenerated, though they won't reap the performance improvements unless they do.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@738765
13f79535-47bb-0310-9956-
ffa450edef68
Bryan Duxbury [Thu, 29 Jan 2009 05:38:10 +0000 (05:38 +0000)]
THRIFT-218. java: When validation fails on serialization/deserialization, print out the invalid object
The error thrown when validation fails now contains the toString output.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@738764
13f79535-47bb-0310-9956-
ffa450edef68
Bryan Duxbury [Thu, 29 Jan 2009 01:51:08 +0000 (01:51 +0000)]
THRIFT-253. java: Enhance FieldMetaData
The code generator new creates a static map of field id to metadata for each field, including information like the field TType, class of embedded structs, required/optional/default, etc. Additionally, on loading, generated classes statically register their class and metadata map with the global FieldMetaData map, so you can get the metadata for any TBase-implementing class easily.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@738708
13f79535-47bb-0310-9956-
ffa450edef68
Bryan Duxbury [Thu, 29 Jan 2009 01:37:01 +0000 (01:37 +0000)]
undoing an unintentional commit to ax_java.m4
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@738704
13f79535-47bb-0310-9956-
ffa450edef68
Bryan Duxbury [Thu, 29 Jan 2009 01:21:20 +0000 (01:21 +0000)]
THRIFT-166. java: Java tests should be in lib/java/test/
THRIFT-221. java: Make java build classpath more dynamic and configurable
This issue moves all the tests from test/java to lib/java/test/src and combines the build files. In addition, rather than continue on with the same busted approach to finding dependent jars for the tests, THRIFT-221 has been implemented, allowing the user to specify a .thrift-build.properties file in their home directory that contains additional classpath entries.
As a result of this patch, "make check" does not currently work as it is expected to. This will be resolved in a follow-up commit.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@738695
13f79535-47bb-0310-9956-
ffa450edef68
Bryan Duxbury [Tue, 27 Jan 2009 22:09:33 +0000 (22:09 +0000)]
THRIFT-239. java: Generate @Override annotations for all overrided methods
equals, toString, clone, and hashcode now all have a preceeding @Override annotation.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@738270
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Sat, 24 Jan 2009 19:37:41 +0000 (19:37 +0000)]
THRIFT-284. python: Update tutorial files to use repr
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@737424
13f79535-47bb-0310-9956-
ffa450edef68
Bryan Duxbury [Thu, 22 Jan 2009 16:27:16 +0000 (16:27 +0000)]
THRIFT-240. java: TBase should implement Cloneable
The TBase interface now extends Cloneable.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@736691
13f79535-47bb-0310-9956-
ffa450edef68
Bryan Duxbury [Tue, 20 Jan 2009 01:54:14 +0000 (01:54 +0000)]
THRIFT-223 Validate method should check that enum types are assigned valid values
Enum classes now get a VALID_VALUES Set that contains all of the acceptable values. Structs' validate() method has been extended to compare an enum field's value to the valid value set, but only if the __isset flag for that field is true, meaning that non-beans generated code will not perform this validity check unless the __isset flag is manually maintained.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@735910
13f79535-47bb-0310-9956-
ffa450edef68
Bryan Duxbury [Fri, 16 Jan 2009 22:34:40 +0000 (22:34 +0000)]
THRIFT-224 Validate method should check that enum types are assigned valid values
Each generated enumeration type will now have a VALID_VALUES Set as a static member that contains all the values of the enumeration.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@735167
13f79535-47bb-0310-9956-
ffa450edef68
T Jake Luciani [Fri, 16 Jan 2009 01:04:27 +0000 (01:04 +0000)]
THRIFT-271: allows build to locate libevent on osx
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@734878
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Thu, 15 Jan 2009 23:56:24 +0000 (23:56 +0000)]
THRIFT-244. cpp: Make TJSONProtocolFactor inherit from TProtocolFactory
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@734863
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Thu, 15 Jan 2009 23:56:19 +0000 (23:56 +0000)]
THRIFT-244. cpp: Fix TJSONProtocol::writeMessageBegin
uint8_t is a character type, so lexical_cast doesn't convert it
to an integer representation.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@734862
13f79535-47bb-0310-9956-
ffa450edef68
Bryan Duxbury [Thu, 15 Jan 2009 23:47:51 +0000 (23:47 +0000)]
THRIFT-34 Java libraries should be namespaced under org.apache.thrift, not com.facebook.thrift
Library classes and tests have been moved to the proper package and directory structure, and references to com.facebook.thrift where replaced with org.apache.thrift throughout the code. The fb303 contrib project still contains com.facebook packages.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@734855
13f79535-47bb-0310-9956-
ffa450edef68
Kevin Clark [Wed, 14 Jan 2009 23:55:10 +0000 (23:55 +0000)]
THRIFT-216. Add validate method to fixtures so tests pass
Author: Esteve Fernandez
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@734565
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Wed, 14 Jan 2009 22:34:15 +0000 (22:34 +0000)]
THRIFT-242. python: Used named arguments in __init__ instead of a dict
This is a wire-compatible but non-source-compatible change.
When initializing structures, you must use
Foo(bar=1, baz="qux")
Foo(**{"bar": 1, "baz": "qux"})
instead of
Foo({"bar": 1, "baz": "qux"})
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@734536
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Tue, 6 Jan 2009 20:54:27 +0000 (20:54 +0000)]
THRIFT-249. java: Add @param lines to function docstrings
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@732116
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Tue, 6 Jan 2009 19:49:33 +0000 (19:49 +0000)]
THRIFT-129. csharp: Make all Thrift structures extend TBase
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@732081
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Tue, 6 Jan 2009 19:49:29 +0000 (19:49 +0000)]
THRIFT-46. csharp: Throw the correct exception for an unknown method
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@732080
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Tue, 6 Jan 2009 19:49:22 +0000 (19:49 +0000)]
THRIFT-25. csharp: Various compiler and library improvements
Compiler:
- Thrift structures are serializable.
- The member fields of thrift structures are now private and only accessible
through Properties, which keep the appropriate __isset up to date.
Library
- Addition of TBufferedTransport, which can be used to wrap other Transports.
- Addition of TThreadedServer, which manually manages threads instead of
relying on .NET ThreadPool.
- Servers use a log delegate that defaults to System.Console but allows
servers to use log4net without introducing the dependency.
ThriftTest Visual Studio Project
- Test client and server that use ThriftTest.thrift. The project references
thrift.exe and Thrift.dll from the subversion tree and automatically builds
generated code. This makes it very easy to test changes in both the compiler
and library.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@732079
13f79535-47bb-0310-9956-
ffa450edef68
Kevin Clark [Tue, 6 Jan 2009 01:34:28 +0000 (01:34 +0000)]
THRIFT-246. rb: Generate #struct_fields rather than reflect.
Author: Bryan Duxbury
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@731806
13f79535-47bb-0310-9956-
ffa450edef68
Kevin Clark [Mon, 5 Jan 2009 23:10:17 +0000 (23:10 +0000)]
THRIFT-157. rb: Quote strings and qualify class names properly
Author: Dave Engberg
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@731763
13f79535-47bb-0310-9956-
ffa450edef68
Kevin Clark [Mon, 5 Jan 2009 23:00:22 +0000 (23:00 +0000)]
THRFIT-231. rb: Make Thrift::Structs hashable
Author: Bryan Duxbury
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@731760
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Mon, 5 Jan 2009 21:03:01 +0000 (21:03 +0000)]
THRIFT-235. java: Explicitly cast integer constants to double
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@731723
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Mon, 5 Jan 2009 21:02:58 +0000 (21:02 +0000)]
THRIFT-222. java: Better exposure if __isset in beans style
- Generate an isSet method for each field to test its set-ness.
- Generate a generic isSet method that checks by field id.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@731722
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Mon, 5 Jan 2009 21:02:55 +0000 (21:02 +0000)]
java: Add a helper function to implement nocamel style
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@731721
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Mon, 5 Jan 2009 21:02:52 +0000 (21:02 +0000)]
THRIFT-191. java: Create a static field id -> name map for each struct
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@731720
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Mon, 5 Jan 2009 21:02:48 +0000 (21:02 +0000)]
THRIFT-138. java: Fix copy constructor for binary fields
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@731719
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Mon, 5 Jan 2009 20:14:52 +0000 (20:14 +0000)]
THRIFT-241. python: Generate a better implementation of __repr__
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@731685
13f79535-47bb-0310-9956-
ffa450edef68
T Jake Luciani [Tue, 23 Dec 2008 03:45:43 +0000 (03:45 +0000)]
THRIFT-193: Patch for proper namespace support in perl compiler
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@728863
13f79535-47bb-0310-9956-
ffa450edef68
T Jake Luciani [Tue, 23 Dec 2008 03:12:50 +0000 (03:12 +0000)]
THRIFT-2: check for thrift::socket handle being null
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@728860
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Mon, 22 Dec 2008 19:54:12 +0000 (19:54 +0000)]
THRIFT-208. Fix ax_java.m4 for Ubuntu 8.10
On Ubuntu 8.10, /bin/sh is a symlink to dash (a minimal
Bourne-compatible shell). ./configure is smart enough
to detect when the shell it is run with is missing features.
In such cases, it switches to a more capable shell (like bash).
This causes it to enable certain shell constructs that are
not supported by dash. However, the Autoconf macro file that
we use to detect Java support interacts poorly with Autoconf
because it uses divert(-1) for large comments. This somehow
causes configure to set SHELL to /bin/sh. As a result, the
libtool script generated during the build process is not
compatible with the shell that is used to run it (if a recent
version of libtool is in use).
This change replaces all of the "divert(-1)" comments
with more traditional "dnl" comments. This allows Thrift
to build on Ubuntu 8.10.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@728756
13f79535-47bb-0310-9956-
ffa450edef68
T Jake Luciani [Mon, 22 Dec 2008 13:13:56 +0000 (13:13 +0000)]
THRIFT-190. Added dependency check to perl Makefile
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@728678
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Tue, 16 Dec 2008 20:31:26 +0000 (20:31 +0000)]
THRIFT-220. Add some stuff to svn:ignore
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@727131
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Tue, 16 Dec 2008 20:28:13 +0000 (20:28 +0000)]
THRIFT-225. java/cpp: Handle non-i32 integer constants properly
Java generates a warning when converting from an integer constant
to a byte or short without an explicit cast. This change adds a
cast to byte and short literals in Java.
Both Java and C++ fail to compile integer literals larger than 2^31
unless they are decorated with "L" (for Java) or "LL" (for g++).
This change adds the appropriate decorations.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@727130
13f79535-47bb-0310-9956-
ffa450edef68
Kevin Clark [Sat, 13 Dec 2008 02:39:20 +0000 (02:39 +0000)]
rb: Thrift.check_type should check struct classes [THRIFT-185]
Author: Piotr Kozikowski
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@726156
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Wed, 10 Dec 2008 01:52:48 +0000 (01:52 +0000)]
THRIFT-121. Support arbitrary type annotations
Adds syntax for attaching arbitrary key/value pairs to types.
These annotations can be accessed by individual generators to alter
the code they produce.
This version supports annotations on container types and structures.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@724954
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Fri, 5 Dec 2008 02:54:09 +0000 (02:54 +0000)]
THRIFT-203. cpp: Make library headers compile under g++ -pedantic
It turns out that trailing commas in enum definitions are
not actually valid C++.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@723562
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Tue, 2 Dec 2008 02:32:25 +0000 (02:32 +0000)]
THRIFT-214. cpp: Qualify a cast to fix OSX compilation
id_t is defined in some OSX header, and the id_t in this function
resolved to that one instead of Thread::id_t. This change fully
qualifies the type to make sure it resolves properly.
Also remove a comment about eliminating the C-style cast, since it
is actually quite appropriate in this case.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@722337
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Tue, 2 Dec 2008 02:22:01 +0000 (02:22 +0000)]
THRIFT-215. cpp: Disable an assertion that fails on various platforms
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@722336
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Tue, 2 Dec 2008 02:11:13 +0000 (02:11 +0000)]
THRIFT-217. Use "--gen py" instead of "-py" in build scripts
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@722333
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Tue, 2 Dec 2008 02:06:31 +0000 (02:06 +0000)]
THRIFT-138. java: Create deep-copy constructors for Thrift structs
- Create a copy constructor for every Thrift struct. The constructor
performs a deep copy on the argument, resulting in no shared state.
- Make thrift structions implement Cloneable and implement .clone()
using the copy constructor.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@722332
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Fri, 21 Nov 2008 23:07:05 +0000 (23:07 +0000)]
THRIFT-81. java: TNonblockingServer: Support a limit on read buffer size
This change makes it possible to set a maximum amount of memory that
TNonblockingServer will use for all read buffers (combined).
If it is exceeded, no new data will be read from clients until
memory is freed. The current implementation does a busy wait in
the main thread when this happens.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@719741
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Fri, 21 Nov 2008 21:55:52 +0000 (21:55 +0000)]
THRIFT-142. java: Better handling of required fields
- On reading, behave the same way as the C++ code:
throw an exception if a required field is missing.
- In addition, throw an exception if a required field is missing
when writing. For the JavaBeans code, this means that __isset
is false (because it is maintained automatically). For non-beans
code, this means that the field is null. Non-nullable fields are
not checked in non-beans code.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@719727
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Fri, 21 Nov 2008 21:36:41 +0000 (21:36 +0000)]
THRIFT-194. cpp: Properlyl namespace exception types in catch
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@719721
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Fri, 21 Nov 2008 21:31:36 +0000 (21:31 +0000)]
THRIFT-172. java: Improve toString output for binary fields
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@719720
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Fri, 21 Nov 2008 20:25:14 +0000 (20:25 +0000)]
THRIFT-139. java: Fix indentation in beans mode
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@719701
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Thu, 20 Nov 2008 22:22:23 +0000 (22:22 +0000)]
THRIFT-202: java: Fix "make check"
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@719407
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Thu, 20 Nov 2008 21:24:32 +0000 (21:24 +0000)]
Remove compiler/cpp/version.h in "make clean"
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@719380
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Thu, 20 Nov 2008 21:24:18 +0000 (21:24 +0000)]
Fix "make distclean" when Ruby is not in use
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@719379
13f79535-47bb-0310-9956-
ffa450edef68
Kevin Clark [Wed, 19 Nov 2008 23:24:12 +0000 (23:24 +0000)]
rb: Remove extra validate in read [THRIFT-207]
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@719126
13f79535-47bb-0310-9956-
ffa450edef68
Kevin Clark [Fri, 14 Nov 2008 17:11:39 +0000 (17:11 +0000)]
Merge branch 'THRIFT-143'
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@714070
13f79535-47bb-0310-9956-
ffa450edef68
Kevin Clark [Fri, 14 Nov 2008 17:09:52 +0000 (17:09 +0000)]
rb: Validate struct _after_ read. [THRIFT-206]
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@714069
13f79535-47bb-0310-9956-
ffa450edef68
Kevin Clark [Tue, 11 Nov 2008 05:46:04 +0000 (05:46 +0000)]
rb: raise if an object is serialized without required fields [THRIFT-143]
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@712945
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Fri, 7 Nov 2008 23:09:31 +0000 (23:09 +0000)]
THRIFT-67. python: Add TNonblockingServer
This TNonblockingServer is very similar to the C++ implementation.
It assumes the framed transport, but it uses select instead of libevent.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@712306
13f79535-47bb-0310-9956-
ffa450edef68
Kevin Clark [Fri, 31 Oct 2008 00:39:20 +0000 (00:39 +0000)]
rb: Performance tweaks in Struct#initialize [THRIFT-188]
Author: Bryan Duxbury
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@709313
13f79535-47bb-0310-9956-
ffa450edef68
Kevin Clark [Fri, 31 Oct 2008 00:32:25 +0000 (00:32 +0000)]
rb: Add docstrings to generated ruby code [THRIFT-147]
Author: Bryan Duxbury
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@709309
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Thu, 30 Oct 2008 04:28:42 +0000 (04:28 +0000)]
THRIFT-186. erl: Make the Makefile work on OpenSolaris
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@709086
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Wed, 29 Oct 2008 22:50:34 +0000 (22:50 +0000)]
THRIFT-168. cpp: Clear transport buffers before a flush
Previously, TBufferedTransport and TFramedTransport could
leave data in their buffers if a flush threw an exception.
This patch makes them reset their internal pointers before
flushing to the underlying transport.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@709037
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Wed, 29 Oct 2008 00:07:49 +0000 (00:07 +0000)]
THRIFT-179. java: Include per-field docstrings in generated code
This also involves refactoring a bit of the functionality into
t_oop_generator.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@708737
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Wed, 29 Oct 2008 00:07:45 +0000 (00:07 +0000)]
Make t_field inherit from t_doc instead of reimplementing it
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@708736
13f79535-47bb-0310-9956-
ffa450edef68
Mark Slee [Mon, 27 Oct 2008 22:45:26 +0000 (22:45 +0000)]
THRIFT-183 let non-root issues run fb303 status commands
Reviewed By: mcslee
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@708364
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Wed, 22 Oct 2008 22:07:03 +0000 (22:07 +0000)]
Make a pointer const to fix a warning
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@707213
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Wed, 22 Oct 2008 22:07:00 +0000 (22:07 +0000)]
Add a missing include to fix compilation on Ubuntu 8.10
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@707212
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Wed, 22 Oct 2008 21:59:15 +0000 (21:59 +0000)]
Add more files to .gitignore
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@707211
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Wed, 22 Oct 2008 21:59:12 +0000 (21:59 +0000)]
Make .gitignore more specific
The leading slashes prevent it from matching similar-looking paths
in subdirectories.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@707210
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Tue, 21 Oct 2008 00:09:23 +0000 (00:09 +0000)]
THRIFT-173. Commit the html generator
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@706466
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Mon, 20 Oct 2008 21:29:07 +0000 (21:29 +0000)]
THRIFT-177. cpp: Add a missing "std::"
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@706418
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Fri, 17 Oct 2008 19:30:35 +0000 (19:30 +0000)]
THRIFT-109. python: Use self.assert* instead of assert in tests
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@705734
13f79535-47bb-0310-9956-
ffa450edef68