[
https://issues.apache.org/jira/browse/THRIFT-2389?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jake Farrell closed THRIFT-2389.
--------------------------------
Resolution: Fixed
Fix Version/s: 0.9.2
Assignee: dima levchenko
Committed, thanks for the patch
> namespaces handled wrongly in acrionscript 3.0 implementation
> -------------------------------------------------------------
>
> Key: THRIFT-2389
> URL: https://issues.apache.org/jira/browse/THRIFT-2389
> Project: Thrift
> Issue Type: Bug
> Components: AS3 - Compiler
> Reporter: dima levchenko
> Assignee: dima levchenko
> Priority: Minor
> Fix For: 0.9.2
>
> Attachments:
> THRIFT-2389-namespaces-handled-wrongly-in-actionscript-implementation.patch
>
>
> 1. if no namespace declared for thrift file - no package declaration is
> created in generated source files. this leads to compilation time error.
> should be empty package declaration.
> 2. when extending other service with namespace, generated source extend fully
> qualified parent service, which is compilation time error (at least for
> apache flex 4.9 compiler). should be generated proper import, and simple
> extends declaration.
> Both of these issues can be observed, using tutorial example files, with
> minor changes to shared.thrift file. adding namespace declaration in
> shared.thrift, we can see generated actionscript file:
> {code:title=Calculator.as}
> /**
> * Autogenerated by Thrift Compiler (0.9.1)
> *
> * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
> * @generated
> */
> {
> import org.apache.thrift.Set;
> import flash.utils.ByteArray;
> import flash.utils.Dictionary;
> import org.apache.thrift.*;
> import org.apache.thrift.meta_data.*;
> import org.apache.thrift.protocol.*;
> /**
> * Ahh, now onto the cool part, defining a service. Services just need a
> name
> * and can optionally inherit from another service using the extends
> keyword.
> */
> public interface Calculator extends shared.SharedService {
> {code}
> which should look like:
> {code:title=Calculator.as}
> /**
> * Autogenerated by Thrift Compiler (0.9.1)
> *
> * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
> * @generated
> */
> package {
> import org.apache.thrift.Set;
> import flash.utils.ByteArray;
> import flash.utils.Dictionary;
> import org.apache.thrift.*;
> import org.apache.thrift.meta_data.*;
> import org.apache.thrift.protocol.*;
> import shared.SharedService;
> /**
> * Ahh, now onto the cool part, defining a service. Services just need a
> name
> * and can optionally inherit from another service using the extends
> keyword.
> */
> public interface Calculator extends SharedService {
> {code}
--
This message was sent by Atlassian JIRA
(v6.2#6252)