common/thrift.git
16 years agoTHRIFT-258. csharp: Include all lib source files in Makefile.am
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

16 years agoTHRIFT-264. csharp: Include TBufferedTransport in the build on Linux
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

16 years agoTHRIFT-264. csharp: Use /langversion:linq to fix the Linux build
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

16 years agoTHRIFT-132. ruby: Ruby generator should use ::Thrift::Foo namespace form
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

16 years agoTHRIFT-302. ruby: Native extension fails to build
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

16 years agoTHRIFT-297. java: getFieldValue and setFieldValue should be abstract TBase methods
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

16 years agoTHRIFT-298. ruby: Exception propagation seems broken for Ruby clients
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

16 years agoTHRIFT-248. ruby: Factor BinaryProtocolAccelerated into separate protocol and struct...
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

16 years agoTHRIFT-178. java, csharp, cpp: Final Keyword
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

16 years agoTHRIFT-299. doc: binary type isn't documented nor demonstrated in the tutorial
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

16 years agoadd a lot of things to svn:ignore. there are many autogenerated build products that...
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

16 years agoTHRIFT-259. html: Generate "extends" link for extended services
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

16 years agoTHRIFT-199: integrate perl into automake
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

16 years agoTHRIFT-285. python: Don't generate _result structs for async functions
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

16 years agoTHRIFT-270: change cpp namespaces from facebook::thrift to apache::thrift
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

16 years agoTHRIFT-209. csharp: Make TTransportFactory.GetTransport virtual
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

16 years agoTHRIFT-195. python: Add a simple THttpServer
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

16 years agopython: Add TFileObjectTransport
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

16 years agoTHRIFT-212. python: Make TFramedTransport implement CReadableTransport
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

16 years agopython: Make TFramedTransport use a cStringIO for reading
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

16 years agopython: Eliminate the option of TFramedTransport to not frame
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

16 years agocpp: Make the test server compatible with the Python test client
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

16 years agopython: Make the unit tests run faster and more reliably
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

16 years agoTHRIFT-295: remove empty directories.
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

16 years agoTHRIFT-292
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

16 years agoTHRIFT-291
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

16 years agoAdd a few new generated directories to .gitignore
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

16 years agoAccidentally svn:ignored Makefile*, getting rid of Makefile.am changes
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

16 years agoTHRIFT-289. cpp: Fix "make check" by defining a comparator for "Instanity"
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

16 years agoTHRIFT-290. java: Metadata map doesn't properly reference external thrift file's...
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

16 years agoTHRIFT-289. test: "make check" no longer runs the Java tests
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

16 years agoTHRIFT-288. java: Generated code iterates maps during write inefficiently
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

16 years agoTHRIFT-218. java: When validation fails on serialization/deserialization, print out...
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

16 years agoTHRIFT-253. java: Enhance FieldMetaData
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

16 years agoundoing an unintentional commit to ax_java.m4
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

16 years agoTHRIFT-166. java: Java tests should be in lib/java/test/
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

16 years agoTHRIFT-239. java: Generate @Override annotations for all overrided methods
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

16 years agoTHRIFT-284. python: Update tutorial files to use repr
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

16 years agoTHRIFT-240. java: TBase should implement Cloneable
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

16 years agoTHRIFT-223 Validate method should check that enum types are assigned valid values
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

16 years agoTHRIFT-224 Validate method should check that enum types are assigned valid values
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

16 years agoTHRIFT-271: allows build to locate libevent on osx
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

16 years agoTHRIFT-244. cpp: Make TJSONProtocolFactor inherit from TProtocolFactory
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

16 years agoTHRIFT-244. cpp: Fix TJSONProtocol::writeMessageBegin
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

16 years agoTHRIFT-34 Java libraries should be namespaced under org.apache.thrift, not com.facebo...
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

16 years agoTHRIFT-216. Add validate method to fixtures so tests pass
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

16 years agoTHRIFT-242. python: Used named arguments in __init__ instead of a dict
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

16 years agoTHRIFT-249. java: Add @param lines to function docstrings
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

16 years agoTHRIFT-129. csharp: Make all Thrift structures extend TBase
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

16 years agoTHRIFT-46. csharp: Throw the correct exception for an unknown method
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

16 years agoTHRIFT-25. csharp: Various compiler and library improvements
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

16 years agoTHRIFT-246. rb: Generate #struct_fields rather than reflect.
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

16 years agoTHRIFT-157. rb: Quote strings and qualify class names properly
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

16 years agoTHRFIT-231. rb: Make Thrift::Structs hashable
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

16 years agoTHRIFT-235. java: Explicitly cast integer constants to double
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

16 years agoTHRIFT-222. java: Better exposure if __isset in beans style
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

16 years agojava: Add a helper function to implement nocamel style
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

16 years agoTHRIFT-191. java: Create a static field id -> name map for each struct
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

16 years agoTHRIFT-138. java: Fix copy constructor for binary fields
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

16 years agoTHRIFT-241. python: Generate a better implementation of __repr__
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

16 years agoTHRIFT-193: Patch for proper namespace support in perl compiler
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

16 years agoTHRIFT-2: check for thrift::socket handle being null
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

16 years agoTHRIFT-208. Fix ax_java.m4 for Ubuntu 8.10
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

16 years agoTHRIFT-190. Added dependency check to perl Makefile
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

16 years agoTHRIFT-220. Add some stuff to svn:ignore
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

16 years agoTHRIFT-225. java/cpp: Handle non-i32 integer constants properly
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

16 years agorb: Thrift.check_type should check struct classes [THRIFT-185]
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

16 years agoTHRIFT-121. Support arbitrary type annotations
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

16 years agoTHRIFT-203. cpp: Make library headers compile under g++ -pedantic
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

16 years agoTHRIFT-214. cpp: Qualify a cast to fix OSX compilation
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

16 years agoTHRIFT-215. cpp: Disable an assertion that fails on various platforms
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

16 years agoTHRIFT-217. Use "--gen py" instead of "-py" in build scripts
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

16 years agoTHRIFT-138. java: Create deep-copy constructors for Thrift structs
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

16 years agoTHRIFT-81. java: TNonblockingServer: Support a limit on read buffer size
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

16 years agoTHRIFT-142. java: Better handling of required fields
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

16 years agoTHRIFT-194. cpp: Properlyl namespace exception types in catch
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

16 years agoTHRIFT-172. java: Improve toString output for binary fields
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

16 years agoTHRIFT-139. java: Fix indentation in beans mode
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

16 years agoTHRIFT-202: java: Fix "make check"
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

16 years agoRemove compiler/cpp/version.h in "make clean"
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

16 years agoFix "make distclean" when Ruby is not in use
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

16 years agorb: Remove extra validate in read [THRIFT-207]
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

16 years agoMerge branch 'THRIFT-143'
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

16 years agorb: Validate struct _after_ read. [THRIFT-206]
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

16 years agorb: raise if an object is serialized without required fields [THRIFT-143]
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

16 years agoTHRIFT-67. python: Add TNonblockingServer
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

16 years agorb: Performance tweaks in Struct#initialize [THRIFT-188]
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

16 years agorb: Add docstrings to generated ruby code [THRIFT-147]
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

16 years agoTHRIFT-186. erl: Make the Makefile work on OpenSolaris
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

16 years agoTHRIFT-168. cpp: Clear transport buffers before a flush
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

16 years agoTHRIFT-179. java: Include per-field docstrings in generated code
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

16 years agoMake t_field inherit from t_doc instead of reimplementing it
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

16 years agoTHRIFT-183 let non-root issues run fb303 status commands
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

16 years agoMake a pointer const to fix a warning
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

16 years agoAdd a missing include to fix compilation on Ubuntu 8.10
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

16 years agoAdd more files to .gitignore
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

16 years agoMake .gitignore more specific
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

16 years agoTHRIFT-173. Commit the html generator
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

16 years agoTHRIFT-177. cpp: Add a missing "std::"
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

16 years agoTHRIFT-109. python: Use self.assert* instead of assert in tests
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