You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@drill.apache.org by ja...@apache.org on 2013/09/04 13:09:43 UTC
[13/52] [abbrv] [partial] DRILL-165: Reorganize directories (moves
only)
http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/a593d908/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..277442f
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,585 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache</groupId>
+ <artifactId>apache</artifactId>
+ <version>13</version>
+ </parent>
+
+ <groupId>org.apache.drill</groupId>
+ <artifactId>drill-root</artifactId>
+ <version>1.0.0-m1-SNAPSHOT</version>
+ <packaging>pom</packaging>
+
+ <name>Apache Drill Root POM</name>
+
+ <properties>
+ <target.gen.source.path>${project.basedir}/target/generated-sources</target.gen.source.path>
+ <proto.cas.path>${project.basedir}/src/main/protobuf/</proto.cas.path>
+ <dep.junit.version>4.11</dep.junit.version>
+ <dep.slf4j.version>1.7.5</dep.slf4j.version>
+ </properties>
+
+
+ <scm>
+ <connection>scm:git:https://git-wip-us.apache.org/repos/asf/incubator-drill.git</connection>
+ <developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/incubator-drill.git</developerConnection>
+ <url>https://github.com/apache/incubator-drill</url>
+ </scm>
+
+ <repositories>
+ <repository>
+ <id>conjars</id>
+ <name>Conjars</name>
+ <url>http://conjars.org/repo</url>
+ <layout>default</layout>
+ <releases>
+ <enabled>true</enabled>
+ <updatePolicy>never</updatePolicy>
+ <checksumPolicy>warn</checksumPolicy>
+ </releases>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ </repository>
+
+ <repository>
+ <id>pentaho</id>
+ <name>Pentaho</name>
+ <url>http://repo.pentaho.org/artifactory/repo</url>
+ <layout>default</layout>
+ <releases>
+ <enabled>true</enabled>
+ <updatePolicy>never</updatePolicy>
+ <checksumPolicy>warn</checksumPolicy>
+ </releases>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ </repository>
+
+ <repository>
+ <id>sonatype-nexus-snapshots</id>
+ <url>https://oss.sonatype.org/content/repositories/snapshots</url>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ <snapshots>
+ <enabled>true</enabled>
+ </snapshots>
+ </repository>
+ </repositories>
+
+ <issueManagement>
+ <system>Jira</system>
+ <url>https://issues.apache.org/jira/browse/DRILL</url>
+ </issueManagement>
+
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <configuration>
+ <archive>
+ <index>true</index>
+ <manifest>
+ <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
+ <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
+ </manifest>
+ <manifestEntries>
+ <Extension-Name>org.apache.drill</Extension-Name>
+ <Built-By>${username}</Built-By>
+ <url>http://lucene.apache.org/mahout</url>
+ </manifestEntries>
+ </archive>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <configuration>
+ <excludes>
+ <exclude>**/logging.properties</exclude>
+ <exclude>**/logback-test.xml</exclude>
+ <exclude>**/logback.out.xml</exclude>
+ <exclude>**/logback.xml</exclude>
+ </excludes>
+ </configuration>
+
+ <executions>
+ <execution>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-resources-plugin</artifactId>
+ <configuration>
+ <encoding>UTF-8</encoding>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.7</source>
+ <target>1.7</target>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>no_commons_logging</id>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <bannedDependencies>
+ <excludes>
+ <exclude>commons-logging</exclude>
+ </excludes>
+ </bannedDependencies>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ <pluginManagement>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-resources-plugin</artifactId>
+ <version>2.6</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>3.0</version>
+ </plugin>
+ <plugin>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.2</version>
+ </plugin>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>2.15</version>
+ <configuration>
+ <argLine>-XX:MaxDirectMemorySize=4096M </argLine>
+ </configuration>
+ </plugin>
+ <!--This plugin's configuration is used to store Eclipse m2e settings
+ only. It has no influence on the Maven build itself. -->
+ <plugin>
+ <groupId>org.eclipse.m2e</groupId>
+ <artifactId>lifecycle-mapping</artifactId>
+ <version>1.0.0</version>
+ <configuration>
+ <lifecycleMappingMetadata>
+ <pluginExecutions>
+ <pluginExecution>
+ <pluginExecutionFilter>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <versionRange>[1.6,)</versionRange>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ </pluginExecutionFilter>
+ <action>
+ <ignore></ignore>
+ </action>
+ </pluginExecution>
+ <pluginExecution>
+ <pluginExecutionFilter>
+ <groupId>com.github.igor-petruk.protobuf</groupId>
+ <artifactId>protobuf-maven-plugin</artifactId>
+ <versionRange>[0.6.3,)</versionRange>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ </pluginExecutionFilter>
+ <action>
+ <ignore></ignore>
+ </action>
+ </pluginExecution>
+ <pluginExecution>
+ <pluginExecutionFilter>
+ <groupId>com.googlecode.fmpp-maven-plugin</groupId>
+ <artifactId>fmpp-maven-plugin</artifactId>
+ <versionRange>[1.0,)</versionRange>
+ <goals>
+ <goal>run</goal>
+ <goal>generate</goal>
+ </goals>
+ </pluginExecutionFilter>
+ <action>
+ <ignore></ignore>
+ </action>
+ </pluginExecution>
+ <pluginExecution>
+ <pluginExecutionFilter>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <versionRange>[1.2,)</versionRange>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ </pluginExecutionFilter>
+ <action>
+ <ignore></ignore>
+ </action>
+ </pluginExecution>
+ <pluginExecution>
+ <pluginExecutionFilter>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>
+ maven-remote-resources-plugin
+ </artifactId>
+ <versionRange>[1.1,)</versionRange>
+ <goals>
+ <goal>process</goal>
+ </goals>
+ </pluginExecutionFilter>
+ <action>
+ <ignore></ignore>
+ </action>
+ </pluginExecution>
+ </pluginExecutions>
+ </lifecycleMappingMetadata>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <version>2.4</version>
+ <configuration>
+ <descriptors>
+ <descriptor>src/assemble/bin.xml</descriptor>
+ </descriptors>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+ <dependencies>
+
+ <dependency>
+ <groupId>com.google.guava</groupId>
+ <artifactId>guava</artifactId>
+ <version>14.0.1</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ <version>${dep.slf4j.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>jul-to-slf4j</artifactId>
+ <version>${dep.slf4j.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>jcl-over-slf4j</artifactId>
+ <version>${dep.slf4j.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>log4j-over-slf4j</artifactId>
+ <version>${dep.slf4j.version}</version>
+ </dependency>
+
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>com.googlecode.jmockit</groupId>
+ <artifactId>jmockit</artifactId>
+ <version>1.3</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>${dep.junit.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>ch.qos.logback</groupId>
+ <artifactId>logback-classic</artifactId>
+ <version>1.0.13</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>de.huxhorn.lilith</groupId>
+ <artifactId>de.huxhorn.lilith.logback.appender.multiplex-classic</artifactId>
+ <version>0.9.43</version>
+ <scope>test</scope>
+ </dependency>
+
+ </dependencies>
+
+ <!-- Managed Dependencies -->
+ <dependencyManagement>
+ </dependencyManagement>
+
+ <profiles>
+ <profile>
+ <id>default-hadoop</id>
+ <activation>
+ <property>
+ <name>!alt-hadoop</name>
+ </property>
+ </activation>
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.hadoop</groupId>
+ <artifactId>hadoop-core</artifactId>
+ <version>1.2.1</version>
+ <exclusions>
+ <exclusion>
+ <artifactId>jets3t</artifactId>
+ <groupId>net.java.dev.jets3t</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>log4j</artifactId>
+ <groupId>log4j</groupId>
+ </exclusion>
+
+ <exclusion>
+ <artifactId>mockito-all</artifactId>
+ <groupId>org.mockito</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>commons-logging-api</artifactId>
+ <groupId>commons-logging</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>commons-logging</artifactId>
+ <groupId>commons-logging</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>jersey-server</artifactId>
+ <groupId>com.sun.jersey</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>core</artifactId>
+ <groupId>org.eclipse.jdt</groupId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+ </profile>
+ <profile>
+ <id>mapr</id>
+ <properties>
+ <alt-hadoop>mapr</alt-hadoop>
+ </properties>
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>xerces</groupId>
+ <artifactId>xercesImpl</artifactId>
+ <version>2.9.1</version>
+ </dependency>
+ <dependency>
+ <groupId>xalan</groupId>
+ <artifactId>xalan</artifactId>
+ <version>2.7.1</version>
+ </dependency>
+ <dependency>
+ <groupId>com.mapr.hadoop</groupId>
+ <artifactId>maprfs</artifactId>
+ <version>1.0.3-mapr-3.0.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.hadoop</groupId>
+ <artifactId>hadoop-core</artifactId>
+ <version>1.0.3-mapr-3.0.0</version>
+ <exclusions>
+ <exclusion>
+ <artifactId>asm</artifactId>
+ <groupId>asm</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>central-logging</artifactId>
+ <groupId>com.mapr.util</groupId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.codehaus.jackson</groupId>
+ <artifactId>jackson-core-asl</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.codehaus.jackson</groupId>
+ <artifactId>jackson-mapper-asl</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.codehaus.jackson</groupId>
+ <artifactId>jackson-xc</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.codehaus.jackson</groupId>
+ <artifactId>jackson-jaxrs</artifactId>
+ </exclusion>
+ <exclusion>
+ <artifactId>mockito-all</artifactId>
+ <groupId>org.codehaus</groupId>
+ </exclusion>
+ <exclusion>
+
+ <artifactId>jets3t</artifactId>
+ <groupId>net.java.dev.jets3t</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>log4j</artifactId>
+ <groupId>log4j</groupId>
+ </exclusion>
+
+ <exclusion>
+ <artifactId>mockito-all</artifactId>
+ <groupId>org.mockito</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>commons-logging-api</artifactId>
+ <groupId>commons-logging</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>commons-logging</artifactId>
+ <groupId>commons-logging</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>slf4j-log4j12</artifactId>
+ <groupId>org.slf4j</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>servlet-api-2.5</artifactId>
+ <groupId>org.mortbay.jetty</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>jasper-runtime</artifactId>
+ <groupId>tomcat</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>jasper-compiler</artifactId>
+ <groupId>tomcat</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>jetty</artifactId>
+ <groupId>org.mortbay.jetty</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>jersey-server</artifactId>
+ <groupId>com.sun.jersey</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>core</artifactId>
+ <groupId>org.eclipse.jdt</groupId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+ <repositories>
+ <repository>
+ <id>mapr-releases</id>
+ <url>http://repository.mapr.com/maven/</url>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ <releases>
+ <enabled>true</enabled>
+ </releases>
+ </repository>
+ </repositories>
+ </profile>
+ <profile>
+ <id>cdh</id>
+ <properties>
+ <alt-hadoop>cdh4</alt-hadoop>
+ </properties>
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.hadoop</groupId>
+ <artifactId>hadoop-common</artifactId>
+ <version>2.0.0-cdh4.4.0</version>
+ <exclusions>
+ <exclusion>
+ <artifactId>commons-logging</artifactId>
+ <groupId>commons-logging</groupId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+ <repositories>
+ <repository>
+ <id>cloudera</id>
+ <url>https://repository.cloudera.com/artifactory/cloudera-repos/</url>
+ </repository>
+ </repositories>
+ </profile>
+ <profile>
+ <id>hdp</id>
+ <properties>
+ <alt-hadoop>hdp</alt-hadoop>
+ </properties>
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.hadoop</groupId>
+ <artifactId>hadoop-common</artifactId>
+ <version>2.1.0.2.0.4.0-38</version>
+ <exclusions>
+ <exclusion>
+ <artifactId>commons-logging</artifactId>
+ <groupId>commons-logging</groupId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+ <repositories>
+ <repository>
+ <releases>
+ <enabled>true</enabled>
+ <updatePolicy>always</updatePolicy>
+ <checksumPolicy>warn</checksumPolicy>
+ </releases>
+ <snapshots>
+ <enabled>false</enabled>
+ <updatePolicy>never</updatePolicy>
+ <checksumPolicy>fail</checksumPolicy>
+ </snapshots>
+ <id>HDPReleases</id>
+ <name>HDP Releases</name>
+ <url>http://repo.hortonworks.com/content/repositories/releases</url>
+ <layout>default</layout>
+ </repository>
+ </repositories>
+ </profile>
+ </profiles>
+ <modules>
+ <module>common</module>
+ <module>contrib</module>
+ <module>exec</module>
+ <module>sqlparser</module>
+ <module>distribution</module>
+ </modules>
+</project>
http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/a593d908/sample-data/nation.parquet
----------------------------------------------------------------------
diff --git a/sample-data/nation.parquet b/sample-data/nation.parquet
new file mode 100644
index 0000000..db65492
Binary files /dev/null and b/sample-data/nation.parquet differ
http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/a593d908/sample-data/region.parquet
----------------------------------------------------------------------
diff --git a/sample-data/region.parquet b/sample-data/region.parquet
new file mode 100644
index 0000000..ab8122c
Binary files /dev/null and b/sample-data/region.parquet differ
http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/a593d908/sandbox/prototype/KEYS
----------------------------------------------------------------------
diff --git a/sandbox/prototype/KEYS b/sandbox/prototype/KEYS
deleted file mode 100644
index 205469b..0000000
--- a/sandbox/prototype/KEYS
+++ /dev/null
@@ -1,86 +0,0 @@
-This file contains the PGP keys of various developers.
-Please don't use them for email unless you have to. Their main
-purpose is code signing.
-
-Examples of importing this file in your keystore:
- gpg --import KEYS.txt
- (need pgp and other examples here)
-
-Examples of adding your key to this file:
- pgp -kxa <your name> and append it to this file.
- (pgpk -ll <your name> && pgpk -xa <your name>) >> this file.
- (gpg --list-sigs <your name>
- && gpg --armor --export <your name>) >> this file.
-
------------------------------------------------------------------------------------
-
-pub 4096R/AB10D143 2013-09-01 [expires: 2017-09-01]
-uid Jacques Nadeau <ja...@apache.org>
-sig 3 AB10D143 2013-09-01 Jacques Nadeau <ja...@apache.org>
-sub 4096R/6B5FA695 2013-09-01 [expires: 2017-09-01]
-sig AB10D143 2013-09-01 Jacques Nadeau <ja...@apache.org>
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: GnuPG v1.4.13 (Darwin)
-
-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
-P5iIjn4zOZYYd6Fobkpw3vi03ifusAeOzwpCmw==
-=6NWa
------END PGP PUBLIC KEY BLOCK-----
-
http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/a593d908/sandbox/prototype/LICENSE
----------------------------------------------------------------------
diff --git a/sandbox/prototype/LICENSE b/sandbox/prototype/LICENSE
deleted file mode 100644
index f62230e..0000000
--- a/sandbox/prototype/LICENSE
+++ /dev/null
@@ -1,209 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
-================================================================================
-
-The compiled Apache Drill distribution includes the following sources/binaries.
-The use of these sources/binaries is subject to the terms and conditions of
-their respective licenses.
-
http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/a593d908/sandbox/prototype/common/pom.xml
----------------------------------------------------------------------
diff --git a/sandbox/prototype/common/pom.xml b/sandbox/prototype/common/pom.xml
deleted file mode 100644
index cd973e2..0000000
--- a/sandbox/prototype/common/pom.xml
+++ /dev/null
@@ -1,158 +0,0 @@
-<?xml version="1.0"?>
-<project
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
- xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>drill-root</artifactId>
- <groupId>org.apache.drill</groupId>
- <version>1.0.0-m1-SNAPSHOT</version>
- </parent>
-
- <artifactId>common</artifactId>
- <packaging>jar</packaging>
- <name>Common (Logical Plan, Base expressions)</name>
-
- <dependencies>
-
- <dependency>
- <groupId>com.google.protobuf</groupId>
- <artifactId>protobuf-java</artifactId>
- <version>2.5.0</version>
- </dependency>
-
- <dependency>
- <groupId>com.typesafe</groupId>
- <artifactId>config</artifactId>
- <version>1.0.0</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-lang3</artifactId>
- <version>3.1</version>
- </dependency>
-
- <dependency>
- <groupId>org.msgpack</groupId>
- <artifactId>msgpack</artifactId>
- <version>0.6.6</version>
- </dependency>
-
- <dependency>
- <groupId>org.reflections</groupId>
- <artifactId>reflections</artifactId>
- <version>0.9.8</version>
- </dependency>
-
- <dependency>
- <groupId>com.fasterxml.jackson.core</groupId>
- <artifactId>jackson-annotations</artifactId>
- <version>2.1.1</version>
- </dependency>
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-validator</artifactId>
- <version>4.3.1.Final</version>
- </dependency>
- <dependency>
- <groupId>com.fasterxml.jackson.core</groupId>
- <artifactId>jackson-databind</artifactId>
- <version>2.1.1</version>
- </dependency>
- <dependency>
- <groupId>org.antlr</groupId>
- <artifactId>antlr-runtime</artifactId>
- <version>3.4</version>
- </dependency>
-
-
- </dependencies>
-
-
- <build>
- <plugins>
- <plugin>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>2.15</version>
- <configuration>
- <useSystemClassLoader>false</useSystemClassLoader>
- </configuration>
- </plugin>
- <plugin>
- <artifactId>maven-jar-plugin</artifactId>
- <executions>
- <execution>
- <id>test-jar</id>
- <goals>
- <goal>test-jar</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.antlr</groupId>
- <artifactId>antlr3-maven-plugin</artifactId>
- <version>3.4</version>
- <configuration>
-
- </configuration>
- <executions>
- <execution>
- <goals>
- <goal>antlr</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
-
-
- <plugin>
- <groupId>com.github.igor-petruk.protobuf</groupId>
- <artifactId>protobuf-maven-plugin</artifactId>
- <version>0.6.3</version>
- <executions>
- <execution>
- <goals>
- <goal>run</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
-
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-shade-plugin</artifactId>
- <version>2.1</version>
- <executions>
- <execution>
- <phase>package</phase>
- <goals>
- <goal>shade</goal>
- </goals>
- <configuration>
- <artifactSet>
- <includes>
- <include>com.google.protobuf:protobuf-java</include>
- </includes>
- </artifactSet>
- <shadedArtifactAttached>true</shadedArtifactAttached>
- <shadedClassifierName>rebuffed</shadedClassifierName>
-
- <relocations>
- <relocation>
- <pattern>com.google.protobuf</pattern>
- <shadedPattern>250.com.google.protobuf</shadedPattern>
- </relocation>
- </relocations>
- </configuration>
- </execution>
- </executions>
- </plugin>
-
-
- </plugins>
-
- </build>
-</project>
http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/a593d908/sandbox/prototype/common/src/main/antlr3/org/apache/drill/common/expression/parser/ExprLexer.g
----------------------------------------------------------------------
diff --git a/sandbox/prototype/common/src/main/antlr3/org/apache/drill/common/expression/parser/ExprLexer.g b/sandbox/prototype/common/src/main/antlr3/org/apache/drill/common/expression/parser/ExprLexer.g
deleted file mode 100644
index 76da965..0000000
--- a/sandbox/prototype/common/src/main/antlr3/org/apache/drill/common/expression/parser/ExprLexer.g
+++ /dev/null
@@ -1,111 +0,0 @@
-lexer grammar ExprLexer;
-
-options {
- language=Java;
-}
-
-@header {
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.drill.common.expression.parser;
-}
-
-If : 'if';
-Else : 'else';
-Return : 'return';
-Then : 'then';
-End : 'end';
-In : 'in';
-Case : 'case';
-When : 'when';
-
-
-Or : '||' | 'or' | 'OR' | 'Or';
-And : '&&' | 'and' | 'AND' ;
-Equals : '==' | '=';
-NEquals : '<>' | '!=';
-GTEquals : '>=';
-LTEquals : '<=';
-Caret : '^';
-Excl : '!';
-GT : '>';
-LT : '<';
-Plus : '+';
-Minus : '-';
-Asterisk : '*';
-ForwardSlash : '/';
-Percent : '%';
-OBrace : '{';
-CBrace : '}';
-OBracket : '[';
-CBracket : ']';
-OParen : '(';
-CParen : ')';
-SColon : ';';
-Comma : ',';
-QMark : '?';
-Colon : ':';
-SingleQuote: '\'';
-
-Bool
- : 'true'
- | 'false'
- ;
-
-Number
- : Int ('.' Digit*)? ('e' ('+' | '-')? Digit*)?
- ;
-
-//Float
-// : Int ('.' Digit*)? ('e' ('+' | '-')? Digit*)?
-// ;
-//
-//Integer
-// : Digit Digit*
-// ;
-
-Identifier
- : ('a'..'z' | 'A'..'Z' | '_' | '$') ('a'..'z' | 'A'..'Z' | '_' | '$' | Digit)* ('.' ('a'..'z' | 'A'..'Z' | '_' | '$' ) ('a'..'z' | 'A'..'Z' | '_' | '$' | Digit)*)*
- ;
-
-String
-@after {
- setText(getText().substring(1, getText().length()-1).replaceAll("\\\\(.)", "$1"));
-}
- : '"' (~('"' | '\\') | '\\' ('\\' | '"'))* '"'
- | '\'' (~('\'' | '\\') | '\\' ('\\' | '\''))* '\''
- ;
-
-Comment
- : '//' ~('\r' | '\n')* {skip();}
- | '/*' .* '*/' {skip();}
- ;
-
-Space
- : (' ' | '\t' | '\r' | '\n' | '\u000C') {skip();}
- ;
-
-fragment Int
- : '1'..'9' Digit*
- | '0'
- ;
-
-fragment Digit
- : '0'..'9'
- ;
http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/a593d908/sandbox/prototype/common/src/main/antlr3/org/apache/drill/common/expression/parser/ExprParser.g
----------------------------------------------------------------------
diff --git a/sandbox/prototype/common/src/main/antlr3/org/apache/drill/common/expression/parser/ExprParser.g b/sandbox/prototype/common/src/main/antlr3/org/apache/drill/common/expression/parser/ExprParser.g
deleted file mode 100644
index 7fc1651..0000000
--- a/sandbox/prototype/common/src/main/antlr3/org/apache/drill/common/expression/parser/ExprParser.g
+++ /dev/null
@@ -1,224 +0,0 @@
-parser grammar ExprParser;
-
-options{
- output=AST;
- language=Java;
- tokenVocab=ExprLexer;
- backtrack=true;
- memoize=true;
-}
-
-
-
-@header {
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.drill.common.expression.parser;
-
-//Explicit import...
-import org.antlr.runtime.BitSet;
-import java.util.*;
-import org.apache.drill.common.expression.*;
-
-}
-
-@members{
- private FunctionRegistry registry;
- private String fullExpression;
- private int tokenPos;
- public void setRegistry(FunctionRegistry registry){
- this.registry = registry;
- }
-
- public static void p(String s){
- System.out.println(s);
- }
-
- public ExpressionPosition pos(Token token){
- return new ExpressionPosition(fullExpression, token.getTokenIndex());
- }
-}
-
-parse returns [LogicalExpression e]
- : expression EOF {
- $e = $expression.e;
- if(fullExpression == null) fullExpression = $expression.text;
- tokenPos = $expression.start.getTokenIndex();
- }
- ;
-
-functionCall returns [LogicalExpression e]
- : Identifier OParen exprList? CParen {$e = registry.createExpression($Identifier.text, pos($Identifier), $exprList.listE); }
- ;
-
-ifStatement returns [LogicalExpression e]
- @init {
- IfExpression.Builder s = IfExpression.newBuilder();
- }
- @after {
- $e = s.build();
- }
- : i1=ifStat {s.addCondition($i1.i); s.setPosition(pos($i1.start)); } (elseIfStat { s.addCondition($elseIfStat.i); } )* Else expression { s.setElse($expression.e); }End
- ;
-
-ifStat returns [IfExpression.IfCondition i]
- : If e1=expression Then e2=expression { $i = new IfExpression.IfCondition($e1.e, $e2.e); }
- ;
-elseIfStat returns [IfExpression.IfCondition i]
- : Else If e1=expression Then e2=expression { $i = new IfExpression.IfCondition($e1.e, $e2.e); }
- ;
-
-caseStatement returns [LogicalExpression e]
- @init {
- IfExpression.Builder s = IfExpression.newBuilder();
- }
- @after {
- $e = s.build();
- }
- : Case (caseWhenStat {s.addCondition($caseWhenStat.i); }) + caseElseStat { s.setElse($caseElseStat.e); } End
- ;
-
-caseWhenStat returns [IfExpression.IfCondition i]
- : When e1=expression Then e2=expression {$i = new IfExpression.IfCondition($e1.e, $e2.e); }
- ;
-
-caseElseStat returns [LogicalExpression e]
- : Else expression {$e = $expression.e; }
- ;
-
-exprList returns [List<LogicalExpression> listE]
- @init{
- $listE = new ArrayList<LogicalExpression>();
- }
- : e1=expression {$listE.add($e1.e); } (Comma e2=expression {$listE.add($e2.e); } )*
- ;
-
-expression returns [LogicalExpression e]
- : ifStatement {$e = $ifStatement.e; }
- | caseStatement {$e = $caseStatement.e; }
- | condExpr {$e = $condExpr.e; }
- ;
-
-condExpr returns [LogicalExpression e]
- : orExpr {$e = $orExpr.e; }
- ;
-
-orExpr returns [LogicalExpression e]
- @init{
- List<LogicalExpression> exprs = new ArrayList<LogicalExpression>();
- ExpressionPosition p = null;
- }
- @after{
- if(exprs.size() == 1){
- $e = exprs.get(0);
- }else{
- $e = registry.createExpression("||", p, exprs);
- }
- }
- : a1=andExpr { exprs.add($a1.e); p = pos( $a1.start );} (Or a2=andExpr { exprs.add($a2.e); })*
- ;
-
-andExpr returns [LogicalExpression e]
- @init{
- List<LogicalExpression> exprs = new ArrayList<LogicalExpression>();
- ExpressionPosition p = null;
- }
- @after{
- if(exprs.size() == 1){
- $e = exprs.get(0);
- }else{
- $e = registry.createExpression("&&", p, exprs);
- }
- }
- : e1=equExpr { exprs.add($e1.e); p = pos( $e1.start ); } ( And e2=equExpr { exprs.add($e2.e); })*
- ;
-
-equExpr returns [LogicalExpression e]
- @init{
- List<LogicalExpression> exprs = new ArrayList<LogicalExpression>();
- List<String> cmps = new ArrayList();
- ExpressionPosition p = null;
- }
- @after{
- $e = registry.createByOp(exprs, p, cmps);
- }
- : r1=relExpr { exprs.add($r1.e); p = pos( $r1.start );
- } ( cmpr= ( Equals | NEquals ) r2=relExpr {exprs.add($r2.e); cmps.add($cmpr.text); })*
- ;
-
-relExpr returns [LogicalExpression e]
- : left=addExpr {$e = $left.e; } (cmpr = (GTEquals | LTEquals | GT | LT) right=addExpr {$e = registry.createExpression($cmpr.text, pos($left.start), $left.e, $right.e); } )?
- ;
-
-addExpr returns [LogicalExpression e]
- @init{
- List<LogicalExpression> exprs = new ArrayList<LogicalExpression>();
- List<String> ops = new ArrayList();
- ExpressionPosition p = null;
- }
- @after{
- $e = registry.createByOp(exprs, p, ops);
- }
- : m1=mulExpr {exprs.add($m1.e); p = pos($m1.start); } ( op=(Plus|Minus) m2=mulExpr {exprs.add($m2.e); ops.add($op.text); })*
- ;
-
-mulExpr returns [LogicalExpression e]
- @init{
- List<LogicalExpression> exprs = new ArrayList<LogicalExpression>();
- List<String> ops = new ArrayList();
- ExpressionPosition p = null;
- }
- @after{
- $e = registry.createByOp(exprs, p, ops);
- }
- : p1=xorExpr {exprs.add($p1.e); p = pos($p1.start);} (op=(Asterisk|ForwardSlash|Percent) p2=xorExpr {exprs.add($p2.e); ops.add($op.text); } )*
- ;
-
-xorExpr returns [LogicalExpression e]
- @init{
- List<LogicalExpression> exprs = new ArrayList<LogicalExpression>();
- List<String> ops = new ArrayList();
- ExpressionPosition p = null;
- }
- @after{
- $e = registry.createByOp(exprs, p, ops);
- }
- : u1=unaryExpr {exprs.add($u1.e); p = pos($u1.start);} (Caret u2=unaryExpr {exprs.add($u2.e); ops.add($Caret.text);} )*
- ;
-
-unaryExpr returns [LogicalExpression e]
- : Minus atom {$e = registry.createExpression("u-", pos($atom.start), $atom.e); }
- | Excl atom {$e= registry.createExpression("!", pos($atom.start), $atom.e); }
- | atom {$e = $atom.e; }
- ;
-
-atom returns [LogicalExpression e]
- : Number {$e = ValueExpressions.getNumericExpression($Number.text, pos($atom.start)); }
- | Bool {$e = new ValueExpressions.BooleanExpression( $Bool.text, pos($atom.start)); }
- | lookup {$e = $lookup.e; }
- ;
-
-
-lookup returns [LogicalExpression e]
- : functionCall {$e = $functionCall.e ;}
- | Identifier {$e = new SchemaPath($Identifier.text, pos($Identifier) ); }
- | String {$e = new ValueExpressions.QuotedString($String.text, pos($String) ); }
- | OParen expression CParen {$e = $expression.e; }
- | SingleQuote Identifier SingleQuote {$e = new SchemaPath($Identifier.text, pos($Identifier) ); }
- ;
http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/a593d908/sandbox/prototype/common/src/main/antlr3/org/apache/drill/common/storage/proto/ProtoLexer.g.bk
----------------------------------------------------------------------
diff --git a/sandbox/prototype/common/src/main/antlr3/org/apache/drill/common/storage/proto/ProtoLexer.g.bk b/sandbox/prototype/common/src/main/antlr3/org/apache/drill/common/storage/proto/ProtoLexer.g.bk
deleted file mode 100644
index 81b3e03..0000000
--- a/sandbox/prototype/common/src/main/antlr3/org/apache/drill/common/storage/proto/ProtoLexer.g.bk
+++ /dev/null
@@ -1,287 +0,0 @@
-//========================================================================
-//Copyright 2007-2009 David Yu dyuproject@gmail.com
-//------------------------------------------------------------------------
-//Licensed under the Apache License, Version 2.0 (the "License");
-//you may not use this file except in compliance with the License.
-//You may obtain a copy of the License at
-//http://www.apache.org/licenses/LICENSE-2.0
-//Unless required by applicable law or agreed to in writing, software
-//distributed under the License is distributed on an "AS IS" BASIS,
-//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//See the License for the specific language governing permissions and
-//limitations under the License.
-//========================================================================
-
-/** Apache Drill notes: Based off r1586 of protostuff **/
-
-lexer grammar ProtoLexer;
-
-options {
- language=Java; // Default
-}
-
-@header {
- package org.apache.drill.common.storage.proto;
-}
-
-ASSIGN
- : '='
- ;
-
-AT
- : '@'
- ;
-
-LEFTCURLY
- : '{'
- ;
-
-RIGHTCURLY
- : '}'
- ;
-
-LEFTPAREN
- : '('
- ;
-
-RIGHTPAREN
- : ')'
- ;
-
-LEFTSQUARE
- : '['
- ;
-
-RIGHTSQUARE
- : ']'
- ;
-
-SEMICOLON
- : ';'
- ;
-
-COMMA
- : ','
- ;
-
-PLUS
- : '+'
- ;
-
-MINUS
- : '-'
- ;
-
-TO
- : 'to'
- ;
-
-TRUE
- : 'true'
- ;
-
-FALSE
- : 'false'
- ;
-
-PKG
- : 'package'
- ;
-
-SYNTAX
- : 'syntax'
- ;
-
-IMPORT
- : 'import'
- ;
-
-OPTION
- : 'option'
- ;
-
-MESSAGE
- : 'message'
- ;
-
-SERVICE
- : 'service'
- ;
-
-ENUM
- : 'enum'
- ;
-
-REQUIRED
- : 'required'
- ;
-
-OPTIONAL
- : 'optional'
- ;
-
-REPEATED
- : 'repeated'
- ;
-
-EXTENSIONS
- : 'extensions'
- ;
-
-EXTEND
- : 'extend'
- ;
-
-GROUP
- : 'group'
- ;
-
-RPC
- : 'rpc'
- ;
-
-RETURNS
- : 'returns'
- ;
-
-INT32
- : 'int32'
- ;
-
-INT64
- : 'int64'
- ;
-
-UINT32
- : 'uint32'
- ;
-
-UINT64
- : 'uint64'
- ;
-
-SINT32
- : 'sint32'
- ;
-
-SINT64
- : 'sint64'
- ;
-
-FIXED32
- : 'fixed32'
- ;
-
-FIXED64
- : 'fixed64'
- ;
-
-SFIXED32
- : 'sfixed32'
- ;
-
-SFIXED64
- : 'sfixed64'
- ;
-
-FLOAT
- : 'float'
- ;
-
-DOUBLE
- : 'double'
- ;
-
-BOOL
- : 'bool'
- ;
-
-STRING
- : 'string'
- ;
-
-BYTES
- : 'bytes'
- ;
-
-DEFAULT
- : 'default'
- ;
-
-MAX
- : 'max'
- ;
-
-VOID
- : 'void'
- ;
-
-FULL_ID
- : ID ('.' ID)+
- ;
-
-ID
- : ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'0'..'9'|'_')*
- ;
-
-EXP
- : NUMINT ('e'|'E') NUMINT
- ;
-
-NUMDOUBLE
- : (NUMFLOAT|NUMINT)
- 'e' '0'..'9'+
- ;
-
-NUMFLOAT
- : NUMINT '.' '0'..'9'+ 'f'?
- ;
-
-NUMINT
- : '0' | MINUS? '1'..'9' '0'..'9'*
- ;
-
-HEX
- : MINUS? '0' ('x'|'X') HEX_DIGIT+
- ;
-
-OCTAL
- : '0' ('0'..'7')+
- ;
-
-COMMENT
- : '//' ~('\n'|'\r')* '\r'? '\n' {skip();}
- | '/*' ( options {greedy=false;} : . )* '*/' {skip();}
- ;
-
-WS : ( ' '
- | '\t'
- | '\r'
- | '\n'
- ) {skip();}
- ;
-
-STRING_LITERAL
- : '"' ( ESC_SEQ | ~('\\'|'"') )* '"'
- ;
-
-fragment HEX_DIGIT
- : ('0'..'9'|'a'..'f'|'A'..'F')
- ;
-
-fragment ESC_SEQ
- : '\\' ('a'|'v'|'b'|'t'|'n'|'f'|'r'|'\"'|'\''|'\\')
- | '\\' ('x'|'X') HEX_DIGIT HEX_DIGIT
- | UNICODE_ESC
- | OCTAL_ESC
- ;
-
-fragment OCTAL_ESC
- : '\\' ('0'..'3') ('0'..'7') ('0'..'7')
- | '\\' ('0'..'7') ('0'..'7')
- | '\\' ('0'..'7')
- ;
-
-fragment UNICODE_ESC
- : '\\' 'u' HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT
- ;
http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/a593d908/sandbox/prototype/common/src/main/antlr3/org/apache/drill/common/storage/proto/ProtoParser.g.bk
----------------------------------------------------------------------
diff --git a/sandbox/prototype/common/src/main/antlr3/org/apache/drill/common/storage/proto/ProtoParser.g.bk b/sandbox/prototype/common/src/main/antlr3/org/apache/drill/common/storage/proto/ProtoParser.g.bk
deleted file mode 100644
index 81b6eb6..0000000
--- a/sandbox/prototype/common/src/main/antlr3/org/apache/drill/common/storage/proto/ProtoParser.g.bk
+++ /dev/null
@@ -1,605 +0,0 @@
-//========================================================================
-//Copyright 2007-2009 David Yu dyuproject@gmail.com
-//------------------------------------------------------------------------
-//Licensed under the Apache License, Version 2.0 (the "License");
-//you may not use this file except in compliance with the License.
-//You may obtain a copy of the License at
-//http://www.apache.org/licenses/LICENSE-2.0
-//Unless required by applicable law or agreed to in writing, software
-//distributed under the License is distributed on an "AS IS" BASIS,
-//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//See the License for the specific language governing permissions and
-//limitations under the License.
-//========================================================================
-
-/** Apache Drill notes: Based off r1586 of protostuff **/
-
-parser grammar ProtoParser;
-
-options {
- language = Java;
- output = AST;
- tokenVocab = ProtoLexer;
-}
-
-@header {
- package org.apache.drill.common.storage.proto;
-}
-
-parse [Proto proto]
- : (statement[proto])+ EOF! {
- if(!proto.annotations.isEmpty())
- throw new IllegalStateException("Misplaced annotations: " + proto.annotations);
-
- proto.postParse();
- }
- ;
-
-statement [Proto proto]
- : header_syntax[proto]
- | header_package[proto]
- | header_import[proto]
- | message_block[proto, null]
- | enum_block[proto, null]
- | extend_block[proto, null]
- | service_block[proto]
- | annotation_entry[proto]
- | option_entry[proto, proto]
- ;
-
-// some keywords that might possibly be used as a variable
-var
- : ID | TO | PKG | SYNTAX | IMPORT | OPTION | MESSAGE | SERVICE | ENUM |
- REQUIRED | OPTIONAL | REPEATED | EXTENSIONS | EXTEND | GROUP | RPC |
- RETURNS | INT32 | INT64 | UINT32 | UINT64 | SINT32 | SINT64 |
- FIXED32 | FIXED64 | SFIXED32 | SFIXED64 | FLOAT | DOUBLE | BOOL |
- STRING | BYTES | DEFAULT | MAX | VOID
- ;
-
-annotation_entry [Proto proto]
-@init {
- Annotation annotation = null;
-}
- : AT var { annotation = new Annotation($var.text); }
- (LEFTPAREN
- annotation_keyval[proto, annotation] (COMMA annotation_keyval[proto, annotation])*
- RIGHTPAREN)? {
- proto.add(annotation);
- }
- ;
-
-annotation_keyval [Proto proto, Annotation annotation]
- : k=var ASSIGN (
- ID { annotation.putRef($k.text, $ID.text); }
- | fid=FULL_ID { annotation.putRef($k.text, $fid.text); }
- | NUMFLOAT { annotation.put($k.text, Float.valueOf($NUMFLOAT.text)); }
- | NUMINT { annotation.put($k.text, Integer.valueOf($NUMINT.text)); }
- | NUMDOUBLE { annotation.put($k.text, Double.valueOf($NUMDOUBLE.text)); }
- | TRUE { annotation.put($k.text, Boolean.TRUE); }
- | FALSE { annotation.put($k.text, Boolean.FALSE); }
- | STRING_LITERAL { annotation.put($k.text, getStringFromStringLiteral($STRING_LITERAL.text)); }
- | v=var { annotation.put($k.text, $v.text); }
- )
- ;
-
-header_syntax [Proto proto]
- : SYNTAX ASSIGN STRING_LITERAL SEMICOLON! {
- if(!"proto2".equals(getStringFromStringLiteral($STRING_LITERAL.text))) {
- throw new IllegalStateException("Syntax isn't proto2: '" +
- getStringFromStringLiteral($STRING_LITERAL.text)+"'");
- }
-
- if(!proto.annotations.isEmpty())
- throw new IllegalStateException("Misplaced annotations: " + proto.annotations);
- }
- ;
-
-header_package [Proto proto] // ignore
- : PKG (FULL_ID | var ) SEMICOLON!
- ;
-
-header_import [Proto proto]
- : IMPORT STRING_LITERAL SEMICOLON! {
- proto.importProto(getStringFromStringLiteral($STRING_LITERAL.text));
-
- if(!proto.annotations.isEmpty())
- throw new IllegalStateException("Misplaced annotations: " + proto.annotations);
- }
- ;
-
-option_entry [Proto proto, HasOptions ho]
- : OPTION LEFTPAREN? k=(ID|FULL_ID) RIGHTPAREN? ASSIGN (
- id=ID { ho.putStandardOption($k.text, $id.text); }
- | fid=FULL_ID { ho.putStandardOption($k.text, $fid.text); }
- | NUMFLOAT { ho.putExtraOption($k.text, Float.valueOf($NUMFLOAT.text)); }
- | NUMINT { ho.putExtraOption($k.text, Integer.valueOf($NUMINT.text)); }
- | NUMDOUBLE { ho.putExtraOption($k.text, Double.valueOf($NUMDOUBLE.text)); }
- | TRUE { ho.putExtraOption($k.text, Boolean.TRUE); }
- | FALSE { ho.putExtraOption($k.text, Boolean.FALSE); }
- | STRING_LITERAL { ho.putExtraOption($k.text, getStringFromStringLiteral($STRING_LITERAL.text)); }
- ) SEMICOLON! {
- if(!proto.annotations.isEmpty())
- throw new IllegalStateException("Misplaced annotations: " + proto.annotations);
- }
- ;
-
-message_block [Proto proto, Message parent]
-@init {
- Message message = null;
-}
- : MESSAGE ID {
- message = new Message($ID.text);
- if(parent==null)
- proto.addMessage(message);
- else
- parent.addNestedMessage(message);
-
- proto.addAnnotationsTo(message);
- }
- LEFTCURLY (message_body[proto, message])* RIGHTCURLY {
- if(!proto.annotations.isEmpty())
- throw new IllegalStateException("Misplaced annotations: " + proto.annotations);
- }
- ;
-
-message_body [Proto proto, Message message]
- : message_block[proto, message]
- | message_field[proto, message]
- | enum_block[proto, message]
- | extend_block[proto, message]
- | extensions_range[proto, message]
- | annotation_entry[proto]
- | option_entry[proto, message]
- ;
-
-extensions_range [Proto proto, Message message]
-@init {
- int first = -1;
- int last = -1;
-}
- : EXTENSIONS f=NUMINT { first = Integer.parseInt($f.text); last = first;}
- ( TO ( l=NUMINT { last = Integer.parseInt($l.text); } | MAX {last = 536870911; } ) )?
- SEMICOLON! {
- message.defineExtensionRange(first, last);
- }
- ;
-
-message_field [Proto proto, HasFields message]
-@init {
- Field.Modifier modifier = null;
- FieldHolder fieldHolder = null;
-}
- : (OPTIONAL { modifier = Field.Modifier.OPTIONAL; }
- | REQUIRED { modifier = Field.Modifier.REQUIRED; }
- | REPEATED { modifier = Field.Modifier.REPEATED; }) {
- fieldHolder = new FieldHolder();
- }
- field_type[proto, message, fieldHolder]
- var ASSIGN NUMINT {
- if(fieldHolder.field != null) {
- fieldHolder.field.modifier = modifier;
- fieldHolder.field.name = $var.text;
- fieldHolder.field.number = Integer.parseInt($NUMINT.text);
- }
- }
- (field_options[proto, message, fieldHolder.field])? {
- if(fieldHolder.field != null) {
- proto.addAnnotationsTo(fieldHolder.field, message.getEnclosingNamespace());
- message.addField(fieldHolder.field);
- }
- }
- (SEMICOLON! | ignore_block)
- ;
-
-field_type [Proto proto, HasFields message, FieldHolder fieldHolder]
- : INT32 { fieldHolder.setField(new Field.Int32()); }
- | UINT32 { fieldHolder.setField(new Field.UInt32()); }
- | SINT32 { fieldHolder.setField(new Field.SInt32()); }
- | FIXED32 { fieldHolder.setField(new Field.Fixed32()); }
- | SFIXED32 { fieldHolder.setField(new Field.SFixed32()); }
- | INT64 { fieldHolder.setField(new Field.Int64()); }
- | UINT64 { fieldHolder.setField(new Field.UInt64()); }
- | SINT64 { fieldHolder.setField(new Field.SInt64()); }
- | FIXED64 { fieldHolder.setField(new Field.Fixed64()); }
- | SFIXED64 { fieldHolder.setField(new Field.SFixed64()); }
- | FLOAT { fieldHolder.setField(new Field.Float()); }
- | DOUBLE { fieldHolder.setField(new Field.Double()); }
- | BOOL { fieldHolder.setField(new Field.Bool()); }
- | STRING { fieldHolder.setField(new Field.String()); }
- | BYTES { fieldHolder.setField(new Field.Bytes()); }
- | GROUP {
- String suffix = proto.getFile()==null ? "" : " of " + proto.getFile().getName();
- warn("'group' not supported @ line " + $GROUP.line + suffix);
- }
- | FULL_ID {
- String fullType = $FULL_ID.text;
- int lastDot = fullType.lastIndexOf('.');
- String packageName = fullType.substring(0, lastDot);
- String type = fullType.substring(lastDot+1);
- fieldHolder.setField(new Field.Reference(packageName, type, message));
- }
- | ID {
- String type = $ID.text;
- fieldHolder.setField(new Field.Reference(null, type, message));
- }
- ;
-
-field_options [Proto proto, HasFields message, Field field]
- : LEFTSQUARE field_options_keyval[proto, message, field]
- (COMMA field_options_keyval[proto, message, field])* RIGHTSQUARE
- ;
-
-field_options_keyval [Proto proto, HasFields message, Field field]
- : key=(DEFAULT|ID) ASSIGN (STRING_LITERAL {
- if("default".equals($key.text)) {
- if(field.defaultValue!=null || field.modifier == Field.Modifier.REPEATED)
- throw new IllegalStateException("a field can only have a single default value");
-
- if(field instanceof Field.String)
- field.defaultValue = getStringFromStringLiteral($STRING_LITERAL.text);
- else if(field instanceof Field.Bytes)
- field.defaultValue = getBytesFromStringLiteral($STRING_LITERAL.text);
- else
- throw new IllegalStateException("Invalid string default value for the field: " + field.getClass().getSimpleName() + " " + field.name);
- }
-
- field.putExtraOption($key.text, getStringFromStringLiteral($STRING_LITERAL.text));
- }
- | NUMFLOAT {
- if("default".equals($key.text)) {
- if(field.defaultValue!=null || field.modifier == Field.Modifier.REPEATED)
- throw new IllegalStateException("a field can only have a single default value");
-
- if(field instanceof Field.Float)
- field.defaultValue = Float.valueOf($NUMFLOAT.text);
- else if(field instanceof Field.Double)
- field.defaultValue = Double.valueOf($NUMFLOAT.text);
- else
- throw new IllegalStateException("Invalid float default value for the field: " + field.getClass().getSimpleName() + " " + field.name);
- }
-
- field.putExtraOption($key.text, Float.valueOf($NUMFLOAT.text));
- }
- | NUMINT {
- if("default".equals($key.text)) {
- if(field.defaultValue!=null || field.modifier == Field.Modifier.REPEATED)
- throw new IllegalStateException("a field can only have a single default value");
-
- if(field instanceof Field.Number) {
- if(field.getClass().getSimpleName().endsWith("32"))
- field.defaultValue = Integer.valueOf($NUMINT.text);
- else if(field.getClass().getSimpleName().endsWith("64"))
- field.defaultValue = Long.valueOf($NUMINT.text);
- else if(field instanceof Field.Float)
- field.defaultValue = Float.valueOf($NUMINT.text);
- else if(field instanceof Field.Double)
- field.defaultValue = Double.valueOf($NUMINT.text);
- else
- throw new IllegalStateException("Invalid numeric default value for the field: " + field.getClass().getSimpleName() + " " + field.name);
- }
- else
- throw new IllegalStateException("Invalid numeric default value for the field: " + field.getClass().getSimpleName() + " " + field.name);
- }
-
- field.putExtraOption($key.text, Integer.valueOf($NUMINT.text));
- }
- | NUMDOUBLE {
- if("default".equals($key.text)) {
- if(field.defaultValue!=null || field.modifier == Field.Modifier.REPEATED)
- throw new IllegalStateException("a field can only have a single default value");
-
- if(field instanceof Field.Float)
- field.defaultValue = Float.valueOf($NUMDOUBLE.text);
- else if(field instanceof Field.Double)
- field.defaultValue = Double.valueOf($NUMDOUBLE.text);
- else
- throw new IllegalStateException("Invalid numeric default value for the field: " + field.getClass().getSimpleName() + " " + field.name);
- }
-
- field.putExtraOption($key.text, Double.valueOf($NUMDOUBLE.text));
- }
- | HEX {
- if("default".equals($key.text)) {
- if(field.defaultValue!=null || field.modifier == Field.Modifier.REPEATED)
- throw new IllegalStateException("a field can only have a single default value");
-
- if(field instanceof Field.Number) {
- if(field instanceof Field.Int32)
- field.defaultValue = new Integer(TextFormat.parseInt32($HEX.text));
- else if(field instanceof Field.UInt32)
- field.defaultValue = new Integer(TextFormat.parseUInt32($HEX.text));
- else if(field instanceof Field.Int64)
- field.defaultValue = new Long(TextFormat.parseInt64($HEX.text));
- else if(field instanceof Field.UInt64)
- field.defaultValue = new Long(TextFormat.parseUInt64($HEX.text));
- else if(field instanceof Field.Float)
- field.defaultValue = new Float(Long.decode($HEX.text).floatValue());
- else if(field instanceof Field.Double)
- field.defaultValue = new Double(Long.decode($HEX.text).doubleValue());
- }
- else if(field instanceof Field.Bytes) {
- field.defaultValue = getBytesFromHexString($HEX.text);
- }
- else
- throw new IllegalStateException("Invalid numeric default value for the field: " + field.getClass().getSimpleName() + " " + field.name);
-
- }
-
- field.putExtraOption($key.text, $HEX.text);
- }
- | OCTAL {
- if("default".equals($key.text)) {
- if(field.defaultValue!=null || field.modifier == Field.Modifier.REPEATED)
- throw new IllegalStateException("a field can only have a single default value");
-
- if(field instanceof Field.Number) {
- if(field instanceof Field.Int32)
- field.defaultValue = new Integer(TextFormat.parseInt32($OCTAL.text));
- else if(field instanceof Field.UInt32)
- field.defaultValue = new Integer(TextFormat.parseUInt32($OCTAL.text));
- else if(field instanceof Field.Int64)
- field.defaultValue = new Long(TextFormat.parseInt64($OCTAL.text));
- else if(field instanceof Field.UInt64)
- field.defaultValue = new Long(TextFormat.parseUInt64($OCTAL.text));
- else if(field instanceof Field.Float)
- field.defaultValue = new Float(Long.decode($OCTAL.text).floatValue());
- else if(field instanceof Field.Double)
- field.defaultValue = new Double(Long.decode($OCTAL.text).doubleValue());
- }
- else
- throw new IllegalStateException("Invalid numeric default value for the field: " + field.getClass().getSimpleName() + " " + field.name);
- }
-
- field.putExtraOption($key.text, $OCTAL.text);
- }
- | TRUE {
- if("default".equals($key.text)) {
- if(field.defaultValue!=null || field.modifier == Field.Modifier.REPEATED)
- throw new IllegalStateException("a field can only have a single default value");
-
- if(field instanceof Field.Bool)
- field.defaultValue = Boolean.TRUE;
- else
- throw new IllegalStateException("invalid boolean default value for the non-boolean field: " + field.getClass().getSimpleName() + " " + field.name);
- }
-
- field.putExtraOption($key.text, Boolean.TRUE);
- }
- | FALSE {
- if("default".equals($key.text)) {
- if(field.defaultValue!=null || field.modifier == Field.Modifier.REPEATED)
- throw new IllegalStateException("a field can only have a single default value");
-
- if(field instanceof Field.Bool)
- field.defaultValue = Boolean.FALSE;
- else
- throw new IllegalStateException("invalid boolean default value for the non-boolean field: " + field.getClass().getSimpleName() + " " + field.name);
- }
-
- field.putExtraOption($key.text, Boolean.FALSE);
- }
- | val=ID {
- boolean refOption = false;
- if("default".equals($key.text)) {
- if(field.defaultValue!=null || field.modifier == Field.Modifier.REPEATED)
- throw new IllegalStateException("a field can only have a single default value");
-
- String refName = $val.text;
- if(field instanceof Field.Reference)
- field.defaultValue = refName;
- else if(field instanceof Field.Float) {
- if("inf".equals(refName)) {
- field.defaultValue = Float.POSITIVE_INFINITY;
- field.defaultValueConstant = "Float.POSITIVE_INFINITY";
- }
- else if("nan".equals(refName)) {
- field.defaultValue = Float.NaN;
- field.defaultValueConstant = "Float.NaN";
- }
- else
- throw new IllegalStateException("Invalid float default value for the field: " + field.getClass().getSimpleName() + " " + field.name);
- }
- else if(field instanceof Field.Double) {
- if("inf".equals(refName)) {
- field.defaultValue = Double.POSITIVE_INFINITY;
- field.defaultValueConstant = "Double.POSITIVE_INFINITY";
- }
- else if("nan".equals(refName)) {
- field.defaultValue = Double.NaN;
- field.defaultValueConstant = "Double.NaN";
- }
- else
- throw new IllegalStateException("Invalid double default value for the field: " + field.getClass().getSimpleName() + " " + field.name);
- }
- else {
- refOption = true;
- //throw new IllegalStateException("invalid field value '" + refName + "' for the field: " + field.getClass().getSimpleName() + " " + field.name);
- }
- }
- else {
- refOption = true;
- }
-
- if(refOption)
- field.putStandardOption($key.text, $val.text);
- else
- field.putExtraOption($key.text, $val.text);
- }
- | FULL_ID {
- field.putStandardOption($key.text, $FULL_ID.text);
- }
- | EXP {
- if("default".equals($key.text)) {
- if(field.defaultValue!=null || field.modifier == Field.Modifier.REPEATED)
- throw new IllegalStateException("a field can only have a single default value");
-
- if(field instanceof Field.Float)
- field.defaultValue = Float.valueOf($EXP.text);
- else if(field instanceof Field.Double)
- field.defaultValue = Double.valueOf($EXP.text);
- else
- throw new IllegalStateException("Invalid float default value for the field: " + field.getClass().getSimpleName() + " " + field.name);
- }
-
- field.putExtraOption($key.text, $EXP.text);
- }
- | signed_constant[proto, message, field, $key.text] {
- field.putExtraOption($key.text, $signed_constant.text);
- }
- )
- ;
-
-signed_constant [Proto proto, HasFields message, Field field, String key]
- : MINUS ID {
- if("default".equals(key)) {
- if(field.defaultValue!=null || field.modifier == Field.Modifier.REPEATED)
- throw new IllegalStateException("a field can only have a single default value");
-
- String refName = $ID.text;
- if(field instanceof Field.Float) {
- if("inf".equals(refName)) {
- field.defaultValue = Float.NEGATIVE_INFINITY;
- field.defaultValueConstant = "Float.NEGATIVE_INFINITY";
- }
- else
- throw new IllegalStateException("Invalid float default value for the field: " + field.getClass().getSimpleName() + " " + field.name);
- }
- else if(field instanceof Field.Double) {
- if("inf".equals(refName)) {
- field.defaultValue = Double.NEGATIVE_INFINITY;
- field.defaultValueConstant = "Double.NEGATIVE_INFINITY";
- }
- else
- throw new IllegalStateException("Invalid double default value for the field: " + field.getClass().getSimpleName() + " " + field.name);
- }
- else
- throw new IllegalStateException("invalid field value '" + refName + "' for the field: " + field.getClass().getSimpleName() + " " + field.name);
- }
- }
- ;
-
-enum_block [Proto proto, Message message]
-@init {
- EnumGroup enumGroup = null;
-}
- : ENUM ID {
- enumGroup = new EnumGroup($ID.text);
- if(message==null)
- proto.addEnumGroup(enumGroup);
- else
- message.addNestedEnumGroup(enumGroup);
-
- proto.addAnnotationsTo(enumGroup);
- }
- LEFTCURLY (enum_body[proto, message, enumGroup])* RIGHTCURLY {
- if(!proto.annotations.isEmpty())
- throw new IllegalStateException("Misplaced annotations: " + proto.annotations);
- } (SEMICOLON?)!
- ;
-
-enum_body [Proto proto, Message message, EnumGroup enumGroup]
- : enum_field[proto, message, enumGroup]
- | annotation_entry[proto]
- | option_entry[proto, enumGroup]
- ;
-
-enum_field [Proto proto, Message message, EnumGroup enumGroup]
- : ID ASSIGN NUMINT SEMICOLON! {
- EnumGroup.Value v = new EnumGroup.Value($ID.text, Integer.parseInt($NUMINT.text));
- enumGroup.add(v);
- proto.addAnnotationsTo(v);
- }
- ;
-
-service_block [Proto proto]
-@init {
- Service service = null;
-}
- : SERVICE ID {
- service = new Service($ID.text, proto);
- proto.addAnnotationsTo(service);
- } LEFTCURLY
- (service_body[proto, service])+ RIGHTCURLY (SEMICOLON?)! {
- if(service.rpcMethods.isEmpty())
- throw new IllegalStateException("Empty Service block: " + service.getName());
-
- if(!proto.annotations.isEmpty())
- throw new IllegalStateException("Misplaced annotations: " + proto.annotations);
- }
- ;
-
-service_body [Proto proto, Service service]
- : rpc_block[proto, service]
- | annotation_entry[proto]
- | option_entry[proto, service]
- ;
-
-rpc_block [Proto proto, Service service]
-@init {
- String argName = null, argPackage = null, retName = null, retPackage = null;
- Service.RpcMethod rm = null;
-}
- : RPC n=ID LEFTPAREN (ap=FULL_ID {
- String argFull = $ap.text;
- int lastDot = argFull.lastIndexOf('.');
- argPackage = argFull.substring(0, lastDot);
- argName = argFull.substring(lastDot+1);
- } | a=(VOID|ID) { argName = $a.text; }) RIGHTPAREN
- RETURNS LEFTPAREN (rp=FULL_ID {
- String retFull = $rp.text;
- int lastDot = retFull.lastIndexOf('.');
- retPackage = retFull.substring(0, lastDot);
- retName = retFull.substring(lastDot+1);
- } | r=(VOID|ID) { retName = $r.text; }) RIGHTPAREN {
- rm = service.addRpcMethod($n.text, argName, argPackage, retName, retPackage);
- proto.addAnnotationsTo(rm);
- } rpc_body_block[proto, rm]? SEMICOLON!
- ;
-
-rpc_body_block [Proto proto, Service.RpcMethod rm]
- : LEFTCURLY option_entry[proto, rm]* RIGHTCURLY {
- if(!proto.annotations.isEmpty())
- throw new IllegalStateException("Misplaced annotations: " + proto.annotations);
- }
- ;
-
-extend_block [Proto proto, Message parent]
-@init {
- Extension extension = null;
-}
- : EXTEND (
- FULL_ID {
- String fullType = $FULL_ID.text;
- int lastDot = fullType.lastIndexOf('.');
- String packageName = fullType.substring(0, lastDot);
- String type = fullType.substring(lastDot+1);
- extension = new Extension(proto, parent, packageName, type);
- } | ID { extension = new Extension(proto, parent, null, $ID.text); } ) {
- if(parent==null)
- proto.addExtension(extension);
- else
- parent.addNestedExtension(extension);
-
- proto.addAnnotationsTo(extension);
- }
- LEFTCURLY (extend_body[proto, extension])* RIGHTCURLY {
- if(!proto.annotations.isEmpty())
- throw new IllegalStateException("Misplaced annotations: " + proto.annotations);
-
- } (SEMICOLON?)!
- ;
-
-extend_body [Proto proto, Extension extension]
- : message_field[proto, extension]
- | annotation_entry[proto]
- ;
-
-ignore_block
- : LEFTCURLY ignore_block_body* RIGHTCURLY
- ;
-
-ignore_block_body
- : (LEFTCURLY)=> ignore_block
- | ~RIGHTCURLY
- ;
-
http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/a593d908/sandbox/prototype/common/src/main/java/com/google/protobuf/WireFormatProxy.java
----------------------------------------------------------------------
diff --git a/sandbox/prototype/common/src/main/java/com/google/protobuf/WireFormatProxy.java b/sandbox/prototype/common/src/main/java/com/google/protobuf/WireFormatProxy.java
deleted file mode 100644
index f560e9f..0000000
--- a/sandbox/prototype/common/src/main/java/com/google/protobuf/WireFormatProxy.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package com.google.protobuf;
-
-public class WireFormatProxy {
-
- WireFormatProxy(){};
-
- public static int getFieldType(int tag){
- return WireFormat.getTagWireType(tag);
- }
-}