Commit Graph

1690 Commits

Author SHA1 Message Date
Christopher Piro
5f5fdf3a20 [thrift] maps, lists, sets, and service inheritance for Erlang
Reviewed by: cpiro

Test Plan: tested wit tutorial/tutorial.thrift

Revert Plan: ok


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665175 13f79535-47bb-0310-9956-ffa450edef68
2007-07-25 22:41:00 +00:00
iproctor
ff8eb9288d Thrift: Haskell library and codegen
Summary: It's thrift for haskell. The codegen is complete. The library has binary protocol, io channel transport, and a threaded server.
Reviewed by: mcslee
Test plan: Yes
Revert plan: yes


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665174 13f79535-47bb-0310-9956-ffa450edef68
2007-07-25 19:06:13 +00:00
iproctor
5ced286cec Thrift: Ruby cogeden not creating exception fields properly.
Summary: Generated ruby code did not give exception struct fields a class. This broke the result structs for all functions that threw exceptions.
Reviewed by: mcslee
Test plan: Yes
Revert plan: yes


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665173 13f79535-47bb-0310-9956-ffa450edef68
2007-07-25 18:50:50 +00:00
Christopher Piro
873726035a [thrift] stupid case bug in Erlang codegen
Summary: stop generating files/modules in titlecase

Notes: somehow we access service_name_ before the constructor downcases it ... burnsauce


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665170 13f79535-47bb-0310-9956-ffa450edef68
2007-07-24 06:20:47 +00:00
Christopher Piro
ae1f10f8f2 [thrift] misc. Erlang codegen improvements, cleanups
Summary:
 * const/enum namespacing
 * better formatting, less debugging comments in both source and gen-erl/

Notes:
 * in preparation for iproctor's whiz-bang map/list/set support


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665169 13f79535-47bb-0310-9956-ffa450edef68
2007-07-24 04:30:15 +00:00
David Reiss
8639e1056d Thrift: add an indent to generated cpp files.
Summary:
Someone forgot an indent after a newline.  Added.

Trac Bug: #

Blame Rev:

Reviewed By: mcslee

Test Plan:
Compiled the compiler, compiled a .thrift, and compared the output
with diff -u and diff -w -u.

Revert Plan: svn revert

Notes:

EImportant:


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665165 13f79535-47bb-0310-9956-ffa450edef68
2007-07-21 00:23:32 +00:00
Christopher Piro
094823a46c [thrift] highly concurrent Erlang goodness
Summary:
 * shim to use object-oriented code as gen_servers
 * high(er) performance Erlang-style server and transport
 * sane packaging based on otp-base, i.e. Makefiles and real structure

Test Plan: tutorial server offers the same (subset of) functionality as previous version

Revert Plan: ok


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665164 13f79535-47bb-0310-9956-ffa450edef68
2007-07-18 00:26:12 +00:00
iproctor
9a41a0c51e Thrift: OCaml library and generator
Summary: Added (minimal) library and code generator for OCaml.
Reviewed by: mcslee
Test plan: Test client and server (included).
Revert plan: yes


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665163 13f79535-47bb-0310-9956-ffa450edef68
2007-07-16 21:59:24 +00:00
Mark Slee
b1ad0141d4 Add typecasting to REST parameters in generated Thrift PHP code
Trac Bug: #4360

Reviewed By: ari

Test Plan: Honky tonk, view the new generated api_10/x packages


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665161 13f79535-47bb-0310-9956-ffa450edef68
2007-07-10 16:48:37 +00:00
Mark Slee
58dfb4fbe8 Lots of Ruby code generation improvements
Summary: Submitted by Kevin Clark, Ruby guru from Powerset

Reviewed By: mcslee

Test Plan: He updated the tests in trunk/test/rb/

Notes: The code is now officially "ruby-ish" and idiomatic


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665151 13f79535-47bb-0310-9956-ffa450edef68
2007-07-06 02:45:25 +00:00
Mark Slee
756b1d1b07 Make -rest an optional param to the Thrift PHP compiler
Summary: You rarely need the generated REST stuff

Reviewed By: jwang

Test Plan: Gen falcon code without REST part


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665150 13f79535-47bb-0310-9956-ffa450edef68
2007-07-06 00:30:21 +00:00
Christopher Piro
2f5afceeaa [thrift] preliminary Erlang support (initial import)
Summary:
 * missing {list,map,set}s, inheritance is spotty
 * loose source code, plus everything is one process (application / gen_server behavior is forthcoming)
 * codegen is a mess, need t_fp_generator

Test Plan:
 * codegen invoked without -erl generates identical code for test/
 * calculatorHandler plus 'thrift -erl -r tutorial.thrift' more or less works

Revert Plan: ok


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665146 13f79535-47bb-0310-9956-ffa450edef68
2007-06-29 07:17:33 +00:00
eletuchy
447d7d2365 [thrift] small fixes to java generator
Summary: - size generated collections correctly
         - StringBuilder vs StringBuffer

Reviewed By: mcslee

Test Plan: built TestThrift.thrift; it compiled, yay

Revert Plan: sure

Notes:

EImportant:


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665134 13f79535-47bb-0310-9956-ffa450edef68
2007-06-13 04:24:11 +00:00
Mark Slee
e9ce01cf40 Apply thrift license to all files in compiler
Summary: Forgot to do this last time around, only got the libs

Reviewed By: no code in here, just comments


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665113 13f79535-47bb-0310-9956-ffa450edef68
2007-05-16 02:29:53 +00:00
Mark Slee
2c44d2047e Perl generator for Thrift compiler
Summary: Submitted by Jake Luciani

Reviewed By: mcslee

Test Plan: Who likes perl? Not me. Test files to be checked in soon.


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665111 13f79535-47bb-0310-9956-ffa450edef68
2007-05-16 02:18:07 +00:00
Mark Slee
e9a1edc75d Make sure isset fields of java generated objects is public
Reviewed By: rob mccool from yahoo


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665103 13f79535-47bb-0310-9956-ffa450edef68
2007-05-03 01:30:18 +00:00
peter
67bfaf2782 fixing a typo
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665102 13f79535-47bb-0310-9956-ffa450edef68
2007-05-01 04:03:22 +00:00
Mark Slee
8d725a2738 Add explicit binary type to Thrift
Summary: Identical to string in all languages except Java. Java String is NOT binary-safe, so we need to use raw byte[] in that case. PHP/RUBY/Python strings are all binary safe, and C++ std::string works fine and manages memory for you so it's the safest route. Java just needs this tweak.

Reviewed By: aditya

Test Plan: Use "binary" as a type instead of String.


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665099 13f79535-47bb-0310-9956-ffa450edef68
2007-04-13 01:57:12 +00:00
Mark Slee
b86c4b251e Yeeeeeeeeahhh
Summary: Missing that $ in the vairable

Reviewed By: php

Test Plan: you need that!


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665092 13f79535-47bb-0310-9956-ffa450edef68
2007-04-10 06:44:53 +00:00
Mark Slee
ec3f32009b In php generate array of enum values to string names
Summary: for peter k

Reviewed By: peter


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665091 13f79535-47bb-0310-9956-ffa450edef68
2007-04-10 06:15:25 +00:00
Martin Kraemer
a7d6c3c142 Thrift: fix error with handling TApplicationException
Summary:
The php recv functions for method invocations didn't pass a proper input object into the handler for reading an application exception. This caused graceful thrift failures to not work gracefully in PHP.

Reviewed By: Slee

Test Plan: Tested by invoking from a thrift client a function not defined on a thrift server.  Should response with Invalid method name

Revert Plan: revertible

Notes:


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665061 13f79535-47bb-0310-9956-ffa450edef68
2007-03-16 02:03:32 +00:00
Mark Slee
6632e0b041 Constants lowercase in java true/false
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665060 13f79535-47bb-0310-9956-ffa450edef68
2007-03-14 09:08:38 +00:00
Mark Slee
8109757e6c Generate toString() convenience method for Thrift java structs
Reviewed By: biren


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665059 13f79535-47bb-0310-9956-ffa450edef68
2007-03-14 03:07:00 +00:00
Mark Slee
7679196f1c Various Thrift fixes, including Application Exception support in Ruby, better errror messages across languages, etc.
Reviewed By: thrift


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665058 13f79535-47bb-0310-9956-ffa450edef68
2007-03-14 02:47:35 +00:00
Mark Slee
227ac2c50e Ruby code gen fixes and some README improvements
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665053 13f79535-47bb-0310-9956-ffa450edef68
2007-03-07 05:46:50 +00:00
Mark Slee
3303f36081 Thrift CPP threading fixes
Reviewed By: karl


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665045 13f79535-47bb-0310-9956-ffa450edef68
2007-03-05 20:09:37 +00:00
Mark Slee
c2c82c97f4 Move helper structure declarations into .h file
Reviewed By: aditya


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665044 13f79535-47bb-0310-9956-ffa450edef68
2007-03-05 05:45:51 +00:00
Mark Slee
57cc25e2a3 Some Thrift documentation cleanups
Summary: Getting ready to hand this over to powerset, just want to have the right licenses in place and such first.

Reviewed By: thrift


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665029 13f79535-47bb-0310-9956-ffa450edef68
2007-02-28 21:43:54 +00:00
Mark Slee
7a49888fc6 TApplicationException handling in PHP generated thrift code
Reviewed By: php


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665028 13f79535-47bb-0310-9956-ffa450edef68
2007-02-27 22:11:39 +00:00
Mark Slee
b0060b0401 Python application level exceptions
Reviewed By: snakes


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665015 13f79535-47bb-0310-9956-ffa450edef68
2007-02-21 05:37:50 +00:00
Mark Slee
5e0465738e Thrift application exceptions in Java, code gen
Reviewed By: jrift


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665009 13f79535-47bb-0310-9956-ffa450edef68
2007-02-21 04:17:55 +00:00
Mark Slee
4c948d4b5c C++ Thrift server throws application exceptions for invalid message types
Reviewed By: aditya


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665007 13f79535-47bb-0310-9956-ffa450edef68
2007-02-21 01:40:05 +00:00
Mark Slee
2c2a648023 Gen code with /usr/bin/env python not /usr/bin/python
Summary: More reliable, lets user customize which python to use

Reviewed By: dougb


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665005 13f79535-47bb-0310-9956-ffa450edef68
2007-02-21 00:22:33 +00:00
Mark Slee
ecf490e30d Python code gen includes __init__.py and package directory
Reviewed By: aditya


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665004 13f79535-47bb-0310-9956-ffa450edef68
2007-02-21 00:05:18 +00:00
Mark Slee
98e962bf24 Generate Java code into proper source directory heirarchy
Reviewed By: tbr-aditya


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665001 13f79535-47bb-0310-9956-ffa450edef68
2007-02-20 18:44:05 +00:00
Mark Slee
afc76543cd Take brackets out of cpp_type bit
Reviewed By: aditya


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664996 13f79535-47bb-0310-9956-ffa450edef68
2007-02-09 21:55:44 +00:00
Mark Slee
9f8361fee7 Fix code gen to getTransport() not getOutputTransport()
Reviewed By: wayne


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664995 13f79535-47bb-0310-9956-ffa450edef68
2007-02-09 02:14:43 +00:00
Mark Slee
da748dd5fe Fixes for ruby server code gen
Reviewed By: tbr-doug


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664990 13f79535-47bb-0310-9956-ffa450edef68
2007-02-07 06:03:32 +00:00
Mark Slee
6a47fed5fe Thrift supports the "senum" type now
Summary: Enumerated lists of strings, enforced only in XSD

Reviewed By: xsd


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664987 13f79535-47bb-0310-9956-ffa450edef68
2007-02-07 02:40:59 +00:00
Mark Slee
748d83f65f xsd_attrs are a FieldList now, so you can have multiple of them and they are typed
Reviewed By: xsd


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664984 13f79535-47bb-0310-9956-ffa450edef68
2007-02-07 01:20:08 +00:00
Mark Slee
81cf1e550d Thrift code-gen optimizations to use raw pointers where possible
Reviewed By: aditya


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664983 13f79535-47bb-0310-9956-ffa450edef68
2007-02-07 00:54:49 +00:00
Mark Slee
7df0e2a9aa Thrift support for the xsd_nillable attribute
Reviewed By: dave


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664981 13f79535-47bb-0310-9956-ffa450edef68
2007-02-06 21:03:18 +00:00
Mark Slee
86c87b0fe1 NAmespace PHP exceptions in catch block properly and add getName() method to generated structs
Reviewed By: ari


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664980 13f79535-47bb-0310-9956-ffa450edef68
2007-02-06 07:11:23 +00:00
Mark Slee
21135c300b Adding XSD attribute support
Reviewed By: dave


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664974 13f79535-47bb-0310-9956-ffa450edef68
2007-02-05 21:52:08 +00:00
Mark Slee
74eea207a0 svn adding t_doc.h
Summary: charlie you missed this one!

Reviewed By: cheever


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664973 13f79535-47bb-0310-9956-ffa450edef68
2007-02-05 21:47:03 +00:00
ccheever
f53b5cfed2 adding documentation syntax to thrift
see DocTest.thrift for examples.

todo: integrate parsed documentation into code generation

review: marc k, mcslee
test plan: DocTest.thrift


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664970 13f79535-47bb-0310-9956-ffa450edef68
2007-02-05 20:33:11 +00:00
Mark Slee
7ff3245bfa Default values and nullification for thrift code
Summary: All things are null now, unless you specify a default value!

Reviewed By: marc


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664963 13f79535-47bb-0310-9956-ffa450edef68
2007-02-01 05:26:18 +00:00
dave
29cbeb6235 Thrift: Fix xsd:sequence and xsd:all minOccurs/maxOccurs generation
The minOccurs and maxOccurs attributes should appear on the elements, rather than the containers.

for a thrift struct, we produce:
<sequence>
<element name="some_element"> <!-- max is implicitly 1 -->
<element name="some_optional_element" minOccurs="0"> <!-- max is
implicitly 1 -->
...

for a thrift list, we produce
<sequence>
<element name="the_list_element" minOccurs="0" maxOccurs="unbounded">
</sequence>

for a thrift struct tagged with xsd_all, we produce

<all>
<element name="some_element" minOccurs="0"/>  <!-- max is implicitly 1
-->
</all>

Reviewed By: mcslee

Test Plan: sandbox

Revert Plan: revertible

Notes:


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664962 13f79535-47bb-0310-9956-ffa450edef68
2007-02-01 00:17:28 +00:00
dave
492d223118 Thrift: Finish namespace generation from xsd_namespace command
In .thrift file:

xsd_namespace "http://api.facebook.com/v1"

Turns up in the xsd output as:

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
 targetNamespace="http://api.facebook.com/v1"
 xmlns="http://api.facebook.com/v1"
 elementFormDefault="qualified">

to properly accommodate our generated xml

Thank you, Slee.

Reviewed By: mcslee

Test Plan: sandbox

Revert Plan: revertible

Notes:


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664960 13f79535-47bb-0310-9956-ffa450edef68
2007-01-31 02:49:01 +00:00
Mark Slee
0d9199e709 xsd_namespace keyword for thrift
Summary: So you can Spaceify the Shiznits

Reviewed By: fett


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664959 13f79535-47bb-0310-9956-ffa450edef68
2007-01-31 02:08:30 +00:00
dave
4637bfbff8 Thrift: Small changes to support XSD generation
xs:restriction -> xsd:restriction
minoccurs -> minOccurs

Reviewed By: marc

Test Plan: sandbox

Revert Plan: revertible

Notes:


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664957 13f79535-47bb-0310-9956-ffa450edef68
2007-01-30 19:50:30 +00:00
Mark Slee
2006d99d25 Thrift gen'd code now checks for field ID AND type matches
Summary: Will call skip() even if FID matches when there is an invalid field type identifier

Reviewed By: corson


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664956 13f79535-47bb-0310-9956-ffa450edef68
2007-01-29 17:58:54 +00:00
Mark Slee
6d7d595858 Ruby support for Thrift
Summary: Just client support so far.

Reviewed By: tbr-doug


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664953 13f79535-47bb-0310-9956-ffa450edef68
2007-01-27 01:44:22 +00:00
Mark Slee
eb0d024ee1 Full automake/autoconf compliance for thrift
Summary: Including the compiler!!!

Reviewed By: automake


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664949 13f79535-47bb-0310-9956-ffa450edef68
2007-01-25 07:58:55 +00:00
Mark Slee
938bc38e7d Fix Makefile to use thrifty.yy and thriftl.ll
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664946 13f79535-47bb-0310-9956-ffa450edef68
2007-01-25 02:10:07 +00:00
Mark Slee
cc11b06c01 Rename some thrif tcompiler files
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664945 13f79535-47bb-0310-9956-ffa450edef68
2007-01-25 02:07:22 +00:00
Mark Slee
c42ecd5cfe No more getInputTransport vs getOutputTransport in protocols
Summary: It is just getTransport ow

Reviewed By: aditya


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664941 13f79535-47bb-0310-9956-ffa450edef68
2007-01-24 22:57:20 +00:00
Mark Slee
bf05a6069e Generate pargs an presult helpers in C++ to be more efficient in thrift
Summary: Copy construction is the pits. Avoid it at all costs.

Reviewed By: aditya


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664939 13f79535-47bb-0310-9956-ffa450edef68
2007-01-24 22:53:07 +00:00
Mark Slee
8896a54720 No need to generate private __construct() function if the class is already final
Reviewed By: lucas


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664935 13f79535-47bb-0310-9956-ffa450edef68
2007-01-23 23:22:35 +00:00
Mark Slee
f49041c083 Use proper name for catching exceptions
Reviewed By: tbr-dave


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664934 13f79535-47bb-0310-9956-ffa450edef68
2007-01-19 23:49:00 +00:00
Mark Slee
eb08f9e680 Thrift XSD generator populates PHP globals with type names for typedeffed stuffs
Reviewed By: dave


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664933 13f79535-47bb-0310-9956-ffa450edef68
2007-01-19 22:12:10 +00:00
Mark Slee
36bfa2e61f Allow field elements to be optional in thrift with xsd_optional keyword
Reviewed By: tbr-dave


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664932 13f79535-47bb-0310-9956-ffa450edef68
2007-01-19 20:09:51 +00:00
Mark Slee
b6200d82f6 Add comma-separated list of type "slist" to thrift
Summary: Useful for API arguments

Reviewed By: tbr-dave


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664931 13f79535-47bb-0310-9956-ffa450edef68
2007-01-19 19:14:36 +00:00
Mark Slee
782abbb756 Add xsd_all keyword to Thrift
Summary: Makes a struct an xsd_all instead of a sequence

Reviewed By: dave


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664929 13f79535-47bb-0310-9956-ffa450edef68
2007-01-19 00:17:02 +00:00
Mark Slee
0e0ff7e003 Thrift now generates XSD files
Summary: Are you fucking kidding me? This shit is robust.

Reviewed By: fetter-tbr-d00d


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664928 13f79535-47bb-0310-9956-ffa450edef68
2007-01-18 22:59:59 +00:00
Mark Slee
ace6e6dbc0 Resolve typedefs in php generation
Reviewed By: xsd


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664927 13f79535-47bb-0310-9956-ffa450edef68
2007-01-18 20:00:11 +00:00
Mark Slee
032606bb72 Fix changing struct name bug on C++ generation
Reviewed By: aditya


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664925 13f79535-47bb-0310-9956-ffa450edef68
2007-01-18 06:54:43 +00:00
Mark Slee
f3763a1fae Do not generate write code for null fields in Java
Summary: It will make null pointer exceptions!

Reviewed By: martin, alex


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664923 13f79535-47bb-0310-9956-ffa450edef68
2007-01-18 02:35:27 +00:00
Mark Slee
7628fd7444 Add mkdir for bin in thrift compiler
Reviewed By: dcorson


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664922 13f79535-47bb-0310-9956-ffa450edef68
2007-01-18 01:16:51 +00:00
Mark Slee
12f6631735 Fix bugs with php_namespace keyword in thrift
Reviewed By: aditya

 line, and those below, will be ignored--

M    t_php_generator.cc


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664921 13f79535-47bb-0310-9956-ffa450edef68
2007-01-17 19:19:21 +00:00
Mark Slee
5ec19933cb Resolve complex typedefs in Thrift
Summary: For function returns

Reviewed By: aditya


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664917 13f79535-47bb-0310-9956-ffa450edef68
2007-01-16 23:53:53 +00:00
Mark Slee
a340e0d6fe Thrift should generate C++ enums first before typdefs
Summary: In case you want to typedef an enum

Reviewed By: aditya


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664916 13f79535-47bb-0310-9956-ffa450edef68
2007-01-16 23:00:31 +00:00
Mark Slee
406a40cf16 Prefix generated _args and _result helper classes with service name
Summary: To avoid conflicts when you have two services with the same name inside one .thrift file

Reviewed By: aditya


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664915 13f79535-47bb-0310-9956-ffa450edef68
2007-01-16 22:48:22 +00:00
Mark Slee
a45909b619 Thrift C++ code generator returns complex types by reference
Summary: Efficiency, Yo.

Reviewed By: aditya


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664910 13f79535-47bb-0310-9956-ffa450edef68
2007-01-12 21:44:14 +00:00
Mark Slee
529bfeef97 Committing code gen changes for const ref args to functions in Thrift
Reviewed By: aditya


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664909 13f79535-47bb-0310-9956-ffa450edef68
2007-01-12 02:10:16 +00:00
Mark Slee
e888b376ad Add PHP namespacing support to Thrift
Summary: "php_namespace Whoa" at the top of your Thrift file, then all your defined class names start with "Whoa_"

Reviewed By: aditya


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664908 13f79535-47bb-0310-9956-ffa450edef68
2007-01-12 01:06:24 +00:00
Mark Slee
f12865a338 Disallow keywords in Thrift files
Summary: Or else you are bound to get shitty errors in some generated languages.. They're not all covered here, but a lot of them are.

Reviewed By: dougb, bobby


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664907 13f79535-47bb-0310-9956-ffa450edef68
2007-01-12 00:23:26 +00:00
Mark Slee
706da40237 Fix exceptions throw() and virtual destructor
Reviewed By: yishan


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664897 13f79535-47bb-0310-9956-ffa450edef68
2006-12-16 00:59:29 +00:00
Mark Slee
971fda34b5 All user-defined thrift exceptions inherit from TException
Summary: So you can catch more effectively

Reviewed By: tbr-karl


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664896 13f79535-47bb-0310-9956-ffa450edef68
2006-12-15 19:07:04 +00:00
Mark Slee
0524bcee68 Another AccessNull bug fix in Thrift
Reviewed By: yhishan


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664895 13f79535-47bb-0310-9956-ffa450edef68
2006-12-13 01:54:56 +00:00
Mark Slee
069d31e7b9 Fix c++ Null inheritance issue
Reviewed By: yishan


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664894 13f79535-47bb-0310-9956-ffa450edef68
2006-12-13 01:45:26 +00:00
Mark Slee
cbea1c7ef3 Take out timestamps from generated files
Summary: File system does this for you.

Reviewed By: martin, yishan


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664893 13f79535-47bb-0310-9956-ffa450edef68
2006-12-13 01:07:33 +00:00
Mark Slee
962a858566 Generate a null implementation of thrift C++ class for easy subclassing
Summary: Sometimes you just want a subclass that only implements one method... annoying to fill in nulls for the others, so use the generated null class

Reviewed By: tbr-aditya


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664888 13f79535-47bb-0310-9956-ffa450edef68
2006-12-08 19:15:35 +00:00
Mark Slee
807b2c601d Missing file in thrift parser, sorry d00dz!
Summary: Forgot to svn add


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664885 13f79535-47bb-0310-9956-ffa450edef68
2006-11-30 00:55:41 +00:00
Mark Slee
7657fa9747 Oops take out printf debug
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664884 13f79535-47bb-0310-9956-ffa450edef68
2006-11-29 22:07:23 +00:00
Mark Slee
600cdb337e Thrift supports HEX notation for int consts and proper python/php sets
Reviewed By: yishan-tbr


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664883 13f79535-47bb-0310-9956-ffa450edef68
2006-11-29 22:06:42 +00:00
Mark Slee
67fc63410d Strings in JSON style thrift constants do not need quotes
Summary: Cause it's just too much work to put in quotes sometimes. struct thing = { a : 325, bb : 5632} OBVIOUSLY a and bb are strings. Duh.


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664882 13f79535-47bb-0310-9956-ffa450edef68
2006-11-29 03:37:04 +00:00
Mark Slee
aa7671d041 Thrift supports arbitrarily typed constants across all languages
Summary: Hot! Now you can defined your maps to strings and other constnats things in your .thrift file, so you can have the same symbols and useful defaults defined in your client as in your server.


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664881 13f79535-47bb-0310-9956-ffa450edef68
2006-11-29 03:19:31 +00:00
Mark Slee
301528702c Thrift compiler frontend support for constants
Summary: The parser now accepts constants and adds them into the parse tree


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664880 13f79535-47bb-0310-9956-ffa450edef68
2006-11-28 01:24:07 +00:00
Mark Slee
d3bc1a5f52 Fix _seqid to seqid_ name change in PHP
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664879 13f79535-47bb-0310-9956-ffa450edef68
2006-11-27 20:25:43 +00:00
Mark Slee
216e7d6a9a Fix thrift compiler typedef support
Summary: Typedefed containers were wonk'd

Reviewed By: martin


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664877 13f79535-47bb-0310-9956-ffa450edef68
2006-11-21 00:44:23 +00:00
Mark Slee
b9ff32ae30 Thrift: C++ peek() method and TException not Exception
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664876 13f79535-47bb-0310-9956-ffa450edef68
2006-11-16 01:00:24 +00:00
Mark Slee
04cc605597 Comma after ENUM with no explicit value
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664874 13f79535-47bb-0310-9956-ffa450edef68
2006-11-15 21:25:34 +00:00
Mark Slee
6e81b3fb5c Rest definition should not implement interface, the method signatures are different.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664873 13f79535-47bb-0310-9956-ffa450edef68
2006-11-14 23:51:27 +00:00
Mark Slee
5ea94d444b Thrift generates a REST handler for PHP code
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664872 13f79535-47bb-0310-9956-ffa450edef68
2006-11-14 23:48:00 +00:00
Mark Slee
19e71c34b1 All thrift PHP class constructors can take an array as the constructor argument
Summary: It will init any field with the value in the array. Hot for converting DB rows into thrift objs.


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664871 13f79535-47bb-0310-9956-ffa450edef68
2006-11-10 23:07:35 +00:00
Mark Slee
52cb2234de I lied before, now thrift really supports single or double dashes
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664870 13f79535-47bb-0310-9956-ffa450edef68
2006-11-10 22:32:07 +00:00
Mark Slee
2329a83701 Allow single dash or double dash for thrift flags
Reviewed By: martin


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664869 13f79535-47bb-0310-9956-ffa450edef68
2006-11-09 00:23:30 +00:00
Martin Kraemer
32c66e1506 Thrift Include Path Specification
Summary:
Add support for include path specification in thrift.  Using a -I <dir> option you can build a list of search paths to resolve thrift includes.

Reviewed By: mcslee

Revert Plan: revertible


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664868 13f79535-47bb-0310-9956-ffa450edef68
2006-11-09 00:06:36 +00:00
Mark Slee
ae2bc3c8d6 Do not print ; in thrift parser
Reviewed By: bizsys d00dz


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664867 13f79535-47bb-0310-9956-ffa450edef68
2006-11-08 23:44:59 +00:00
Mark Slee
8d2b238697 Fix C++ skeleton code generator
Summary: Do not reference TBufferedTransportFactory.h

Reviewed By: yishan


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664865 13f79535-47bb-0310-9956-ffa450edef68
2006-11-06 21:40:11 +00:00
Mark Slee
207cb46af8 Make commas and/or semicolons both optional in thrift
Reviewed by: karl


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664864 13f79535-47bb-0310-9956-ffa450edef68
2006-11-02 18:43:12 +00:00
Mark Slee
b39dbc5891 Iterate python dictionaries with for k,v in dict.items()
Notes:


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664863 13f79535-47bb-0310-9956-ffa450edef68
2006-10-31 05:56:27 +00:00
Mark Slee
bc4bc0f8f4 Py inherited processor must pass handler to parent constructor
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664862 13f79535-47bb-0310-9956-ffa450edef68
2006-10-31 05:45:33 +00:00
Mark Slee
6b4783b96b Inherited processors must call parent constructor in python
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664861 13f79535-47bb-0310-9956-ffa450edef68
2006-10-31 05:43:53 +00:00
Mark Slee
725f9e6c71 Use AbstractMap instead of HashMap
Summary: So ConcurrentHashMap can be used safely


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664859 13f79535-47bb-0310-9956-ffa450edef68
2006-10-31 05:08:33 +00:00
Mark Slee
d07ce6013b Fix Python indentation for async methods
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664857 13f79535-47bb-0310-9956-ffa450edef68
2006-10-27 22:30:15 +00:00
Mark Slee
5ee76f8d7d Skeletons should use virtual inheritance from the interface base
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664856 13f79535-47bb-0310-9956-ffa450edef68
2006-10-26 18:15:02 +00:00
Mark Slee
5f8237d4de Thrift PHP update for new Protocol wraps Transport style
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664854 13f79535-47bb-0310-9956-ffa450edef68
2006-10-26 04:57:03 +00:00
Mark Slee
a3f3972e3d Fix bum Java indentation/scoping for async methods
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664850 13f79535-47bb-0310-9956-ffa450edef68
2006-10-26 02:52:47 +00:00
Mark Slee
5946a18596 New python operating model code-gen
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664848 13f79535-47bb-0310-9956-ffa450edef68
2006-10-25 21:38:39 +00:00
Mark Slee
575fa9a0df Protocol wraps transport code gen for Thrift Java
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664847 13f79535-47bb-0310-9956-ffa450edef68
2006-10-25 20:54:10 +00:00
Mark Slee
f0712dc994 Update thrift compiler for new syntax, generate new form of C++ code
Reviewed By: wayne, he loves less warnings


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664840 13f79535-47bb-0310-9956-ffa450edef68
2006-10-25 19:03:57 +00:00
Mark Slee
65681d061e Generate .cpp files instead of .cc in Thrift
Reviewed By: aditya

Notes: Be consistent on cpp, dunno why ever chose cc


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664829 13f79535-47bb-0310-9956-ffa450edef68
2006-10-12 03:58:49 +00:00
Mark Slee
4f8da1dfb4 Allow the specification of custom container types in Thrift IDL files
Summary: If you want your map to be a hash_map instead of an stl::map, we now have a directive in Thrift to let you do that.

Instead of:
map<i32,i32>

You can do:
map[cpp:hash_map<int32_t,int32_t>]<i32,i32>

This tells the Thrift compiler to explicitly use whatever type was specified in the brackets when generating C++ code, instead of the implied Thrift type.

Reviewed By: aditya


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664828 13f79535-47bb-0310-9956-ffa450edef68
2006-10-12 02:47:27 +00:00
Mark Slee
f5377b3e99 Thrift compiler code cleanup, comments, php inline generation, etc
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664822 13f79535-47bb-0310-9956-ffa450edef68
2006-10-10 01:42:59 +00:00
Mark Slee
96a6bbec1a Python remote printing fix
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664817 13f79535-47bb-0310-9956-ffa450edef68
2006-10-06 22:43:29 +00:00
Mark Slee
748e576f6c Python generator to make __str__ and __repr__ methods for generated structs
Summary: Also generate a nice command line -remote utility like pillar

Reviewed By: ccheever


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664816 13f79535-47bb-0310-9956-ffa450edef68
2006-10-04 21:51:05 +00:00
Mark Slee
f77ff06a3b Prefix php names with service_ to avoid naming conflicts and use False not false in python
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664811 13f79535-47bb-0310-9956-ffa450edef68
2006-09-29 21:33:55 +00:00
Mark Slee
6979bdb557 Use vector<> instead of list<> in Thrift-gen'd C++ code
Summary: vector kindly provides [] access

Reviewed By: aditya


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664808 13f79535-47bb-0310-9956-ffa450edef68
2006-09-27 22:11:45 +00:00
Mark Slee
fdbee8102d Thrift compiler to tokenize args by " " so you can use script files
Summary: if you do #!/usr/local/bin/thrift --php --cpp it shows up as one arg: "--php --cpp" so you need to tokenize that


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664805 13f79535-47bb-0310-9956-ffa450edef68
2006-09-27 18:50:48 +00:00
Mark Slee
1c4a559bc1 Change thrift require_once to include_once
Summary: As per Lucas' request

Reviewed By: lucas


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664803 13f79535-47bb-0310-9956-ffa450edef68
2006-09-25 21:32:05 +00:00
Mark Slee
9a89f9b7c7 Fix typo, missing underscore in thrift compiler variable
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664800 13f79535-47bb-0310-9956-ffa450edef68
2006-09-20 02:41:24 +00:00
Mark Slee
794993d278 Change run() to serve() in all Thrift server interfaces
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664799 13f79535-47bb-0310-9956-ffa450edef68
2006-09-20 01:56:10 +00:00
Mark Slee
4e755cae58 Thrift: Rename run() to serve() in java interfaces
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664797 13f79535-47bb-0310-9956-ffa450edef68
2006-09-12 00:46:08 +00:00
Mark Slee
018b6998d6 Thrift: generate Processors not Servers
Summary: Because the gen'd code isn't actually a server

Reviewed By: aditya


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664794 13f79535-47bb-0310-9956-ffa450edef68
2006-09-07 21:31:12 +00:00
Mark Slee
aff9f8e3cf Thrift: generate python dictionaries and STL maps for server side process function lookups
Reviewed By: aditya


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664793 13f79535-47bb-0310-9956-ffa450edef68
2006-09-07 21:18:27 +00:00
Mark Slee
c98d050d65 Thrift: Added support for double type across all languages
Summary: Just for completeness cause I'm crazy. Let's never use these!

Notes: Also made thrift grammar support # style comments, so you can do this at the top of your files

#!/usr/local/bin/thrift --cpp

/**
 * This is a thrift def file youc an invoke directly and gen code!
 */

blah


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664789 13f79535-47bb-0310-9956-ffa450edef68
2006-09-06 02:42:25 +00:00
Aditya Agarwal
085267d60c -- added stubs for readEnd() and writeEnd()
Summary:
-- these are hook points that thrift_logger/logfile will integrate with..

Reviewed By: McSlee

Test Plan: Generated thrift code

Notes:
-- Thrift logfiles are soon coming to a netapp near you!


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664787 13f79535-47bb-0310-9956-ffa450edef68
2006-09-05 22:49:53 +00:00
Mark Slee
d2655523ab Thrift: Change Java/C++ server generation
Summary: Servers shouldn't implement iface directly, instead should contain an iface object


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664785 13f79535-47bb-0310-9956-ffa450edef68
2006-09-05 22:09:57 +00:00
Mark Slee
c9676569ad Thrift Python server code generation
Summary: Yep, it's up and running. We now have full client/server support in all of C++ Java PHP and Python. Well, not quite... there's no PHP server, but honestly who wants one? Actually, if we do want one the framework will support writing is as a PHP file that can be served in apache like a web service (i.e. restserver.php would be thriftserver.php). But now that's rambling and nothing to do with this commit.

Notes: cheever, let's chat about porting your multithreaded Pillar Python server over to Thrift


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664783 13f79535-47bb-0310-9956-ffa450edef68
2006-09-05 17:34:52 +00:00
Mark Slee
4ecbebc099 Add multiserver generation to C++ Thrift
Summary: Autogen server that can encapsulates multiple server instances

Reviewed By: aditya


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664782 13f79535-47bb-0310-9956-ffa450edef68
2006-09-05 00:14:21 +00:00
Mark Slee
aeac1926f2 Thrift, Make sure gen'd code initializes empty containers in php / python
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664781 13f79535-47bb-0310-9956-ffa450edef68
2006-09-04 00:20:24 +00:00
Mark Slee
e50b309157 Ooops, forgot to svn add the new code gen files
Summary: Python generator


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664780 13f79535-47bb-0310-9956-ffa450edef68
2006-09-04 00:06:47 +00:00
Mark Slee
fc89d39917 Thrift and Python: Made to be together
Summary: Python client code generation for Thrift... HOTNESS!

Notes: Servers and asynchronous clients are coming soon...


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664779 13f79535-47bb-0310-9956-ffa450edef68
2006-09-04 00:04:39 +00:00
Mark Slee
dafa3cf710 Thrift C++ code generation improvements
Summary: Generate classes instead of structs, and put read/write methods inside the class definition. Separate services into uniquely generated files. Separate types header file from types implementation file (read/write methods)


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664777 13f79535-47bb-0310-9956-ffa450edef68
2006-09-02 23:56:49 +00:00
Mark Slee
b7f58ff346 More Thfirt code-gen improvements
Summary: Move read/write struct methods into PHP class definition, make struct read non-static in Java


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664776 13f79535-47bb-0310-9956-ffa450edef68
2006-09-02 21:59:28 +00:00
Mark Slee
78f58e2559 Thrift generation for Java
Summary: Java works, benchmark roundtrip at around 3ms, so right in between C++ and PHP


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664775 13f79535-47bb-0310-9956-ffa450edef68
2006-09-02 04:17:07 +00:00
Mark Slee
9cb7c61b6b Thrift compiler improvements, two modes for PHP
Summary: Complete PHP generator and CPP generator to new formats, and offer PHP generator that generates inline code free of any TProtocol abstraction


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664771 13f79535-47bb-0310-9956-ffa450edef68
2006-09-01 22:17:45 +00:00
Mark Slee
6e1555f36e Make separate dirs for CPP and Python versions of Thrift compiler
Summary: Keep source files in separate dirs to avoid confusion





git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664769 13f79535-47bb-0310-9956-ffa450edef68
2006-08-30 17:09:05 +00:00