David Reiss [Tue, 17 Feb 2009 20:28:46 +0000 (20:28 +0000)]
THRIFT-325. Remove a bunch of uses of the old command line format
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@745242
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Tue, 17 Feb 2009 20:28:37 +0000 (20:28 +0000)]
Make the PHP generator use non-hardcoded namespaces.
- Make the PHP generator use program->get_namespace("php")
instead of program->get_php_namespace()
- Eliminate the explicit "php_namespace" in t_program.
- Deprecate the php_namespace token.
- Update example .thrift files and syntax files.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@745241
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Tue, 17 Feb 2009 20:28:30 +0000 (20:28 +0000)]
Allow the Thrift compiler to be built without the PHP generator.
- Use AX_THRIFT_GEN to make configure support --disable-gen-php
- Update the compiler Makefile.am to exclude the generator.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@745240
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Tue, 17 Feb 2009 20:28:28 +0000 (20:28 +0000)]
Remove t_php_generator.h.
t_php_generator.h is no longer included anywhere, because
the PHP generator uses the new dynamic generator framework.
Therefore, we can collapse the class definition into the .cc file.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@745239
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Tue, 17 Feb 2009 20:28:24 +0000 (20:28 +0000)]
Make the PHP generator dynamic.
- Modify the PHP generator constructor to fit the new generic interface.
- Register the PHP genrator with the central registry.
- Deprecate the old way of invoking the PHP generator.
- main.cc no longer includes t_php_generator.h.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@745238
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Tue, 17 Feb 2009 20:28:19 +0000 (20:28 +0000)]
Make the XSD generator use non-hardcoded namespaces.
- Make the XSD generator use program->get_namespace("xsd")
instead of program->get_xsd_namespace()
- Eliminate the explicit "xsd_namespace" in t_program.
- Deprecate the xsd_namespace token.
- Update example .thrift files and syntax files.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@745237
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Tue, 17 Feb 2009 20:28:13 +0000 (20:28 +0000)]
Allow the Thrift compiler to be built without the XSD generator.
- Use AX_THRIFT_GEN to make configure support --disable-gen-xsd
- Update the compiler Makefile.am to exclude the generator.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@745236
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Tue, 17 Feb 2009 20:28:10 +0000 (20:28 +0000)]
Remove t_xsd_generator.h.
t_xsd_generator.h is no longer included anywhere, because
the XSD generator uses the new dynamic generator framework.
Therefore, we can collapse the class definition into the .cc file.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@745235
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Tue, 17 Feb 2009 20:28:06 +0000 (20:28 +0000)]
Make the XSD generator dynamic.
- Modify the XSD generator constructor to fit the new generic interface.
- Register the XSD genrator with the central registry.
- Deprecate the old way of invoking the XSD generator.
- main.cc no longer includes t_xsd_generator.h.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@745234
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Tue, 17 Feb 2009 20:28:01 +0000 (20:28 +0000)]
Allow the Thrift compiler to be built without the Erlang generator.
- Use AX_THRIFT_GEN to make configure support --disable-gen-erl
- Update the compiler Makefile.am to exclude the generator.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@745233
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Tue, 17 Feb 2009 20:27:58 +0000 (20:27 +0000)]
Remove t_erl_generator.h.
t_erl_generator.h is no longer included anywhere, because
the Erlang generator uses the new dynamic generator framework.
Therefore, we can collapse the class definition into the .cc file.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@745232
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Tue, 17 Feb 2009 20:27:54 +0000 (20:27 +0000)]
Make the Erlang generator dynamic.
- Modify the Erlang generator constructor to fit the new generic interface.
- Register the Erlang genrator with the central registry.
- Deprecate the old way of invoking the Erlang generator.
- main.cc no longer includes t_erl_generator.h.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@745231
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Tue, 17 Feb 2009 20:27:48 +0000 (20:27 +0000)]
THRIFT-325. Include t_generator.h in main.cc
I'm about to remove all of the generator includes, but we'll still need
the generic header for the generator registry and interface.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@745230
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Tue, 17 Feb 2009 20:06:08 +0000 (20:06 +0000)]
THRIFT-340. python: Detect endianness properly on FreeBSD
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@745223
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Fri, 13 Feb 2009 03:09:52 +0000 (03:09 +0000)]
THRIFT-309. Make Thrift's C# mapping .NET 2.0 (Mono 1.2.4) compatible
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@743963
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Wed, 11 Feb 2009 01:11:54 +0000 (01:11 +0000)]
THRIFT-199. perl: Let "make distclean" work when we are not using Perl
When configure is run with --without-perl, lib/perl/Makefile.am cannot
generate Makefile-perl.mk. However, "make distclean" still runs, so
the clean-local target fails. This version just silently does nothing
when Perl is not being used.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@743190
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Tue, 10 Feb 2009 21:38:48 +0000 (21:38 +0000)]
cpp: Fix implementations of "list<bool>"
TProtocol::readBool expects a "bool&" as its argument, but "list<bool>"
is implemented as "vector<bool>", which is a specialization of vector
that uses a custom structure as its reference type. Therefore, we need
to overload TProtocol::readBool for std::vector<bool>::reference.
This function is provided as a non-virtual for efficiency since it is
highly unlikely that any subclass will want to override it.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@743112
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Tue, 10 Feb 2009 21:38:44 +0000 (21:38 +0000)]
cpp: Fix "make check" by defining a comparator for "Empty"
The TCompactProtocol revision added a "set<Empty>" in DebugProtoTest.
C++ needs a comparator in order to link this.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@743111
13f79535-47bb-0310-9956-
ffa450edef68
Bryan Duxbury [Tue, 10 Feb 2009 18:36:56 +0000 (18:36 +0000)]
THRIFT-316. java: @Override isn't generated for hashCode() without the hash code builder
Fixed with a trivial reorganization of the hashCode method generation.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@743046
13f79535-47bb-0310-9956-
ffa450edef68
Bryan Duxbury [Tue, 10 Feb 2009 18:10:57 +0000 (18:10 +0000)]
THRIFT-318. java: Performance of HashSet for enumeration VALID_VALUES seems poor
Instead of a HashSet, enums will now use the special IntRangeSet implementation.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@743037
13f79535-47bb-0310-9956-
ffa450edef68
Bryan Duxbury [Tue, 10 Feb 2009 04:49:39 +0000 (04:49 +0000)]
THRIFT-110. java: A more compact format
This patch includes the Java implementation of the new Compact Protocol outlined in the issue and a matching test. It also creates Fixtures.java, a helper class that contains some useful test structure instances.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@742847
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Sun, 8 Feb 2009 22:46:38 +0000 (22:46 +0000)]
java: Fix a minor formatting problem in the gen-code
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@742192
13f79535-47bb-0310-9956-
ffa450edef68
Bryan Duxbury [Sun, 8 Feb 2009 00:12:38 +0000 (00:12 +0000)]
THRIFT-10. java: Descriptors used during serialization should be immutable objects
-Descriptor classes all have final members, making them immutable.
-Generated structs now have static constant versions of their TStruct and TField descriptors, and will be used during writing.
-Protocols that can benefit use static constants for various common returned descriptors.
-A duplicate FieldMetaData.java that should have been removed previously was also removed.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@741984
13f79535-47bb-0310-9956-
ffa450edef68
Bryan Duxbury [Sat, 7 Feb 2009 20:06:09 +0000 (20:06 +0000)]
THRIFT-321. java: THRIFT-303 broke EqualityTest
Regenerated test code.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@741952
13f79535-47bb-0310-9956-
ffa450edef68
Bryan Duxbury [Sat, 7 Feb 2009 17:17:43 +0000 (17:17 +0000)]
THRIFT-159. csharp: Compiler doesn't add package scope to exceptions in catch blocks and assigns to unused local var when reading
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@741917
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Sat, 7 Feb 2009 02:37:09 +0000 (02:37 +0000)]
THRIFT-256. python: Fix inheritance of services in the same IDL file
The old version of type_name did not fully qualify parent service names
when they were defined in the same IDL file, but it is necessary because
they end up in different Python files.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@741833
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Sat, 7 Feb 2009 02:37:05 +0000 (02:37 +0000)]
THRIFT-310. python: Generate valid code for empty services
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@741832
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Sat, 7 Feb 2009 02:37:00 +0000 (02:37 +0000)]
THRIFT-292. Install fb303.thrift in a more sensible location
thrift_home is the Thrift installation we are using.
We shouldn't be trying to install back into it.
Use $(prefix) instead.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@741831
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Sat, 7 Feb 2009 02:36:57 +0000 (02:36 +0000)]
THRIFT-292. Auto-generate the Python gen-code in build.xml
r739384 deleted the generated Python code from the source tree.
With this change, it will be automatically generated when make is run.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@741830
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Sat, 7 Feb 2009 02:36:54 +0000 (02:36 +0000)]
THRIFT-292. Auto-generate the Java gen-code in build.xml
r739384 deleted the generated Java code from the source tree.
With this change, it will be automatically generated when ant is run.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@741829
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Sat, 7 Feb 2009 02:36:52 +0000 (02:36 +0000)]
THRIFT-292. Delete aclocal.m4, a generated file
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@741828
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Sat, 7 Feb 2009 02:36:50 +0000 (02:36 +0000)]
THRIFT-292. s/facebook::thrift/apache::thrift/ in contrib/fb303/cpp
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@741827
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Sat, 7 Feb 2009 02:36:46 +0000 (02:36 +0000)]
THRIFT-292. Make the #includes in fb303 match the rest of Thrift
Specifically, by removing the "thrift/" prefix.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@741826
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Sat, 7 Feb 2009 02:36:43 +0000 (02:36 +0000)]
THRIFT-292. Restore fb303/FacebookBase.py
This file was deleted in r739384, but is is not generated code.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@741825
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Sat, 7 Feb 2009 02:36:35 +0000 (02:36 +0000)]
THRIFT-314. Purge reflection.limited
This was a feature designed to allow a Thrift server to report
information about its interface. However, the feature has
significant design problems, and is presence is currently causing
confusion without doing any good. Therefore, it is being removed.
It will always be in source control if and when we are ready to
come back to it.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@741824
13f79535-47bb-0310-9956-
ffa450edef68
Bryan Duxbury [Sat, 7 Feb 2009 01:08:58 +0000 (01:08 +0000)]
THRIFT-303. java: Changes to __isset interface
This patch makes __isset always private and adds a method per field to set the __isset state when not using the bean-style generator.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@741805
13f79535-47bb-0310-9956-
ffa450edef68
Bryan Duxbury [Thu, 5 Feb 2009 00:24:42 +0000 (00:24 +0000)]
java: Added SerializationBenchmark.java, helper class for performing tests on protocols.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@740952
13f79535-47bb-0310-9956-
ffa450edef68
Kevin Clark [Wed, 4 Feb 2009 22:43:59 +0000 (22:43 +0000)]
THRIFT-254. rb: Add optional strict version support to binary protocols
Author: Michael Stockton
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@740930
13f79535-47bb-0310-9956-
ffa450edef68
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