(gora-site) 01/01: Merge pull request #3 from RedYetiDev/main
This is an automated email from the ASF dual-hosted git repository. lewismc pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/gora-site.git commit 341065c3d3b9c4c84a7d125f6cbeaa167409fbf8 Merge: d7b6cb9 c21b1c2 Author: Lewis John McGibbney AuthorDate: Fri Apr 5 17:36:25 2024 -0700 Merge pull request #3 from RedYetiDev/main Revamp Gora Site .gitignore |3 + README.md | 44 +- content/credits.md | 87 +- content/downloads.md | 129 +- content/index.md | 1240 ++-- content/mailing_lists.md | 84 +- content/resources/css/bootstrap-responsive.css | 745 -- content/resources/css/bootstrap.css| 6307 content/resources/css/bootstrap.min.css| 879 +-- content/resources/css/docco.css| 94 - content/resources/css/gora.css | 38 - content/resources/js/bootstrap.bundle.min.js |7 + content/resources/js/bootstrap.js | 2287 -- content/resources/js/bootstrap.min.js |7 - content/resources/js/jquery.js | 9252 pelicanconf.py |0 requirements.txt |1 + theme/apache/templates/base.html | 394 +- theme/apache/templates/styles.css |6 - 19 files changed, 1131 insertions(+), 20473 deletions(-)
(gora-site) branch main updated (d7b6cb9 -> 341065c)
This is an automated email from the ASF dual-hosted git repository. lewismc pushed a change to branch main in repository https://gitbox.apache.org/repos/asf/gora-site.git from d7b6cb9 GORA-703 move members to emeritus (#2) add c21b1c2 Revamp Gora Site new 341065c Merge pull request #3 from RedYetiDev/main The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .gitignore |3 + README.md | 44 +- content/credits.md | 87 +- content/downloads.md | 129 +- content/index.md | 1240 ++-- content/mailing_lists.md | 84 +- content/resources/css/bootstrap-responsive.css | 745 -- content/resources/css/bootstrap.css| 6307 content/resources/css/bootstrap.min.css| 879 +-- content/resources/css/docco.css| 94 - content/resources/css/gora.css | 38 - content/resources/js/bootstrap.bundle.min.js |7 + content/resources/js/bootstrap.js | 2287 -- content/resources/js/bootstrap.min.js |7 - content/resources/js/jquery.js | 9252 pelicanconf.py |0 requirements.txt |1 + theme/apache/templates/base.html | 394 +- theme/apache/templates/styles.css |6 - 19 files changed, 1131 insertions(+), 20473 deletions(-) create mode 100644 .gitignore delete mode 100644 content/resources/css/bootstrap-responsive.css delete mode 100644 content/resources/css/bootstrap.css delete mode 100644 content/resources/css/docco.css delete mode 100644 content/resources/css/gora.css create mode 100644 content/resources/js/bootstrap.bundle.min.js delete mode 100644 content/resources/js/bootstrap.js delete mode 100644 content/resources/js/bootstrap.min.js delete mode 100644 content/resources/js/jquery.js mode change 100644 => 100755 pelicanconf.py delete mode 100644 theme/apache/templates/styles.css
[gora] branch master updated (3da368d -> 44ecabb)
This is an automated email from the ASF dual-hosted git repository. lewismc pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/gora.git. from 3da368d Update mongodb driver version to 3.12.8 add 44ecabb Update master-pr-build.yml No new revisions were added by this update. Summary of changes: .github/workflows/master-pr-build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
[gora] branch master updated: Delete .travis.yml
This is an automated email from the ASF dual-hosted git repository. lewismc pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/gora.git The following commit(s) were added to refs/heads/master by this push: new d265e86 Delete .travis.yml d265e86 is described below commit d265e86601cbcfff69379b49804a5ab1674cdcc8 Author: Lewis John McGibbney AuthorDate: Sat Jun 5 14:45:06 2021 -0700 Delete .travis.yml --- .travis.yml | 18 -- 1 file changed, 18 deletions(-) diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 5dced17..000 --- a/.travis.yml +++ /dev/null @@ -1,18 +0,0 @@ -# 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. -language: java -install: - - sudo apt-get update -script: - - jdk_switcher use oraclejdk7 - - mvn install javadoc:aggregate
[gora] branch master updated: GORA-679 Fix CI build issue (#242)
This is an automated email from the ASF dual-hosted git repository. lewismc pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/gora.git The following commit(s) were added to refs/heads/master by this push: new 22d3af8 GORA-679 Fix CI build issue (#242) 22d3af8 is described below commit 22d3af831dbd279151a55f610a747859fc20c74e Author: Kevin Ratnasekera AuthorDate: Sun Jun 6 00:48:58 2021 +0530 GORA-679 Fix CI build issue (#242) * GORA-679 Fix CI build issue --- pom.xml | 16 ++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 8b497ca..e34ba02 100755 --- a/pom.xml +++ b/pom.xml @@ -385,6 +385,18 @@ + + + conjars + https://conjars.org/repo + + + maven-restlet + Public online Restlet repository + https://maven.restlet.talend.com/ + + + install target @@ -840,7 +852,7 @@ 1.12 4.5.6 2.5 -2.3.1 +2.4.0 1.6.2 @@ -879,7 +891,7 @@ 5.3.0 20180813 -2.3.7 +2.3.8 2.6.0
[gora] branch master updated: Update .asf.yaml
This is an automated email from the ASF dual-hosted git repository. lewismc pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/gora.git The following commit(s) were added to refs/heads/master by this push: new 88663d2 Update .asf.yaml 88663d2 is described below commit 88663d2790a570617630b18d84609d23d728c087 Author: Lewis John McGibbney AuthorDate: Sat May 8 13:34:58 2021 -0700 Update .asf.yaml --- .asf.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.asf.yaml b/.asf.yaml index b2ee4b9..ea6974e 100644 --- a/.asf.yaml +++ b/.asf.yaml @@ -18,7 +18,7 @@ github: - java - persistence - object-to-datastore -- big data +- big-data notifications: commits: commits@gora.apache.org
[gora] branch master updated: GORA-686 Add .asf.yaml file to Gora repository
This is an automated email from the ASF dual-hosted git repository. lewismc pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/gora.git The following commit(s) were added to refs/heads/master by this push: new 5eb1e9b GORA-686 Add .asf.yaml file to Gora repository new 5d39774 Merge pull request #243 from lewismc/GORA-686 5eb1e9b is described below commit 5eb1e9bf81455c9c227b1cde324825493e41839c Author: Lewis John McGibbney AuthorDate: Sat May 8 13:17:59 2021 -0700 GORA-686 Add .asf.yaml file to Gora repository --- .asf.yaml | 27 +++ 1 file changed, 27 insertions(+) diff --git a/.asf.yaml b/.asf.yaml new file mode 100644 index 000..b2ee4b9 --- /dev/null +++ b/.asf.yaml @@ -0,0 +1,27 @@ +# 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 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. +github: + description: "The Apache Gora open source framework provides an in-memory data model and persistence for big data." + homepage: https://gora.apache.org/ + labels: +- java +- persistence +- object-to-datastore +- big data + +notifications: + commits: commits@gora.apache.org + issues: d...@gora.apache.org + pullrequests: d...@gora.apache.org + jira_options: link label comment
[gora] branch master updated: GORA-213 Document every method in GoraCompiler
This is an automated email from the ASF dual-hosted git repository. lewismc pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/gora.git The following commit(s) were added to refs/heads/master by this push: new 775171e GORA-213 Document every method in GoraCompiler new ff64c7e Merge pull request #224 from podorvanova/document-gora-compiler 775171e is described below commit 775171eca2ef9d64544a5dd95466055b85dcb18b Author: Maria Podorvanova AuthorDate: Thu Oct 8 22:08:27 2020 +1100 GORA-213 Document every method in GoraCompiler --- .../org/apache/gora/compiler/GoraCompiler.java | 68 +- 1 file changed, 65 insertions(+), 3 deletions(-) diff --git a/gora-compiler/src/main/java/org/apache/gora/compiler/GoraCompiler.java b/gora-compiler/src/main/java/org/apache/gora/compiler/GoraCompiler.java index 003301e..9aeba68 100644 --- a/gora-compiler/src/main/java/org/apache/gora/compiler/GoraCompiler.java +++ b/gora-compiler/src/main/java/org/apache/gora/compiler/GoraCompiler.java @@ -63,7 +63,15 @@ public class GoraCompiler extends SpecificCompiler { static { GORA_HIDDEN_FIELD_NAMES.add(DIRTY_BYTES_FIELD_NAME); } - + + /** + * Compiles schemas into multiple files. + * + * @param srcFiles Source files which will be compiled. + * @param dest Path to the directory under which .java classes will be written. + * @param licenseHeader License header which will be added to compiled files. + * @throws IOException If there's an issue with compiling to the destination. + */ public static void compileSchema(File[] srcFiles, File dest, LicenseHeaders licenseHeader) throws IOException { Schema.Parser parser = new Schema.Parser(); @@ -112,7 +120,12 @@ public class GoraCompiler extends SpecificCompiler { LOG.info("Compiled avro into: {}", dest.getAbsolutePath()); return newSchema; } - + + /** + * @param schema Schema to be made immutable. + * @return String which can be appended to the given schema in order to + * make it immutable. + */ public static String generateAppropriateImmutabilityModifier(Schema schema){ switch (schema.getType()) { case BYTES: @@ -122,6 +135,11 @@ public class GoraCompiler extends SpecificCompiler { } } + /** + * + * @param schema Schema to be wrapped by dirty wrapper. + * @return Meta Java code which wraps "value" into dirty wrapper according to the given schema. + */ public static String generateAppropriateWrapperOrValue(Schema schema) { switch (schema.getType()) { case MAP: @@ -137,6 +155,12 @@ public class GoraCompiler extends SpecificCompiler { } } + /** + * + * @param schema Schema to be wrapped by dirty wrapper. + * @return Meta Java code which wraps "value" casted to the necessary type + * into dirty wrapper according to the given schema. + */ public static String generateAppropriateWrapperOrValueForPut(Schema schema) { switch (schema.getType()) { case MAP: @@ -150,6 +174,13 @@ public class GoraCompiler extends SpecificCompiler { } } + /** + * + * @param schema Schema to be wrapped by dirty wrapper. + * @param field The field within a record. + * @return Meta Java code which creates default value according to the field/schema type + * and wraps it into dirty wrapper if necessary. + */ public static String generateAppropriateWrapper(Schema schema, Field field) { if (DIRTY_BYTES_FIELD_NAME.equals(field.name())) { return "java.nio.ByteBuffer.wrap(new byte[" @@ -168,7 +199,13 @@ public class GoraCompiler extends SpecificCompiler { } } - + + /** + * + * @param field The field within a record. + * @return Meta Java code which creates a new collection according to the field type + * and wraps it into dirty wrapper if necessary. + */ public static String generateAppropriateValue(Field field) { switch (field.schema().getType()) { case RECORD: @@ -209,6 +246,13 @@ public class GoraCompiler extends SpecificCompiler { return (int) Math.ceil((originalSchema.getFields().size() + 1) * 0.125); } + /** + * Generates isDirty method for a field. + * + * @param schema The schema in which the field is defined. + * @param field The field for which to generate the dirty method name. + * @return The name of the isDirty method for the given field. + */ public static String generateDirtyMethod(Schema schema, Field field) { /* * TODO: See AVRO-1127. This is dirty. We need to file a bug in avro to @@ -220,6 +264,13 @@ public class GoraCompiler extends SpecificCompiler { return dirtyMethod; } + /** + * + * @param schema The schema in which the field is defined. + * @param fieldName The name of the field within a record. + * @return Meta Java code which creates a default value for byte t
[gora] branch master updated: Fix typo in DataStoreTestBase.
This is an automated email from the ASF dual-hosted git repository. lewismc pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/gora.git The following commit(s) were added to refs/heads/master by this push: new 4af16a8 Fix typo in DataStoreTestBase. new 0297cf8 Merge pull request #196 from joseph6x/master-typo 4af16a8 is described below commit 4af16a83784a9cd7474d0da40216995e1b846f6f Author: Jose Ortiz AuthorDate: Thu Oct 3 00:15:51 2019 -0500 Fix typo in DataStoreTestBase. --- gora-core/src/test/java/org/apache/gora/store/DataStoreTestBase.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gora-core/src/test/java/org/apache/gora/store/DataStoreTestBase.java b/gora-core/src/test/java/org/apache/gora/store/DataStoreTestBase.java index f9c4ab9..8000306 100644 --- a/gora-core/src/test/java/org/apache/gora/store/DataStoreTestBase.java +++ b/gora-core/src/test/java/org/apache/gora/store/DataStoreTestBase.java @@ -221,8 +221,8 @@ public abstract class DataStoreTestBase { } @Test - public void testBenchamarkExists() throws Exception { -log.info("test method: testBenchamarkExists"); + public void testBenchmarkExists() throws Exception { +log.info("test method: testBenchmarkExists"); DataStoreTestUtil.testBenchmarkGetExists(employeeStore); }
[gora] branch master updated (d9eefd8 -> 9b1d297)
This is an automated email from the ASF dual-hosted git repository. lewismc pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/gora.git. from d9eefd8 Merge pull request #185 from lewismc/GORA-622 new 56a8be0 correct format of tombtone class new bbba90f add generated files new 9b1d297 Merge pull request #174 from cuent/GORA-396 The 1212 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../generated/AvroSerialization/CassandraKey.java | 98 ++-- .../AvroSerialization/CassandraRecord.java | 604 +++-- .../org/apache/gora/compiler/templates/record.vm | 70 +-- .../apache/gora/examples/generated/Employee.java | 282 +- .../gora/examples/generated/EmployeeInt.java | 52 +- .../gora/examples/generated/ImmutableFields.java | 98 ++-- .../apache/gora/examples/generated/Metadata.java | 98 ++-- .../apache/gora/examples/generated/TokenDatum.java | 52 +- .../org/apache/gora/examples/generated/V2.java | 52 +- .../apache/gora/examples/generated/WebPage.java| 374 ++--- .../org/apache/gora/goraci/generated/CINode.java | 144 ++--- .../org/apache/gora/goraci/generated/Flushed.java | 52 +- .../gora/tutorial/log/generated/MetricDatum.java | 144 ++--- .../gora/tutorial/log/generated/Pageview.java | 374 ++--- 14 files changed, 1265 insertions(+), 1229 deletions(-)
svn commit: r1028917 - /websites/production/gora/content/
Author: lewismc Date: Tue Apr 24 15:16:24 2018 New Revision: 1028917 Log: Publishing svnmucc operation to gora site by lewismc Added: websites/production/gora/content/ - copied from r1028916, websites/staging/gora/trunk/content/
svn commit: r1028916 - /websites/production/gora/content/
Author: lewismc Date: Tue Apr 24 15:16:14 2018 New Revision: 1028916 Log: Publishing svnmucc operation to gora site by lewismc Added: websites/production/gora/content/ - copied from r1028915, websites/staging/gora/trunk/content/
svn commit: r1825659 - in /gora/site/trunk: content/resources/css/gora.css templates/std.html
Author: lewismc Date: Thu Mar 1 16:09:00 2018 New Revision: 1825659 URL: http://svn.apache.org/viewvc?rev=1825659=rev Log: GORA-508 Website title cut off. Modified: gora/site/trunk/content/resources/css/gora.css gora/site/trunk/templates/std.html Modified: gora/site/trunk/content/resources/css/gora.css URL: http://svn.apache.org/viewvc/gora/site/trunk/content/resources/css/gora.css?rev=1825659=1825658=1825659=diff == --- gora/site/trunk/content/resources/css/gora.css (original) +++ gora/site/trunk/content/resources/css/gora.css Thu Mar 1 16:09:00 2018 @@ -29,3 +29,10 @@ a { .row {text-align: center} +.brand { + width: 85px; height: 99px; +} + +.top-buffer { + margin-top: 55px; +} Modified: gora/site/trunk/templates/std.html URL: http://svn.apache.org/viewvc/gora/site/trunk/templates/std.html?rev=1825659=1825658=1825659=diff == --- gora/site/trunk/templates/std.html (original) +++ gora/site/trunk/templates/std.html Thu Mar 1 16:09:00 2018 @@ -93,7 +93,7 @@ under the License. - + Downloads @@ -153,9 +153,7 @@ under the License. - - - + {% block content %}{% endblock %}
gora git commit: GORA-529 Remove org/apache/gora/avro/mapreduce/FsInput.java
Repository: gora Updated Branches: refs/heads/master ad3f69751 -> f028a548b GORA-529 Remove org/apache/gora/avro/mapreduce/FsInput.java Project: http://git-wip-us.apache.org/repos/asf/gora/repo Commit: http://git-wip-us.apache.org/repos/asf/gora/commit/f028a548 Tree: http://git-wip-us.apache.org/repos/asf/gora/tree/f028a548 Diff: http://git-wip-us.apache.org/repos/asf/gora/diff/f028a548 Branch: refs/heads/master Commit: f028a548b933c73c85c1f15a4900fe93fc1c4908 Parents: ad3f697 Author: Lewis John McGibbneyAuthored: Fri Dec 29 23:47:51 2017 + Committer: Lewis John McGibbney Committed: Fri Dec 29 23:47:51 2017 + -- .../org/apache/gora/avro/mapreduce/FsInput.java | 70 .../gora/avro/mapreduce/package-info.java | 20 -- .../gora/avro/store/DataFileAvroStore.java | 2 +- 3 files changed, 1 insertion(+), 91 deletions(-) -- http://git-wip-us.apache.org/repos/asf/gora/blob/f028a548/gora-core/src/main/java/org/apache/gora/avro/mapreduce/FsInput.java -- diff --git a/gora-core/src/main/java/org/apache/gora/avro/mapreduce/FsInput.java b/gora-core/src/main/java/org/apache/gora/avro/mapreduce/FsInput.java deleted file mode 100644 index bdd1ddf..000 --- a/gora-core/src/main/java/org/apache/gora/avro/mapreduce/FsInput.java +++ /dev/null @@ -1,70 +0,0 @@ -/** - * 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.gora.avro.mapreduce; - -import java.io.Closeable; -import java.io.IOException; - -import org.apache.avro.file.SeekableInput; -import org.apache.hadoop.conf.Configuration; -import org.apache.hadoop.fs.FSDataInputStream; -import org.apache.hadoop.fs.Path; - -/* - * Copied from Avro trunk, when 1.4 is released and Gora switches to it - * remove this file - */ - -/** Adapt an {@link FSDataInputStream} to {@link SeekableInput}. */ -public class FsInput implements Closeable, SeekableInput { - private final FSDataInputStream stream; - private final long len; - - /** - * Construct given a path and a configuration. - * - * @param path a path on HDFS to construct - * @param conf a Hadoop {@link org.apache.hadoop.conf.Configuration} object - * @throws IOException if there is an error opening path, or obtaining a file status from the file system - */ - public FsInput(Path path, Configuration conf) throws IOException { -this.stream = path.getFileSystem(conf).open(path); -this.len = path.getFileSystem(conf).getFileStatus(path).getLen(); - } - - public long length() { -return len; - } - - public int read(byte[] b, int off, int len) throws IOException { -return stream.read(b, off, len); - } - - public void seek(long p) throws IOException { -stream.seek(p); - } - - public long tell() throws IOException { -return stream.getPos(); - } - - public void close() throws IOException { -stream.close(); - } -} http://git-wip-us.apache.org/repos/asf/gora/blob/f028a548/gora-core/src/main/java/org/apache/gora/avro/mapreduce/package-info.java -- diff --git a/gora-core/src/main/java/org/apache/gora/avro/mapreduce/package-info.java b/gora-core/src/main/java/org/apache/gora/avro/mapreduce/package-info.java deleted file mode 100644 index 2f88a66..000 --- a/gora-core/src/main/java/org/apache/gora/avro/mapreduce/package-info.java +++ /dev/null @@ -1,20 +0,0 @@ -/** - * 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
svn commit: r1819286 - /gora/site/trunk/content/current/index.md
Author: lewismc Date: Tue Dec 26 14:50:07 2017 New Revision: 1819286 URL: http://svn.apache.org/viewvc?rev=1819286=rev Log: CMS commit to gora by lewismc Modified: gora/site/trunk/content/current/index.md Modified: gora/site/trunk/content/current/index.md URL: http://svn.apache.org/viewvc/gora/site/trunk/content/current/index.md?rev=1819286=1819285=1819286=diff == --- gora/site/trunk/content/current/index.md (original) +++ gora/site/trunk/content/current/index.md Tue Dec 26 14:50:07 2017 @@ -27,10 +27,6 @@ following modules are currently implemen * [gora-compiler](./compiler.html): A page dedicated to the GoraCompiler; a critical part of the Gora workflow; * [gora-compiler-cli](./compiler-cli.html): A page dedicated to the GoraCompiler Command Line Interface; a utility module for working with the Gora Compiler; -* [gora-shims-hadoop](./gora-shims.html): Base module enabling us to use Gora with multiple versions of Hadoop in a flexible manner; -* [gora-shims-hadoop-1.x](./gora-shims.html): Module enabling us to use Gora with Hadoop 1.X; -* [gora-shims-hadoop-2.x](./gora-shims.html): Module enabling us to use Gora with Hadoop 2.X; -* [gora-shims-hadoop-distribution](./gora-shims.html): Packaging container module enabling easier dependency management whilst working with Gora Shims; * [gora-core](./gora-core.html): Module containing core functionality, AvroStore and DataFileAvroStore stores, GoraSparkEngine; * [gora-accumulo](./gora-accumulo.html): Module for [Apache Accumulo](http://accumulo.apache.org) backend and AccumuloStore implementation; * [camel-gora](./gora-camel.html): An [Apache Camel](http://camel.apache.org/) component that allows you to work with NoSQL databases using Gora; @@ -46,7 +42,10 @@ following modules are currently implemen * [gora-tutorial](./tutorial.html): The Gora LogManager tutorial; * gora-sources-dist: Packaging module used to build and distribute Gora sources during project releases; -We currently have modules under development for [Oracle NoSQL](http://www.oracle.com/technetwork/database/database-technologies/nosqldb/overview/index.html) and [Apache Lucene](http://lucene.apache.org). +We currently have modules under development for several other storage mediums such +as [Oracle NoSQL](http://www.oracle.com/technetwork/database/database-technologies/nosqldb/overview/index.html) +and [Apache Lucene](http://lucene.apache.org). Consult the Gora source, located on [Github](https://github.com/apache/gora/) +for a complete list of modules. ##Gora Testing Gora currently has two testing mechanisms
[3/3] gora git commit: Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/gora
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/gora Project: http://git-wip-us.apache.org/repos/asf/gora/repo Commit: http://git-wip-us.apache.org/repos/asf/gora/commit/ad3f6975 Tree: http://git-wip-us.apache.org/repos/asf/gora/tree/ad3f6975 Diff: http://git-wip-us.apache.org/repos/asf/gora/diff/ad3f6975 Branch: refs/heads/master Commit: ad3f69751b3185fd0d178d5e7ed672960ffac343 Parents: 6428f2c 4260fc0 Author: Lewis John McGibbneyAuthored: Sun Dec 17 09:09:49 2017 -0800 Committer: Lewis John McGibbney Committed: Sun Dec 17 09:09:49 2017 -0800 -- .../apache/gora/cassandra/serializers/AvroSerializer.java | 2 +- pom.xml | 9 + 2 files changed, 10 insertions(+), 1 deletion(-) --
[2/3] gora git commit: Merge branch 'GORA-503' of https://github.com/cloudysunny14/gora
Merge branch 'GORA-503' of https://github.com/cloudysunny14/gora Project: http://git-wip-us.apache.org/repos/asf/gora/repo Commit: http://git-wip-us.apache.org/repos/asf/gora/commit/6428f2c6 Tree: http://git-wip-us.apache.org/repos/asf/gora/tree/6428f2c6 Diff: http://git-wip-us.apache.org/repos/asf/gora/diff/6428f2c6 Branch: refs/heads/master Commit: 6428f2c6753975b5e72ba3d7c7eb69d1e1d578d1 Parents: 6737f0f 21ad6e9 Author: Lewis John McGibbneyAuthored: Sun Dec 17 08:43:44 2017 -0800 Committer: Lewis John McGibbney Committed: Sun Dec 17 08:43:44 2017 -0800 -- .../java/org/apache/gora/persistency/impl/PersistentBase.java| 4 1 file changed, 4 deletions(-) --
svn commit: r1020900 - /websites/production/gora/content/
Author: lewismc Date: Wed Nov 15 18:33:08 2017 New Revision: 1020900 Log: Publishing svnmucc operation to gora site by lewismc Added: websites/production/gora/content/ - copied from r1020899, websites/staging/gora/trunk/content/
svn commit: r1815348 - in /gora/site/trunk/content: current/doap_Gora.rdf index.md
Author: lewismc Date: Wed Nov 15 18:16:53 2017 New Revision: 1815348 URL: http://svn.apache.org/viewvc?rev=1815348=rev Log: Update DOAP and index.html formatting Modified: gora/site/trunk/content/current/doap_Gora.rdf gora/site/trunk/content/index.md Modified: gora/site/trunk/content/current/doap_Gora.rdf URL: http://svn.apache.org/viewvc/gora/site/trunk/content/current/doap_Gora.rdf?rev=1815348=1815347=1815348=diff == --- gora/site/trunk/content/current/doap_Gora.rdf (original) +++ gora/site/trunk/content/current/doap_Gora.rdf Wed Nov 15 18:16:53 2017 @@ -27,7 +27,10 @@ Apache Gora http://gora.apache.org; /> http://gora.apache.org; /> -The Apache Gora open source framework provides an in-memory data model and persistence for big data. Gora supports persisting to column stores, key value stores, document stores and RDBMSs, and analyzing the data with extensive Apache Hadoop MapReduce support. +The Apache Gora open source framework provides an in-memory data model and + persistence for big data. Gora supports persisting to column stores, key value stores, + document stores, distributed in-memory key/value stores, in-memory data grids, in-memory caches, +distributed multi-model stores, and hybrid in-memory architectures. Although there are various excellent ORM frameworks for relational databases, data modeling in NoSQL data stores differ profoundly from their relational cousins. Moreover, data-model agnostic frameworks such as JDO are not sufficient for use cases, where one needs to use the full power of the data models in column stores. Gora fills this gap by giving the user an easy-to-use in-memory data model and persistence for big data framework with data store specific mappings and built in Apache Hadoop support. https://issues.apache.org/jira/browse/GORA; /> http://gora.apache.org/mailing_lists.html; /> Modified: gora/site/trunk/content/index.md URL: http://svn.apache.org/viewvc/gora/site/trunk/content/index.md?rev=1815348=1815347=1815348=diff == --- gora/site/trunk/content/index.md (original) +++ gora/site/trunk/content/index.md Wed Nov 15 18:16:53 2017 @@ -8,17 +8,9 @@ Title: Welcome to Apache Gora The Apache Gora open source framework provides an in-memory data model and - persistence for big data. Gora supports persisting to - - column stores, - key value stores, - document stores, - distributed in-memory key/value stores, - in-memory data grids, - in-memory caches, - distributed multi-model stores, and - hybrid in-memory architectures - + persistence for big data. Gora supports persisting to column stores, key value stores, + document stores, distributed in-memory key/value stores, in-memory data grids, in-memory caches, +distributed multi-model stores, and hybrid in-memory architectures. Gora also enables analysis of data with extensive Apache Hadoop MapReduce and Apache Spark support. Gora uses the [Apache Software License v2.0](https://www.apache.org/licenses/LICENSE-2.0.html). Gora graduated from the Apache Incubator in January 2012 to become a top-level Apache project.
svn commit: r1020898 - /websites/production/gora/content/
Author: lewismc Date: Wed Nov 15 18:12:24 2017 New Revision: 1020898 Log: Publishing svnmucc operation to gora site by lewismc Added: websites/production/gora/content/ - copied from r1020897, websites/staging/gora/trunk/content/
svn commit: r1020896 - /websites/production/gora/content/
Author: lewismc Date: Wed Nov 15 18:11:58 2017 New Revision: 1020896 Log: Publishing svnmucc operation to gora site by lewismc Added: websites/production/gora/content/ - copied from r1020895, websites/staging/gora/trunk/content/
svn commit: r1815347 - /gora/site/trunk/content/index.md
Author: lewismc Date: Wed Nov 15 18:11:47 2017 New Revision: 1815347 URL: http://svn.apache.org/viewvc?rev=1815347=rev Log: CMS commit to gora by lewismc Modified: gora/site/trunk/content/index.md Modified: gora/site/trunk/content/index.md URL: http://svn.apache.org/viewvc/gora/site/trunk/content/index.md?rev=1815347=1815346=1815347=diff == --- gora/site/trunk/content/index.md (original) +++ gora/site/trunk/content/index.md Wed Nov 15 18:11:47 2017 @@ -7,17 +7,23 @@ Title: Welcome to Apache Gora - The Apache Gora open source framework provides an in-memory data model and persistence - for big data. Gora supports persisting to column stores, key value stores, document - stores and RDBMSs, and analyzing the data with extensive -http://hadoop.apache.org;>Apache Hadoop -http://hadoop.apache.org/docs/stable/mapred_tutorial.html;>MapReduce -support. Gora uses the -http://www.apache.org/licenses/LICENSE-2.0.html;>Apache Software License v2.0. + The Apache Gora open source framework provides an in-memory data model and + persistence for big data. Gora supports persisting to + + column stores, + key value stores, + document stores, + distributed in-memory key/value stores, + in-memory data grids, + in-memory caches, + distributed multi-model stores, and + hybrid in-memory architectures + + Gora also enables analysis of data with extensive Apache Hadoop MapReduce + and Apache Spark support. Gora uses the [Apache Software License v2.0](https://www.apache.org/licenses/LICENSE-2.0.html). Gora graduated from the Apache Incubator in January 2012 to become a top-level Apache project. You can find the Gora DOAP [here](./current/doap_Gora.rdf). - Join us on [Freenode](http://webchat.freenode.net/) at #apachegora Download About
svn commit: r1809120 - /gora/site/trunk/content/current/doap_Gora.rdf
Author: lewismc Date: Thu Sep 21 05:23:23 2017 New Revision: 1809120 URL: http://svn.apache.org/viewvc?rev=1809120=rev Log: Update Gora DOAP Modified: gora/site/trunk/content/current/doap_Gora.rdf Modified: gora/site/trunk/content/current/doap_Gora.rdf URL: http://svn.apache.org/viewvc/gora/site/trunk/content/current/doap_Gora.rdf?rev=1809120=1809119=1809120=diff == --- gora/site/trunk/content/current/doap_Gora.rdf (original) +++ gora/site/trunk/content/current/doap_Gora.rdf Thu Sep 21 05:23:23 2017 @@ -36,6 +36,13 @@ http://projects.apache.org/category/nosql; /> +0.8 release +2017-09-20 +0.8 + + + + 0.7 release 2017-03-23 0.7
gora git commit: Update Gradle versions git 0.8 release
Repository: gora Updated Branches: refs/heads/master e1a496b2b -> 6737f0f1a Update Gradle versions git 0.8 release Project: http://git-wip-us.apache.org/repos/asf/gora/repo Commit: http://git-wip-us.apache.org/repos/asf/gora/commit/6737f0f1 Tree: http://git-wip-us.apache.org/repos/asf/gora/tree/6737f0f1 Diff: http://git-wip-us.apache.org/repos/asf/gora/diff/6737f0f1 Branch: refs/heads/master Commit: 6737f0f1aef3154944d5a1a1d30ec41c5484d595 Parents: e1a496b Author: Lewis John McGibbneyAuthored: Wed Sep 20 22:01:28 2017 -0700 Committer: Lewis John McGibbney Committed: Wed Sep 20 22:01:28 2017 -0700 -- gora-gradle-plugin/gradle.properties | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/gora/blob/6737f0f1/gora-gradle-plugin/gradle.properties -- diff --git a/gora-gradle-plugin/gradle.properties b/gora-gradle-plugin/gradle.properties index c9c0105..e2681e9 100644 --- a/gora-gradle-plugin/gradle.properties +++ b/gora-gradle-plugin/gradle.properties @@ -15,8 +15,8 @@ rootProject.name = 'goraPlugin' -goraVersion = 0.7 +goraVersion = 0.8 avroVersion = 1.8.1 group = org.apache.gora.gradle -version = 0.7 +version = 0.8
svn commit: r1018476 - /websites/production/gora/content/
Author: lewismc Date: Thu Sep 21 04:56:34 2017 New Revision: 1018476 Log: Publishing svnmucc operation to gora site by lewismc Added: websites/production/gora/content/ - copied from r1018475, websites/staging/gora/trunk/content/
svn commit: r1018475 - /websites/production/gora/content/
Author: lewismc Date: Thu Sep 21 04:50:56 2017 New Revision: 1018475 Log: Publishing svnmucc operation to gora site by lewismc Added: websites/production/gora/content/ - copied from r1018473, websites/staging/gora/trunk/content/
svn commit: r1809117 - /gora/site/trunk/content/index.md
Author: lewismc Date: Thu Sep 21 04:46:08 2017 New Revision: 1809117 URL: http://svn.apache.org/viewvc?rev=1809117=rev Log: CMS commit to gora by lewismc Modified: gora/site/trunk/content/index.md Modified: gora/site/trunk/content/index.md URL: http://svn.apache.org/viewvc/gora/site/trunk/content/index.md?rev=1809117=1809116=1809117=diff == --- gora/site/trunk/content/index.md (original) +++ gora/site/trunk/content/index.md Thu Sep 21 04:46:08 2017 @@ -38,6 +38,35 @@ Title: Welcome to Apache Gora ## News + +###20 September, 2017: Apache Gora 0.8 Release +The Apache Gora team are pleased to announce the immediate availability of +Apache Gora 0.8. + +This release addresses 35 issues, for a breakdown please see the [release report](https://s.apache.org/3YdY). +Drop by our mailing lists and ask questions for information on any of the above. + +Gora 0.8 provides support for the following projects + + - [Apache Avro](http://avro.apache.org) 1.8.1 + - [Apache Hadoop](http://hadoop.apache.org) 2.5.2 + - [Apache HBase](http://hbase.apache.org) 1.2.3 + - [Apache Cassandra](http://cassandra.apache.org) 3.11.0 (Datastax Java Driver 3.3.0) + - [Apache Solr](http://lucene.apache.org/solr) 6.5.1 + - [MongoDB](http://mongodb.com) (driver) 3.5.0 + - [Apache Accumlo](http://accumulo.apache.org) 1.7.1 + - [Apache Spark](http://spark.apache.org) 1.4.1 + - [Apache CouchDB](http://couchdb.apache.org) 1.4.2 ([test containers](http://testcontainers.viewdocs.io/testcontainers-java/) 1.1.0) + - [Amazon DynamoDB](https://aws.amazon.com/dynamodb/) (driver) 1.10.55 + - [Infinispan](http://infinispan.org/) 7.2.5.Final + - [JCache](https://www.jcp.org/en/jsr/detail?id=107) 1.0.0 with [Hazelcast](https://hazelcast.com/) 3.6.4 support. + - [OrientDB](http://orientdb.com/orientdb/) 2.2.22 + - [Aerospike](http://www.aerospike.com/) 4.0.6 + +Gora is released as both source code downloads for which can be found at +our [downloads page](http://gora.apache.org/downloads.html), as well as Maven artifacts which can be found on +[Maven central](http://search.maven.org/#search|ga|1|gora). + ###23 March, 2017: Apache Gora 0.7 Release The Apache Gora team are pleased to announce the immediate availability of Apache Gora 0.7.
svn commit: r21705 - /release/gora/0.8/
Author: lewismc Date: Tue Sep 19 19:43:52 2017 New Revision: 21705 Log: Create Gora 0.8 RC#1 release area Added: release/gora/0.8/
svn commit: r21621 - /dev/gora/0.7/
Author: lewismc Date: Fri Sep 15 10:39:14 2017 New Revision: 21621 Log: Add Apache Gora 0.8 RC#1 Removed: dev/gora/0.7/
[gora] Git Push Summary
Repository: gora Updated Branches: refs/heads/0.8.0 [created] 68c67db30
gora git commit: [maven-release-plugin] prepare for next development iteration
Repository: gora Updated Branches: refs/heads/master 68c67db30 -> b13743d9d [maven-release-plugin] prepare for next development iteration Project: http://git-wip-us.apache.org/repos/asf/gora/repo Commit: http://git-wip-us.apache.org/repos/asf/gora/commit/b13743d9 Tree: http://git-wip-us.apache.org/repos/asf/gora/tree/b13743d9 Diff: http://git-wip-us.apache.org/repos/asf/gora/diff/b13743d9 Branch: refs/heads/master Commit: b13743d9d90fbffa6edbea34d6ea80a60ccb8c8b Parents: 68c67db Author: Lewis John McGibbneyAuthored: Fri Sep 15 02:35:42 2017 -0700 Committer: Lewis John McGibbney Committed: Fri Sep 15 02:35:42 2017 -0700 -- gora-accumulo/pom.xml | 2 +- gora-aerospike/pom.xml| 2 +- gora-cassandra/pom.xml| 2 +- gora-compiler-cli/pom.xml | 2 +- gora-compiler/pom.xml | 2 +- gora-core/pom.xml | 2 +- gora-couchdb/pom.xml | 2 +- gora-dynamodb/pom.xml | 2 +- gora-goraci/pom.xml | 2 +- gora-hbase/pom.xml| 2 +- gora-infinispan/pom.xml | 2 +- gora-jcache/pom.xml | 2 +- gora-maven-plugin/pom.xml | 2 +- gora-mongodb/pom.xml | 2 +- gora-orientdb/pom.xml | 2 +- gora-solr/pom.xml | 2 +- gora-tutorial/pom.xml | 2 +- pom.xml | 4 ++-- sources-dist/pom.xml | 2 +- 19 files changed, 20 insertions(+), 20 deletions(-) -- http://git-wip-us.apache.org/repos/asf/gora/blob/b13743d9/gora-accumulo/pom.xml -- diff --git a/gora-accumulo/pom.xml b/gora-accumulo/pom.xml index d176c71..cdc893b 100644 --- a/gora-accumulo/pom.xml +++ b/gora-accumulo/pom.xml @@ -23,7 +23,7 @@ org.apache.gora gora -0.8-SNAPSHOT +0.9-SNAPSHOT ../ gora-accumulo http://git-wip-us.apache.org/repos/asf/gora/blob/b13743d9/gora-aerospike/pom.xml -- diff --git a/gora-aerospike/pom.xml b/gora-aerospike/pom.xml index c8cab41..266bb3f 100644 --- a/gora-aerospike/pom.xml +++ b/gora-aerospike/pom.xml @@ -23,7 +23,7 @@ org.apache.gora gora -0.8-SNAPSHOT +0.9-SNAPSHOT ../ gora-aerospike http://git-wip-us.apache.org/repos/asf/gora/blob/b13743d9/gora-cassandra/pom.xml -- diff --git a/gora-cassandra/pom.xml b/gora-cassandra/pom.xml index e82ca95..2956694 100644 --- a/gora-cassandra/pom.xml +++ b/gora-cassandra/pom.xml @@ -22,7 +22,7 @@ org.apache.gora gora -0.8-SNAPSHOT +0.9-SNAPSHOT ../ gora-cassandra http://git-wip-us.apache.org/repos/asf/gora/blob/b13743d9/gora-compiler-cli/pom.xml -- diff --git a/gora-compiler-cli/pom.xml b/gora-compiler-cli/pom.xml index f2011a4..0b12a21 100644 --- a/gora-compiler-cli/pom.xml +++ b/gora-compiler-cli/pom.xml @@ -22,7 +22,7 @@ org.apache.gora gora -0.8-SNAPSHOT +0.9-SNAPSHOT ../ gora-compiler-cli http://git-wip-us.apache.org/repos/asf/gora/blob/b13743d9/gora-compiler/pom.xml -- diff --git a/gora-compiler/pom.xml b/gora-compiler/pom.xml index d0a5724..64e8466 100644 --- a/gora-compiler/pom.xml +++ b/gora-compiler/pom.xml @@ -22,7 +22,7 @@ org.apache.gora gora -0.8-SNAPSHOT +0.9-SNAPSHOT ../ gora-compiler http://git-wip-us.apache.org/repos/asf/gora/blob/b13743d9/gora-core/pom.xml -- diff --git a/gora-core/pom.xml b/gora-core/pom.xml index 5ce1e97..ebb3dc5 100644 --- a/gora-core/pom.xml +++ b/gora-core/pom.xml @@ -23,7 +23,7 @@ org.apache.gora gora -0.8-SNAPSHOT +0.9-SNAPSHOT ../ gora-core http://git-wip-us.apache.org/repos/asf/gora/blob/b13743d9/gora-couchdb/pom.xml -- diff --git a/gora-couchdb/pom.xml b/gora-couchdb/pom.xml index 163ed4a..2dffecc 100644 --- a/gora-couchdb/pom.xml +++ b/gora-couchdb/pom.xml @@ -23,7 +23,7 @@ org.apache.gora gora -0.8-SNAPSHOT +0.9-SNAPSHOT ../ gora-couchdb http://git-wip-us.apache.org/repos/asf/gora/blob/b13743d9/gora-dynamodb/pom.xml -- diff --git a/gora-dynamodb/pom.xml b/gora-dynamodb/pom.xml index aca069b..b55e845 100644 --- a/gora-dynamodb/pom.xml +++ b/gora-dynamodb/pom.xml @@ -18,7 +18,7 @@ org.apache.gora gora -0.8-SNAPSHOT +0.9-SNAPSHOT ../ gora-dynamodb http://git-wip-us.apache.org/repos/asf/gora/blob/b13743d9/gora-goraci/pom.xml
gora git commit: [maven-release-plugin] prepare branch 0.8.0
Repository: gora Updated Branches: refs/heads/master e7b97c707 -> 68c67db30 [maven-release-plugin] prepare branch 0.8.0 Project: http://git-wip-us.apache.org/repos/asf/gora/repo Commit: http://git-wip-us.apache.org/repos/asf/gora/commit/68c67db3 Tree: http://git-wip-us.apache.org/repos/asf/gora/tree/68c67db3 Diff: http://git-wip-us.apache.org/repos/asf/gora/diff/68c67db3 Branch: refs/heads/master Commit: 68c67db30cc1b9d0eb564571750e4ecf65276855 Parents: e7b97c7 Author: Lewis John McGibbneyAuthored: Fri Sep 15 02:35:36 2017 -0700 Committer: Lewis John McGibbney Committed: Fri Sep 15 02:35:36 2017 -0700 -- gora-cassandra/pom.xml | 3 +-- pom.xml| 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/gora/blob/68c67db3/gora-cassandra/pom.xml -- diff --git a/gora-cassandra/pom.xml b/gora-cassandra/pom.xml index 99ede48..e82ca95 100644 --- a/gora-cassandra/pom.xml +++ b/gora-cassandra/pom.xml @@ -16,8 +16,7 @@ ~ limitations under the License. --> -http://www.w3.org/2001/XMLSchema-instance; xmlns="http://maven.apache.org/POM/4.0.0; - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd;> +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;> 4.0.0 http://git-wip-us.apache.org/repos/asf/gora/blob/68c67db3/pom.xml -- diff --git a/pom.xml b/pom.xml index 840ffda..4442d7e 100644 --- a/pom.xml +++ b/pom.xml @@ -291,7 +291,7 @@ scm:git:http://git-wip-us.apache.org/repos/asf/gora.git scm:git:http://git-wip-us.apache.org/repos/asf/gora.git https://git-wip-us.apache.org/repos/asf/gora.git -HEAD +0.8.0 JIRA
[1/2] gora git commit: Prepare for Gora 0.8 RC#1
Repository: gora Updated Branches: refs/heads/master 96b9e96df -> e7b97c707 Prepare for Gora 0.8 RC#1 Project: http://git-wip-us.apache.org/repos/asf/gora/repo Commit: http://git-wip-us.apache.org/repos/asf/gora/commit/9617fbce Tree: http://git-wip-us.apache.org/repos/asf/gora/tree/9617fbce Diff: http://git-wip-us.apache.org/repos/asf/gora/diff/9617fbce Branch: refs/heads/master Commit: 9617fbce70fef3ad0e0de235bab92bf6c836a647 Parents: 7a0174f Author: Lewis John McGibbneyAuthored: Fri Sep 15 02:07:42 2017 -0700 Committer: Lewis John McGibbney Committed: Fri Sep 15 02:07:42 2017 -0700 -- CHANGES.md | 50 ++ 1 file changed, 50 insertions(+) -- http://git-wip-us.apache.org/repos/asf/gora/blob/9617fbce/CHANGES.md -- diff --git a/CHANGES.md b/CHANGES.md index 181a61c..30a7f36 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,6 +1,56 @@ CHANGES.txt === +# Apache Gora 0.8 Release - 15/09/17 (dd/mm/) +Release report - https://s.apache.org/3YdY + +Bug + +[GORA-209] - Specify query timeout for Hector usage in gora-cassandra +[GORA-269] - Add parameter for setting port used in the Cassandra Module +[GORA-310] - testDeleteByQueryFields is not sutiable for Solr DataStore +[GORA-311] - Gora Solr deleteByQuery method is not suitable for testDeleteByQueryFields +[GORA-327] - Upgrade to Cassandra 2.0.7 +[GORA-394] - Erroneous 'Error: KeyClass in gora-hbase-mapping is not the same as the one in the databean.' log when reading HBase mapping +[GORA-395] - NPE occurs in o.a.g.cassandra.query.CassandraResult when accessing cc (=null) and setting the unionField (title) +[GORA-399] - Gora-Cassandra should handle Strings inside Union types as CharSequences +[GORA-416] - Error when populating data into Cassandra super column - InvalidRequestException(why:supercolumn parameter is not optional for super CF sc +[GORA-510] - Conform Query.setEndKey to inclusive query for HBaseStore +[GORA-511] - Eclipse shows the error 'The type package-info is already defined' +[GORA-522] - Fix the issue in PUT method of Aerospike +[GORA-525] - Fix java-doc issues in Cassandra Datastore + +Improvement + +[GORA-107] - Fully annotate Javadoc's for methods in org.apache.gora.cassandra.store.* +[GORA-205] - Dedup CassandraMapping and CassandraMappingManager +[GORA-214] - use batched Mutations available in Hector Mutator +[GORA-215] - expose Hector's CassandraHostConfigurator possibilities +[GORA-255] - Remove deprecated methods from DataStoreTestBase +[GORA-267] - Cassandra composite primary key support +[GORA-299] - o.a.g.cassandra.CassandraStore#newQuery() should not use query.setFields(getFieldsToQuery(null)); +[GORA-324] - Port work done on old GoraCompiler to new GoraCompiler +[GORA-497] - Migrate CassandraThrift to CQL +[GORA-509] - Upgrade solr module into solr 6 +[GORA-512] - Fail at the time of error logging if KeyClass in gora-hbase-mapping is not the same as the one in the data bean +[GORA-515] - Update the Aerospike client +[GORA-518] - Upgrade the supported policies to the new client in Aerospike Store +[GORA-520] - Add support to get partitions in Aerospike module +[GORA-523] - Add map reduce based test cases to aerospike module + +New Feature + +[GORA-502] - Implement Aerospike Datastore +[GORA-513] - Implement OrientDB Datastore. +[GORA-519] - Add support to access authenticated servers in Aerospike + +Task + +[GORA-308] - deleteByQuery() method is not implemented in CassandraStore +[GORA-516] - Document Aerospike Datastore at Apache Gora site. +[GORA-517] - Upgrade Mongodb Java Driver to version 3.5.0 +[GORA-521] - Document Cassandra Datastore at Apache Gora site. + # Apache Gora 0.7 Release - 16/03/17 (dd/mm/) Release report - https://s.apache.org/YrmC
[2/2] gora git commit: Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/gora
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/gora Project: http://git-wip-us.apache.org/repos/asf/gora/repo Commit: http://git-wip-us.apache.org/repos/asf/gora/commit/e7b97c70 Tree: http://git-wip-us.apache.org/repos/asf/gora/tree/e7b97c70 Diff: http://git-wip-us.apache.org/repos/asf/gora/diff/e7b97c70 Branch: refs/heads/master Commit: e7b97c70796be9f0b62d5d05a28c85486412c39f Parents: 9617fbc 96b9e96 Author: Lewis John McGibbneyAuthored: Fri Sep 15 02:08:01 2017 -0700 Committer: Lewis John McGibbney Committed: Fri Sep 15 02:08:01 2017 -0700 -- gora-orientdb/pom.xml | 184 .../org/apache/gora/orientdb/package-info.java | 23 + .../gora/orientdb/query/OrientDBQuery.java | 116 +++ .../gora/orientdb/query/OrientDBResult.java | 103 ++ .../gora/orientdb/query/package-info.java | 23 + .../gora/orientdb/store/OrientDBMapping.java| 177 .../orientdb/store/OrientDBMappingBuilder.java | 125 +++ .../gora/orientdb/store/OrientDBStore.java | 960 +++ .../orientdb/store/OrientDBStoreParameters.java | 158 +++ .../gora/orientdb/store/package-info.java | 23 + .../gora/orientdb/GoraOrientDBTestDriver.java | 75 ++ .../mapreduce/OrientDBStoreMapReduceTest.java | 66 ++ .../gora/orientdb/mapreduce/package-info.java | 22 + .../org/apache/gora/orientdb/package-info.java | 23 + .../store/OrientDBGoraDataStoreTest.java| 65 ++ .../gora/orientdb/store/package-info.java | 22 + .../test/resources/gora-orientdb-mapping.xml| 45 + .../src/test/resources/gora.properties | 23 + .../test/resources/orientdb-server-config.xml | 35 + pom.xml | 37 + 20 files changed, 2305 insertions(+) --
[2/2] gora git commit: GORA-525: Add Java Doc
GORA-525: Add Java Doc Project: http://git-wip-us.apache.org/repos/asf/gora/repo Commit: http://git-wip-us.apache.org/repos/asf/gora/commit/7a0174fa Tree: http://git-wip-us.apache.org/repos/asf/gora/tree/7a0174fa Diff: http://git-wip-us.apache.org/repos/asf/gora/diff/7a0174fa Branch: refs/heads/master Commit: 7a0174fa338294b3ff20859ad3b776b7f0e2970b Parents: 742df58 Author: Lewis John McGibbneyAuthored: Tue Sep 5 09:10:26 2017 -0700 Committer: Lewis John McGibbney Committed: Tue Sep 5 09:10:26 2017 -0700 -- .../org/apache/gora/avro/store/AvroStore.java | 33 +- .../java/org/apache/gora/filter/Filter.java | 7 +-- .../java/org/apache/gora/filter/FilterList.java | 3 - .../apache/gora/filter/MapFieldValueFilter.java | 3 - .../gora/filter/SingleFieldValueFilter.java | 3 - .../apache/gora/mapreduce/GoraInputFormat.java | 12 ++-- .../org/apache/gora/mapreduce/GoraMapper.java | 50 .../apache/gora/mapreduce/GoraOutputFormat.java | 8 +-- .../org/apache/gora/mapreduce/GoraReducer.java | 24 .../gora/mapreduce/PersistentSerializer.java| 4 +- .../apache/gora/persistency/BeanFactory.java| 8 +-- .../gora/persistency/impl/BeanFactoryImpl.java | 10 ++-- .../persistency/ws/impl/BeanFactoryWSImpl.java | 9 ++- .../persistency/ws/impl/PersistentWSBase.java | 33 +- .../org/apache/gora/spark/GoraSparkEngine.java | 14 ++--- .../java/org/apache/gora/store/DataStore.java | 8 +-- .../apache/gora/store/impl/DataStoreBase.java | 24 .../store/impl/FileBackedDataStoreBase.java | 63 ++-- 18 files changed, 148 insertions(+), 168 deletions(-) -- http://git-wip-us.apache.org/repos/asf/gora/blob/7a0174fa/gora-core/src/main/java/org/apache/gora/avro/store/AvroStore.java -- diff --git a/gora-core/src/main/java/org/apache/gora/avro/store/AvroStore.java b/gora-core/src/main/java/org/apache/gora/avro/store/AvroStore.java index 1eb1efe..f1f79c9 100644 --- a/gora-core/src/main/java/org/apache/gora/avro/store/AvroStore.java +++ b/gora-core/src/main/java/org/apache/gora/avro/store/AvroStore.java @@ -49,15 +49,14 @@ import org.slf4j.LoggerFactory; /** * An adapter DataStore for binary-compatible Avro serializations. * AvroDataStore supports Binary and JSON serializations. - * @param */ public class AvroStore - extends FileBackedDataStoreBase implements Configurable { +extends FileBackedDataStoreBase implements Configurable { /** The property key specifying avro encoder/decoder type to use. Can take values * "BINARY" or "JSON". */ public static final String CODEC_TYPE_KEY = "codec.type"; - + public static final Logger LOG = LoggerFactory.getLogger(AvroStore.class); /** @@ -79,16 +78,14 @@ public class AvroStore @Override public void initialize(Class keyClass, Class persistentClass, - Properties properties) { - super.initialize(keyClass, persistentClass, properties); - - if(properties != null) { -if(this.codecType == null) { - String codecType = DataStoreFactory.findProperty( + Properties properties) { +super.initialize(keyClass, persistentClass, properties); + +if(properties != null && this.codecType == null) { + String codecType = DataStoreFactory.findProperty( properties, this, CODEC_TYPE_KEY, "BINARY"); - this.codecType = CodecType.valueOf(codecType); -} - } + this.codecType = CodecType.valueOf(codecType); +} } public void setCodecType(CodecType codecType) { @@ -142,7 +139,7 @@ public class AvroStore @Override protected Result executeQuery(Query query) throws IOException { return new AvroResult<>(this, (AvroQuery )query, -getDatumReader(), getDecoder()); +getDatumReader(), getDecoder()); } /** @@ -150,7 +147,7 @@ public class AvroStore */ @Override protected Result executePartial(FileSplitPartitionQuery query) - throws IOException { + throws IOException { throw new OperationNotSupportedException("Not yet implemented"); } @@ -215,9 +212,9 @@ public class AvroStore protected Encoder createEncoder() throws IOException { switch(codecType) { case BINARY: -return EncoderFactory.get().binaryEncoder(getOrCreateOutputStream(), null); + return EncoderFactory.get().binaryEncoder(getOrCreateOutputStream(), null); case JSON: -return EncoderFactory.get().jsonEncoder(schema, getOrCreateOutputStream()); + return
[1/2] gora git commit: GORA-525: Add Java Doc
Repository: gora Updated Branches: refs/heads/master e7b4c3d16 -> 7a0174fa3 GORA-525: Add Java Doc Project: http://git-wip-us.apache.org/repos/asf/gora/repo Commit: http://git-wip-us.apache.org/repos/asf/gora/commit/742df58c Tree: http://git-wip-us.apache.org/repos/asf/gora/tree/742df58c Diff: http://git-wip-us.apache.org/repos/asf/gora/diff/742df58c Branch: refs/heads/master Commit: 742df58cbacbac40aa29045c332089a98e21a286 Parents: e7b4c3d Author: madhawa-gunasekaraAuthored: Mon Sep 4 21:46:46 2017 -0500 Committer: madhawa-gunasekara Committed: Mon Sep 4 22:41:55 2017 -0500 -- .../AvroSerialization/CassandraKey.java | 38 +++- .../AvroSerialization/CassandraRecord.java | 204 +++ .../cassandra/query/CassandraResultSet.java | 11 - .../serializers/CassandraSerializer.java| 2 +- .../store/CassandraMappingBuilder.java | 2 +- .../gora/cassandra/store/CassandraStore.java| 46 - 6 files changed, 198 insertions(+), 105 deletions(-) -- http://git-wip-us.apache.org/repos/asf/gora/blob/742df58c/gora-cassandra/src/examples/java/org/apache/gora/cassandra/example/generated/AvroSerialization/CassandraKey.java -- diff --git a/gora-cassandra/src/examples/java/org/apache/gora/cassandra/example/generated/AvroSerialization/CassandraKey.java b/gora-cassandra/src/examples/java/org/apache/gora/cassandra/example/generated/AvroSerialization/CassandraKey.java index 6b89c33..568ae7b 100644 --- a/gora-cassandra/src/examples/java/org/apache/gora/cassandra/example/generated/AvroSerialization/CassandraKey.java +++ b/gora-cassandra/src/examples/java/org/apache/gora/cassandra/example/generated/AvroSerialization/CassandraKey.java @@ -39,6 +39,8 @@ public class CassandraKey extends org.apache.gora.persistency.impl.PersistentBas /** * Creates a new CassandraKey RecordBuilder + * + * @return builder */ public static org.apache.gora.cassandra.example.generated.AvroSerialization.CassandraKey.Builder newBuilder() { return new org.apache.gora.cassandra.example.generated.AvroSerialization.CassandraKey.Builder(); @@ -46,6 +48,9 @@ public class CassandraKey extends org.apache.gora.persistency.impl.PersistentBas /** * Creates a new CassandraKey RecordBuilder by copying an existing Builder + * + * @param other existing builder + * @return builder */ public static org.apache.gora.cassandra.example.generated.AvroSerialization.CassandraKey.Builder newBuilder(org.apache.gora.cassandra.example.generated.AvroSerialization.CassandraKey.Builder other) { return new org.apache.gora.cassandra.example.generated.AvroSerialization.CassandraKey.Builder(other); @@ -53,6 +58,9 @@ public class CassandraKey extends org.apache.gora.persistency.impl.PersistentBas /** * Creates a new CassandraKey RecordBuilder by copying an existing CassandraKey instance + * + * @param other existing Cassandra Key instance + * @return builder */ public static org.apache.gora.cassandra.example.generated.AvroSerialization.CassandraKey.Builder newBuilder(org.apache.gora.cassandra.example.generated.AvroSerialization.CassandraKey other) { return new org.apache.gora.cassandra.example.generated.AvroSerialization.CassandraKey.Builder(other); @@ -123,6 +131,8 @@ public class CassandraKey extends org.apache.gora.persistency.impl.PersistentBas /** * Gets the value of the 'url' field. + * + * @return url */ public java.lang.CharSequence getUrl() { return url; @@ -141,7 +151,7 @@ public class CassandraKey extends org.apache.gora.persistency.impl.PersistentBas /** * Checks the dirty status of the 'url' field. A field is dirty if it represents a change that has not yet been written to the database. * - * @param value the value to set. + * @return isUrlDirty */ public boolean isUrlDirty() { return isDirty(0); @@ -149,6 +159,8 @@ public class CassandraKey extends org.apache.gora.persistency.impl.PersistentBas /** * Gets the value of the 'timestamp' field. + * + * @return timestamp */ public java.lang.Long getTimestamp() { return timestamp; @@ -167,7 +179,7 @@ public class CassandraKey extends org.apache.gora.persistency.impl.PersistentBas /** * Checks the dirty status of the 'timestamp' field. A field is dirty if it represents a change that has not yet been written to the database. * - * @param value the value to set. + * @return isTimestampDirty */ public boolean isTimestampDirty() { return isDirty(1); @@ -308,6 +320,8 @@ public class CassandraKey extends org.apache.gora.persistency.impl.PersistentBas /** * Gets the value of the 'url' field + * + * @return
gora git commit: Remove duplicated gora-solr declaration and add to .gitignore
Repository: gora Updated Branches: refs/heads/master 52d583aff -> e7b4c3d16 Remove duplicated gora-solr declaration and add to .gitignore Project: http://git-wip-us.apache.org/repos/asf/gora/repo Commit: http://git-wip-us.apache.org/repos/asf/gora/commit/e7b4c3d1 Tree: http://git-wip-us.apache.org/repos/asf/gora/tree/e7b4c3d1 Diff: http://git-wip-us.apache.org/repos/asf/gora/diff/e7b4c3d1 Branch: refs/heads/master Commit: e7b4c3d162331f97ac2ef59ed939d5ed81103cd8 Parents: 52d583a Author: Lewis John McGibbneyAuthored: Thu Aug 31 15:04:58 2017 -0700 Committer: Lewis John McGibbney Committed: Thu Aug 31 15:04:58 2017 -0700 -- .gitignore | 1 + pom.xml| 26 -- 2 files changed, 1 insertion(+), 26 deletions(-) -- http://git-wip-us.apache.org/repos/asf/gora/blob/e7b4c3d1/.gitignore -- diff --git a/.gitignore b/.gitignore index 8a5e41e..2aa54cc 100644 --- a/.gitignore +++ b/.gitignore @@ -36,3 +36,4 @@ ivy/ivy*.jar **/gora-solr/src/test/conf/solr/collection1/data/ **/gora-solr-5/src/test/conf/solr/collection1/data/ **/_rest_managed.json +**/gora-solr/src/test/conf/solr-managed-schema/collection1/data/ http://git-wip-us.apache.org/repos/asf/gora/blob/e7b4c3d1/pom.xml -- diff --git a/pom.xml b/pom.xml index 3944882..6117125 100644 --- a/pom.xml +++ b/pom.xml @@ -723,10 +723,8 @@ gora-hbase gora-infinispan gora-jcache - gora-dynamodb gora-couchdb - gora-maven-plugin gora-mongodb gora-solr @@ -842,18 +840,6 @@ org.apache.gora -gora-solr -${project.version} - - -org.apache.gora -gora-solr -${project.version} -tests - - - -org.apache.gora gora-cassandra ${project.version} @@ -866,18 +852,6 @@ org.apache.gora -gora-sql -${project.version} - - -org.apache.gora -gora-sql -${project.version} -test-jar - - - -org.apache.gora gora-compiler ${project.version}
[13/13] gora git commit: Remove hector dependecy
Remove hector dependecy Project: http://git-wip-us.apache.org/repos/asf/gora/repo Commit: http://git-wip-us.apache.org/repos/asf/gora/commit/52d583af Tree: http://git-wip-us.apache.org/repos/asf/gora/tree/52d583af Diff: http://git-wip-us.apache.org/repos/asf/gora/diff/52d583af Branch: refs/heads/master Commit: 52d583affe4e4132d682e011930fe9c466fed27f Parents: 89683c7 Author: madhawa-gunasekaraAuthored: Thu Aug 24 03:10:16 2017 +0530 Committer: madhawa-gunasekara Committed: Thu Aug 24 03:10:16 2017 +0530 -- pom.xml | 13 - 1 file changed, 13 deletions(-) -- http://git-wip-us.apache.org/repos/asf/gora/blob/52d583af/pom.xml -- diff --git a/pom.xml b/pom.xml index b67d263..3944882 100644 --- a/pom.xml +++ b/pom.xml @@ -752,7 +752,6 @@ 3.3.0 3.11.0 -1.1-4 6.5.1 6.5.1 @@ -1097,18 +1096,6 @@ -org.hectorclient -hector-core -${hector.version} - - -org.apache.cassandra -cassandra-all - - - - - com.ibm.icu icu4j 49.1
[07/13] gora git commit: Rename gora-cassandra-cql module into gora-cassandra module
http://git-wip-us.apache.org/repos/asf/gora/blob/89683c74/gora-cassandra-cql/src/test/java/org/apache/gora/cassandra/store/TestCassandraStore.java -- diff --git a/gora-cassandra-cql/src/test/java/org/apache/gora/cassandra/store/TestCassandraStore.java b/gora-cassandra-cql/src/test/java/org/apache/gora/cassandra/store/TestCassandraStore.java deleted file mode 100644 index ce9e2df..000 --- a/gora-cassandra-cql/src/test/java/org/apache/gora/cassandra/store/TestCassandraStore.java +++ /dev/null @@ -1,178 +0,0 @@ -/** - * 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.gora.cassandra.store; - -import org.apache.gora.cassandra.GoraCassandraTestDriver; -import org.apache.gora.examples.WebPageDataCreator; -import org.apache.gora.examples.generated.WebPage; -import org.apache.gora.query.Query; -import org.apache.gora.store.DataStore; -import org.apache.gora.store.DataStoreTestBase; -import org.apache.gora.store.DataStoreTestUtil; -import org.junit.Before; -import org.junit.Ignore; -import org.junit.Test; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.io.IOException; -import java.util.Properties; - -import static org.apache.gora.examples.WebPageDataCreator.SORTED_URLS; -import static org.apache.gora.examples.WebPageDataCreator.URLS; -import static org.apache.gora.store.DataStoreTestUtil.assertEmptyResults; -import static org.apache.gora.store.DataStoreTestUtil.assertNumResults; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; - -/** - * - * Testing class for all standard gora-cassandra functionality. - * We extend DataStoreTestBase enabling us to run the entire base test - * suite for Gora. - * - * Test Avro Serialization for CassandraStore. - */ -public class TestCassandraStore extends DataStoreTestBase { - private static final Logger LOG = LoggerFactory.getLogger(TestCassandraStore.class); - private static Properties properties; - - static { -GoraCassandraTestDriver testDriver = new GoraCassandraTestDriver(); -setProperties(); -testDriver.setParameters(properties); -setTestDriver(testDriver); - } - - private static void setProperties() { -properties = new Properties(); -properties.setProperty(CassandraStoreParameters.CASSANDRA_SERVERS, "localhost"); -properties.setProperty(CassandraStoreParameters.PORT, "9042"); - properties.setProperty(CassandraStoreParameters.CASSANDRA_SERIALIZATION_TYPE, "avro"); -properties.setProperty(CassandraStoreParameters.PROTOCOL_VERSION, "3"); -properties.setProperty(CassandraStoreParameters.CLUSTER_NAME, "Test Cluster"); - properties.setProperty(CassandraStoreParameters.READ_CONSISTENCY_LEVEL,"ONE"); - properties.setProperty(CassandraStoreParameters.WRITE_CONSISTENCY_LEVEL,"ONE"); -properties.setProperty("gora.cassandrastore.mapping.file", "avro/gora-cassandra-mapping.xml"); - } - - @Before - public void setUp() throws Exception { -super.setUp(); - } - - @Ignore() - @Override - public void testGetPartitions() throws IOException { - } - - private void preConfiguration() { -if (webPageStore.schemaExists()) { - webPageStore.truncateSchema(); -} else { - webPageStore.createSchema(); -} - } - - @Test - public void testQuery() throws Exception { -preConfiguration(); -log.info("test method: testQuery"); -DataStoreTestUtil.testQueryWebPages(webPageStore); - } - - @Test - public void testQueryStartKey() throws Exception { -preConfiguration(); -log.info("test method: testQueryStartKey"); -DataStoreTestUtil.testQueryWebPageStartKey(webPageStore); - } - - @Test - public void testQueryEndKey() throws Exception { -preConfiguration(); -log.info("test method: testQueryEndKey"); -DataStoreTestUtil.testQueryWebPageEndKey(webPageStore); - } - - @Test - public void testQueryKeyRange() throws Exception { -preConfiguration(); -log.info("test method: testQueryKetRange"); -DataStoreTestUtil.testQueryWebPageKeyRange(webPageStore); - } - - @Test - public void testDelete() throws Exception { -
[08/13] gora git commit: Rename gora-cassandra-cql module into gora-cassandra module
http://git-wip-us.apache.org/repos/asf/gora/blob/89683c74/gora-cassandra-cql/src/test/conf/cassandra.yaml -- diff --git a/gora-cassandra-cql/src/test/conf/cassandra.yaml b/gora-cassandra-cql/src/test/conf/cassandra.yaml deleted file mode 100644 index ca154ae..000 --- a/gora-cassandra-cql/src/test/conf/cassandra.yaml +++ /dev/null @@ -1,1196 +0,0 @@ -# Cassandra storage config YAML - -# NOTE: -# See http://wiki.apache.org/cassandra/StorageConfiguration for -# full explanations of configuration directives -# /NOTE - -# The name of the cluster. This is mainly used to prevent machines in -# one logical cluster from joining another. -cluster_name: 'Gora Test Cluster' - -# This defines the number of tokens randomly assigned to this node on the ring -# The more tokens, relative to other nodes, the larger the proportion of data -# that this node will store. You probably want all nodes to have the same number -# of tokens assuming they have equal hardware capability. -# -# If you leave this unspecified, Cassandra will use the default of 1 token for legacy compatibility, -# and will use the initial_token as described below. -# -# Specifying initial_token will override this setting on the node's initial start, -# on subsequent starts, this setting will apply even if initial token is set. -# -# If you already have a cluster with 1 token per node, and wish to migrate to -# multiple tokens per node, see http://wiki.apache.org/cassandra/Operations -num_tokens: 256 - -# Triggers automatic allocation of num_tokens tokens for this node. The allocation -# algorithm attempts to choose tokens in a way that optimizes replicated load over -# the nodes in the datacenter for the replication strategy used by the specified -# keyspace. -# -# The load assigned to each node will be close to proportional to its number of -# vnodes. -# -# Only supported with the Murmur3Partitioner. -# allocate_tokens_for_keyspace: KEYSPACE - -# initial_token allows you to specify tokens manually. While you can use it with -# vnodes (num_tokens > 1, above) -- in which case you should provide a -# comma-separated list -- it's primarily used when adding nodes to legacy clusters -# that do not have vnodes enabled. -# initial_token: - -# See http://wiki.apache.org/cassandra/HintedHandoff -# May either be "true" or "false" to enable globally -hinted_handoff_enabled: true - -# When hinted_handoff_enabled is true, a black list of data centers that will not -# perform hinted handoff -# hinted_handoff_disabled_datacenters: -#- DC1 -#- DC2 - -# this defines the maximum amount of time a dead host will have hints -# generated. After it has been dead this long, new hints for it will not be -# created until it has been seen alive and gone down again. -max_hint_window_in_ms: 1080 # 3 hours - -# Maximum throttle in KBs per second, per delivery thread. This will be -# reduced proportionally to the number of nodes in the cluster. (If there -# are two nodes in the cluster, each delivery thread will use the maximum -# rate; if there are three, each will throttle to half of the maximum, -# since we expect two nodes to be delivering hints simultaneously.) -hinted_handoff_throttle_in_kb: 1024 - -# Number of threads with which to deliver hints; -# Consider increasing this number when you have multi-dc deployments, since -# cross-dc handoff tends to be slower -max_hints_delivery_threads: 2 - -# Directory where Cassandra should store hints. -# If not set, the default directory is $CASSANDRA_HOME/data/hints. -hints_directory: target/test/var/lib/cassandra/hints - -# How often hints should be flushed from the internal buffers to disk. -# Will *not* trigger fsync. -hints_flush_period_in_ms: 1 - -# Maximum size for a single hints file, in megabytes. -max_hints_file_size_in_mb: 128 - -# Compression to apply to the hint files. If omitted, hints files -# will be written uncompressed. LZ4, Snappy, and Deflate compressors -# are supported. -#hints_compression: -# - class_name: LZ4Compressor -# parameters: -# - - -# Maximum throttle in KBs per second, total. This will be -# reduced proportionally to the number of nodes in the cluster. -batchlog_replay_throttle_in_kb: 1024 - -# Authentication backend, implementing IAuthenticator; used to identify users -# Out of the box, Cassandra provides org.apache.cassandra.auth.{AllowAllAuthenticator, -# PasswordAuthenticator}. -# -# - AllowAllAuthenticator performs no checks - set it to disable authentication. -# - PasswordAuthenticator relies on username/password pairs to authenticate -# users. It keeps usernames and hashed passwords in system_auth.roles table. -# Please increase system_auth keyspace replication factor if you use this authenticator. -# If using PasswordAuthenticator, CassandraRoleManager must also be used (see below) -authenticator: AllowAllAuthenticator - -# Authorization backend, implementing
[02/13] gora git commit: Rename gora-cassandra-cql module into gora-cassandra module
http://git-wip-us.apache.org/repos/asf/gora/blob/89683c74/gora-cassandra/src/test/conf/cassandra.yaml -- diff --git a/gora-cassandra/src/test/conf/cassandra.yaml b/gora-cassandra/src/test/conf/cassandra.yaml new file mode 100644 index 000..ca154ae --- /dev/null +++ b/gora-cassandra/src/test/conf/cassandra.yaml @@ -0,0 +1,1196 @@ +# Cassandra storage config YAML + +# NOTE: +# See http://wiki.apache.org/cassandra/StorageConfiguration for +# full explanations of configuration directives +# /NOTE + +# The name of the cluster. This is mainly used to prevent machines in +# one logical cluster from joining another. +cluster_name: 'Gora Test Cluster' + +# This defines the number of tokens randomly assigned to this node on the ring +# The more tokens, relative to other nodes, the larger the proportion of data +# that this node will store. You probably want all nodes to have the same number +# of tokens assuming they have equal hardware capability. +# +# If you leave this unspecified, Cassandra will use the default of 1 token for legacy compatibility, +# and will use the initial_token as described below. +# +# Specifying initial_token will override this setting on the node's initial start, +# on subsequent starts, this setting will apply even if initial token is set. +# +# If you already have a cluster with 1 token per node, and wish to migrate to +# multiple tokens per node, see http://wiki.apache.org/cassandra/Operations +num_tokens: 256 + +# Triggers automatic allocation of num_tokens tokens for this node. The allocation +# algorithm attempts to choose tokens in a way that optimizes replicated load over +# the nodes in the datacenter for the replication strategy used by the specified +# keyspace. +# +# The load assigned to each node will be close to proportional to its number of +# vnodes. +# +# Only supported with the Murmur3Partitioner. +# allocate_tokens_for_keyspace: KEYSPACE + +# initial_token allows you to specify tokens manually. While you can use it with +# vnodes (num_tokens > 1, above) -- in which case you should provide a +# comma-separated list -- it's primarily used when adding nodes to legacy clusters +# that do not have vnodes enabled. +# initial_token: + +# See http://wiki.apache.org/cassandra/HintedHandoff +# May either be "true" or "false" to enable globally +hinted_handoff_enabled: true + +# When hinted_handoff_enabled is true, a black list of data centers that will not +# perform hinted handoff +# hinted_handoff_disabled_datacenters: +#- DC1 +#- DC2 + +# this defines the maximum amount of time a dead host will have hints +# generated. After it has been dead this long, new hints for it will not be +# created until it has been seen alive and gone down again. +max_hint_window_in_ms: 1080 # 3 hours + +# Maximum throttle in KBs per second, per delivery thread. This will be +# reduced proportionally to the number of nodes in the cluster. (If there +# are two nodes in the cluster, each delivery thread will use the maximum +# rate; if there are three, each will throttle to half of the maximum, +# since we expect two nodes to be delivering hints simultaneously.) +hinted_handoff_throttle_in_kb: 1024 + +# Number of threads with which to deliver hints; +# Consider increasing this number when you have multi-dc deployments, since +# cross-dc handoff tends to be slower +max_hints_delivery_threads: 2 + +# Directory where Cassandra should store hints. +# If not set, the default directory is $CASSANDRA_HOME/data/hints. +hints_directory: target/test/var/lib/cassandra/hints + +# How often hints should be flushed from the internal buffers to disk. +# Will *not* trigger fsync. +hints_flush_period_in_ms: 1 + +# Maximum size for a single hints file, in megabytes. +max_hints_file_size_in_mb: 128 + +# Compression to apply to the hint files. If omitted, hints files +# will be written uncompressed. LZ4, Snappy, and Deflate compressors +# are supported. +#hints_compression: +# - class_name: LZ4Compressor +# parameters: +# - + +# Maximum throttle in KBs per second, total. This will be +# reduced proportionally to the number of nodes in the cluster. +batchlog_replay_throttle_in_kb: 1024 + +# Authentication backend, implementing IAuthenticator; used to identify users +# Out of the box, Cassandra provides org.apache.cassandra.auth.{AllowAllAuthenticator, +# PasswordAuthenticator}. +# +# - AllowAllAuthenticator performs no checks - set it to disable authentication. +# - PasswordAuthenticator relies on username/password pairs to authenticate +# users. It keeps usernames and hashed passwords in system_auth.roles table. +# Please increase system_auth keyspace replication factor if you use this authenticator. +# If using PasswordAuthenticator, CassandraRoleManager must also be used (see below) +authenticator: AllowAllAuthenticator + +# Authorization backend, implementing IAuthorizer; used to limit
[06/13] gora git commit: Rename gora-cassandra-cql module into gora-cassandra module
http://git-wip-us.apache.org/repos/asf/gora/blob/89683c74/gora-cassandra/src/examples/java/org/apache/gora/cassandra/example/generated/AvroSerialization/CassandraRecord.java -- diff --git a/gora-cassandra/src/examples/java/org/apache/gora/cassandra/example/generated/AvroSerialization/CassandraRecord.java b/gora-cassandra/src/examples/java/org/apache/gora/cassandra/example/generated/AvroSerialization/CassandraRecord.java new file mode 100644 index 000..da320ab --- /dev/null +++ b/gora-cassandra/src/examples/java/org/apache/gora/cassandra/example/generated/AvroSerialization/CassandraRecord.java @@ -0,0 +1,1524 @@ +/** + * 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.gora.cassandra.example.generated.AvroSerialization; + +/** + * This object created to used as Persistent Object to test cassandra data store + */ +public class CassandraRecord extends org.apache.gora.persistency.impl.PersistentBase implements org.apache.avro.specific.SpecificRecord, org.apache.gora.persistency.Persistent { + public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"CassandraRecord\",\"namespace\":\"org.apache.gora.cassandra.example.generated.AvroSerialization\",\"doc\":\"This object created to used as Persistent Object to test cassandra data store\",\"fields\":[{\"name\":\"dataString\",\"type\":\"string\",\"default\":\"\"},{\"name\":\"dataInt\",\"type\":\"int\",\"default\":0},{\"name\":\"dataLong\",\"type\":[\"null\",\"long\"],\"default\":null},{\"name\":\"dataDouble\",\"type\":[\"null\",\"double\"],\"default\":null},{\"name\":\"dataBytes\",\"type\":[\"null\",\"bytes\"],\"default\":null},{\"name\":\"arrayInt\",\"type\":{\"type\":\"array\",\"items\":\"int\"},\"default\":null},{\"name\":\"arrayString\",\"type\":{\"type\":\"array\",\"items\":\"string\"},\"default\":null},{\"name\":\"arrayLong\",\"type\":{\"type\":\"array\",\"items\":\"long\"},\"default\":null},{\"name\":\"arrayDouble\",\"type\":{\"type\":\"array\",\"it ems\":\"double\"},\"default\":null},{\"name\":\"mapInt\",\"type\":{\"type\":\"map\",\"values\":\"int\"},\"default\":{}},{\"name\":\"mapString\",\"type\":{\"type\":\"map\",\"values\":\"string\"},\"default\":{}},{\"name\":\"mapLong\",\"type\":{\"type\":\"map\",\"values\":\"long\"},\"default\":{}},{\"name\":\"mapDouble\",\"type\":{\"type\":\"map\",\"values\":\"double\"},\"default\":{}}],\"default\":null}"); + public static final String[] _ALL_FIELDS = { + "dataString", + "dataInt", + "dataLong", + "dataDouble", + "dataBytes", + "arrayInt", + "arrayString", + "arrayLong", + "arrayDouble", + "mapInt", + "mapString", + "mapLong", + "mapDouble", + }; + private static final long serialVersionUID = -4030705451859358186L; + + ; + private static final Tombstone TOMBSTONE = new Tombstone(); + private static final org.apache.avro.io.DatumWriter + DATUM_WRITER$ = new org.apache.avro.specific.SpecificDatumWriter(SCHEMA$); + private static final org.apache.avro.io.DatumReader + DATUM_READER$ = new org.apache.avro.specific.SpecificDatumReader(SCHEMA$); + private java.lang.CharSequence dataString; + private int dataInt; + private java.lang.Long dataLong; + private java.lang.Double dataDouble; + private java.nio.ByteBuffer dataBytes; + private java.util.List arrayInt; + private java.util.List arrayString; + private java.util.List arrayLong; + private java.util.List arrayDouble; + private java.util.MapmapInt; + private java.util.Map mapString; + private java.util.Map mapLong; + private java.util.Map mapDouble; + + /** + * Creates a new CassandraRecord RecordBuilder + */ + public static org.apache.gora.cassandra.example.generated.AvroSerialization.CassandraRecord.Builder newBuilder() { +return new
[05/13] gora git commit: Rename gora-cassandra-cql module into gora-cassandra module
http://git-wip-us.apache.org/repos/asf/gora/blob/89683c74/gora-cassandra/src/main/java/org/apache/gora/cassandra/compiler/GoraCassandraNativeCompiler.java -- diff --git a/gora-cassandra/src/main/java/org/apache/gora/cassandra/compiler/GoraCassandraNativeCompiler.java b/gora-cassandra/src/main/java/org/apache/gora/cassandra/compiler/GoraCassandraNativeCompiler.java new file mode 100644 index 000..cd0a5d2 --- /dev/null +++ b/gora-cassandra/src/main/java/org/apache/gora/cassandra/compiler/GoraCassandraNativeCompiler.java @@ -0,0 +1,326 @@ +/** + * 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.gora.cassandra.compiler; + +import org.apache.commons.io.FilenameUtils; +import org.apache.gora.cassandra.bean.Field; +import org.apache.gora.cassandra.store.CassandraMapping; +import org.apache.gora.cassandra.store.CassandraMappingBuilder; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.OutputStreamWriter; +import java.io.Writer; +import java.nio.charset.Charset; +import java.util.List; +import java.util.Locale; + +/** + * This class generate Java classes for Cassandra Native Serialization. + * + * Generate specific Java classes for defined Gora cassandra mapping. + * Different from the @see org.apache.gora.compiler.GoraCompiler, + * which uses an .avsc or .json schema definition, this compiler + * expects an XML mapping file as input. + */ +public class GoraCassandraNativeCompiler { + + private static final Logger log = LoggerFactory.getLogger(GoraCassandraNativeCompiler.class); + + private Writer out; + private File dest; + + GoraCassandraNativeCompiler(File dest) { +this.dest = dest; + } + + /** + * Start point of the compiler program + * + * @param args the schema file to be compiled and where this should be written + */ + public static void main(String[] args) { +try { + if (args.length < 2) { +log.error("Usage: Compiler "); +System.exit(1); + } + compileSchema(new File(args[0]), new File(args[1])); +} catch (Exception e) { + log.error("Something went wrong. Please check the input file.", e.getMessage()); + throw new RuntimeException(e); +} + } + + /** + * Generates Java classes for a mapping. + */ + private static void compileSchema(File src, File dest) throws Exception { +log.info("Compiling {} to {}", src, dest); +GoraCassandraNativeCompiler compiler = new GoraCassandraNativeCompiler(dest); +List mappings = readMappingFile(src); +for (CassandraMapping mapping : mappings) { + compiler.compile(mapping); +} + } + + private static List readMappingFile(File src) throws Exception { +List mappings = new CassandraMappingBuilder().readMappingFile(src); +return mappings; + } + + /** + * Returns the string received with the first letter in uppercase + * + * @param name to be converted + * @return camelCase String + */ + static String cap(String name) { +return name.substring(0, 1).toUpperCase(Locale.getDefault()) ++ name.substring(1, name.length()); + } + + /** + * Method in charge of compiling a specific table using a key schema and a set + * of attributes + * + * @param mapping Cassandra Mapping + */ + private void compile(CassandraMapping mapping) { +String fullQualifiedName = mapping.getProperty("name"); +String tableName = mapping.getCoreName(); +String packageName = fullQualifiedName.substring(0, fullQualifiedName.lastIndexOf(".")); +String className = fullQualifiedName.substring(packageName.length() + 1, fullQualifiedName.length()); +String keySpace = mapping.getKeySpace().getName(); + +try { + startFile(className, packageName); + setHeaders(packageName); + line(0, ""); + line(0, "@Table(keyspace = \"" + keySpace + "\", name = \"" + tableName + "\"," + + "readConsistency = \"QUORUM\"," + + "writeConsistency = \"QUORUM\"," + + "caseSensitiveKeyspace = false," + + "caseSensitiveTable = false)"); +
[09/13] gora git commit: Rename gora-cassandra-cql module into gora-cassandra module
http://git-wip-us.apache.org/repos/asf/gora/blob/89683c74/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/store/CassandraMappingBuilder.java -- diff --git a/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/store/CassandraMappingBuilder.java b/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/store/CassandraMappingBuilder.java deleted file mode 100644 index a5ada56..000 --- a/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/store/CassandraMappingBuilder.java +++ /dev/null @@ -1,321 +0,0 @@ -/* - * 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.gora.cassandra.store; - -import org.apache.gora.cassandra.bean.CassandraKey; -import org.apache.gora.cassandra.bean.ClusterKeyField; -import org.apache.gora.cassandra.bean.Field; -import org.apache.gora.cassandra.bean.KeySpace; -import org.apache.gora.cassandra.bean.PartitionKeyField; -import org.apache.gora.persistency.Persistent; -import org.jdom.Attribute; -import org.jdom.Document; -import org.jdom.Element; -import org.jdom.input.SAXBuilder; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; -import java.util.Locale; - -/** - * This Class reads the Cassandra Mapping file and create tha Cassandra Mapping object. - * {@link org.apache.gora.cassandra.store.CassandraMapping} - */ -public class CassandraMappingBuilder{ - - private static final Logger LOG = LoggerFactory.getLogger(CassandraMappingBuilder.class); - - private CassandraStore dataStore; - - public CassandraMappingBuilder() { - } - - /** - * Constructor for builder to create the mapper. - * - * @param store Cassandra Store - */ - CassandraMappingBuilder(final CassandraStore store) { -this.dataStore = store; - } - - private static int getReplicationFactor(Element element) { -if (element == null) { - return 1; -} -String value = element.getAttributeValue("replicationFactor"); -if (value == null) { - return 1; -} else { - return Integer.parseInt(value); -} - } - - /** - * @param fileName mapping fileName - * @return All the Cassandra Mappings in the mapping file - * @throws Exception - */ - @SuppressWarnings("all") - public List readMappingFile(File fileName) throws Exception { -List mappings = new ArrayList<>(); -SAXBuilder builder = new SAXBuilder(); -Document doc = builder.build(fileName); - -List keyspaces = doc.getRootElement().getChildren("keyspace"); -List classes = doc.getRootElement().getChildren("class"); -List keys = doc.getRootElement().getChildren("cassandraKey"); -for (Element classElement : classes) { - CassandraMapping mapping = new CassandraMapping(); - processClass(mapping, classElement); - mappings.add(mapping); -} - -for (CassandraMapping mapping : mappings) { - for (Element keySpace : keyspaces) { -String keySpaceName = keySpace.getAttributeValue("name"); -if (keySpaceName.equals(mapping.getProperty("keyspace"))) { - processKeySpace(mapping, keySpace, keySpaceName); - break; -} - } - - for (Element cassandraKey : keys) { -String cassandraKeyName = cassandraKey.getAttributeValue("name"); -if (mapping.getProperty("keyClass").equals(cassandraKeyName)) { - processCassandraKeys(mapping, cassandraKey, cassandraKeyName); -} - } - mapping.finalized(); -} -return mappings; - } - - /** - * In this method we reads the mapping file and creates the Cassandra Mapping. - * - * @param filename mapping file name - * @return @{@link CassandraMapping} - * @throws IOException - */ - @SuppressWarnings("all") - CassandraMapping readMapping(String filename) throws Exception { -CassandraMapping cassandraMapping = new CassandraMapping(); -Class keyClass = dataStore.getKeyClass(); -Class persistentClass = dataStore.getPersistentClass(); -SAXBuilder builder = new SAXBuilder(); -Document doc =
[10/13] gora git commit: Rename gora-cassandra-cql module into gora-cassandra module
http://git-wip-us.apache.org/repos/asf/gora/blob/89683c74/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/serializers/CassandraQueryFactory.java -- diff --git a/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/serializers/CassandraQueryFactory.java b/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/serializers/CassandraQueryFactory.java deleted file mode 100644 index 928370c..000 --- a/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/serializers/CassandraQueryFactory.java +++ /dev/null @@ -1,836 +0,0 @@ -/* - * 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.gora.cassandra.serializers; - -import com.datastax.driver.core.querybuilder.BuiltStatement; -import com.datastax.driver.core.querybuilder.Delete; -import com.datastax.driver.core.querybuilder.QueryBuilder; -import com.datastax.driver.core.querybuilder.Select; -import com.datastax.driver.core.querybuilder.Update; -import com.datastax.driver.mapping.annotations.UDT; -import org.apache.avro.Schema; -import org.apache.gora.cassandra.bean.CassandraKey; -import org.apache.gora.cassandra.bean.ClusterKeyField; -import org.apache.gora.cassandra.bean.Field; -import org.apache.gora.cassandra.bean.KeySpace; -import org.apache.gora.cassandra.bean.PartitionKeyField; -import org.apache.gora.cassandra.query.CassandraQuery; -import org.apache.gora.cassandra.store.CassandraMapping; -import org.apache.gora.cassandra.store.CassandraStore; -import org.apache.gora.query.Query; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.lang.reflect.ParameterizedType; -import java.lang.reflect.Type; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Map; - -/** - * This class is used create Cassandra Queries. - */ -class CassandraQueryFactory { - - private static final Logger LOG = LoggerFactory.getLogger(CassandraQueryFactory.class); - - /** - * This method returns the CQL query to create key space. - * refer : http://docs.datastax.com/en/cql/3.1/cql/cql_reference/create_keyspace_r.html - * - * @param mapping Cassandra Mapping {@link CassandraMapping} - * @return CQL Query - */ - static String getCreateKeySpaceQuery(CassandraMapping mapping) { -KeySpace keySpace = mapping.getKeySpace(); -StringBuilder stringBuffer = new StringBuilder(); -stringBuffer.append("CREATE KEYSPACE IF NOT EXISTS ").append(keySpace.getName()).append(" WITH REPLICATION = { 'class' : "); -KeySpace.PlacementStrategy placementStrategy = keySpace.getPlacementStrategy(); -stringBuffer.append("'").append(placementStrategy).append("'").append(", ").append("'"); -switch (placementStrategy) { - case SimpleStrategy: -stringBuffer.append("replication_factor").append("'").append(" : ").append(keySpace.getReplicationFactor()).append(" }"); -break; - case NetworkTopologyStrategy: -boolean isCommaNeeded = false; -for (Map.Entryentry : keySpace.getDataCenters().entrySet()) { - if (isCommaNeeded) { -stringBuffer.append(", '"); - } - stringBuffer.append(entry.getKey()).append("'").append(" : ").append(entry.getValue()); - isCommaNeeded = true; -} -stringBuffer.append(" }"); -break; -} -if (keySpace.isDurableWritesEnabled()) { - stringBuffer.append(" AND DURABLE_WRITES = ").append(keySpace.isDurableWritesEnabled()); -} -return stringBuffer.toString(); - } - - /** - * This method returns the CQL query to table. - * refer : http://docs.datastax.com/en/cql/3.1/cql/cql_reference/create_table_r.html - * - * Trick : To have a consistency of the order of the columns, first we append partition keys, second cluster keys and finally other columns. - * It's very much needed to follow the same order in other CRUD operations as well. - * - * @param mapping Cassandra mapping {@link CassandraMapping} - * @return CQL Query - */ - static String getCreateTableQuery(CassandraMapping mapping) { -StringBuilder stringBuffer = new StringBuilder(); -
[04/13] gora git commit: Rename gora-cassandra-cql module into gora-cassandra module
http://git-wip-us.apache.org/repos/asf/gora/blob/89683c74/gora-cassandra/src/main/java/org/apache/gora/cassandra/serializers/CassandraQueryFactory.java -- diff --git a/gora-cassandra/src/main/java/org/apache/gora/cassandra/serializers/CassandraQueryFactory.java b/gora-cassandra/src/main/java/org/apache/gora/cassandra/serializers/CassandraQueryFactory.java new file mode 100644 index 000..928370c --- /dev/null +++ b/gora-cassandra/src/main/java/org/apache/gora/cassandra/serializers/CassandraQueryFactory.java @@ -0,0 +1,836 @@ +/* + * 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.gora.cassandra.serializers; + +import com.datastax.driver.core.querybuilder.BuiltStatement; +import com.datastax.driver.core.querybuilder.Delete; +import com.datastax.driver.core.querybuilder.QueryBuilder; +import com.datastax.driver.core.querybuilder.Select; +import com.datastax.driver.core.querybuilder.Update; +import com.datastax.driver.mapping.annotations.UDT; +import org.apache.avro.Schema; +import org.apache.gora.cassandra.bean.CassandraKey; +import org.apache.gora.cassandra.bean.ClusterKeyField; +import org.apache.gora.cassandra.bean.Field; +import org.apache.gora.cassandra.bean.KeySpace; +import org.apache.gora.cassandra.bean.PartitionKeyField; +import org.apache.gora.cassandra.query.CassandraQuery; +import org.apache.gora.cassandra.store.CassandraMapping; +import org.apache.gora.cassandra.store.CassandraStore; +import org.apache.gora.query.Query; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.lang.reflect.ParameterizedType; +import java.lang.reflect.Type; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * This class is used create Cassandra Queries. + */ +class CassandraQueryFactory { + + private static final Logger LOG = LoggerFactory.getLogger(CassandraQueryFactory.class); + + /** + * This method returns the CQL query to create key space. + * refer : http://docs.datastax.com/en/cql/3.1/cql/cql_reference/create_keyspace_r.html + * + * @param mapping Cassandra Mapping {@link CassandraMapping} + * @return CQL Query + */ + static String getCreateKeySpaceQuery(CassandraMapping mapping) { +KeySpace keySpace = mapping.getKeySpace(); +StringBuilder stringBuffer = new StringBuilder(); +stringBuffer.append("CREATE KEYSPACE IF NOT EXISTS ").append(keySpace.getName()).append(" WITH REPLICATION = { 'class' : "); +KeySpace.PlacementStrategy placementStrategy = keySpace.getPlacementStrategy(); +stringBuffer.append("'").append(placementStrategy).append("'").append(", ").append("'"); +switch (placementStrategy) { + case SimpleStrategy: +stringBuffer.append("replication_factor").append("'").append(" : ").append(keySpace.getReplicationFactor()).append(" }"); +break; + case NetworkTopologyStrategy: +boolean isCommaNeeded = false; +for (Map.Entryentry : keySpace.getDataCenters().entrySet()) { + if (isCommaNeeded) { +stringBuffer.append(", '"); + } + stringBuffer.append(entry.getKey()).append("'").append(" : ").append(entry.getValue()); + isCommaNeeded = true; +} +stringBuffer.append(" }"); +break; +} +if (keySpace.isDurableWritesEnabled()) { + stringBuffer.append(" AND DURABLE_WRITES = ").append(keySpace.isDurableWritesEnabled()); +} +return stringBuffer.toString(); + } + + /** + * This method returns the CQL query to table. + * refer : http://docs.datastax.com/en/cql/3.1/cql/cql_reference/create_table_r.html + * + * Trick : To have a consistency of the order of the columns, first we append partition keys, second cluster keys and finally other columns. + * It's very much needed to follow the same order in other CRUD operations as well. + * + * @param mapping Cassandra mapping {@link CassandraMapping} + * @return CQL Query + */ + static String getCreateTableQuery(CassandraMapping mapping) { +StringBuilder stringBuffer = new StringBuilder(); +stringBuffer.append("CREATE
[1/3] gora git commit: Removing old gora-cassandra module
le as well as stdout -log4j.rootLogger=INFO,stdout,R - -# stdout -log4j.appender.stdout=org.apache.log4j.ConsoleAppender -log4j.appender.stdout.layout=org.apache.log4j.PatternLayout -log4j.appender.stdout.layout.ConversionPattern=%5p %d{HH:mm:ss,SSS} %m%n - -# rolling log file -log4j.appender.R=org.apache.log4j.RollingFileAppender -log4j.appender.R.maxFileSize=20MB -log4j.appender.R.maxBackupIndex=50 -log4j.appender.R.layout=org.apache.log4j.PatternLayout -log4j.appender.R.layout.ConversionPattern=%5p [%t] %d{ISO8601} %F (line %L) %m%n -# Edit the next line to point to your logs directory -log4j.appender.R.File=/var/log/cassandra/system.log - -# Application logging options -#log4j.logger.org.apache.cassandra=DEBUG -#log4j.logger.org.apache.cassandra.db=DEBUG -#log4j.logger.org.apache.cassandra.service.StorageProxy=DEBUG - -# Adding this to avoid thrift logging disconnect errors. -log4j.logger.org.apache.thrift.server.TNonblockingServer=ERROR - -# Add for gora-cassandra specific logging duing tests -log4j.logger.org.apache.gora.cassandra=DEBUG - http://git-wip-us.apache.org/repos/asf/gora/blob/cbed41d0/gora-cassandra/src/test/java/.gitignore -- diff --git a/gora-cassandra/src/test/java/.gitignore b/gora-cassandra/src/test/java/.gitignore deleted file mode 100644 index 09697dc..000 --- a/gora-cassandra/src/test/java/.gitignore +++ /dev/null @@ -1,15 +0,0 @@ -# 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. - http://git-wip-us.apache.org/repos/asf/gora/blob/cbed41d0/gora-cassandra/src/test/java/org/apache/gora/cassandra/GoraCassandraTestDriver.java -- diff --git a/gora-cassandra/src/test/java/org/apache/gora/cassandra/GoraCassandraTestDriver.java b/gora-cassandra/src/test/java/org/apache/gora/cassandra/GoraCassandraTestDriver.java deleted file mode 100644 index 0eb1619..000 --- a/gora-cassandra/src/test/java/org/apache/gora/cassandra/GoraCassandraTestDriver.java +++ /dev/null @@ -1,158 +0,0 @@ -/** - * 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. - */ - -/** - * @author lewismc - * - */ - -package org.apache.gora.cassandra; - -import org.apache.gora.GoraTestDriver; -import org.apache.gora.cassandra.store.CassandraStore; - -import java.io.File; - -import org.apache.cassandra.io.util.FileUtils; -import org.apache.cassandra.service.CassandraDaemon; - -// Logging imports -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * Helper class for third party tests using gora-cassandra backend. - * @see GoraTestDriver for test specifics. - * This driver is the base for all test cases that require an embedded Cassandra - * server. In this case we draw on Hector's @see EmbeddedServerHelper. - * It starts (setUp) and stops (tearDown) embedded Cassandra server. - * - * @author lewismc - */ - -public class GoraCassandraTestDriver extends GoraTestDriver { - private static Logger log = LoggerFactory.getLogger(GoraCassandraTestDriver.class); - - private String baseDirectory = "target/test"; - - private CassandraDaemon cassandraDaemon; - - private Thread cassandraThread; - - /** - * @return temporary base directory of running cassandra instance - */ - public String getBaseDirectory() { -return baseDirectory; - } - - public GoraCassandraTestDriver() { -super(CassandraStore.class); - } - - /** - * Starts em
[3/3] gora git commit: Removing old gora-cassandra module
Removing old gora-cassandra module Project: http://git-wip-us.apache.org/repos/asf/gora/repo Commit: http://git-wip-us.apache.org/repos/asf/gora/commit/cbed41d0 Tree: http://git-wip-us.apache.org/repos/asf/gora/tree/cbed41d0 Diff: http://git-wip-us.apache.org/repos/asf/gora/diff/cbed41d0 Branch: refs/heads/master Commit: cbed41d00ab55776b8f7647ffe00818ff736ddba Parents: 3d4e1d6 Author: Lewis John McGibbneyAuthored: Wed Aug 23 14:05:38 2017 -0700 Committer: Lewis John McGibbney Committed: Wed Aug 23 14:05:38 2017 -0700 -- gora-cassandra/conf/.gitignore | 15 - gora-cassandra/pom.xml | 192 -- gora-cassandra/src/examples/java/.gitignore | 15 - .../org/apache/gora/cassandra/package-info.java | 20 - .../gora/cassandra/query/CassandraColumn.java | 97 --- .../gora/cassandra/query/CassandraQuery.java| 107 --- .../gora/cassandra/query/CassandraResult.java | 194 -- .../cassandra/query/CassandraResultSet.java | 54 -- .../gora/cassandra/query/CassandraRow.java | 58 -- .../cassandra/query/CassandraSubColumn.java | 111 --- .../cassandra/query/CassandraSuperColumn.java | 197 -- .../gora/cassandra/query/package-info.java | 21 - .../serializers/AvroSerializerUtil.java | 94 --- .../serializers/CharSequenceSerializer.java | 64 -- .../serializers/GoraSerializerTypeInferer.java | 230 --- .../cassandra/serializers/ListSerializer.java | 193 -- .../cassandra/serializers/MapSerializer.java| 223 --- .../serializers/SpecificFixedSerializer.java| 119 .../gora/cassandra/serializers/TypeUtils.java | 232 --- .../cassandra/serializers/package-info.java | 20 - .../gora/cassandra/store/CassandraClient.java | 658 -- .../gora/cassandra/store/CassandraMapping.java | 329 - .../store/CassandraMappingManager.java | 158 - .../gora/cassandra/store/CassandraStore.java| 668 --- .../gora/cassandra/store/HectorUtils.java | 117 .../gora/cassandra/store/package-info.java | 20 - gora-cassandra/src/test/conf/cassandra.yaml | 418 .../src/test/conf/gora-cassandra-mapping.xml| 95 --- gora-cassandra/src/test/conf/gora.properties| 28 - .../src/test/conf/log4j-server.properties | 47 -- gora-cassandra/src/test/java/.gitignore | 15 - .../gora/cassandra/GoraCassandraTestDriver.java | 158 - .../org/apache/gora/cassandra/package-info.java | 21 - .../cassandra/store/TestCassandraStore.java | 92 --- .../gora/cassandra/store/package-info.java | 21 - 35 files changed, 5101 deletions(-) -- http://git-wip-us.apache.org/repos/asf/gora/blob/cbed41d0/gora-cassandra/conf/.gitignore -- diff --git a/gora-cassandra/conf/.gitignore b/gora-cassandra/conf/.gitignore deleted file mode 100644 index 09697dc..000 --- a/gora-cassandra/conf/.gitignore +++ /dev/null @@ -1,15 +0,0 @@ -# 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. - http://git-wip-us.apache.org/repos/asf/gora/blob/cbed41d0/gora-cassandra/pom.xml -- diff --git a/gora-cassandra/pom.xml b/gora-cassandra/pom.xml deleted file mode 100644 index 0d3d13c..000 --- a/gora-cassandra/pom.xml +++ /dev/null @@ -1,192 +0,0 @@ - -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;> - -4.0.0 - - -org.apache.gora -gora -0.8-SNAPSHOT -../ - -gora-cassandra -bundle - -Apache Gora :: Cassandra -http://gora.apache.org -The Apache Gora open source framework provides an in-memory data model and -persistence for big data. Gora supports persisting to column stores, key value stores, -document stores and RDBMSs, and analyzing the data with
[2/3] gora git commit: Removing old gora-cassandra module
http://git-wip-us.apache.org/repos/asf/gora/blob/cbed41d0/gora-cassandra/src/main/java/org/apache/gora/cassandra/serializers/TypeUtils.java -- diff --git a/gora-cassandra/src/main/java/org/apache/gora/cassandra/serializers/TypeUtils.java b/gora-cassandra/src/main/java/org/apache/gora/cassandra/serializers/TypeUtils.java deleted file mode 100644 index c5db72b..000 --- a/gora-cassandra/src/main/java/org/apache/gora/cassandra/serializers/TypeUtils.java +++ /dev/null @@ -1,232 +0,0 @@ -/** - * 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.gora.cassandra.serializers; - -import java.nio.ByteBuffer; -import java.util.List; -import java.util.Map; - -import org.apache.avro.Schema; -import org.apache.avro.Schema.Type; -import org.apache.avro.generic.GenericArray; -import org.apache.avro.specific.SpecificFixed; -import org.apache.avro.util.Utf8; -import org.apache.gora.persistency.Persistent; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * Utility class that infers the concrete Serializer needed to turn a value into - * its binary representation - */ -public class TypeUtils { - - public static final Logger LOG = LoggerFactory.getLogger(TypeUtils.class); - - // @SuppressWarnings({ "rawtypes", "unchecked" }) - public static Class getClass(Object value) { -return value.getClass(); - } - - public static Schema getSchema(Object value) { -if (value instanceof GenericArray) { - return Schema.createArray( getElementSchema((GenericArray)value) ); -} else { - return getSchema( getClass(value) ); -} - } - - public static Type getType(Object value) { -return getType( getClass(value) ); - } - - public static Type getType(Class clazz) { -if (clazz.equals(Utf8.class)) { - return Type.STRING; -} else if (clazz.equals(Boolean.class) || clazz.equals(boolean.class)) { - return Type.BOOLEAN; -} else if (clazz.equals(ByteBuffer.class)) { - return Type.BYTES; -} else if (clazz.equals(Double.class) || clazz.equals(double.class)) { - return Type.DOUBLE; -} else if (clazz.equals(Float.class) || clazz.equals(float.class)) { - return Type.FLOAT; -} else if (clazz.equals(Integer.class) || clazz.equals(int.class)) { - return Type.INT; -} else if (clazz.equals(Long.class) || clazz.equals(long.class)) { - return Type.LONG; -} else if (clazz.isAssignableFrom(List.class)) { - return Type.ARRAY; -} else if (clazz.isAssignableFrom(Map.class)) { - return Type.MAP; -} else if (clazz.equals(Persistent.class)) { - return Type.RECORD; -} else if (clazz.getSuperclass().equals(SpecificFixed.class)) { - return Type.FIXED; -} else { - return null; -} - } - - public static Class getClass(Type type) { -if (type == Type.STRING) { - return Utf8.class; -} else if (type == Type.BOOLEAN) { - return Boolean.class; -} else if (type == Type.BYTES) { - return ByteBuffer.class; -} else if (type == Type.DOUBLE) { - return Double.class; -} else if (type == Type.FLOAT) { - return Float.class; -} else if (type == Type.INT) { - return Integer.class; -} else if (type == Type.LONG) { - return Long.class; -} else if (type == Type.ARRAY) { - return List.class; -} else if (type == Type.MAP) { - return Map.class; -} else if (type == Type.RECORD) { - return Persistent.class; -} else if (type == Type.FIXED) { - // return SpecificFixed.class; - return null; -} else { - return null; -} - } - - public static Schema getSchema(Class clazz) { -Type type = getType(clazz); -if (type == null) { - return null; -} else if (type == Type.FIXED) { - int size = getFixedSize(clazz); - String name = clazz.getName(); - String space = null; - int n = name.lastIndexOf("."); - if (n < 0) { -space = name.substring(0,n); -name = name.substring(n+1); - } else { -space = null; - } - String doc = null; // ? - // LOG.info(Schema.createFixed(name, doc, space, size).toString()); -
[30/37] gora git commit: Add License Headers
Add License Headers Project: http://git-wip-us.apache.org/repos/asf/gora/repo Commit: http://git-wip-us.apache.org/repos/asf/gora/commit/2695207b Tree: http://git-wip-us.apache.org/repos/asf/gora/tree/2695207b Diff: http://git-wip-us.apache.org/repos/asf/gora/diff/2695207b Branch: refs/heads/master Commit: 2695207be60528c10f0d03ac097c0af73a2ab292 Parents: a2d63ca Author: madhawa-gunasekaraAuthored: Fri Aug 11 21:10:03 2017 +0530 Committer: madhawa-gunasekara Committed: Fri Aug 11 21:18:13 2017 +0530 -- gora-cassandra-cql/pom.xml | 5 -- .../nativeSerialization/ComplexTypes.java | 18 .../generated/nativeSerialization/Customer.java | 14 ++ .../generated/nativeSerialization/Document.java | 1 - .../generated/nativeSerialization/User.java | 1 - .../compiler/GoraCassandraNativeCompiler.java | 27 +-- .../cassandra/serializers/AvroSerializer.java | 6 --- .../serializers/CassandraQueryFactory.java | 15 +++--- .../serializers/CassandraSerializer.java| 7 +-- .../cassandra/serializers/NativeSerializer.java | 2 +- .../store/CassandraMappingBuilder.java | 48 +--- .../store/TestAvroSerializationWithUDT.java | 6 +-- .../cassandra/store/TestCassandraStore.java | 4 ++ .../TestCassandraStoreWithCassandraKey.java | 14 +++--- .../store/TestNativeSerializationWithUDT.java | 11 + 15 files changed, 80 insertions(+), 99 deletions(-) -- http://git-wip-us.apache.org/repos/asf/gora/blob/2695207b/gora-cassandra-cql/pom.xml -- diff --git a/gora-cassandra-cql/pom.xml b/gora-cassandra-cql/pom.xml index 630c51b..2e05e43 100644 --- a/gora-cassandra-cql/pom.xml +++ b/gora-cassandra-cql/pom.xml @@ -179,11 +179,6 @@ - - org.apache.gora gora-hbase http://git-wip-us.apache.org/repos/asf/gora/blob/2695207b/gora-cassandra-cql/src/examples/java/org/apache/gora/cassandra/example/generated/nativeSerialization/ComplexTypes.java -- diff --git a/gora-cassandra-cql/src/examples/java/org/apache/gora/cassandra/example/generated/nativeSerialization/ComplexTypes.java b/gora-cassandra-cql/src/examples/java/org/apache/gora/cassandra/example/generated/nativeSerialization/ComplexTypes.java index c161ef9..1a6a674 100644 --- a/gora-cassandra-cql/src/examples/java/org/apache/gora/cassandra/example/generated/nativeSerialization/ComplexTypes.java +++ b/gora-cassandra-cql/src/examples/java/org/apache/gora/cassandra/example/generated/nativeSerialization/ComplexTypes.java @@ -1,3 +1,21 @@ +/** + * 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.gora.cassandra.example.generated.nativeSerialization; import com.datastax.driver.mapping.annotations.Column; http://git-wip-us.apache.org/repos/asf/gora/blob/2695207b/gora-cassandra-cql/src/examples/java/org/apache/gora/cassandra/example/generated/nativeSerialization/Customer.java -- diff --git a/gora-cassandra-cql/src/examples/java/org/apache/gora/cassandra/example/generated/nativeSerialization/Customer.java b/gora-cassandra-cql/src/examples/java/org/apache/gora/cassandra/example/generated/nativeSerialization/Customer.java index 1b2de10..59bed36 100644 --- a/gora-cassandra-cql/src/examples/java/org/apache/gora/cassandra/example/generated/nativeSerialization/Customer.java +++ b/gora-cassandra-cql/src/examples/java/org/apache/gora/cassandra/example/generated/nativeSerialization/Customer.java @@ -15,37 +15,31 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.apache.gora.cassandra.example.generated.nativeSerialization; import com.datastax.driver.mapping.annotations.Field; import com.datastax.driver.mapping.annotations.UDT; -import java.util.List; -import java.util.Map; import
[02/37] gora git commit: Adding Cassandra Mapping file reading
integer */ - public static final String SO_LINGER = "gora.cassandrastore.soLinger"; + public static final String SO_LINGER = "gora.cassandra.store.soLinger"; /* boolean */ - public static final String TCP_NODELAY = "gora.cassandrastore.tcpNoDelay"; + public static final String TCP_NODELAY = "gora.cassandra.store.tcpNoDelay"; /* boolean */ - public static final String ENABLE_SSL = "gora.cassandrastore.enableSSL"; + public static final String ENABLE_SSL = "gora.cassandra.store.enableSSL"; /* string */ - public static final String DATA_CENTER = "gora.cassandrastore.dataCenter"; + public static final String DATA_CENTER = "gora.cassandra.store.dataCenter"; /* boolean */ - public static final String ALLOW_REMOTE_DCS_FOR_LOCAL_CONSISTENCY_LEVEL = "gora.cassandrastore.allowRemoteDCsForLocalConsistencyLevel"; + public static final String ALLOW_REMOTE_DCS_FOR_LOCAL_CONSISTENCY_LEVEL = "gora.cassandra.store.allowRemoteDCsForLocalConsistencyLevel"; + public static final String USE_CASSANDRA_MAPPING_MANAGER = "gora.cassandra.store.useCassandraMappingManager"; } http://git-wip-us.apache.org/repos/asf/gora/blob/a7b99f83/gora-cassandra-cql/src/test/conf/gora-cassandra-mapping.xml -- diff --git a/gora-cassandra-cql/src/test/conf/gora-cassandra-mapping.xml b/gora-cassandra-cql/src/test/conf/gora-cassandra-mapping.xml index 460063f..b039638 100644 --- a/gora-cassandra-cql/src/test/conf/gora-cassandra-mapping.xml +++ b/gora-cassandra-cql/src/test/conf/gora-cassandra-mapping.xml @@ -49,47 +49,49 @@ at http://gora.apache.org/current/gora-cassandra.html --> - - - - - - - - - + + + + - - - - + + + + + + - - - - - - - - + + + + + + + - - - - - - - - - - + + + + + + + - - - + + + + + + + + + + + + + - + \ No newline at end of file http://git-wip-us.apache.org/repos/asf/gora/blob/a7b99f83/gora-cassandra-cql/src/test/java/org/apache/gora/cassandra/GoraCassandraTestDriver.java -- diff --git a/gora-cassandra-cql/src/test/java/org/apache/gora/cassandra/GoraCassandraTestDriver.java b/gora-cassandra-cql/src/test/java/org/apache/gora/cassandra/GoraCassandraTestDriver.java index b36aca4..ccb9b97 100644 --- a/gora-cassandra-cql/src/test/java/org/apache/gora/cassandra/GoraCassandraTestDriver.java +++ b/gora-cassandra-cql/src/test/java/org/apache/gora/cassandra/GoraCassandraTestDriver.java @@ -40,8 +40,7 @@ import org.slf4j.LoggerFactory; * This driver is the base for all test cases that require an embedded Cassandra * server. In this case we draw on Hector's @see EmbeddedServerHelper. * It starts (setUp) and stops (tearDown) embedded Cassandra server. - * - * @author lewismc + * */ public class GoraCassandraTestDriver extends GoraTestDriver { http://git-wip-us.apache.org/repos/asf/gora/blob/a7b99f83/gora-cassandra-cql/src/test/java/org/apache/gora/cassandra/store/TestCassandraStore.java -- diff --git a/gora-cassandra-cql/src/test/java/org/apache/gora/cassandra/store/TestCassandraStore.java b/gora-cassandra-cql/src/test/java/org/apache/gora/cassandra/store/TestCassandraStore.java index 9518891..44c54b9 100644 --- a/gora-cassandra-cql/src/test/java/org/apache/gora/cassandra/store/TestCassandraStore.java +++ b/gora-cassandra-cql/src/test/java/org/apache/gora/cassandra/store/TestCassandraStore.java @@ -23,18 +23,14 @@ */ package org.apache.gora.cassandra.store; -import java.io.IOException; - import org.apache.gora.cassandra.GoraCassandraTestDriver; -import org.apache.gora.examples.generated.Employee; -import org.apache.gora.examples.generated.WebPage; -import org.apache.gora.store.DataStore; -import org.apache.gora.store.DataStoreFactory; import org.apache.gora.store.DataStoreTestBase; import org.apache.hadoop.conf.Configuration; import org.junit.Before; import org.junit.Ignore; +import java.io.IOException; + /** * Test for CassandraStore. */ @@ -42,6 +38,7 @@ public class TestCassandraStore extends DataStoreTestBase{ private Configuration conf; + static { setTestDriver(new GoraCassandraTestDriver()); }
[28/37] gora git commit: Add tests for avro
Add tests for avro Project: http://git-wip-us.apache.org/repos/asf/gora/repo Commit: http://git-wip-us.apache.org/repos/asf/gora/commit/a9a3ad49 Tree: http://git-wip-us.apache.org/repos/asf/gora/tree/a9a3ad49 Diff: http://git-wip-us.apache.org/repos/asf/gora/diff/a9a3ad49 Branch: refs/heads/master Commit: a9a3ad4922a45a76c8c6b1b76c011d72736e0c30 Parents: 962d7a6 Author: madhawa-gunasekaraAuthored: Fri Aug 4 21:35:14 2017 +0530 Committer: madhawa-gunasekara Committed: Thu Aug 10 23:45:56 2017 +0530 -- gora-cassandra-cql/pom.xml | 5 +- .../nativeSerialization/ComplexTypes.java | 85 ++- .../generated/nativeSerialization/Customer.java | 81 +++ .../generated/nativeSerialization/Document.java | 137 + .../generated/nativeSerialization/User.java | 86 ++- .../org/apache/gora/cassandra/bean/Field.java | 1 + .../persistent/CassandraNativePersistent.java | 108 .../cassandra/query/CassandraResultSet.java | 6 +- .../serializers/AvroCassandraUtils.java | 20 +- .../cassandra/serializers/AvroSerializer.java | 126 +++-- .../serializers/CassandraQueryFactory.java | 526 +-- .../serializers/CassandraSerializer.java| 87 +-- .../cassandra/serializers/NativeSerializer.java | 10 +- .../gora/cassandra/store/CassandraMapping.java | 8 +- .../store/CassandraMappingBuilder.java | 3 + .../gora/cassandra/store/CassandraStore.java| 26 +- .../conf/avroUDT/gora-cassandra-mapping.xml | 50 ++ .../src/test/conf/gora.properties | 4 +- .../conf/nativeUDT/gora-cassandra-mapping.xml | 33 ++ .../gora/cassandra/GoraCassandraTestDriver.java | 8 +- .../store/TestAvroSerializationWithUDT.java | 91 .../cassandra/store/TestCassandraStore.java | 97 +++- .../TestCassandraStoreWithCassandraKey.java | 68 +++ .../store/TestNativeSerializationWithUDT.java | 91 pom.xml | 4 +- 25 files changed, 1248 insertions(+), 513 deletions(-) -- http://git-wip-us.apache.org/repos/asf/gora/blob/a9a3ad49/gora-cassandra-cql/pom.xml -- diff --git a/gora-cassandra-cql/pom.xml b/gora-cassandra-cql/pom.xml index ed98a18..b78db24 100644 --- a/gora-cassandra-cql/pom.xml +++ b/gora-cassandra-cql/pom.xml @@ -167,11 +167,10 @@ - + org.apache.gora http://git-wip-us.apache.org/repos/asf/gora/blob/a9a3ad49/gora-cassandra-cql/src/examples/java/org/apache/gora/cassandra/example/generated/nativeSerialization/ComplexTypes.java -- diff --git a/gora-cassandra-cql/src/examples/java/org/apache/gora/cassandra/example/generated/nativeSerialization/ComplexTypes.java b/gora-cassandra-cql/src/examples/java/org/apache/gora/cassandra/example/generated/nativeSerialization/ComplexTypes.java index 797ea62..c161ef9 100644 --- a/gora-cassandra-cql/src/examples/java/org/apache/gora/cassandra/example/generated/nativeSerialization/ComplexTypes.java +++ b/gora-cassandra-cql/src/examples/java/org/apache/gora/cassandra/example/generated/nativeSerialization/ComplexTypes.java @@ -3,7 +3,10 @@ package org.apache.gora.cassandra.example.generated.nativeSerialization; import com.datastax.driver.mapping.annotations.Column; import com.datastax.driver.mapping.annotations.PartitionKey; import com.datastax.driver.mapping.annotations.Table; -import org.apache.gora.cassandra.persistent.CassandraNativePersistent; +import com.datastax.driver.mapping.annotations.Transient; +import org.apache.avro.Schema; +import org.apache.gora.persistency.Persistent; +import org.apache.gora.persistency.Tombstone; import java.util.List; import java.util.Map; @@ -18,7 +21,7 @@ import java.util.UUID; writeConsistency = "QUORUM", caseSensitiveKeyspace = false, caseSensitiveTable = true) -public class ComplexTypes extends CassandraNativePersistent { +public class ComplexTypes implements Persistent { @Column private List listDataType; @@ -98,4 +101,82 @@ public class ComplexTypes extends CassandraNativePersistent { public void setId(String id) { this.id = id; } + + @Transient + @Override + public void clear() { + + } + + @Transient + @Override + public boolean isDirty(int fieldIndex) { +return false; + } + + @Transient + @Override + public boolean isDirty(String field) { +return false; + } + + @Transient + @Override + public void setDirty() { + + } + + @Transient + @Override + public void setDirty(int fieldIndex) { + + } + + @Transient + @Override + public void clearDirty(int fieldIndex) { + + } + + @Transient + @Override + public void
[21/37] gora git commit: Fix review comments
Fix review comments Project: http://git-wip-us.apache.org/repos/asf/gora/repo Commit: http://git-wip-us.apache.org/repos/asf/gora/commit/c5352b0e Tree: http://git-wip-us.apache.org/repos/asf/gora/tree/c5352b0e Diff: http://git-wip-us.apache.org/repos/asf/gora/diff/c5352b0e Branch: refs/heads/master Commit: c5352b0e077ad1bebe6f3536e7fd1efe2fef5cfa Parents: a51b719 Author: madhawaAuthored: Thu Jul 27 23:37:01 2017 +0530 Committer: madhawa Committed: Thu Jul 27 23:41:56 2017 +0530 -- .../src/examples/avro/cassandraKey.json |1 + .../src/examples/avro/cassandraRecord.json |1 + .../AvroSerialization/CassandraKey.java | 381 ++ .../AvroSerialization/CassandraRecord.java | 1294 ++ .../avroSerialization/CassandraKey.java | 380 - .../avroSerialization/CassandraRecord.java | 1293 - .../apache/gora/cassandra/bean/KeySpace.java| 19 +- .../gora/cassandra/query/CassandraQuery.java|6 +- .../cassandra/query/CassandraResultSet.java | 46 +- .../serializers/AvroCassandraUtils.java | 26 +- .../cassandra/serializers/AvroSerializer.java |7 +- .../serializers/CassandraQueryFactory.java | 84 +- .../serializers/CassandraSerializer.java|2 +- .../cassandra/serializers/NativeSerializer.java |3 - .../store/CassandraMappingBuilder.java | 36 +- .../gora/cassandra/store/CassandraStore.java|6 + .../compositeKey/gora-cassandra-mapping.xml |6 +- .../gora-cassandra-mapping.xml |8 +- .../TestCassandraStoreWithCassandraKey.java | 16 +- 19 files changed, 1862 insertions(+), 1753 deletions(-) -- http://git-wip-us.apache.org/repos/asf/gora/blob/c5352b0e/gora-cassandra-cql/src/examples/avro/cassandraKey.json -- diff --git a/gora-cassandra-cql/src/examples/avro/cassandraKey.json b/gora-cassandra-cql/src/examples/avro/cassandraKey.json index 6db3127..f4c4a76 100644 --- a/gora-cassandra-cql/src/examples/avro/cassandraKey.json +++ b/gora-cassandra-cql/src/examples/avro/cassandraKey.json @@ -3,6 +3,7 @@ "name": "CassandraKey", "default": null, "namespace": "org.apache.gora.cassandra.example.generated.avroSerialization", + "doc": "This Object is created to used as Cassandra Key to test cassandra data store, Cassandra Key can be used to define partition keys, clustering keys.", "fields": [ { "name": "url", http://git-wip-us.apache.org/repos/asf/gora/blob/c5352b0e/gora-cassandra-cql/src/examples/avro/cassandraRecord.json -- diff --git a/gora-cassandra-cql/src/examples/avro/cassandraRecord.json b/gora-cassandra-cql/src/examples/avro/cassandraRecord.json index bd741cd..48ce275 100644 --- a/gora-cassandra-cql/src/examples/avro/cassandraRecord.json +++ b/gora-cassandra-cql/src/examples/avro/cassandraRecord.json @@ -3,6 +3,7 @@ "name": "CassandraRecord", "default": null, "namespace": "org.apache.gora.cassandra.example.generated.avroSerialization", + "doc": "This object created to used as Persistent Object to test cassandra data store", "fields": [ { "name": "dataString", http://git-wip-us.apache.org/repos/asf/gora/blob/c5352b0e/gora-cassandra-cql/src/examples/java/org/apache/gora/cassandra/example/generated/AvroSerialization/CassandraKey.java -- diff --git a/gora-cassandra-cql/src/examples/java/org/apache/gora/cassandra/example/generated/AvroSerialization/CassandraKey.java b/gora-cassandra-cql/src/examples/java/org/apache/gora/cassandra/example/generated/AvroSerialization/CassandraKey.java new file mode 100644 index 000..478690d --- /dev/null +++ b/gora-cassandra-cql/src/examples/java/org/apache/gora/cassandra/example/generated/AvroSerialization/CassandraKey.java @@ -0,0 +1,381 @@ +/** + *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
[18/37] gora git commit: Add avro serialization support
http://git-wip-us.apache.org/repos/asf/gora/blob/a51b719c/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/serializers/AvroCassandraUtils.java -- diff --git a/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/serializers/AvroCassandraUtils.java b/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/serializers/AvroCassandraUtils.java new file mode 100644 index 000..70e0ecf --- /dev/null +++ b/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/serializers/AvroCassandraUtils.java @@ -0,0 +1,274 @@ +package org.apache.gora.cassandra.serializers; + +import org.apache.avro.Schema; +import org.apache.avro.specific.SpecificData; +import org.apache.avro.util.Utf8; +import org.apache.gora.cassandra.bean.CassandraKey; +import org.apache.gora.cassandra.bean.Field; +import org.apache.gora.cassandra.store.CassandraMapping; +import org.apache.gora.persistency.Persistent; +import org.apache.gora.persistency.impl.DirtyListWrapper; +import org.apache.gora.persistency.impl.DirtyMapWrapper; +import org.apache.gora.persistency.impl.PersistentBase; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.nio.ByteBuffer; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * This class is Utils class for Avro serialization. + */ +public class AvroCassandraUtils { + + /** + * Default schema index with value "0" used when AVRO Union data types are stored. + */ + private static final int DEFAULT_UNION_SCHEMA = 0; + + private static final Logger LOG = LoggerFactory.getLogger(AvroCassandraUtils.class); + + static void processKeys(CassandraMapping cassandraMapping, Object key, List keys, List values) { +CassandraKey cassandraKey = cassandraMapping.getCassandraKey(); +if (cassandraMapping.isPartitionKeyDefined()) { + if (cassandraKey != null) { +if (key instanceof PersistentBase) { + PersistentBase keyBase = (PersistentBase) key; + for (Schema.Field field : keyBase.getSchema().getFields()) { +if (cassandraMapping.getFieldFromFieldName(field.name()) != null) { + keys.add(field.name()); + Object value = keyBase.get(field.pos()); + value = getFieldValueFromAvroBean(field.schema(), field.schema().getType(), value); + values.add(value); +} else { + LOG.debug("Ignoring field {}, Since field couldn't find in the {} mapping", new Object[]{field.name(), cassandraMapping.getPersistentClass()}); +} + } +} else { + LOG.error("Key bean isn't extended by {} .", new Object[]{cassandraMapping.getKeyClass(), PersistentBase.class}); +} + } else { +for (Field field : cassandraMapping.getInlinedDefinedPartitionKeys()) { + keys.add(field.getFieldName()); + values.add(key); +} + } +} else { + keys.add(cassandraMapping.getDefaultCassandraKey().getFieldName()); + values.add(key.toString()); +} + } + + /** + * For every field within an object, we pass in a field schema, Type and value. + * This enables us to process fields (based on their characteristics) + * preparing them for persistence. + * + * @param fieldSchema the associated field schema + * @param typethe field type + * @param fieldValue the field value. + * @return + */ + static Object getFieldValueFromAvroBean(Schema fieldSchema, Schema.Type type, Object fieldValue) { +switch (type) { + case RECORD: +PersistentBase persistent = (PersistentBase) fieldValue; +PersistentBase newRecord = (PersistentBase) SpecificData.get().newRecord(persistent, persistent.getSchema()); +for (Schema.Field member : fieldSchema.getFields()) { + if (member.pos() == 0 || !persistent.isDirty()) { +continue; + } + Schema memberSchema = member.schema(); + Schema.Type memberType = memberSchema.getType(); + Object memberValue = persistent.get(member.pos()); + newRecord.put(member.pos(), getFieldValueFromAvroBean(memberSchema, memberType, memberValue)); +} +fieldValue = newRecord; +break; + case MAP: +Schema valueSchema = fieldSchema.getValueType(); +Schema.Type valuetype = valueSchema.getType(); +HashMapmap = new HashMap<>(); +for (Map.Entry e : ((Map ) fieldValue).entrySet()) { + String mapKey = e.getKey().toString(); + Object mapValue = e.getValue(); + mapValue = getFieldValueFromAvroBean(valueSchema, valuetype, mapValue); + map.put(mapKey, mapValue); +} +fieldValue = map; +break; + case ARRAY: +valueSchema = fieldSchema.getElementType(); +valuetype
[17/37] gora git commit: Add optional codecs to support all the datatypes for native serialization
Add optional codecs to support all the datatypes for native serialization Project: http://git-wip-us.apache.org/repos/asf/gora/repo Commit: http://git-wip-us.apache.org/repos/asf/gora/commit/43439820 Tree: http://git-wip-us.apache.org/repos/asf/gora/tree/43439820 Diff: http://git-wip-us.apache.org/repos/asf/gora/diff/43439820 Branch: refs/heads/master Commit: 434398203b50c8bc4a71b116ebfa99ef6d0de8a2 Parents: cc452f8 Author: madhawaAuthored: Wed Jul 12 20:46:02 2017 +0530 Committer: madhawa Committed: Wed Jul 12 20:46:02 2017 +0530 -- .../nativeSerialization/ComplexTypes.java | 102 ++ .../generated/nativeSerialization/User.java | 3 - .../gora/cassandra/store/CassandraClient.java | 134 ++- .../store/CassandraMappingBuilder.java | 4 +- .../gora/cassandra/store/CassandraStore.java| 2 +- .../gora-cassandra-mapping.xml | 19 ++- .../conf/nativeSerialization/gora.properties| 6 +- ...stCassandraStoreWithNativeSerialization.java | 43 ++ 8 files changed, 297 insertions(+), 16 deletions(-) -- http://git-wip-us.apache.org/repos/asf/gora/blob/43439820/gora-cassandra-cql/src/examples/java/org/apache/gora/cassandra/example/generated/nativeSerialization/ComplexTypes.java -- diff --git a/gora-cassandra-cql/src/examples/java/org/apache/gora/cassandra/example/generated/nativeSerialization/ComplexTypes.java b/gora-cassandra-cql/src/examples/java/org/apache/gora/cassandra/example/generated/nativeSerialization/ComplexTypes.java new file mode 100644 index 000..ac8de28 --- /dev/null +++ b/gora-cassandra-cql/src/examples/java/org/apache/gora/cassandra/example/generated/nativeSerialization/ComplexTypes.java @@ -0,0 +1,102 @@ +package org.apache.gora.cassandra.example.generated.nativeSerialization; + +import com.datastax.driver.mapping.annotations.Column; +import com.datastax.driver.mapping.annotations.PartitionKey; +import com.datastax.driver.mapping.annotations.Table; +import org.apache.gora.cassandra.persistent.CassandraNativePersistent; + +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.UUID; + +/** + * Sample class for test native cassandra persistent. + */ +@Table(keyspace = "nativeTestKeySpace", name = "documents", +readConsistency = "QUORUM", +writeConsistency = "QUORUM", +caseSensitiveKeyspace = false, +caseSensitiveTable = true) +public class ComplexTypes extends CassandraNativePersistent { + + @Column + private List listDataType; + @Column + private Map mapDataType; + @Column + private String[] stringArrayDataType; + @Column + private int[] intArrayDataType; + @Column + private Set setDataType; + @PartitionKey + @Column + private String id; + @Column + private List listUUIDDataType; + + public List getListUUIDDataType() { +return listUUIDDataType; + } + + public void setListUUIDDataType(List listUUIDDataType) { +this.listUUIDDataType = listUUIDDataType; + } + + + public ComplexTypes(String id) { +this.id = id; + } + + public List getListDataType() { +return listDataType; + } + + public void setListDataType(List listDataType) { +this.listDataType = listDataType; + } + + public Map getMapDataType() { +return mapDataType; + } + + public void setMapDataType(Map mapDataType) { +this.mapDataType = mapDataType; + } + + public ComplexTypes() { + } + + public String[] getStringArrayDataType() { +return stringArrayDataType; + } + + public void setStringArrayDataType(String[] stringArrayDataType) { +this.stringArrayDataType = stringArrayDataType; + } + + public int[] getIntArrayDataType() { +return intArrayDataType; + } + + public void setIntArrayDataType(int[] intArrayDataType) { +this.intArrayDataType = intArrayDataType; + } + + public Set getSetDataType() { +return setDataType; + } + + public void setSetDataType(Set setDataType) { +this.setDataType = setDataType; + } + + public String getId() { +return id; + } + + public void setId(String id) { +this.id = id; + } +} http://git-wip-us.apache.org/repos/asf/gora/blob/43439820/gora-cassandra-cql/src/examples/java/org/apache/gora/cassandra/example/generated/nativeSerialization/User.java -- diff --git a/gora-cassandra-cql/src/examples/java/org/apache/gora/cassandra/example/generated/nativeSerialization/User.java b/gora-cassandra-cql/src/examples/java/org/apache/gora/cassandra/example/generated/nativeSerialization/User.java index 105dfb7..2b60429 100644 ---
[12/37] gora git commit: Add execute method, get by fields for native serialization
Add execute method, get by fields for native serialization Project: http://git-wip-us.apache.org/repos/asf/gora/repo Commit: http://git-wip-us.apache.org/repos/asf/gora/commit/4ce6a6e4 Tree: http://git-wip-us.apache.org/repos/asf/gora/tree/4ce6a6e4 Diff: http://git-wip-us.apache.org/repos/asf/gora/diff/4ce6a6e4 Branch: refs/heads/master Commit: 4ce6a6e423700c72b99d28c7419aacc1dfe9e1ab Parents: 5e383ef Author: madhawaAuthored: Fri Jul 7 22:18:36 2017 +0530 Committer: madhawa Committed: Fri Jul 7 22:18:36 2017 +0530 -- .../generated/nativeSerialization/User.java | 20 +++- .../gora/cassandra/query/CassandraColumn.java | 51 .../gora/cassandra/query/CassandraQuery.java| 67 +++ .../cassandra/query/CassandraResultSet.java | 82 + .../gora/cassandra/query/CassandraRow.java | 79 .../cassandra/serializers/AvroSerializer.java | 35 +- .../serializers/CassandraQueryFactory.java | 119 +-- .../serializers/CassandraSerializer.java| 39 -- .../cassandra/serializers/NativeSerializer.java | 80 - .../gora/cassandra/store/CassandraClient.java | 5 +- .../gora/cassandra/store/CassandraMapping.java | 18 +++ .../store/CassandraMappingBuilder.java | 6 +- .../gora/cassandra/store/CassandraStore.java| 13 +- .../test/conf/avro/gora-cassandra-mapping.xml | 2 +- .../cassandra/store/TestCassandraStore.java | 95 +++ ...stCassandraStoreWithNativeSerialization.java | 79 +++- 16 files changed, 746 insertions(+), 44 deletions(-) -- http://git-wip-us.apache.org/repos/asf/gora/blob/4ce6a6e4/gora-cassandra-cql/src/examples/java/org/apache/gora/cassandra/example/generated/nativeSerialization/User.java -- diff --git a/gora-cassandra-cql/src/examples/java/org/apache/gora/cassandra/example/generated/nativeSerialization/User.java b/gora-cassandra-cql/src/examples/java/org/apache/gora/cassandra/example/generated/nativeSerialization/User.java index 1e810a0..105dfb7 100644 --- a/gora-cassandra-cql/src/examples/java/org/apache/gora/cassandra/example/generated/nativeSerialization/User.java +++ b/gora-cassandra-cql/src/examples/java/org/apache/gora/cassandra/example/generated/nativeSerialization/User.java @@ -1,3 +1,20 @@ +/* + * 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.gora.cassandra.example.generated.nativeSerialization; import com.datastax.driver.mapping.annotations.Column; @@ -10,9 +27,8 @@ import java.util.Date; import java.util.UUID; /** - * Created by madhawa on 6/23/17. + * Sample class for native cassandra persistent example. */ - @Table(keyspace = "nativeTestKeySpace", name = "users", readConsistency = "QUORUM", writeConsistency = "QUORUM", http://git-wip-us.apache.org/repos/asf/gora/blob/4ce6a6e4/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/query/CassandraColumn.java -- diff --git a/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/query/CassandraColumn.java b/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/query/CassandraColumn.java new file mode 100644 index 000..e95b815 --- /dev/null +++ b/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/query/CassandraColumn.java @@ -0,0 +1,51 @@ +/** + * 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
[05/37] gora git commit: Add doc comments to Cassandra Store Parameters
Add doc comments to Cassandra Store Parameters Project: http://git-wip-us.apache.org/repos/asf/gora/repo Commit: http://git-wip-us.apache.org/repos/asf/gora/commit/516f366c Tree: http://git-wip-us.apache.org/repos/asf/gora/tree/516f366c Diff: http://git-wip-us.apache.org/repos/asf/gora/diff/516f366c Branch: refs/heads/master Commit: 516f366cc27fa2654cf4017fa151cc07ad902a6d Parents: 6617b0b Author: madhawaAuthored: Fri Jun 23 18:18:46 2017 +0530 Committer: madhawa Committed: Fri Jun 23 18:18:46 2017 +0530 -- .../gora/cassandra/store/CassandraStore.java| 173 ++- .../store/CassandraStoreParameters.java | 222 +++ .../apache/gora/cassandra/store/Constants.java | 101 - .../mappingManager/gora-cassandra-mapping.xml | 97 .../test/conf/mappingManager/gora.properties| 30 +++ .../gora/cassandra/GoraCassandraTestDriver.java | 27 ++- .../cassandra/store/TestCassandraStore.java | 89 ...stCassandraStoreWithNativeSerialization.java | 57 + .../test/nativeSerialization/User.java | 122 ++ pom.xml | 2 +- 10 files changed, 620 insertions(+), 300 deletions(-) -- http://git-wip-us.apache.org/repos/asf/gora/blob/516f366c/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/store/CassandraStore.java -- diff --git a/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/store/CassandraStore.java b/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/store/CassandraStore.java index 09123da..7031444 100644 --- a/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/store/CassandraStore.java +++ b/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/store/CassandraStore.java @@ -23,13 +23,12 @@ import com.datastax.driver.core.*; import com.datastax.driver.core.policies.*; import org.apache.gora.cassandra.bean.*; import org.apache.gora.persistency.BeanFactory; -import org.apache.gora.persistency.impl.PersistentBase; +import org.apache.gora.persistency.Persistent; import org.apache.gora.query.PartitionQuery; import org.apache.gora.query.Query; import org.apache.gora.query.Result; +import org.apache.gora.store.DataStore; import org.apache.gora.store.DataStoreFactory; -import org.apache.gora.store.impl.DataStoreBase; -import org.apache.hadoop.conf.Configuration; import org.jdom.Attribute; import org.jdom.Document; import org.jdom.Element; @@ -37,10 +36,9 @@ import org.jdom.input.SAXBuilder; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.io.DataInput; -import java.io.DataOutput; import java.io.IOException; import java.util.List; +import java.util.Locale; import java.util.Properties; /** @@ -49,14 +47,20 @@ import java.util.Properties; * @param key class * @param persistent class */ -public class CassandraStore extends DataStoreBase { +public class CassandraStore implements DataStore { private static final String DEFAULT_MAPPING_FILE = "gora-cassandra-mapping.xml"; public static final Logger LOG = LoggerFactory.getLogger(CassandraStore.class); + private BeanFactory beanFactory; + private Cluster cluster; + private Class keyClass; + + private Class persistentClass; + private CassandraMapping mapping; private boolean isUseCassandraMappingManager; @@ -70,7 +74,7 @@ public class CassandraStore extends DataStoreBase extends DataStoreBase keyClass, Class persistentClass, Properties properties) { LOG.debug("Initializing Cassandra store"); -super.initialize(keyClass, persistentClass, properties); try { + this.keyClass = keyClass; + this.persistentClass = persistentClass; String mappingFile = DataStoreFactory.getMappingFile(properties, this, DEFAULT_MAPPING_FILE); mapping = readMapping(mappingFile); - isUseCassandraMappingManager = Boolean.parseBoolean(properties.getProperty(Constants.USE_CASSANDRA_MAPPING_MANAGER)); + isUseCassandraMappingManager = Boolean.parseBoolean(properties.getProperty(CassandraStoreParameters.USE_CASSANDRA_NATIVE_SERIALIZATION)); Cluster.Builder builder = Cluster.builder(); populateSettings(builder, properties); this.cluster = builder.build(); @@ -128,8 +132,7 @@ public class CassandraStore extends DataStoreBase extends DataStoreBase extends DataStoreBase extends DataStoreBase extends DataStoreBase extends DataStoreBase extends DataStoreBase extends DataStoreBase extends DataStoreBase extends DataStoreBase extends DataStoreBase extends DataStoreBase extends DataStoreBase extends
[19/37] gora git commit: Add avro serialization support
Add avro serialization support Project: http://git-wip-us.apache.org/repos/asf/gora/repo Commit: http://git-wip-us.apache.org/repos/asf/gora/commit/a51b719c Tree: http://git-wip-us.apache.org/repos/asf/gora/tree/a51b719c Diff: http://git-wip-us.apache.org/repos/asf/gora/diff/a51b719c Branch: refs/heads/master Commit: a51b719cb265ec63f9699f74b498efc0d27c1920 Parents: 4343982 Author: madhawaAuthored: Tue Jul 25 00:09:57 2017 +0530 Committer: madhawa Committed: Tue Jul 25 00:09:57 2017 +0530 -- .../src/examples/avro/cassandraKey.json | 21 + .../src/examples/avro/cassandraRecord.json | 106 ++ .../avroSerialization/CassandraKey.java | 380 + .../avroSerialization/CassandraRecord.java | 1293 ++ .../gora/cassandra/bean/CassandraKey.java | 21 +- .../gora/cassandra/bean/ClusterKeyField.java| 16 +- .../gora/cassandra/query/CassandraColumn.java | 51 - .../cassandra/query/CassandraResultSet.java |4 + .../gora/cassandra/query/CassandraRow.java | 79 -- .../serializers/AvroCassandraUtils.java | 274 .../cassandra/serializers/AvroSerializer.java | 250 +++- .../serializers/CassandraQueryFactory.java | 327 - .../serializers/CassandraSerializer.java| 47 +- .../cassandra/serializers/NativeSerializer.java | 43 +- .../gora/cassandra/store/CassandraMapping.java | 67 +- .../store/CassandraMappingBuilder.java | 32 +- .../gora/cassandra/store/CassandraStore.java|2 +- .../test/conf/avro/gora-cassandra-mapping.xml | 49 +- .../compositeKey/gora-cassandra-mapping.xml | 31 +- .../src/test/conf/gora-cassandra-mapping.xml|2 +- .../TestCassandraStoreWithCassandraKey.java | 210 +++ ...stCassandraStoreWithNativeSerialization.java |4 +- 22 files changed, 2954 insertions(+), 355 deletions(-) -- http://git-wip-us.apache.org/repos/asf/gora/blob/a51b719c/gora-cassandra-cql/src/examples/avro/cassandraKey.json -- diff --git a/gora-cassandra-cql/src/examples/avro/cassandraKey.json b/gora-cassandra-cql/src/examples/avro/cassandraKey.json new file mode 100644 index 000..6db3127 --- /dev/null +++ b/gora-cassandra-cql/src/examples/avro/cassandraKey.json @@ -0,0 +1,21 @@ +{ + "type": "record", + "name": "CassandraKey", + "default": null, + "namespace": "org.apache.gora.cassandra.example.generated.avroSerialization", + "fields": [ +{ + "name": "url", + "type": [ +"null", +"string" + ], + "default": null +}, +{ + "name": "timestamp", + "type": "long", + "default": 0 +} + ] +} http://git-wip-us.apache.org/repos/asf/gora/blob/a51b719c/gora-cassandra-cql/src/examples/avro/cassandraRecord.json -- diff --git a/gora-cassandra-cql/src/examples/avro/cassandraRecord.json b/gora-cassandra-cql/src/examples/avro/cassandraRecord.json new file mode 100644 index 000..bd741cd --- /dev/null +++ b/gora-cassandra-cql/src/examples/avro/cassandraRecord.json @@ -0,0 +1,106 @@ +{ + "type": "record", + "name": "CassandraRecord", + "default": null, + "namespace": "org.apache.gora.cassandra.example.generated.avroSerialization", + "fields": [ +{ + "name": "dataString", + "type": "string", + "default": "" +}, +{ + "name": "dataInt", + "type": "int", + "default": 0 +}, +{ + "name": "dataLong", + "type": [ +"null", +"long" + ], + "default": null +}, +{ + "name": "dataDouble", + "type": [ +"null", +"double" + ], + "default": null +}, +{ + "name": "dataBytes", + "type": [ +"null", +"bytes" + ], + "default": null +}, +{ + "name": "arrayInt", + "type": { +"type": "array", +"items": "int" + }, + "default": null +}, +{ + "name": "arrayString", + "type": { +"type": "array", +"items": "string" + }, + "default": null +}, +{ + "name": "arrayLong", + "type": { +"type": "array", +"items": "long" + }, + "default": null +}, +{ + "name": "arrayDouble", + "type": { +"type": "array", +"items": "double" + }, + "default": null +}, +{ + "name": "mapInt", + "type": { +"type": "map", +"values": "int" + }, + "default": {} +}, +{ + "name": "mapString", + "type": { +"type": "map", +"values": "string" + }, + "default": {} +}, +{ + "name": "mapLong", + "type": { +
[13/37] gora git commit: Add delete by Query method for native serialization
Add delete by Query method for native serialization Project: http://git-wip-us.apache.org/repos/asf/gora/repo Commit: http://git-wip-us.apache.org/repos/asf/gora/commit/2fe2c2bb Tree: http://git-wip-us.apache.org/repos/asf/gora/tree/2fe2c2bb Diff: http://git-wip-us.apache.org/repos/asf/gora/diff/2fe2c2bb Branch: refs/heads/master Commit: 2fe2c2bbbffcbeb968e523dd332ad087827b3f92 Parents: 4ce6a6e Author: madhawaAuthored: Sat Jul 8 10:55:27 2017 +0530 Committer: madhawa Committed: Sat Jul 8 10:55:27 2017 +0530 -- .../cassandra/serializers/AvroSerializer.java | 5 + .../serializers/CassandraQueryFactory.java | 131 ++- .../serializers/CassandraSerializer.java| 4 +- .../cassandra/serializers/NativeSerializer.java | 13 ++ .../gora/cassandra/store/CassandraStore.java| 12 +- .../gora-cassandra-mapping.xml | 2 +- .../cassandra/store/TestCassandraStore.java | 95 -- ...stCassandraStoreWithNativeSerialization.java | 43 +- 8 files changed, 164 insertions(+), 141 deletions(-) -- http://git-wip-us.apache.org/repos/asf/gora/blob/2fe2c2bb/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/serializers/AvroSerializer.java -- diff --git a/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/serializers/AvroSerializer.java b/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/serializers/AvroSerializer.java index d5dd548..8061a80 100644 --- a/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/serializers/AvroSerializer.java +++ b/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/serializers/AvroSerializer.java @@ -75,4 +75,9 @@ public class AvroSerializer extends CassandraSerial return null; } + @Override + public long deleteByQuery(Query query) { +return 0; + } + } http://git-wip-us.apache.org/repos/asf/gora/blob/2fe2c2bb/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/serializers/CassandraQueryFactory.java -- diff --git a/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/serializers/CassandraQueryFactory.java b/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/serializers/CassandraQueryFactory.java index 3939c34..2a980e5 100644 --- a/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/serializers/CassandraQueryFactory.java +++ b/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/serializers/CassandraQueryFactory.java @@ -16,6 +16,7 @@ */ package org.apache.gora.cassandra.serializers; +import com.datastax.driver.core.querybuilder.Delete; import com.datastax.driver.core.querybuilder.QueryBuilder; import com.datastax.driver.core.querybuilder.Select; import org.apache.gora.cassandra.bean.CassandraKey; @@ -27,6 +28,7 @@ import org.apache.gora.cassandra.query.CassandraRow; import org.apache.gora.cassandra.store.CassandraMapping; import org.apache.gora.query.Query; +import java.util.Arrays; import java.util.List; import java.util.Map; @@ -290,64 +292,125 @@ class CassandraQueryFactory { } - static String getExecuteQuery(CassandraMapping mapping, Query cassandraQuery, List objects ) { + static String getExecuteQuery(CassandraMapping mapping, Query cassandraQuery, List objects) { String[] fields = cassandraQuery.getFields(); fields = fields != null ? fields : mapping.getFieldNames(); Object startKey = cassandraQuery.getStartKey(); Object endKey = cassandraQuery.getEndKey(); -long limit = cassandraQuery.getLimit(); -Select select = QueryBuilder.select(getColumnNames(mapping,fields)).from(mapping.getKeySpace().getName(), mapping.getCoreName()); -if(limit > 0) { - select = select.limit((int)limit); +Object key = cassandraQuery.getKey(); +String primaryKey = null; +long limit = cassandraQuery.getLimit(); +Select select = QueryBuilder.select(getColumnNames(mapping, fields)).from(mapping.getKeySpace().getName(), mapping.getCoreName()); +if (limit > 0) { + select = select.limit((int) limit); } Select.Where query = null; boolean isWhereNeeded = true; -if(startKey != null) { - if (mapping.getCassandraKey() != null) { +if (key != null) { + primaryKey = getPKey(mapping.getFieldList()); + query = select.where(QueryBuilder.eq(primaryKey, "?")); + objects.add(key); +} else { + if (startKey != null) { +if (mapping.getCassandraKey() != null) { //todo avro serialization - } else { -for (Field field : mapping.getFieldList()) { - boolean isPrimaryKey = Boolean.parseBoolean(field.getProperty("primarykey")); - if (isPrimaryKey)
[01/37] gora git commit: Initial commit gora cassandra cql with Connection parameters
Repository: gora Updated Branches: refs/heads/master 837b12606 -> 3d4e1d69a Initial commit gora cassandra cql with Connection parameters Project: http://git-wip-us.apache.org/repos/asf/gora/repo Commit: http://git-wip-us.apache.org/repos/asf/gora/commit/cd3522aa Tree: http://git-wip-us.apache.org/repos/asf/gora/tree/cd3522aa Diff: http://git-wip-us.apache.org/repos/asf/gora/diff/cd3522aa Branch: refs/heads/master Commit: cd3522aa47c542594dc9cc4d91b023a65db71ae9 Parents: d5e5560 Author: madhawa-gunasekaraAuthored: Tue Jun 13 01:03:21 2017 +0530 Committer: madhawa Committed: Fri Jun 16 23:27:12 2017 +0530 -- gora-cassandra-cql/pom.xml | 230 + gora-cassandra-cql/src/examples/java/.gitignore | 15 + .../org/apache/gora/cassandra/package-info.java | 20 + .../gora/cassandra/query/package-info.java | 21 + .../cassandra/serializers/package-info.java | 20 + .../gora/cassandra/store/CassandraStore.java| 516 +++ .../apache/gora/cassandra/store/Constants.java | 100 .../gora/cassandra/store/package-info.java | 20 + gora-cassandra-cql/src/test/conf/cassandra.yaml | 418 +++ .../src/test/conf/gora-cassandra-mapping.xml| 95 .../src/test/conf/gora.properties | 30 ++ .../src/test/conf/log4j-server.properties | 48 ++ gora-cassandra-cql/src/test/java/.gitignore | 15 + .../gora/cassandra/GoraCassandraTestDriver.java | 157 ++ .../org/apache/gora/cassandra/package-info.java | 21 + .../cassandra/store/TestCassandraStore.java | 92 .../gora/cassandra/store/package-info.java | 21 + pom.xml | 1 + 18 files changed, 1840 insertions(+) -- http://git-wip-us.apache.org/repos/asf/gora/blob/cd3522aa/gora-cassandra-cql/pom.xml -- diff --git a/gora-cassandra-cql/pom.xml b/gora-cassandra-cql/pom.xml new file mode 100644 index 000..b17fd41 --- /dev/null +++ b/gora-cassandra-cql/pom.xml @@ -0,0 +1,230 @@ + + + +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;> + +4.0.0 + + +org.apache.gora +gora +0.8-SNAPSHOT +../ + +gora-cassandra-cql +bundle + +Apache Gora :: Cassandra - CQL +http://gora.apache.org +The Apache Gora open source framework provides an in-memory data model and +persistence for big data. Gora supports persisting to column stores, key value stores, +document stores and RDBMSs, and analyzing the data with extensive Apache Hadoop MapReduce +support. +2010 + +The Apache Software Foundation +http://www.apache.org/ + + +JIRA +https://issues.apache.org/jira/browse/GORA + + +Jenkins +https://builds.apache.org/job/Gora-trunk/ + + + +* + org.apache.gora.cassandra*;version="${project.version}";-noimport:=true + + + +target +target/classes +${project.artifactId}-${project.version} +target/test-classes +src/test/java +src/main/java + + +${project.basedir}/src/test/conf + + **/* + + + + + + +org.codehaus.mojo +build-helper-maven-plugin +${build-helper-maven-plugin.version} + + +generate-sources + +add-source + + + +src/examples/java + + + + + + + + + + + + + +org.xerial.snappy +snappy-java +1.0.5-M3 +test + + + + +org.apache.gora +gora-core + + + +org.apache.gora +gora-core +test-jar +test + + + + +com.datastax.cassandra +cassandra-driver-core +${cassandra-driver.version} + + +com.google.guava +guava + + + + + + +org.apache.cassandra +cassandra-all +test + + +
[33/37] gora git commit: Add java docs for Native Compiler
Add java docs for Native Compiler Project: http://git-wip-us.apache.org/repos/asf/gora/repo Commit: http://git-wip-us.apache.org/repos/asf/gora/commit/b1f906c2 Tree: http://git-wip-us.apache.org/repos/asf/gora/tree/b1f906c2 Diff: http://git-wip-us.apache.org/repos/asf/gora/diff/b1f906c2 Branch: refs/heads/master Commit: b1f906c263217909d7c8ba555eb2464ea120ade5 Parents: 266ebf4 Author: madhawa-gunasekaraAuthored: Mon Aug 14 00:39:52 2017 +0530 Committer: madhawa-gunasekara Committed: Mon Aug 14 00:39:52 2017 +0530 -- .../gora/cassandra/compiler/GoraCassandraNativeCompiler.java | 8 1 file changed, 8 insertions(+) -- http://git-wip-us.apache.org/repos/asf/gora/blob/b1f906c2/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/compiler/GoraCassandraNativeCompiler.java -- diff --git a/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/compiler/GoraCassandraNativeCompiler.java b/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/compiler/GoraCassandraNativeCompiler.java index 369ff31..fd34a48 100644 --- a/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/compiler/GoraCassandraNativeCompiler.java +++ b/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/compiler/GoraCassandraNativeCompiler.java @@ -34,6 +34,14 @@ import java.nio.charset.Charset; import java.util.List; import java.util.Locale; +/** + * This class generate Java classes for Cassandra Native Serialization. + * + * Generate specific Java classes for defined Gora cassandra mapping. + * Different from the @see org.apache.gora.compiler.GoraCompiler, + * which uses an .avsc or .json schema definition, this compiler + * expects an XML mapping file as input. + */ public class GoraCassandraNativeCompiler { private static final Logger log = LoggerFactory.getLogger(GoraCassandraNativeCompiler.class);
[11/37] gora git commit: Refactored the code
Refactored the code Project: http://git-wip-us.apache.org/repos/asf/gora/repo Commit: http://git-wip-us.apache.org/repos/asf/gora/commit/5e383ef9 Tree: http://git-wip-us.apache.org/repos/asf/gora/tree/5e383ef9 Diff: http://git-wip-us.apache.org/repos/asf/gora/diff/5e383ef9 Branch: refs/heads/master Commit: 5e383ef974541804382a639b79e3efbf6b03d2b2 Parents: 89109b8 Author: madhawaAuthored: Wed Jun 28 23:45:18 2017 +0530 Committer: madhawa Committed: Wed Jun 28 23:48:54 2017 +0530 -- gora-cassandra-cql/pom.xml | 10 - gora-cassandra-cql/src/examples/java/.gitignore | 15 - .../generated/nativeSerialization/User.java | 66 ++ .../persistent/CassandraNativePersistent.java | 109 .../cassandra/serializers/AvroSerializer.java | 51 ++ .../serializers/CassandraNativePersistent.java | 91 --- .../serializers/CassandraQueryFactory.java | 248 .../serializers/CassandraSerializer.java| 105 +++ .../cassandra/serializers/NativeSerializer.java | 61 ++ .../gora/cassandra/store/CassandraClient.java | 368 +++ .../store/CassandraMappingBuilder.java | 234 +++ .../cassandra/store/CassandraQueryFactory.java | 224 --- .../gora/cassandra/store/CassandraStore.java| 636 ++- .../store/CassandraStoreParameters.java | 2 +- .../test/conf/avro/gora-cassandra-mapping.xml | 73 +++ .../gora-cassandra-mapping.xml | 2 +- gora-cassandra-cql/src/test/java/.gitignore | 15 - ...stCassandraStoreWithNativeSerialization.java | 25 +- .../nativeSerialization/DateAsStringCodec.java | 17 + .../test/nativeSerialization/User.java | 66 -- 20 files changed, 1404 insertions(+), 1014 deletions(-) -- http://git-wip-us.apache.org/repos/asf/gora/blob/5e383ef9/gora-cassandra-cql/pom.xml -- diff --git a/gora-cassandra-cql/pom.xml b/gora-cassandra-cql/pom.xml index d56e07a..13e5a1a 100644 --- a/gora-cassandra-cql/pom.xml +++ b/gora-cassandra-cql/pom.xml @@ -110,16 +110,6 @@ - - - - -org.xerial.snappy -snappy-java -1.0.5-M3 -test - - org.apache.gora http://git-wip-us.apache.org/repos/asf/gora/blob/5e383ef9/gora-cassandra-cql/src/examples/java/.gitignore -- diff --git a/gora-cassandra-cql/src/examples/java/.gitignore b/gora-cassandra-cql/src/examples/java/.gitignore deleted file mode 100644 index 09697dc..000 --- a/gora-cassandra-cql/src/examples/java/.gitignore +++ /dev/null @@ -1,15 +0,0 @@ -# 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. - http://git-wip-us.apache.org/repos/asf/gora/blob/5e383ef9/gora-cassandra-cql/src/examples/java/org/apache/gora/cassandra/example/generated/nativeSerialization/User.java -- diff --git a/gora-cassandra-cql/src/examples/java/org/apache/gora/cassandra/example/generated/nativeSerialization/User.java b/gora-cassandra-cql/src/examples/java/org/apache/gora/cassandra/example/generated/nativeSerialization/User.java new file mode 100644 index 000..1e810a0 --- /dev/null +++ b/gora-cassandra-cql/src/examples/java/org/apache/gora/cassandra/example/generated/nativeSerialization/User.java @@ -0,0 +1,66 @@ +package org.apache.gora.cassandra.example.generated.nativeSerialization; + +import com.datastax.driver.mapping.annotations.Column; +import com.datastax.driver.mapping.annotations.PartitionKey; +import com.datastax.driver.mapping.annotations.Table; +import com.datastax.driver.mapping.annotations.Transient; +import org.apache.gora.cassandra.persistent.CassandraNativePersistent; + +import java.util.Date; +import java.util.UUID; + +/** + * Created by madhawa on 6/23/17. + */ + +@Table(keyspace = "nativeTestKeySpace", name = "users", +readConsistency = "QUORUM", +writeConsistency = "QUORUM", +
[35/37] gora git commit: Fix code formatting
Fix code formatting Project: http://git-wip-us.apache.org/repos/asf/gora/repo Commit: http://git-wip-us.apache.org/repos/asf/gora/commit/683d902d Tree: http://git-wip-us.apache.org/repos/asf/gora/tree/683d902d Diff: http://git-wip-us.apache.org/repos/asf/gora/diff/683d902d Branch: refs/heads/master Commit: 683d902dc66c21b2353292880a00e0e149e548d4 Parents: 1fba416 Author: madhawaAuthored: Sun Aug 20 20:50:49 2017 +0530 Committer: madhawa Committed: Sun Aug 20 22:13:01 2017 +0530 -- .../serializers/CassandraSerializer.java| 2 +- .../store/CassandraMappingBuilder.java | 36 .../store/CassandraStoreParameters.java | 2 +- .../test/conf/avro/gora-cassandra-mapping.xml | 2 +- .../conf/avroUDT/gora-cassandra-mapping.xml | 2 +- .../gora-cassandra-mapping.xml | 2 +- .../conf/nativeUDT/gora-cassandra-mapping.xml | 2 +- 7 files changed, 28 insertions(+), 20 deletions(-) -- http://git-wip-us.apache.org/repos/asf/gora/blob/683d902d/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/serializers/CassandraSerializer.java -- diff --git a/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/serializers/CassandraSerializer.java b/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/serializers/CassandraSerializer.java index 5f15743..6a20a35 100644 --- a/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/serializers/CassandraSerializer.java +++ b/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/serializers/CassandraSerializer.java @@ -80,7 +80,7 @@ public abstract class CassandraSerializer { * @return Serializer */ public static CassandraSerializer getSerializer(CassandraClient cc, String type, final DataStore dataStore, CassandraMapping mapping) { -CassandraStore.SerializerType serType = type.isEmpty() ? CassandraStore.SerializerType.NATIVE : CassandraStore.SerializerType.valueOf(type.toUpperCase(Locale.ENGLISH)); +CassandraStore.SerializerType serType = type == null || type.isEmpty() ? CassandraStore.SerializerType.NATIVE : CassandraStore.SerializerType.valueOf(type.toUpperCase(Locale.ENGLISH)); CassandraSerializer serializer; switch (serType) { case AVRO: http://git-wip-us.apache.org/repos/asf/gora/blob/683d902d/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/store/CassandraMappingBuilder.java -- diff --git a/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/store/CassandraMappingBuilder.java b/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/store/CassandraMappingBuilder.java index fa988d9..f1fe8d4 100644 --- a/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/store/CassandraMappingBuilder.java +++ b/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/store/CassandraMappingBuilder.java @@ -59,7 +59,10 @@ public class CassandraMappingBuilder { } private static int getReplicationFactor(Element element) { -String value = element.getAttributeValue("replication_factor"); +if (element == null) { + return 1; +} +String value = element.getAttributeValue("replicationFactor"); if (value == null) { return 1; } else { @@ -213,19 +216,24 @@ public class CassandraMappingBuilder { } } Element placementStrategy = keyspaceElement.getChild("placementStrategy"); -switch (KeySpace.PlacementStrategy.valueOf(placementStrategy.getAttributeValue("name"))) { - case SimpleStrategy: - keyspace.setPlacementStrategy(KeySpace.PlacementStrategy.SimpleStrategy); -keyspace.setReplicationFactor(getReplicationFactor(placementStrategy)); -break; - case NetworkTopologyStrategy: -List dataCenters = placementStrategy.getChildren("datacenter"); - keyspace.setPlacementStrategy(KeySpace.PlacementStrategy.NetworkTopologyStrategy); -for (Element dataCenter : dataCenters) { - String dataCenterName = dataCenter.getAttributeValue("name"); - keyspace.addDataCenter(dataCenterName, getReplicationFactor(dataCenter)); -} -break; +if (placementStrategy != null) { + switch (KeySpace.PlacementStrategy.valueOf(placementStrategy.getAttributeValue("name"))) { +case SimpleStrategy: + keyspace.setPlacementStrategy(KeySpace.PlacementStrategy.SimpleStrategy); + keyspace.setReplicationFactor(getReplicationFactor(placementStrategy)); + break; +case NetworkTopologyStrategy: + List dataCenters =
[15/37] gora git commit: Add getPartitions Method
Add getPartitions Method Project: http://git-wip-us.apache.org/repos/asf/gora/repo Commit: http://git-wip-us.apache.org/repos/asf/gora/commit/4ebfabb1 Tree: http://git-wip-us.apache.org/repos/asf/gora/tree/4ebfabb1 Diff: http://git-wip-us.apache.org/repos/asf/gora/diff/4ebfabb1 Branch: refs/heads/master Commit: 4ebfabb194c88fa10db51d6f2db6282a357ae15d Parents: 163624a Author: madhawaAuthored: Sat Jul 8 11:54:05 2017 +0530 Committer: madhawa Committed: Sat Jul 8 11:54:05 2017 +0530 -- .../org/apache/gora/cassandra/store/CassandraStore.java | 9 - 1 file changed, 8 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/gora/blob/4ebfabb1/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/store/CassandraStore.java -- diff --git a/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/store/CassandraStore.java b/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/store/CassandraStore.java index e6cf373..8a100aa 100644 --- a/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/store/CassandraStore.java +++ b/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/store/CassandraStore.java @@ -25,12 +25,15 @@ import org.apache.gora.persistency.Persistent; import org.apache.gora.query.PartitionQuery; import org.apache.gora.query.Query; import org.apache.gora.query.Result; +import org.apache.gora.query.impl.PartitionQueryImpl; +import org.apache.gora.query.ws.impl.PartitionWSQueryImpl; import org.apache.gora.store.DataStore; import org.apache.gora.store.DataStoreFactory; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.IOException; +import java.util.ArrayList; import java.util.List; import java.util.Properties; @@ -227,7 +230,11 @@ public class CassandraStore implements DataStore @Override public List > getPartitions(Query query) throws IOException { -return null; +List > partitions = new ArrayList<>(); +PartitionWSQueryImpl pqi = new PartitionWSQueryImpl<>(query); +pqi.setDataStore(this); +partitions.add(pqi); +return partitions; } @Override
[16/37] gora git commit: Add updateByQuery for native serialization
Add updateByQuery for native serialization Project: http://git-wip-us.apache.org/repos/asf/gora/repo Commit: http://git-wip-us.apache.org/repos/asf/gora/commit/cc452f8d Tree: http://git-wip-us.apache.org/repos/asf/gora/tree/cc452f8d Diff: http://git-wip-us.apache.org/repos/asf/gora/diff/cc452f8d Branch: refs/heads/master Commit: cc452f8dc0d864c50279dfa61d56e57e5e40a740 Parents: 4ebfabb Author: madhawaAuthored: Sat Jul 8 15:02:54 2017 +0530 Committer: madhawa Committed: Sat Jul 8 15:02:54 2017 +0530 -- .../gora/cassandra/query/CassandraQuery.java| 35 .../cassandra/serializers/AvroSerializer.java | 4 ++ .../serializers/CassandraQueryFactory.java | 60 ++-- .../serializers/CassandraSerializer.java| 2 + .../cassandra/serializers/NativeSerializer.java | 13 + .../gora/cassandra/store/CassandraStore.java| 19 +++ ...stCassandraStoreWithNativeSerialization.java | 22 +++ 7 files changed, 129 insertions(+), 26 deletions(-) -- http://git-wip-us.apache.org/repos/asf/gora/blob/cc452f8d/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/query/CassandraQuery.java -- diff --git a/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/query/CassandraQuery.java b/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/query/CassandraQuery.java index 251e9df..c3f2e81 100644 --- a/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/query/CassandraQuery.java +++ b/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/query/CassandraQuery.java @@ -6,9 +6,9 @@ * 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 - * + * + * 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. @@ -20,22 +20,21 @@ package org.apache.gora.cassandra.query; import org.apache.gora.filter.Filter; import org.apache.gora.persistency.Persistent; -import org.apache.gora.persistency.impl.PersistentBase; import org.apache.gora.query.Query; -import org.apache.gora.query.Result; -import org.apache.gora.query.impl.QueryBase; import org.apache.gora.query.ws.impl.QueryWSBase; import org.apache.gora.store.DataStore; -import org.apache.hadoop.conf.Configurable; -import org.apache.hadoop.io.Writable; + +import java.util.HashMap; +import java.util.Map; /** * Cassandra specific implementation of the {@link Query} interface. */ -public class CassandraQuery extends QueryWSBase { +public class CassandraQuery extends QueryWSBase { protected Filter filter; - protected boolean localFilterEnabled=true; + protected boolean localFilterEnabled = true; + protected Map updateFields = new HashMap<>(); public CassandraQuery(DataStore dataStore) { super(dataStore); @@ -61,7 +60,21 @@ public class CassandraQuery extends QueryWSBase { localFilterEnabled = enable; } - public void addUpdateField(String field, Object oldValue, Object newValue) { + public void addUpdateField(String field, Object newValue) { +updateFields.put(field, newValue); + } + public Object getUpdateFieldValue(String key) { +return updateFields.get(key); + } + + @Override + public String[] getFields() { +if(updateFields.size() == 0) { + return super.getFields(); +} else { + String[] updateFieldsArray = new String[updateFields.size()]; + return updateFields.keySet().toArray(updateFieldsArray); +} } } http://git-wip-us.apache.org/repos/asf/gora/blob/cc452f8d/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/serializers/AvroSerializer.java -- diff --git a/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/serializers/AvroSerializer.java b/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/serializers/AvroSerializer.java index 83676dc..3b626a4 100644 --- a/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/serializers/AvroSerializer.java +++ b/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/serializers/AvroSerializer.java @@ -80,4 +80,8 @@ class AvroSerializer extends CassandraSerializer { return 0; } + @Override + public boolean updateByQuery(Query query) { +return false; + } }
[31/37] gora git commit: Fix code review comments
Fix code review comments Project: http://git-wip-us.apache.org/repos/asf/gora/repo Commit: http://git-wip-us.apache.org/repos/asf/gora/commit/0de528ef Tree: http://git-wip-us.apache.org/repos/asf/gora/tree/0de528ef Diff: http://git-wip-us.apache.org/repos/asf/gora/diff/0de528ef Branch: refs/heads/master Commit: 0de528effcfa595ff9f9c5cb3d0c7eaf18392554 Parents: 2695207 Author: madhawa-gunasekaraAuthored: Sun Aug 13 15:52:43 2017 +0530 Committer: madhawa-gunasekara Committed: Sun Aug 13 19:28:18 2017 +0530 -- .../compiler/GoraCassandraNativeCompiler.java | 2 +- .../gora/cassandra/query/CassandraQuery.java| 27 + .../cassandra/query/CassandraResultSet.java | 5 +- .../serializers/AvroCassandraUtils.java | 2 +- .../cassandra/serializers/AvroSerializer.java | 94 ++- .../serializers/CassandraQueryFactory.java | 34 -- .../serializers/CassandraSerializer.java| 102 .../cassandra/serializers/NativeSerializer.java | 73 ++- .../gora/cassandra/store/CassandraClient.java | 6 +- .../gora/cassandra/store/CassandraMapping.java | 7 +- .../gora/cassandra/store/CassandraStore.java| 120 ++- .../gora/cassandra/GoraCassandraTestDriver.java | 3 - .../store/TestAvroSerializationWithUDT.java | 3 + .../cassandra/store/TestCassandraStore.java | 44 ++- .../store/TestNativeSerializationWithUDT.java | 3 + 15 files changed, 405 insertions(+), 120 deletions(-) -- http://git-wip-us.apache.org/repos/asf/gora/blob/0de528ef/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/compiler/GoraCassandraNativeCompiler.java -- diff --git a/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/compiler/GoraCassandraNativeCompiler.java b/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/compiler/GoraCassandraNativeCompiler.java index 77d6777..369ff31 100644 --- a/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/compiler/GoraCassandraNativeCompiler.java +++ b/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/compiler/GoraCassandraNativeCompiler.java @@ -64,7 +64,7 @@ public class GoraCassandraNativeCompiler { } /** - * Generates Java classes for a schema. + * Generates Java classes for a mapping. */ private static void compileSchema(File src, File dest) throws Exception { log.info("Compiling {} to {}", src, dest); http://git-wip-us.apache.org/repos/asf/gora/blob/0de528ef/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/query/CassandraQuery.java -- diff --git a/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/query/CassandraQuery.java b/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/query/CassandraQuery.java index 1479686..919e946 100644 --- a/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/query/CassandraQuery.java +++ b/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/query/CassandraQuery.java @@ -40,34 +40,61 @@ public class CassandraQuery extends QueryWSBase { super(dataStore); } + /** + * {@inheritDoc} + */ @Override public Filter getFilter() { return filter; } + /** + * {@inheritDoc} + */ @Override public void setFilter(Filter filter) { this.filter = filter; } + /** + * {@inheritDoc} + */ @Override public boolean isLocalFilterEnabled() { return localFilterEnabled; } + /** + * {@inheritDoc} + */ @Override public void setLocalFilterEnabled(boolean enable) { localFilterEnabled = enable; } + /** + * This method adds Update field with the relevant Value + * + * @param fieldfield Name + * @param newValue New Value of the field + */ public void addUpdateField(String field, Object newValue) { updateFields.put(field, newValue); } + /** + * This method returns the updated field value of the particular field. + * + * @param key Field Name + * @return Object value + */ public Object getUpdateFieldValue(String key) { return updateFields.get(key); } + /** + * {@inheritDoc} + */ @Override public String[] getFields() { if (updateFields.size() == 0) { http://git-wip-us.apache.org/repos/asf/gora/blob/0de528ef/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/query/CassandraResultSet.java -- diff --git a/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/query/CassandraResultSet.java b/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/query/CassandraResultSet.java index
[20/37] gora git commit: Fix review comments
http://git-wip-us.apache.org/repos/asf/gora/blob/c5352b0e/gora-cassandra-cql/src/examples/java/org/apache/gora/cassandra/example/generated/avroSerialization/CassandraRecord.java -- diff --git a/gora-cassandra-cql/src/examples/java/org/apache/gora/cassandra/example/generated/avroSerialization/CassandraRecord.java b/gora-cassandra-cql/src/examples/java/org/apache/gora/cassandra/example/generated/avroSerialization/CassandraRecord.java deleted file mode 100644 index 4a92882..000 --- a/gora-cassandra-cql/src/examples/java/org/apache/gora/cassandra/example/generated/avroSerialization/CassandraRecord.java +++ /dev/null @@ -1,1293 +0,0 @@ -/** - *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.gora.cassandra.example.generated.avroSerialization; - -public class CassandraRecord extends org.apache.gora.persistency.impl.PersistentBase implements org.apache.avro.specific.SpecificRecord, org.apache.gora.persistency.Persistent { - public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"CassandraRecord\",\"namespace\":\"org.apache.gora.cassandra.example.generated.avroSerialization\",\"fields\":[{\"name\":\"dataString\",\"type\":\"string\",\"default\":\"\"},{\"name\":\"dataInt\",\"type\":\"int\",\"default\":0},{\"name\":\"dataLong\",\"type\":[\"null\",\"long\"],\"default\":null},{\"name\":\"dataDouble\",\"type\":[\"null\",\"double\"],\"default\":null},{\"name\":\"dataBytes\",\"type\":[\"null\",\"bytes\"],\"default\":null},{\"name\":\"arrayInt\",\"type\":{\"type\":\"array\",\"items\":\"int\"},\"default\":null},{\"name\":\"arrayString\",\"type\":{\"type\":\"array\",\"items\":\"string\"},\"default\":null},{\"name\":\"arrayLong\",\"type\":{\"type\":\"array\",\"items\":\"long\"},\"default\":null},{\"name\":\"arrayDouble\",\"type\":{\"type\":\"array\",\"items\":\"double\"},\"default\":null},{\"name\":\"mapInt\",\"type\":{\"type\":\"map\",\"valu es\":\"int\"},\"default\":{}},{\"name\":\"mapString\",\"type\":{\"type\":\"map\",\"values\":\"string\"},\"default\":{}},{\"name\":\"mapLong\",\"type\":{\"type\":\"map\",\"values\":\"long\"},\"default\":{}},{\"name\":\"mapDouble\",\"type\":{\"type\":\"map\",\"values\":\"double\"},\"default\":{}}],\"default\":null}"); - private static final long serialVersionUID = 5865822911454498901L; - /** Enum containing all data bean's fields. */ - public static enum Field { -DATA_STRING(0, "dataString"), -DATA_INT(1, "dataInt"), -DATA_LONG(2, "dataLong"), -DATA_DOUBLE(3, "dataDouble"), -DATA_BYTES(4, "dataBytes"), -ARRAY_INT(5, "arrayInt"), -ARRAY_STRING(6, "arrayString"), -ARRAY_LONG(7, "arrayLong"), -ARRAY_DOUBLE(8, "arrayDouble"), -MAP_INT(9, "mapInt"), -MAP_STRING(10, "mapString"), -MAP_LONG(11, "mapLong"), -MAP_DOUBLE(12, "mapDouble"), -; -/** - * Field's index. - */ -private int index; - -/** - * Field's name. - */ -private String name; - -/** - * Field's constructor - * @param index field's index. - * @param name field's name. - */ -Field(int index, String name) {this.index=index;this.name=name;} - -/** - * Gets field's index. - * @return int field's index. - */ -public int getIndex() {return index;} - -/** - * Gets field's name. - * @return String field's name. - */ -public String getName() {return name;} - -/** - * Gets field's attributes to string. - * @return String field's attributes to string. - */ -public String toString() {return name;} - }; - - public static final String[] _ALL_FIELDS = { - "dataString", - "dataInt", - "dataLong", - "dataDouble", - "dataBytes", - "arrayInt", - "arrayString", - "arrayLong", - "arrayDouble", - "mapInt", - "mapString", - "mapLong", - "mapDouble", - }; - - /** - * Gets the total field count. - * @return int field count - */ - public int getFieldsCount() { -return CassandraRecord._ALL_FIELDS.length; - } - - private java.lang.CharSequence dataString; - private int dataInt; - private java.lang.Long dataLong; - private java.lang.Double
[09/37] gora git commit: Add tests for schemaExists and truncateSchema methods
Add tests for schemaExists and truncateSchema methods Project: http://git-wip-us.apache.org/repos/asf/gora/repo Commit: http://git-wip-us.apache.org/repos/asf/gora/commit/89109b85 Tree: http://git-wip-us.apache.org/repos/asf/gora/tree/89109b85 Diff: http://git-wip-us.apache.org/repos/asf/gora/diff/89109b85 Branch: refs/heads/master Commit: 89109b855537050f5b9d125a88d26ca2c1d12f78 Parents: 2695794 Author: madhawaAuthored: Sun Jun 25 02:35:02 2017 +0530 Committer: madhawa Committed: Sun Jun 25 02:41:37 2017 +0530 -- .../cassandra/store/CassandraQueryFactory.java | 146 ++- .../gora/cassandra/store/CassandraStore.java| 31 ++-- .../compositeKey/gora-cassandra-mapping.xml | 78 ++ ...stCassandraStoreWithNativeSerialization.java | 34 - 4 files changed, 272 insertions(+), 17 deletions(-) -- http://git-wip-us.apache.org/repos/asf/gora/blob/89109b85/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/store/CassandraQueryFactory.java -- diff --git a/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/store/CassandraQueryFactory.java b/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/store/CassandraQueryFactory.java index 422fbc6..fc90c5f 100644 --- a/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/store/CassandraQueryFactory.java +++ b/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/store/CassandraQueryFactory.java @@ -16,9 +16,13 @@ */ package org.apache.gora.cassandra.store; +import org.apache.gora.cassandra.bean.CassandraKey; +import org.apache.gora.cassandra.bean.ClusterKeyField; import org.apache.gora.cassandra.bean.Field; import org.apache.gora.cassandra.bean.KeySpace; +import org.apache.gora.cassandra.bean.PartitionKeyField; +import java.util.List; import java.util.Map; /** @@ -26,6 +30,13 @@ import java.util.Map; */ class CassandraQueryFactory { + /** + * This method returns the CQL query to create key space. + * refer : http://docs.datastax.com/en/cql/3.1/cql/cql_reference/create_keyspace_r.html + * + * @param mapping Cassandra Mapping + * @return CQL Query + */ static String getCreateKeySpaceQuery(CassandraMapping mapping) { KeySpace keySpace = mapping.getKeySpace(); StringBuilder stringBuffer = new StringBuilder(); @@ -59,6 +70,25 @@ class CassandraQueryFactory { StringBuilder stringBuffer = new StringBuilder(); stringBuffer.append("CREATE TABLE IF NOT EXISTS ").append(mapping.getKeySpace().getName()).append(".").append(mapping.getCoreName()).append(" ("); boolean isCommaNeeded = false; +CassandraKey cassandraKey = mapping.getCassandraKey(); +// appending Cassandra key columns into db schema +if (cassandraKey != null) { + for (PartitionKeyField partitionKeyField : cassandraKey.getPartitionKeyFields()) { +if (partitionKeyField.isComposite()) { + for (Field compositeField : partitionKeyField.getFields()) { +stringBuffer = processFields(stringBuffer, compositeField, isCommaNeeded); + } + +} else { + stringBuffer = processFields(stringBuffer, partitionKeyField, isCommaNeeded); +} +isCommaNeeded = true; + } + for (ClusterKeyField clusterKeyField : cassandraKey.getClusterKeyFields()) { +stringBuffer = processFields(stringBuffer, clusterKeyField, isCommaNeeded); + } +} +// appending Other columns for (Field field : mapping.getFieldList()) { if (isCommaNeeded) { stringBuffer.append(", "); @@ -69,22 +99,126 @@ class CassandraQueryFactory { if (isStaticColumn) { stringBuffer.append(" STATIC"); } - if(isPrimaryKey) { + if (isPrimaryKey) { stringBuffer.append(" PRIMARY KEY "); } isCommaNeeded = true; } +if (cassandraKey != null) { + List pkey = cassandraKey.getPartitionKeyFields(); + if (pkey != null) { +stringBuffer.append(", PRIMARY KEY ("); +boolean isCommaNeededToApply = false; +for (PartitionKeyField keyField : pkey) { + if (isCommaNeededToApply) { +stringBuffer.append(","); + } + if (keyField.isComposite()) { +stringBuffer.append("("); +boolean isCommaNeededHere = false; +for (Field field : keyField.getFields()) { + if (isCommaNeededHere) { +stringBuffer.append(", "); + } + stringBuffer.append(field.getColumnName()); + isCommaNeededHere = true; +} +stringBuffer.append(")"); + } else { +stringBuffer.append(keyField.getColumnName()); + } + isCommaNeededToApply =
[37/37] gora git commit: Merge branch 'ISSUE-497'
Merge branch 'ISSUE-497' Project: http://git-wip-us.apache.org/repos/asf/gora/repo Commit: http://git-wip-us.apache.org/repos/asf/gora/commit/3d4e1d69 Tree: http://git-wip-us.apache.org/repos/asf/gora/tree/3d4e1d69 Diff: http://git-wip-us.apache.org/repos/asf/gora/diff/3d4e1d69 Branch: refs/heads/master Commit: 3d4e1d69a27b96583cc9c8ccc1cd4abc9a7bf0b9 Parents: 837b126 ce78ef5 Author: Lewis John McGibbneyAuthored: Wed Aug 23 13:54:52 2017 -0700 Committer: Lewis John McGibbney Committed: Wed Aug 23 13:54:52 2017 -0700 -- bin/gora|5 + gora-cassandra-cql/pom.xml | 219 +++ .../src/examples/avro/cassandraKey.json | 22 + .../src/examples/avro/cassandraRecord.json | 107 ++ .../AvroSerialization/CassandraKey.java | 446 + .../AvroSerialization/CassandraRecord.java | 1524 ++ .../nativeSerialization/ComplexTypes.java | 199 +++ .../generated/nativeSerialization/Customer.java | 75 + .../generated/nativeSerialization/Document.java | 136 ++ .../generated/nativeSerialization/User.java | 159 ++ .../gora/cassandra/bean/CassandraKey.java | 91 ++ .../gora/cassandra/bean/ClusterKeyField.java| 54 + .../org/apache/gora/cassandra/bean/Field.java | 70 + .../apache/gora/cassandra/bean/KeySpace.java| 84 + .../gora/cassandra/bean/PartitionKeyField.java | 50 + .../compiler/GoraCassandraNativeCompiler.java | 326 .../org/apache/gora/cassandra/package-info.java | 21 + .../gora/cassandra/query/CassandraQuery.java| 108 ++ .../cassandra/query/CassandraResultSet.java | 121 ++ .../gora/cassandra/query/package-info.java | 22 + .../serializers/AvroCassandraUtils.java | 354 .../cassandra/serializers/AvroSerializer.java | 446 + .../serializers/CassandraQueryFactory.java | 836 ++ .../serializers/CassandraSerializer.java| 225 +++ .../cassandra/serializers/NativeSerializer.java | 243 +++ .../cassandra/serializers/package-info.java | 21 + .../gora/cassandra/store/CassandraClient.java | 535 ++ .../gora/cassandra/store/CassandraMapping.java | 242 +++ .../store/CassandraMappingBuilder.java | 321 .../gora/cassandra/store/CassandraStore.java| 380 + .../store/CassandraStoreParameters.java | 236 +++ .../gora/cassandra/store/package-info.java | 21 + .../test/conf/avro/gora-cassandra-mapping.xml | 50 + .../conf/avroUDT/gora-cassandra-mapping.xml | 50 + gora-cassandra-cql/src/test/conf/cassandra.yaml | 1196 ++ .../compositeKey/gora-cassandra-mapping.xml | 54 + .../src/test/conf/gora.properties | 37 + .../src/test/conf/log4j-server.properties | 41 + .../conf/nativeSerialization/custom-codecs.xml | 24 + .../gora-cassandra-mapping.xml | 45 + .../conf/nativeSerialization/gora.properties| 19 + .../conf/nativeUDT/gora-cassandra-mapping.xml | 32 + .../gora/cassandra/GoraCassandraTestDriver.java | 163 ++ .../org/apache/gora/cassandra/package-info.java | 21 + .../store/TestAvroSerializationWithUDT.java | 96 ++ .../cassandra/store/TestCassandraStore.java | 178 ++ .../TestCassandraStoreWithCassandraKey.java | 331 ...stCassandraStoreWithNativeSerialization.java | 305 .../store/TestNativeSerializationWithUDT.java | 87 + .../gora/cassandra/store/package-info.java | 21 + .../nativeSerialization/DateAsStringCodec.java | 50 + gora-tutorial/pom.xml |2 +- pom.xml | 11 +- 53 files changed, 10506 insertions(+), 6 deletions(-) -- http://git-wip-us.apache.org/repos/asf/gora/blob/3d4e1d69/gora-tutorial/pom.xml -- http://git-wip-us.apache.org/repos/asf/gora/blob/3d4e1d69/pom.xml --
[08/37] gora git commit: Add Simple Test for Native Cassandra Serialization
Add Simple Test for Native Cassandra Serialization Project: http://git-wip-us.apache.org/repos/asf/gora/repo Commit: http://git-wip-us.apache.org/repos/asf/gora/commit/2695794a Tree: http://git-wip-us.apache.org/repos/asf/gora/tree/2695794a Diff: http://git-wip-us.apache.org/repos/asf/gora/diff/2695794a Branch: refs/heads/master Commit: 2695794ad01132486447e489b7e179edb357b974 Parents: 516f366 Author: madhawaAuthored: Fri Jun 23 23:42:44 2017 +0530 Committer: madhawa Committed: Sat Jun 24 22:16:30 2017 +0530 -- gora-cassandra-cql/pom.xml | 69 +- .../serializers/CassandraNativePersistent.java | 91 ++ .../cassandra/store/CassandraQueryFactory.java | 28 +- .../gora/cassandra/store/CassandraStore.java| 171 ++- .../store/CassandraStoreParameters.java | 83 +- gora-cassandra-cql/src/test/conf/cassandra.yaml | 1248 ++ .../src/test/conf/log4j-server.properties |2 +- .../mappingManager/gora-cassandra-mapping.xml | 97 -- .../test/conf/mappingManager/gora.properties| 30 - .../conf/nativeSerialization/custom-codecs.xml | 24 + .../gora-cassandra-mapping.xml | 65 + .../conf/nativeSerialization/gora.properties| 30 + .../gora/cassandra/GoraCassandraTestDriver.java | 35 +- ...stCassandraStoreWithNativeSerialization.java | 46 +- .../nativeSerialization/DateAsStringCodec.java | 33 + .../test/nativeSerialization/User.java | 86 +- gora-tutorial/pom.xml |2 +- pom.xml |8 +- 18 files changed, 1563 insertions(+), 585 deletions(-) -- http://git-wip-us.apache.org/repos/asf/gora/blob/2695794a/gora-cassandra-cql/pom.xml -- diff --git a/gora-cassandra-cql/pom.xml b/gora-cassandra-cql/pom.xml index 11da4fc..d56e07a 100644 --- a/gora-cassandra-cql/pom.xml +++ b/gora-cassandra-cql/pom.xml @@ -16,10 +16,11 @@ ~ limitations under the License. --> -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;> +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;> 4.0.0 - + org.apache.gora gora 0.8-SNAPSHOT @@ -29,11 +30,12 @@ bundle Apache Gora :: Cassandra - CQL -http://gora.apache.org -The Apache Gora open source framework provides an in-memory data model and -persistence for big data. Gora supports persisting to column stores, key value stores, -document stores and RDBMSs, and analyzing the data with extensive Apache Hadoop MapReduce -support. +http://gora.apache.org +The Apache Gora open source framework provides an in-memory data model and +persistence for big data. Gora supports persisting to column stores, key value stores, +document stores and RDBMSs, and analyzing the data with extensive Apache Hadoop MapReduce +support. + 2010 The Apache Software Foundation @@ -49,7 +51,7 @@ -17.0 +18.0 * org.apache.gora.cassandra*;version="${project.version}";-noimport:=true @@ -62,13 +64,13 @@ src/test/java src/main/java - -${project.basedir}/src/test/conf - - **/* - - - + +${project.basedir}/src/test/conf + +**/* + + + @@ -89,6 +91,21 @@ + +org.apache.maven.plugins +maven-surefire-plugin + + +org.apache.maven.surefire +surefire-junit47 +2.20 + + + +always +-Xmx1024m -XX:MaxPermSize=512m + + @@ -124,8 +141,14 @@ -com.datastax.cassandra -cassandra-driver-mapping +com.datastax.cassandra +cassandra-driver-mapping +${cassandra-driver.version} + + + +com.datastax.cassandra +cassandra-driver-extras ${cassandra-driver.version} @@ -144,12 +167,22 @@ slf4j-log4j12
[14/37] gora git commit: Add logs for NativeSerializer
Add logs for NativeSerializer Project: http://git-wip-us.apache.org/repos/asf/gora/repo Commit: http://git-wip-us.apache.org/repos/asf/gora/commit/163624a9 Tree: http://git-wip-us.apache.org/repos/asf/gora/tree/163624a9 Diff: http://git-wip-us.apache.org/repos/asf/gora/diff/163624a9 Branch: refs/heads/master Commit: 163624a9596298bf80bb41360fcd246a886a0688 Parents: 2fe2c2b Author: madhawaAuthored: Sat Jul 8 11:06:45 2017 +0530 Committer: madhawa Committed: Sat Jul 8 11:13:40 2017 +0530 -- .../cassandra/serializers/AvroSerializer.java | 4 ++-- .../cassandra/serializers/NativeSerializer.java | 22 +--- .../gora/cassandra/store/CassandraStore.java| 2 +- 3 files changed, 22 insertions(+), 6 deletions(-) -- http://git-wip-us.apache.org/repos/asf/gora/blob/163624a9/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/serializers/AvroSerializer.java -- diff --git a/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/serializers/AvroSerializer.java b/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/serializers/AvroSerializer.java index 8061a80..83676dc 100644 --- a/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/serializers/AvroSerializer.java +++ b/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/serializers/AvroSerializer.java @@ -37,7 +37,7 @@ import java.util.Map; /** * This class contains the operations relates to Avro Serialization */ -public class AvroSerializer extends CassandraSerializer { +class AvroSerializer extends CassandraSerializer { /** @@ -45,7 +45,7 @@ public class AvroSerializer extends CassandraSerial */ public static final int DEFAULT_UNION_SCHEMA = 0; - public AvroSerializer(CassandraClient cassandraClient, Class keyClass, Class persistentClass, CassandraMapping mapping) { + AvroSerializer(CassandraClient cassandraClient, Class keyClass, Class persistentClass, CassandraMapping mapping) { super(cassandraClient, keyClass, persistentClass, mapping); } http://git-wip-us.apache.org/repos/asf/gora/blob/163624a9/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/serializers/NativeSerializer.java -- diff --git a/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/serializers/NativeSerializer.java b/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/serializers/NativeSerializer.java index d551d33..2bac3dd 100644 --- a/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/serializers/NativeSerializer.java +++ b/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/serializers/NativeSerializer.java @@ -29,6 +29,8 @@ import org.apache.gora.cassandra.store.CassandraMapping; import org.apache.gora.persistency.Persistent; import org.apache.gora.query.Query; import org.apache.gora.store.DataStore; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import java.lang.reflect.Method; import java.util.ArrayList; @@ -38,22 +40,32 @@ import java.util.List; /** * This Class contains the operation relates to Native Serialization. */ -public class NativeSerializer extends CassandraSerializer { +class NativeSerializer extends CassandraSerializer { + + private static final Logger LOG = LoggerFactory.getLogger(CassandraNativePersistent.class); private Mapper mapper; @Override public void put(Object key, Persistent value) { +LOG.debug("Object is saved with key : {} and value : {}",key,value); mapper.save((T) value); } @Override public T get(Object key) { -return mapper.get(key); +T object = mapper.get(key); +if(object != null) { + LOG.debug("Object is found for key : {}", key); +} else { + LOG.debug("Object is not found for key : {}", key); +} +return object; } @Override public boolean delete(Object key) { +LOG.debug("Object is deleted for key : {}", key); mapper.delete(key); return true; } @@ -66,8 +78,10 @@ public class NativeSerializer extends Ca Result objects = mapper.map(results); List objectList = objects.all(); if (objectList != null) { + LOG.debug("Object is found for key : {}", key); return objectList.get(0); } +LOG.debug("Object is not found for key : {}" , key); return null; } @@ -81,6 +95,8 @@ public class NativeSerializer extends Ca } else { results = client.getSession().execute(cqlQuery, objectArrayList.toArray());
[32/37] gora git commit: Reformat the code
Reformat the code Project: http://git-wip-us.apache.org/repos/asf/gora/repo Commit: http://git-wip-us.apache.org/repos/asf/gora/commit/266ebf46 Tree: http://git-wip-us.apache.org/repos/asf/gora/tree/266ebf46 Diff: http://git-wip-us.apache.org/repos/asf/gora/diff/266ebf46 Branch: refs/heads/master Commit: 266ebf464983940a1e36f2bf15737d258d471f24 Parents: 0de528e Author: madhawa-gunasekaraAuthored: Sun Aug 13 20:34:57 2017 +0530 Committer: madhawa-gunasekara Committed: Sun Aug 13 20:34:57 2017 +0530 -- .../apache/gora/cassandra/bean/ClusterKeyField.java | 1 + .../org/apache/gora/cassandra/bean/KeySpace.java| 4 .../apache/gora/cassandra/query/CassandraQuery.java | 2 ++ .../gora/cassandra/serializers/AvroSerializer.java | 8 ++-- .../cassandra/serializers/CassandraSerializer.java | 10 +++--- .../apache/gora/cassandra/store/CassandraStore.java | 16 ++-- gora-cassandra-cql/src/test/conf/gora.properties| 8 +--- .../test/conf/nativeSerialization/gora.properties | 8 +--- .../test/conf/nativeUDT/gora-cassandra-mapping.xml | 1 - 9 files changed, 24 insertions(+), 34 deletions(-) -- http://git-wip-us.apache.org/repos/asf/gora/blob/266ebf46/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/bean/ClusterKeyField.java -- diff --git a/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/bean/ClusterKeyField.java b/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/bean/ClusterKeyField.java index 259025a..e1c88e3 100644 --- a/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/bean/ClusterKeyField.java +++ b/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/bean/ClusterKeyField.java @@ -23,6 +23,7 @@ package org.apache.gora.cassandra.bean; public class ClusterKeyField { private String columnName; + private Order order; public ClusterKeyField() { http://git-wip-us.apache.org/repos/asf/gora/blob/266ebf46/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/bean/KeySpace.java -- diff --git a/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/bean/KeySpace.java b/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/bean/KeySpace.java index 7deb49a..898b370 100644 --- a/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/bean/KeySpace.java +++ b/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/bean/KeySpace.java @@ -26,9 +26,13 @@ import java.util.Map; public class KeySpace { private String name; + private PlacementStrategy placementStrategy; + private boolean durableWritesEnabled; + private int replicationFactor; + private Map dataCenters; public String getName() { http://git-wip-us.apache.org/repos/asf/gora/blob/266ebf46/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/query/CassandraQuery.java -- diff --git a/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/query/CassandraQuery.java b/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/query/CassandraQuery.java index 919e946..45f9b77 100644 --- a/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/query/CassandraQuery.java +++ b/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/query/CassandraQuery.java @@ -33,7 +33,9 @@ import java.util.Map; public class CassandraQuery extends QueryWSBase { private Filter filter; + private boolean localFilterEnabled = true; + private Map updateFields = new HashMap<>(); public CassandraQuery(DataStore dataStore) { http://git-wip-us.apache.org/repos/asf/gora/blob/266ebf46/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/serializers/AvroSerializer.java -- diff --git a/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/serializers/AvroSerializer.java b/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/serializers/AvroSerializer.java index 893de91..3037d6c 100644 --- a/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/serializers/AvroSerializer.java +++ b/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/serializers/AvroSerializer.java @@ -58,10 +58,14 @@ class AvroSerializer extends CassandraSerializer { private Schema persistentSchema; - AvroSerializer(CassandraClient cassandraClient, DataStore dataStore, CassandraMapping mapping, Schema schema) { + AvroSerializer(CassandraClient cassandraClient, DataStore dataStore, CassandraMapping mapping) { super(cassandraClient,
[27/37] gora git commit: Add tests for avro
http://git-wip-us.apache.org/repos/asf/gora/blob/a9a3ad49/gora-cassandra-cql/src/test/conf/gora.properties -- diff --git a/gora-cassandra-cql/src/test/conf/gora.properties b/gora-cassandra-cql/src/test/conf/gora.properties index a109759..fb98d63 100644 --- a/gora-cassandra-cql/src/test/conf/gora.properties +++ b/gora-cassandra-cql/src/test/conf/gora.properties @@ -19,9 +19,7 @@ gora.cassandrastore.cluster=Gora Cassandra Test Cluster gora.cassandrastore.host=localhost:9160 # property is annotated in CassandraClient#checkKeyspace() # options are ANY, ONE, TWO, THREE, LOCAL_QUORUM, EACH_QUORUM, QUORUM and ALL. -gora.cassandrastore.cf.consistency.level=ONE -gora.cassandrastore.read.consistency.level=QUORUM -gora.cassandrastore.write.consistency.level=ONE + http://git-wip-us.apache.org/repos/asf/gora/blob/a9a3ad49/gora-cassandra-cql/src/test/conf/nativeUDT/gora-cassandra-mapping.xml -- diff --git a/gora-cassandra-cql/src/test/conf/nativeUDT/gora-cassandra-mapping.xml b/gora-cassandra-cql/src/test/conf/nativeUDT/gora-cassandra-mapping.xml new file mode 100644 index 000..d6d99bf --- /dev/null +++ b/gora-cassandra-cql/src/test/conf/nativeUDT/gora-cassandra-mapping.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + \ No newline at end of file http://git-wip-us.apache.org/repos/asf/gora/blob/a9a3ad49/gora-cassandra-cql/src/test/java/org/apache/gora/cassandra/GoraCassandraTestDriver.java -- diff --git a/gora-cassandra-cql/src/test/java/org/apache/gora/cassandra/GoraCassandraTestDriver.java b/gora-cassandra-cql/src/test/java/org/apache/gora/cassandra/GoraCassandraTestDriver.java index a091721..1d454b4 100644 --- a/gora-cassandra-cql/src/test/java/org/apache/gora/cassandra/GoraCassandraTestDriver.java +++ b/gora-cassandra-cql/src/test/java/org/apache/gora/cassandra/GoraCassandraTestDriver.java @@ -118,7 +118,7 @@ public class GoraCassandraTestDriver extends GoraTestDriver { */ @Override public void setUpClass() { -/*log.info("Starting embedded Cassandra Server..."); +log.info("Starting embedded Cassandra Server..."); try { cleanupDirectoriesFailover(); FileUtils.createDirectory(baseDirectory); @@ -147,7 +147,7 @@ public class GoraCassandraTestDriver extends GoraTestDriver { // cleanup tearDownClass(); -}*/ +} } /** @@ -158,9 +158,9 @@ public class GoraCassandraTestDriver extends GoraTestDriver { @Override public void tearDownClass() { log.info("Shutting down Embedded Cassandra server..."); - /* if (cassandraThread != null) { +if (cassandraThread != null) { cassandraDaemon.stop(); cassandraDaemon.destroy(); -}*/ +} } } http://git-wip-us.apache.org/repos/asf/gora/blob/a9a3ad49/gora-cassandra-cql/src/test/java/org/apache/gora/cassandra/store/TestAvroSerializationWithUDT.java -- diff --git a/gora-cassandra-cql/src/test/java/org/apache/gora/cassandra/store/TestAvroSerializationWithUDT.java b/gora-cassandra-cql/src/test/java/org/apache/gora/cassandra/store/TestAvroSerializationWithUDT.java new file mode 100644 index 000..8dfae6b --- /dev/null +++ b/gora-cassandra-cql/src/test/java/org/apache/gora/cassandra/store/TestAvroSerializationWithUDT.java @@ -0,0 +1,91 @@ +/** + * 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.gora.cassandra.store; + +import org.apache.avro.util.Utf8; +import org.apache.gora.cassandra.GoraCassandraTestDriver; +import org.apache.gora.examples.generated.Metadata; +import org.apache.gora.examples.generated.WebPage; +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Assert; +import org.junit.BeforeClass; +import org.junit.Test; + +import java.nio.ByteBuffer; +import java.nio.charset.Charset; +import java.util.ArrayList; +import java.util.Map; +import java.util.Properties; + +public class TestAvroSerializationWithUDT { + + private static
[26/37] gora git commit: Refactored the code
Refactored the code Project: http://git-wip-us.apache.org/repos/asf/gora/repo Commit: http://git-wip-us.apache.org/repos/asf/gora/commit/962d7a6a Tree: http://git-wip-us.apache.org/repos/asf/gora/tree/962d7a6a Diff: http://git-wip-us.apache.org/repos/asf/gora/diff/962d7a6a Branch: refs/heads/master Commit: 962d7a6ad830b8a6feca752ddf39f4d705bd563e Parents: 99894b8 Author: madhawaAuthored: Sun Jul 30 23:11:09 2017 +0530 Committer: madhawa Committed: Wed Aug 2 07:14:55 2017 +0530 -- gora-cassandra-cql/pom.xml |7 +- .../AvroSerialization/CassandraKey.java | 517 +++--- .../AvroSerialization/CassandraRecord.java | 1582 ++ .../nativeSerialization/ComplexTypes.java | 15 +- .../generated/nativeSerialization/User.java | 25 +- .../gora/cassandra/bean/CassandraKey.java | 24 +- .../gora/cassandra/bean/ClusterKeyField.java| 23 +- .../org/apache/gora/cassandra/bean/Field.java | 19 +- .../apache/gora/cassandra/bean/KeySpace.java| 46 +- .../gora/cassandra/bean/PartitionKeyField.java |2 +- .../org/apache/gora/cassandra/package-info.java |7 +- .../persistent/CassandraNativePersistent.java | 13 +- .../gora/cassandra/query/CassandraQuery.java|2 +- .../cassandra/query/CassandraResultSet.java | 27 +- .../gora/cassandra/query/package-info.java |7 +- .../serializers/AvroCassandraUtils.java | 156 +- .../cassandra/serializers/AvroSerializer.java | 236 +-- .../serializers/CassandraQueryFactory.java | 203 ++- .../serializers/CassandraSerializer.java| 100 +- .../cassandra/serializers/NativeSerializer.java | 31 +- .../cassandra/serializers/package-info.java |7 +- .../gora/cassandra/store/CassandraClient.java | 24 +- .../gora/cassandra/store/CassandraMapping.java | 154 +- .../store/CassandraMappingBuilder.java | 26 +- .../gora/cassandra/store/CassandraStore.java| 48 +- .../store/CassandraStoreParameters.java |8 +- .../gora/cassandra/store/package-info.java |7 +- .../test/conf/avro/gora-cassandra-mapping.xml | 48 +- .../compositeKey/gora-cassandra-mapping.xml | 12 +- .../src/test/conf/gora-cassandra-mapping.xml|3 +- .../src/test/conf/gora.properties |1 - .../src/test/conf/log4j-server.properties |9 +- .../gora-cassandra-mapping.xml | 49 +- .../conf/nativeSerialization/gora.properties|1 - .../gora/cassandra/GoraCassandraTestDriver.java | 128 +- .../cassandra/store/TestCassandraStore.java | 133 ++ .../TestCassandraStoreWithCassandraKey.java | 34 +- ...stCassandraStoreWithNativeSerialization.java | 10 +- 38 files changed, 2225 insertions(+), 1519 deletions(-) -- http://git-wip-us.apache.org/repos/asf/gora/blob/962d7a6a/gora-cassandra-cql/pom.xml -- diff --git a/gora-cassandra-cql/pom.xml b/gora-cassandra-cql/pom.xml index 13e5a1a..ed98a18 100644 --- a/gora-cassandra-cql/pom.xml +++ b/gora-cassandra-cql/pom.xml @@ -16,7 +16,7 @@ ~ limitations under the License. --> -http://maven.apache.org/POM/4.0.0; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance; +http://www.w3.org/2001/XMLSchema-instance; xmlns="http://maven.apache.org/POM/4.0.0; xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd;> 4.0.0 @@ -173,6 +173,11 @@ 4.0.37.Final + +org.apache.gora +gora-hbase + + com.google.guava http://git-wip-us.apache.org/repos/asf/gora/blob/962d7a6a/gora-cassandra-cql/src/examples/java/org/apache/gora/cassandra/example/generated/AvroSerialization/CassandraKey.java -- diff --git a/gora-cassandra-cql/src/examples/java/org/apache/gora/cassandra/example/generated/AvroSerialization/CassandraKey.java b/gora-cassandra-cql/src/examples/java/org/apache/gora/cassandra/example/generated/AvroSerialization/CassandraKey.java index 478690d..6b89c33 100644 --- a/gora-cassandra-cql/src/examples/java/org/apache/gora/cassandra/example/generated/AvroSerialization/CassandraKey.java +++ b/gora-cassandra-cql/src/examples/java/org/apache/gora/cassandra/example/generated/AvroSerialization/CassandraKey.java @@ -1,99 +1,123 @@ /** - *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
[10/37] gora git commit: Refactored the code
http://git-wip-us.apache.org/repos/asf/gora/blob/5e383ef9/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/store/CassandraStore.java -- diff --git a/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/store/CassandraStore.java b/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/store/CassandraStore.java index 113d0c4..1d9093d 100644 --- a/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/store/CassandraStore.java +++ b/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/store/CassandraStore.java @@ -17,35 +17,8 @@ package org.apache.gora.cassandra.store; -import com.datastax.driver.core.Cluster; -import com.datastax.driver.core.ConsistencyLevel; -import com.datastax.driver.core.HostDistance; -import com.datastax.driver.core.KeyspaceMetadata; -import com.datastax.driver.core.PoolingOptions; -import com.datastax.driver.core.ProtocolOptions; -import com.datastax.driver.core.ProtocolVersion; -import com.datastax.driver.core.QueryOptions; -import com.datastax.driver.core.Session; -import com.datastax.driver.core.SocketOptions; -import com.datastax.driver.core.TableMetadata; -import com.datastax.driver.core.TypeCodec; -import com.datastax.driver.core.policies.ConstantReconnectionPolicy; -import com.datastax.driver.core.policies.DCAwareRoundRobinPolicy; -import com.datastax.driver.core.policies.DefaultRetryPolicy; -import com.datastax.driver.core.policies.DowngradingConsistencyRetryPolicy; -import com.datastax.driver.core.policies.ExponentialReconnectionPolicy; -import com.datastax.driver.core.policies.FallthroughRetryPolicy; -import com.datastax.driver.core.policies.LatencyAwarePolicy; -import com.datastax.driver.core.policies.LoggingRetryPolicy; -import com.datastax.driver.core.policies.RoundRobinPolicy; -import com.datastax.driver.core.policies.TokenAwarePolicy; -import com.datastax.driver.mapping.Mapper; -import com.datastax.driver.mapping.MappingManager; -import org.apache.gora.cassandra.bean.CassandraKey; -import org.apache.gora.cassandra.bean.ClusterKeyField; -import org.apache.gora.cassandra.bean.Field; -import org.apache.gora.cassandra.bean.KeySpace; -import org.apache.gora.cassandra.bean.PartitionKeyField; +import org.apache.gora.cassandra.persistent.CassandraNativePersistent; +import org.apache.gora.cassandra.serializers.CassandraSerializer; import org.apache.gora.persistency.BeanFactory; import org.apache.gora.persistency.Persistent; import org.apache.gora.query.PartitionQuery; @@ -53,18 +26,11 @@ import org.apache.gora.query.Query; import org.apache.gora.query.Result; import org.apache.gora.store.DataStore; import org.apache.gora.store.DataStoreFactory; -import org.jdom.Attribute; -import org.jdom.Document; -import org.jdom.Element; -import org.jdom.JDOMException; -import org.jdom.input.SAXBuilder; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.IOException; -import java.util.ArrayList; import java.util.List; -import java.util.Locale; import java.util.Properties; /** @@ -81,19 +47,23 @@ public class CassandraStoreimplements DataStore private BeanFactory beanFactory; - private Cluster cluster; + private Class keyClass; - private Class keyClass; - - private Class persistentClass; + private Class persistentClass; private CassandraMapping mapping; - private boolean isUseNativeSerialization; + private CassandraSerializer cassandraSerializer; + + public enum SerializerType { +AVRO("AVRO"), NATIVE("NATIVE"); +String val; - private Mapper mapper; +SerializerType(String v) { + this.val = v; +} + } - private Session session; public CassandraStore() { super(); @@ -113,22 +83,11 @@ public class CassandraStore implements DataStore this.keyClass = keyClass; this.persistentClass = persistentClass; String mappingFile = DataStoreFactory.getMappingFile(properties, this, DEFAULT_MAPPING_FILE); - List codecs = readCustomCodec(properties); - mapping = readMapping(mappingFile); - isUseNativeSerialization = Boolean.parseBoolean(properties.getProperty(CassandraStoreParameters.USE_CASSANDRA_NATIVE_SERIALIZATION)); - Cluster.Builder builder = Cluster.builder(); - builder = populateSettings(builder, properties); - this.cluster = builder.build(); - if (codecs != null) { -registerCustomCodecs(codecs); - } - this.session = this.cluster.connect(); - if (isUseNativeSerialization) { -this.createSchema(); -MappingManager mappingManager = new MappingManager(session); -mapper = mappingManager.mapper(persistentClass); - } - + CassandraMappingBuilder mappingBuilder = new CassandraMappingBuilder(this); + mapping = mappingBuilder.readMapping(mappingFile); + CassandraClient cassandraClient = new CassandraClient(); +
[29/37] gora git commit: Add Cassandra Native Compiler
Add Cassandra Native Compiler Project: http://git-wip-us.apache.org/repos/asf/gora/repo Commit: http://git-wip-us.apache.org/repos/asf/gora/commit/a2d63cae Tree: http://git-wip-us.apache.org/repos/asf/gora/tree/a2d63cae Diff: http://git-wip-us.apache.org/repos/asf/gora/diff/a2d63cae Branch: refs/heads/master Commit: a2d63caeac9b1b640ea2d2004e4312393ec6efcc Parents: a9a3ad4 Author: madhawa-gunasekaraAuthored: Fri Aug 11 19:01:41 2017 +0530 Committer: madhawa-gunasekara Committed: Fri Aug 11 19:01:41 2017 +0530 -- bin/gora| 5 + gora-cassandra-cql/pom.xml | 12 + .../compiler/GoraCassandraNativeCompiler.java | 324 ++ .../serializers/AvroCassandraUtils.java | 39 +++ .../cassandra/serializers/AvroSerializer.java | 39 +-- .../store/CassandraMappingBuilder.java | 341 +++ .../src/test/conf/gora-cassandra-mapping.xml| 98 -- 7 files changed, 581 insertions(+), 277 deletions(-) -- http://git-wip-us.apache.org/repos/asf/gora/blob/a2d63cae/bin/gora -- diff --git a/bin/gora b/bin/gora index 51b9489..03d368b 100755 --- a/bin/gora +++ b/bin/gora @@ -45,6 +45,7 @@ if [ $# = 0 ]; then echo "where COMMAND is one of:" echo " goracompiler Run Compiler" echo " specificcompiler Run Avro Specific Compiler" + echo " cassandranativecompilerRun Gora Cassandra Native Compiler" echo " dynamocompiler Run Gora DynamoDB Compiler" echo " goracirackspaceRun the GoraCI Rackspace orchestration setup" echo " goracichef Run the GoraCI Chef software provisioning setup" @@ -121,6 +122,10 @@ elif [ "$COMMAND" = "specificcompiler" ] ; then MODULE=gora-core CLASSPATH=$CLASSPATH:$GORA_HOME/$MODULE/target/classes/ CLASS=org.apache.avro.specific.SpecificCompiler +elif [ "$COMMAND" = "cassandranativecompiler" ] ; then + MODULE=gora-cassandra-cql + CLASSPATH=$CLASSPATH:$GORA_HOME/$MODULE/target/classes/ + CLASS=org.apache.gora.cassandra.compiler.GoraCassandraNativeCompiler elif [ "$COMMAND" = "dynamocompiler" ] ; then MODULE=gora-dynamodb CLASSPATH=$CLASSPATH:$GORA_HOME/$MODULE/target/classes/ http://git-wip-us.apache.org/repos/asf/gora/blob/a2d63cae/gora-cassandra-cql/pom.xml -- diff --git a/gora-cassandra-cql/pom.xml b/gora-cassandra-cql/pom.xml index b78db24..630c51b 100644 --- a/gora-cassandra-cql/pom.xml +++ b/gora-cassandra-cql/pom.xml @@ -106,6 +106,18 @@ -Xmx1024m -XX:MaxPermSize=512m + +org.apache.maven.plugins +maven-jar-plugin + + + + org.apache.gora.cassandra.compiler.GoraCassandraNativeCompiler + org.apache.gora.cassandra.compiler + + + + http://git-wip-us.apache.org/repos/asf/gora/blob/a2d63cae/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/compiler/GoraCassandraNativeCompiler.java -- diff --git a/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/compiler/GoraCassandraNativeCompiler.java b/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/compiler/GoraCassandraNativeCompiler.java new file mode 100644 index 000..6d07759 --- /dev/null +++ b/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/compiler/GoraCassandraNativeCompiler.java @@ -0,0 +1,324 @@ +/** + * 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.gora.cassandra.compiler; + +import org.apache.commons.io.FilenameUtils; +import org.apache.gora.cassandra.bean.Field; +import
[22/37] gora git commit: Fix functionality of the UpdateByQuery for Avro Serialization
Fix functionality of the UpdateByQuery for Avro Serialization Project: http://git-wip-us.apache.org/repos/asf/gora/repo Commit: http://git-wip-us.apache.org/repos/asf/gora/commit/99894b82 Tree: http://git-wip-us.apache.org/repos/asf/gora/tree/99894b82 Diff: http://git-wip-us.apache.org/repos/asf/gora/diff/99894b82 Branch: refs/heads/master Commit: 99894b82ae77290ff43d84eeffe638c3ed55d2d9 Parents: c5352b0 Author: madhawaAuthored: Fri Jul 28 09:09:17 2017 +0530 Committer: madhawa Committed: Fri Jul 28 09:09:17 2017 +0530 -- .../serializers/CassandraQueryFactory.java | 25 +++- .../gora/cassandra/store/CassandraMapping.java | 9 +++ .../compositeKey/gora-cassandra-mapping.xml | 33 --- .../TestCassandraStoreWithCassandraKey.java | 61 +--- ...stCassandraStoreWithNativeSerialization.java | 38 ++-- 5 files changed, 102 insertions(+), 64 deletions(-) -- http://git-wip-us.apache.org/repos/asf/gora/blob/99894b82/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/serializers/CassandraQueryFactory.java -- diff --git a/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/serializers/CassandraQueryFactory.java b/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/serializers/CassandraQueryFactory.java index bf33750..4362a04 100644 --- a/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/serializers/CassandraQueryFactory.java +++ b/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/serializers/CassandraQueryFactory.java @@ -20,11 +20,13 @@ import com.datastax.driver.core.querybuilder.Delete; import com.datastax.driver.core.querybuilder.QueryBuilder; import com.datastax.driver.core.querybuilder.Select; import com.datastax.driver.core.querybuilder.Update; +import org.apache.avro.Schema; import org.apache.gora.cassandra.bean.CassandraKey; import org.apache.gora.cassandra.bean.ClusterKeyField; import org.apache.gora.cassandra.bean.Field; import org.apache.gora.cassandra.bean.KeySpace; import org.apache.gora.cassandra.bean.PartitionKeyField; +import org.apache.gora.cassandra.persistent.CassandraNativePersistent; import org.apache.gora.cassandra.query.CassandraQuery; import org.apache.gora.cassandra.store.CassandraMapping; import org.apache.gora.query.Query; @@ -609,9 +611,26 @@ class CassandraQueryFactory { Update.Assignments updateAssignments = null; if (cassandraQuery instanceof CassandraQuery) { String[] columnNames = getColumnNames(mapping, Arrays.asList(cassandraQuery.getFields())); - for (String column : columnNames) { -updateAssignments = update.with(QueryBuilder.set(column, "?")); -objects.add(((CassandraQuery) cassandraQuery).getUpdateFieldValue(column)); + if(CassandraNativePersistent.class.isAssignableFrom(mapping.getPersistentClass())) { +for (String column : columnNames) { + updateAssignments = update.with(QueryBuilder.set(column, "?")); + objects.add(((CassandraQuery) cassandraQuery).getUpdateFieldValue(mapping.getFieldFromColumnName(column).getFieldName())); +} + } else { +for (String column : columnNames) { + updateAssignments = update.with(QueryBuilder.set(column, "?")); + String field = mapping.getFieldFromColumnName(column).getFieldName(); + Object value = ((CassandraQuery) cassandraQuery).getUpdateFieldValue(field); + try { +Schema schema = (Schema) mapping.getPersistentClass().getField("SCHEMA$").get(null); +Schema schemaField = schema.getField(field).schema(); + objects.add(AvroCassandraUtils.getFieldValueFromAvroBean(schemaField, schemaField.getType(), value)); + } catch (IllegalAccessException | NoSuchFieldException e) { +throw new RuntimeException("SCHEMA$ field can't accessible, Please recompile the Avro schema with goracompiler."); + } catch (NullPointerException e) { +throw new RuntimeException(field + " field couldn't find in the class " + mapping.getPersistentClass() + "."); + } +} } } String primaryKey = null; http://git-wip-us.apache.org/repos/asf/gora/blob/99894b82/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/store/CassandraMapping.java -- diff --git a/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/store/CassandraMapping.java b/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/store/CassandraMapping.java index 61b8d1e..5699355 100644 --- a/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/store/CassandraMapping.java +++
[04/37] gora git commit: Read Cassandra Key in mapping file
Read Cassandra Key in mapping file Project: http://git-wip-us.apache.org/repos/asf/gora/repo Commit: http://git-wip-us.apache.org/repos/asf/gora/commit/6617b0bb Tree: http://git-wip-us.apache.org/repos/asf/gora/tree/6617b0bb Diff: http://git-wip-us.apache.org/repos/asf/gora/diff/6617b0bb Branch: refs/heads/master Commit: 6617b0bb81b7c7da327acf3be2bef9b8cb77337a Parents: 05b791a Author: madhawaAuthored: Fri Jun 23 11:43:42 2017 +0530 Committer: madhawa Committed: Fri Jun 23 11:43:42 2017 +0530 -- .../gora/cassandra/bean/CassandraKey.java | 43 +++- .../gora/cassandra/bean/ClusterKeyField.java| 41 +++ .../apache/gora/cassandra/bean/KeySpace.java| 35 +++--- .../gora/cassandra/bean/PartitionKeyField.java | 51 + .../gora/cassandra/store/CassandraMapping.java | 25 +++-- .../gora/cassandra/store/CassandraStore.java| 107 +-- .../src/test/conf/gora-cassandra-mapping.xml| 12 +-- 7 files changed, 272 insertions(+), 42 deletions(-) -- http://git-wip-us.apache.org/repos/asf/gora/blob/6617b0bb/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/bean/CassandraKey.java -- diff --git a/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/bean/CassandraKey.java b/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/bean/CassandraKey.java index c0adf2c..ca9657b 100644 --- a/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/bean/CassandraKey.java +++ b/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/bean/CassandraKey.java @@ -17,8 +17,49 @@ package org.apache.gora.cassandra.bean; +import java.util.ArrayList; +import java.util.List; + /** * This Class represents the Cassandra Key. */ -public class CassandraKey { +public class CassandraKey{ + + private String name; + + private List clusterKeyFields; + + private List partitionKeyFields; + + + public CassandraKey(String name) { +this.name = name; + } + + public String getName() { +return name; + } + + public List getClusterKeyFields() { +return clusterKeyFields; + } + + public List getPartitionKeyFields() { +return partitionKeyFields; + } + + public void addPartitionKeyField(PartitionKeyField partitionKeyField) { +if(this.partitionKeyFields == null) { + this.partitionKeyFields = new ArrayList<>(); +} +this.partitionKeyFields.add(partitionKeyField); + } + + public void addClusterKeyField(ClusterKeyField clusterKeyField) { +if(this.clusterKeyFields == null) { + this.clusterKeyFields = new ArrayList<>(); +} +this.clusterKeyFields.add(clusterKeyField); + } + } http://git-wip-us.apache.org/repos/asf/gora/blob/6617b0bb/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/bean/ClusterKeyField.java -- diff --git a/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/bean/ClusterKeyField.java b/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/bean/ClusterKeyField.java new file mode 100644 index 000..560b61c --- /dev/null +++ b/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/bean/ClusterKeyField.java @@ -0,0 +1,41 @@ +/* + * 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.gora.cassandra.bean; + +/** + * This class represents Cassandra Clustering Key. + */ +public class ClusterKeyField extends Field { + + public enum Order { +DESC, +ASC, + } + + private Order order; + + public Order getOrder() { +return order; + } + + public void setOrder(Order order) { +this.order = order; + } + + +} http://git-wip-us.apache.org/repos/asf/gora/blob/6617b0bb/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/bean/KeySpace.java -- diff --git a/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/bean/KeySpace.java
gora git commit: Remove unwanted SolrTestStore
Repository: gora Updated Branches: refs/heads/master 9e95efe2c -> 3879e1a68 Remove unwanted SolrTestStore Project: http://git-wip-us.apache.org/repos/asf/gora/repo Commit: http://git-wip-us.apache.org/repos/asf/gora/commit/3879e1a6 Tree: http://git-wip-us.apache.org/repos/asf/gora/tree/3879e1a6 Diff: http://git-wip-us.apache.org/repos/asf/gora/diff/3879e1a6 Branch: refs/heads/master Commit: 3879e1a68fa1d8fd500a2db1c5be2de8b2a3d4d4 Parents: 9e95efe Author: madhawa-gunasekaraAuthored: Wed Jun 7 20:51:10 2017 +0530 Committer: madhawa-gunasekara Committed: Wed Jun 7 20:51:10 2017 +0530 -- .../apache/gora/solr/store/TestSolrStore.java | 104 --- 1 file changed, 104 deletions(-) -- http://git-wip-us.apache.org/repos/asf/gora/blob/3879e1a6/gora-solr-5/src/test/java/org/apache/gora/solr/store/TestSolrStore.java -- diff --git a/gora-solr-5/src/test/java/org/apache/gora/solr/store/TestSolrStore.java b/gora-solr-5/src/test/java/org/apache/gora/solr/store/TestSolrStore.java deleted file mode 100644 index 9c8f088..000 --- a/gora-solr-5/src/test/java/org/apache/gora/solr/store/TestSolrStore.java +++ /dev/null @@ -1,104 +0,0 @@ -/** - * 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.gora.solr.store; - -import org.apache.gora.examples.WebPageDataCreator; -import org.apache.gora.examples.generated.Employee; -import org.apache.gora.examples.generated.WebPage; -import org.apache.gora.query.Query; -import org.apache.gora.solr.GoraSolrTestDriver; -import org.apache.gora.store.DataStore; -import org.apache.gora.store.DataStoreFactory; -import org.apache.gora.store.DataStoreTestBase; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.io.IOException; - -import static junit.framework.Assert.assertNull; -import static org.apache.gora.examples.WebPageDataCreator.SORTED_URLS; -import static org.apache.gora.examples.WebPageDataCreator.URLS; -import static org.apache.gora.store.DataStoreTestUtil.assertNumResults; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; - -public class TestSolrStore extends DataStoreTestBase { - - private static final Logger LOG = LoggerFactory.getLogger(TestSolrStore.class); - private static final int NUM_KEYS = 4; - - static { -setTestDriver(new GoraSolrTestDriver()); - } - - @Override - public void testDeleteByQueryFields() - throws Exception { -Query query; - -//test 5 - delete all with some fields -WebPageDataCreator.createWebPageData(this.webPageStore); - -query = this.webPageStore.newQuery(); -query.setFields("outlinks" -, "parsedContent", "content"); - -assertNumResults(this.webPageStore.newQuery(), URLS.length); -this.webPageStore.deleteByQuery(query); - -this.webPageStore.flush(); - -assertNumResults(this.webPageStore.newQuery(), URLS.length); - -//assert that data is deleted -for (String SORTED_URL : SORTED_URLS) { - WebPage page = this.webPageStore.get(SORTED_URL); - assertNotNull(page); - - assertNotNull(page.getUrl()); - assertEquals(page.getUrl().toString(), SORTED_URL); - assertEquals("Map of Outlinks should have a size of '0' as the deleteByQuery " - + "not only removes the data but also the data structure.", 0, page.getOutlinks().size()); - assertEquals(0, page.getParsedContent().size()); - if (page.getContent() != null) { -LOG.info("url: {}", page.getUrl().toString()); -LOG.info("limit: {}", page.getContent().limit()); - } else { -assertNull(page.getContent()); - } -} - -//test 6 - delete some with some fields -WebPageDataCreator.createWebPageData(this.webPageStore); - -query = this.webPageStore.newQuery(); -query.setFields("url"); -String startKey = SORTED_URLS[NUM_KEYS]; -String endKey = SORTED_URLS[SORTED_URLS.length - NUM_KEYS]; -query.setStartKey(startKey); -
[1/2] gora git commit: Add ability to compile files in a directory via gora-compiler
Repository: gora Updated Branches: refs/heads/master 37d44b874 -> 1242a61db Add ability to compile files in a directory via gora-compiler Project: http://git-wip-us.apache.org/repos/asf/gora/repo Commit: http://git-wip-us.apache.org/repos/asf/gora/commit/3a4f1390 Tree: http://git-wip-us.apache.org/repos/asf/gora/tree/3a4f1390 Diff: http://git-wip-us.apache.org/repos/asf/gora/diff/3a4f1390 Branch: refs/heads/master Commit: 3a4f1390673ea29f96be1166a8f28fee4bd7444a Parents: 37d44b8 Author: nishadiAuthored: Mon May 22 22:05:19 2017 +0530 Committer: nishadi Committed: Mon May 22 22:05:19 2017 +0530 -- .../gora/compiler/cli/GoraCompilerCLI.java | 27 +++- 1 file changed, 20 insertions(+), 7 deletions(-) -- http://git-wip-us.apache.org/repos/asf/gora/blob/3a4f1390/gora-compiler-cli/src/main/java/org/apache/gora/compiler/cli/GoraCompilerCLI.java -- diff --git a/gora-compiler-cli/src/main/java/org/apache/gora/compiler/cli/GoraCompilerCLI.java b/gora-compiler-cli/src/main/java/org/apache/gora/compiler/cli/GoraCompilerCLI.java index c96ed57..39cd5a6 100644 --- a/gora-compiler-cli/src/main/java/org/apache/gora/compiler/cli/GoraCompilerCLI.java +++ b/gora-compiler-cli/src/main/java/org/apache/gora/compiler/cli/GoraCompilerCLI.java @@ -46,18 +46,31 @@ public class GoraCompilerCLI { printHelp(); System.exit(1); } -File[] inputs = new File[args.length-1]; -for(int i = 0; i 0) +inputFiles = inputDir.listFiles(); + else { +LOG.error("Input directory must include at least one file."); printHelp(); System.exit(1); } - inputs[i] = inputFile; +} else { + inputFiles = new File[args.length - 1]; + for (int i = 0; i < inputFiles.length; i++) { +File inputFile = new File(args[i]); +if (!inputFile.isFile()) { + LOG.error("Input must be a file."); + printHelp(); + System.exit(1); +} +inputFiles[i] = inputFile; + } } try { - GoraCompiler.compileSchema(inputs, outputDir); + GoraCompiler.compileSchema(inputFiles, outputDir); LOG.info("Compiler executed SUCCESSFULL."); } catch (IOException e) { LOG.error("Error while compiling schema files. Check that the schemas are properly formatted.");
gora git commit: Remove broken badge from README
Repository: gora Updated Branches: refs/heads/master 976a5c1db -> 37d44b874 Remove broken badge from README Project: http://git-wip-us.apache.org/repos/asf/gora/repo Commit: http://git-wip-us.apache.org/repos/asf/gora/commit/37d44b87 Tree: http://git-wip-us.apache.org/repos/asf/gora/tree/37d44b87 Diff: http://git-wip-us.apache.org/repos/asf/gora/diff/37d44b87 Branch: refs/heads/master Commit: 37d44b87426e72be10be780ec35a4b8656994107 Parents: 976a5c1 Author: Lewis John McGibbneyAuthored: Thu May 18 23:44:09 2017 -0700 Committer: Lewis John McGibbney Committed: Thu May 18 23:44:09 2017 -0700 -- README.md | 1 - 1 file changed, 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/gora/blob/37d44b87/README.md -- diff --git a/README.md b/README.md index b993ed7..ccc8571 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,6 @@ [![Jenkins](https://img.shields.io/jenkins/s/https/builds.apache.org/gora-trunk.svg?maxAge=2592000?style=plastic)](https://builds.apache.org/job/gora-trunk/) [![Jenkins tests](https://img.shields.io/jenkins/t/https/builds.apache.org/gora-trunk.svg?maxAge=2592000?style=plastic)](https://builds.apache.org/job/gora-trunk) [![Maven Central](https://img.shields.io/maven-central/v/org.apache.gora/gora.svg?maxAge=2592000?style=plastic)](http://search.maven.org/#search|ga|1|g%3A%22org.apache.gora%22) -[![SonarQube Tech Debt](https://img.shields.io/sonar/http/analysis.apache.org/org.apache.gora:gora/tech_debt.svg?maxAge=2592000?style=plastic)](https://analysis.apache.org/dashboard/index/76356) [![Twitter URL](https://img.shields.io/twitter/url/http/apachegora.svg?style=social=2592000?style=plastic)](https://twitter.com/apachegora) The Apache Gora open source framework provides an in-memory data model
gora git commit: Fix broken Markdown headings
Repository: gora Updated Branches: refs/heads/master ce30d08dc -> 3a2e1ccfe Fix broken Markdown headings Project: http://git-wip-us.apache.org/repos/asf/gora/repo Commit: http://git-wip-us.apache.org/repos/asf/gora/commit/3a2e1ccf Tree: http://git-wip-us.apache.org/repos/asf/gora/tree/3a2e1ccf Diff: http://git-wip-us.apache.org/repos/asf/gora/diff/3a2e1ccf Branch: refs/heads/master Commit: 3a2e1ccfe1bc4338b7425e075341c135c3c0c0dd Parents: ce30d08 Author: Santiago CastroAuthored: Sun Apr 16 23:36:12 2017 -0300 Committer: Santiago Castro Committed: Sun Apr 16 23:36:12 2017 -0300 -- README.md | 8 gora-maven-plugin/README.md | 12 ++-- 2 files changed, 10 insertions(+), 10 deletions(-) -- http://git-wip-us.apache.org/repos/asf/gora/blob/3a2e1ccf/README.md -- diff --git a/README.md b/README.md index 4171456..b993ed7 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -#Apache Gora Project +# Apache Gora Project http://gora.apache.org/resources/img/powered-by-gora.png; align="right" width="300" /> @@ -14,7 +14,7 @@ and persistence for big data. Gora supports persisting to column stores, key value stores, document stores and RDBMSs, and analyzing the data with extensive Apache Hadoop MapReduce support. -##Why Gora? +## Why Gora? Although there are various excellent ORM frameworks for relational databases, data modeling in NoSQL data stores differ profoundly @@ -45,7 +45,7 @@ grouped as follows. * MapReduce support : Out-of-the-box and extensive MapReduce (Apache Hadoop) support for data in the data store. -#Background +# Background ORM stands for Object Relation Mapping. It is a technology which abstacts the persistency layer (mostly Relational Databases) so @@ -73,6 +73,6 @@ from current solutions in that: http://gora.apache.org -#License +# License Gora is provided under Apache License version 2.0. See LICENSE.txt for more details. http://git-wip-us.apache.org/repos/asf/gora/blob/3a2e1ccf/gora-maven-plugin/README.md -- diff --git a/gora-maven-plugin/README.md b/gora-maven-plugin/README.md index e2599e4..735f07d 100644 --- a/gora-maven-plugin/README.md +++ b/gora-maven-plugin/README.md @@ -1,22 +1,22 @@ -#Apache Gora Maven Plugin +# Apache Gora Maven Plugin The Gora Maven Plugin is used to generate Java sources from Apache Avro *.json schema descriptors. The plugin code was originally written by Gerhard Gossen and laterly by Viacheslav Dobromyslov. -##Goals Overview +## Goals Overview The Gora Maven Plugin has two goals: * gora:generate generates Java sources from Apache Avro schema descriptors, * gora:help shows usage help. -##Build plugin +## Build plugin To build and install plugin on the local machine just run: mvn clean install -##Usage +## Usage Add to your `pom.xml` the following plugin: @@ -38,11 +38,11 @@ And then run: mvn gora:generate -##Related links +## Related links * http://gora.apache.org/current/tutorial.html * https://issues.apache.org/jira/browse/GORA-277 -###License +### License This work is provided under Apache License version 2.0. See LICENSE for more details. \ No newline at end of file
svn commit: r1790500 - /gora/site/trunk/content/current/gora-mongodb.md
Author: lewismc Date: Fri Apr 7 04:48:30 2017 New Revision: 1790500 URL: http://svn.apache.org/viewvc?rev=1790500=rev Log: GORA-498 Adding MongoDB Authentications Modified: gora/site/trunk/content/current/gora-mongodb.md Modified: gora/site/trunk/content/current/gora-mongodb.md URL: http://svn.apache.org/viewvc/gora/site/trunk/content/current/gora-mongodb.md?rev=1790500=1790499=1790500=diff == --- gora/site/trunk/content/current/gora-mongodb.md (original) +++ gora/site/trunk/content/current/gora-mongodb.md Fri Apr 7 04:48:30 2017 @@ -31,6 +31,7 @@ Description of supported properties: |gora.mongodb.db | mytestdatabase | Yes| This value should specify the database for storage of documents. | | gora.mongodb.login | login | No | Login that will be used to authenticate against MongoDB server. If blank, driver won't try authentication.| |gora.mongodb.secret | password | No | Secret that will be used to authenticate against MongoDB server. | +| gora.mongodb.authentication.type | SCRAM-SHA-1 | No | Authentication mechanism type that will be used to authenticate against MongoDB server. | ##Gora MongoDB mappings You should then create a gora-mongodb-mapping.xml which will describe how you want to @@ -81,4 +82,4 @@ Each class element specifying per | DATE | Store as UTC datetime (ISODate) | | LIST | Store as Array | | DOCUMENT | Store as embedded document | -| OBJECTID | Store as ObjectId (12-byte) | \ No newline at end of file +| OBJECTID | Store as ObjectId (12-byte) |
svn commit: r1788356 - /gora/site/trunk/content/index.md
Author: lewismc Date: Fri Mar 24 02:33:47 2017 New Revision: 1788356 URL: http://svn.apache.org/viewvc?rev=1788356=rev Log: CMS commit to gora by lewismc Modified: gora/site/trunk/content/index.md Modified: gora/site/trunk/content/index.md URL: http://svn.apache.org/viewvc/gora/site/trunk/content/index.md?rev=1788356=1788355=1788356=diff == --- gora/site/trunk/content/index.md (original) +++ gora/site/trunk/content/index.md Fri Mar 24 02:33:47 2017 @@ -55,7 +55,7 @@ Gora 0.7 provides support for the follow - [MongoDB](http://mongodb.com) (driver) 3.4.2 - [Apache Accumlo](http://accumulo.apache.org) 1.7.1 - [Apache Spark](http://spark.apache.org) 1.4.1 - - [Apache CouchDB](http://couch.apache.org) 1.4.2 ([test containers](http://testcontainers.viewdocs.io/testcontainers-java/) 1.1.0) + - [Apache CouchDB](http://couchdb.apache.org) 1.4.2 ([test containers](http://testcontainers.viewdocs.io/testcontainers-java/) 1.1.0) - [Amazon DynamoDB](https://aws.amazon.com/dynamodb/) (driver) 1.10.55 - [Infinispan](http://infinispan.org/) 7.2.5.Final - [JCache](https://www.jcp.org/en/jsr/detail?id=107) 1.0.0 with [Hazelcast](https://hazelcast.com/) 3.6.4 support.
svn commit: r1008873 - /websites/production/gora/content/
Author: lewismc Date: Thu Mar 23 20:19:01 2017 New Revision: 1008873 Log: Publishing svnmucc operation to gora site by lewismc Added: websites/production/gora/content/ - copied from r1008872, websites/staging/gora/trunk/content/
svn commit: r1788315 - in /gora/site/trunk/content/current: ./ api/ api/apidocs-0.7/ api/apidocs-0.7/apidocs/ api/apidocs-0.7/apidocs/org/ api/apidocs-0.7/apidocs/org/apache/ api/apidocs-0.7/apidocs/o
Author: lewismc Date: Thu Mar 23 20:13:52 2017 New Revision: 1788315 URL: http://svn.apache.org/viewvc?rev=1788315=rev Log: Add Gora 0.7 Javadoc [This commit notification would consist of 135 parts, which exceeds the limit of 50 ones, so it was shortened to the summary.]
svn commit: r1008869 - /websites/production/gora/content/
Author: lewismc Date: Thu Mar 23 19:41:02 2017 New Revision: 1008869 Log: Publishing svnmucc operation to gora site by lewismc Added: websites/production/gora/content/ - copied from r1008868, websites/staging/gora/trunk/content/
svn commit: r1788310 - /gora/site/trunk/content/downloads.md
Author: lewismc Date: Thu Mar 23 19:40:53 2017 New Revision: 1788310 URL: http://svn.apache.org/viewvc?rev=1788310=rev Log: Update release page Modified: gora/site/trunk/content/downloads.md Modified: gora/site/trunk/content/downloads.md URL: http://svn.apache.org/viewvc/gora/site/trunk/content/downloads.md?rev=1788310=1788309=1788310=diff == --- gora/site/trunk/content/downloads.md (original) +++ gora/site/trunk/content/downloads.md Thu Mar 23 19:40:53 2017 @@ -10,7 +10,7 @@ Download the newest release of Apache Go as source code and NOT binary. This is because you will most likely want to recompile various aspects of the codebase during or as a prerequisite to using Gora in your stack. -See the [0.6.1-CHANGES.txt](http://apache.org/dist/gora/0.6.1/CHANGES.txt) +See the [CHANGES](https://github.com/apache/gora/blob/apache-gora-0.7/CHANGES.md#apache-gora-07-release---160317-ddmm) file for more information on the list of updates in this release. Gora is always distributed under the [Apache License, version 2.0](http://www.apache.org/licenses/LICENSE-2.0.html). @@ -25,8 +25,8 @@ line via your operating system package m ##Downloads -http://www.apache.org/dyn/closer.lua/gora/0.6.1/apache-gora-0.6.1-src.tar.gz; class="btn btn-primary btn-large">Download (0.6.1 src.tar.gz) -http://www.apache.org/dyn/closer.lua/gora/0.6.1/apache-gora-0.6.1-src.zip; class="btn btn-primary btn-large">Download (0.6.1 src.zip) +http://www.apache.org/dyn/closer.lua/gora/0.7/gora/0.7/gora-0.7-src.tar.gz; class="btn btn-primary btn-large">Download (0.7 src.tar.gz) +http://www.apache.org/dyn/closer.lua/gora/0.7/gora/0.7/gora-0.7-src.zip; class="btn btn-primary btn-large">Download (0.7 src.zip) ##Mirrors @@ -47,17 +47,17 @@ The checksum and signature are links to Apache Gora 0.6 (tar.gz) -http://www.apache.org/dyn/closer.cgi/gora/0.6.1/apache-gora-0.6.1-src.tar.gz;>apache-gora-0.6.1-src.tar.gz -http://www.apache.org/dist/gora/0.6.1/apache-gora-0.6.1-src.tar.gz.md5;>apache-gora-0.6.1-src.tar.gz.md5 -http://www.apache.org/dist/gora/0.6.1/apache-gora-0.6.1-src.tar.gz.asc;>apache-gora-0.6.1-src.tar.gz.asc -http://www.apache.org/dist/gora/0.6.1/apache-gora-0.6.1-src.tar.gz.sha;>apache-gora-0.6.1-src.tar.gz.sha +http://www.apache.org/dyn/closer.cgi/gora/0.7/gora/0.7/gora-0.6.1-src.tar.gz;>gora-0.7-src.tar.gz +http://www.apache.org/dist/gora/0.7/gora/0.7/gora-0.7-src.tar.gz.md5;>gora-0.7-src.tar.gz.md5 +http://www.apache.org/dist/gora/0.7/gora/0.7/gora-0.7-src.tar.gz.asc;>gora-0.7-src.tar.gz.asc +http://www.apache.org/dist/gora/0.7/gora/0.7/gora-0.7-src.tar.gz.sha;>gora-0.7-src.tar.gz.sha Apache Gora 0.6.1 (zip) -http://www.apache.org/dyn/closer.cgi/gora/0.6.1/apache-gora-0.6.1-src.zip;>apache-gora-0.6.1-src.zip -http://www.apache.org/dist/gora/0.6.1/apache-gora-0.6.1-src.zip.md5;>apache-gora-0.6.1-src.zip.md5 -http://www.apache.org/dist/gora/0.6.1/apache-gora-0.6.1-src.zip.asc;>apache-gora-0.6.1-src.zip.asc -http://www.apache.org/dist/gora/0.6.1/apache-gora-0.6.1-src.zip.sha;>apache-gora-0.6.1-src.zip.sha +http://www.apache.org/dyn/closer.cgi/gora/0.7/gora/0.7/gora-0.7-src.zip;>gora-0.7-src.zip +http://www.apache.org/dist/gora/0.7/gora/0.7/gora-0.7-src.zip.md5;>gora-0.7-src.zip.md5 +http://www.apache.org/dist/gora/0.7/gora/0.7/gora-0.7-src.zip.asc;>gora-0.7-src.zip.asc +http://www.apache.org/dist/gora/0.7/gora/0.7/gora-0.7-src.zip.sha;>gora-0.7-src.zip.sha @@ -82,7 +82,7 @@ for the relevant distribution. mirror. Then verify the signatures using the following $ gpg --import KEYS -$ gpg --verify apache-gora-X.Y.Z-src.tar.gz.asc +$ gpg --verify gora-X.Y.Z-src.tar.gz.asc The files in the most recent release are signed by Lewis John McGibbney (CODE SIGNING KEY) <lewi...@apache.org> 48BAEBF6
svn commit: r1008868 - /websites/production/gora/content/
Author: lewismc Date: Thu Mar 23 19:33:57 2017 New Revision: 1008868 Log: Make release announcement Added: websites/production/gora/content/ - copied from r1008866, websites/staging/gora/trunk/content/
svn commit: r1788309 - /gora/site/trunk/content/index.md
Author: lewismc Date: Thu Mar 23 19:33:40 2017 New Revision: 1788309 URL: http://svn.apache.org/viewvc?rev=1788309=rev Log: Make release announcement Modified: gora/site/trunk/content/index.md Modified: gora/site/trunk/content/index.md URL: http://svn.apache.org/viewvc/gora/site/trunk/content/index.md?rev=1788309=1788308=1788309=diff == --- gora/site/trunk/content/index.md (original) +++ gora/site/trunk/content/index.md Thu Mar 23 19:33:40 2017 @@ -38,6 +38,32 @@ Title: Welcome to Apache Gora ## News +###23 March, 2017: Apache Gora 0.7 Release +The Apache Gora team are pleased to announce the immediate availability of +Apache Gora 0.7. + +This release addresses 80 issues, for a breakdown please see the [release report](https://s.apache.org/YrmC). +Drop by our mailing lists and ask questions for information on any of the above. + +Gora 0.7 provides support for the following projects + + - [Apache Avro](http://avro.apache.org) 1.8.1 + - [Apache Hadoop](http://hadoop.apache.org) 2.5.2 + - [Apache HBase](http://hbase.apache.org) 1.2.3 + - [Apache Cassandra](http://cassandra.apache.org) 2.0.2 + - [Apache Solr](http://lucene.apache.org/solr) 5.5.1 + - [MongoDB](http://mongodb.com) (driver) 3.4.2 + - [Apache Accumlo](http://accumulo.apache.org) 1.7.1 + - [Apache Spark](http://spark.apache.org) 1.4.1 + - [Apache CouchDB](http://couch.apache.org) 1.4.2 ([test containers](http://testcontainers.viewdocs.io/testcontainers-java/) 1.1.0) + - [Amazon DynamoDB](https://aws.amazon.com/dynamodb/) (driver) 1.10.55 + - [Infinispan](http://infinispan.org/) 7.2.5.Final + - [JCache](https://www.jcp.org/en/jsr/detail?id=107) 1.0.0 with [Hazelcast](https://hazelcast.com/) 3.6.4 support. + +Gora is released as both source code, downloads for which can be found at +our [downloads page](http://gora.apache.org/downloads.html), as well as Maven artifacts which can be found on +[Maven central](http://search.maven.org/#search|ga|1|gora). + ###14 September, 2015: Apache Gora 0.6.1 Release The Apache Gora team are pleased to announce the immediate availability of Apache Gora 0.6.1.
svn commit: r18882 - /release/gora/0.6.1/
Author: lewismc Date: Thu Mar 23 19:15:54 2017 New Revision: 18882 Log: Remove old Gora release from release area Removed: release/gora/0.6.1/
svn commit: r18880 - /release/gora/0.7/
Author: lewismc Date: Thu Mar 23 19:14:04 2017 New Revision: 18880 Log: Release Apache Gora 0.7 artifacts. Added: release/gora/0.7/
svn commit: r18773 - in /dev/gora/0.7: ./ KEYS gora-0.7-src.tar.gz gora-0.7-src.tar.gz.asc gora-0.7-src.tar.gz.md5 gora-0.7-src.tar.gz.sha1 gora-0.7-src.zip gora-0.7-src.zip.asc gora-0.7-src.zip.md5 g
Author: lewismc Date: Fri Mar 17 06:26:48 2017 New Revision: 18773 Log: Stage Apache Gora 0.7 RC#1 artifacts Added: dev/gora/0.7/ dev/gora/0.7/KEYS dev/gora/0.7/gora-0.7-src.tar.gz (with props) dev/gora/0.7/gora-0.7-src.tar.gz.asc dev/gora/0.7/gora-0.7-src.tar.gz.md5 dev/gora/0.7/gora-0.7-src.tar.gz.sha1 dev/gora/0.7/gora-0.7-src.zip (with props) dev/gora/0.7/gora-0.7-src.zip.asc dev/gora/0.7/gora-0.7-src.zip.md5 dev/gora/0.7/gora-0.7-src.zip.sha1 Added: dev/gora/0.7/KEYS == --- dev/gora/0.7/KEYS (added) +++ dev/gora/0.7/KEYS Fri Mar 17 06:26:48 2017 @@ -0,0 +1,172 @@ +This file contains the PGP keys of various Apache developers. +Please don't use them for email unless you have to. Their main +purpose is code signing. + +Apache users: pgp < KEYS +Apache developers: +(pgpk -ll && pgpk -xa ) >> this file. + or +(gpg --fingerprint --list-sigs + && gpg --armor --export ) >> this file. + +Apache developers: please ensure that your key is also available via the +PGP keyservers (such as pgpkeys.mit.edu). + + + + +pub 4096R/3592721E 2011-01-21 + Key fingerprint = A0BF C76E F6A5 6F2C DC3D 0E2C EDF4 C958 3592 721E +uid Henry Saputra (CODE SIGNING KEY) <hsapu...@apache.org> +sig 33592721E 2011-01-21 Henry Saputra (CODE SIGNING KEY) <hsapu...@apache.org> +sub 4096R/C318E93E 2011-01-21 +sig 3592721E 2011-01-21 Henry Saputra (CODE SIGNING KEY) <hsapu...@apache.org> + +-BEGIN PGP PUBLIC KEY BLOCK- +Version: GnuPG/MacGPG2 v2.0.16 (Darwin) + +mQINBE05Kw0BEACuSMJSAKgbac4pMNfzssckf4hAZMnd23DYQYMwxPNjeelqw1qJ +1JPsDW6nOfBGVEj3OLqd6ZPH6K2i8+GdY+p+buxaRJRdpYh03P3+Hno3OMySA9wo +7mdy/NbmYsqIfvA6+WRmRUAKOnJv8lplMwwQMoPGPkHsMJNUeIAjGyCBzwhpn3y1 +NkC6QEAE9iq1DZFhURD5D3ZfH/XO8WfQz74cghAySEF3bPCO7l5DPM3ddWYE1rmZ +UcltqxxAy4xBzuDP7gqxKdSqZXAQfyRGgbAxu5MfHYL+XgVbn+4ZszCzFIUUIYFE +dvFjizzG3ZM0oQXnZYnWzxY3Flui7tFrQNvy78SsWRwfjxzuRWlJLrbm0h8Rdnj6 +9MjxH6OW3ihdw2yrw79aUT5ArmE3j2wZtcLnhXoTYqqxAk6UUbAsS1EcIRte01t4 +iZrtJdkS+MkVHOQewdFJe6dQcAWy62z/pfrs2dII7EhxZCi5kx4Wwb4Ud2wrnZJu +MhMvb91y2Lwz2WF8BXj6UdAiV/VGupmWvjvod58X6GyKsmS6+dXEkTeWr44kn6qb +cKwuAqdZEfSDT1K/koNdWGF4ExfI8pO2IaM8YWFglX7eiP6o2GhcQ2qZwQzW3KnW +m8aMw1BKV//xAeudR6agh/i9F+DC3wqdovFb+2NvU3d9OAK7xhbBWfWbzQARAQAB +tDZIZW5yeSBTYXB1dHJhIChDT0RFIFNJR05JTkcgS0VZKSA8aHNhcHV0cmFAYXBh +Y2hlLm9yZz6JAjcEEwEKACECGwMCHgECF4AFAk05OAgFCwkIBwMFFQoJCAsFFgID +AQAACgkQ7fTJWDWSch7trg//Wq8TCY5F+tTGWA8yaKFwnKzt7SVfVDeKu9HS+O0t +4mSMj7n0fZsMWtgUfkq7eQqswAxYMxsLNh9Y4Tc1FJ1ivzKf7AomWiFrM2YDtvSu +5/iF0a1JgGcbxwFaoyYMZOttdx+DneCUBvVrvwAFVxuIIrcH1mSYOCy6T7A1cdjB +RtRmvIh2qQ4d6lw4ZlB9sy04/kRK+yPmGCfpE3SD4b64tEIByPOgZABp1nXlHKQX +rJUwfVYuPkIzzEETePzPibIlvK1/njg/AMUSibek0v2RWqaZspxh6b2QhvHfW0df +vvTy5TxNi9WoXdIX0laS9gaj4ItyDd8tShMOl0LFNd7X+UexxiAVQ37wAvnSYPRL +P9Lxvj0BIbzllz2+J0F4gMq5j9gcuYkuHc2bdNJ7NWbhIgEuMrWgzqxQpYkjDMSo +r3s4KaR84+y/9JuZofjiV/Afh3i0imjczHWV1u2tp6Yh9eSKH37cQKeIlfTwgmdn +brj7J5UF53w4O5iorUuO3scGwP2HOnWHSUx8sCaEXHk8v08y89mW1c+je7GwzQoT +TCRdbMkaqzotHZOzJ/ha32ZEy6Q6WW2Zeo50bnDfR94ZXCY2NR9JNznNNc4Bn0G2 +WdUL/LbV3j3n8aqAUPShEzbrTtkQJdFCFddrLCxWLdNXSAroslhOAEnWhC+ZLGTy +qh65Ag0ETTkrDQEQAMJbM3CtxrVUSh4XP4YJImC9+iOGgt4rWjqxEIkojlI3eUDa +lU6fGHguRPs9aVLfHQoCjLw5aGfjvnYa/NE13ihPcu5CFk9TjtganTa1Av0ODG5E +2HC95WX9k9KZsOHcmhH7nubGCLx9RDiuhyVU0dLw2qHZGqQooibc1p4r0crqsSMj +JU2x9i7eNtFY/jNgHedaWjDcOYZEsVia9XQsaTzORmxtcbkrNJdcssYRmMjPMR1t +PeOtofedXvVY0w2h51XTgIPzYhR9Ho7ZDPQyn5VQJ4REIrtBz0jxz/Lcj2JAtYsr +9bfOeYe7+9h7sVTKmb4wBWZBDvZmAoGLj9f2jSmsugGBVT6TlK1R5PtPrmj1hExo +PFH/gPpt8aLQYR73xR0fzunqfGFS651EArZoB3GSM2CoY2vxzwQpqHH9dFtf2wu9 +a+tT60rvPdag3y98N4RlGmK6KUuClOk4oRsQcI4H06zF+jwmbikMlTc3JqC+ev2c +fExVjaFM9Hz/bzEyZerNwbntz/yBIg4NR1RfPjQUVolNg66dkMe2GwFs1f2Nd/1b +40+vimRJXeGuyzyH3o86UAHUQu92hOMWgMlilsU0GUUMk6qZHA5SvAB3t3atZ6IR +2453kXlOFUGl0NkGn3nFxF2xj8E6tUG72glDBW6GZP+hZilhs853HPt2UknXABEB +AAGJAh8EGAEKAAkFAk05Kw0CGwwACgkQ7fTJWDWSch4knQ//cfFjcmFls2siwGwc +q1H9QyhiiJcDbHFyTb7UvVwTgZ3rkdoQkrslMp3Ti/mm1NVH0c5ywuHCT1dip+yO +7Rt8ruepDQMPDLHRsudzwJNKaZQPbtacESvDayqADOYaDN1req8+Z4+G2jyYaLve +TTI/HpyJyp5YLXlaBM+EicqP+7WZeMvw8MkxhfXEKeaZ7K6E326USlo1os/puOtl +VB9ywr4LD+4ZB7jzAGI0hsCn/ZxS+Uu9iAfrr1LVNQMxTbJ/nBFwrQof75SYvjwQ +A07D6KBdea7TpTj0JI9saaI4ytuKwCi9WpyvC7bxec7GAbOSvhK/vEV0dVAnAQlL +nyv8SS+m3gcukZNnNMz0Yz9IeFKB29J8sFgFW4f+Ww6ygmaU9+kN/4C7hzWbUjE8 +GyFr4RDRIfIQKG7D50IUzeY+jfzpa5Z1SqmBqPymKz/w7l/N9GmtzFptox30+C0l +7CEp+B3Wyb8zdiX3EgAzka8kbsZESRC22ziowOJ8DS25vFLmw5q8W6MDLnovT1a0 +rCJsgoQny9AvP0VzCm3Xxwgcf+Q1HyHGEUIS+lwPRpeNgfgWogzDMrEUjvhQDeDZ +e9Hhz6NeQVWGJXByjaITCa3CMY4HxRxWALQ21vJmy8WSTGGno4VaMfJ+mrnVXPt7 +PsjMuqud3oNyQDFEI+qH9ZUbnPI= +=W5eW +-END PGP PUBLIC KEY BLOCK- +pub 1024D/B876884A 2007-12-24 +uid Chris Mattmann (CODE SIGNING KEY) <mattm...@apache.or
gora git commit: [maven-release-plugin] prepare release apache-gora-0.7
Repository: gora Updated Branches: refs/heads/master d72aedffb -> 3b48688f5 [maven-release-plugin] prepare release apache-gora-0.7 Project: http://git-wip-us.apache.org/repos/asf/gora/repo Commit: http://git-wip-us.apache.org/repos/asf/gora/commit/3b48688f Tree: http://git-wip-us.apache.org/repos/asf/gora/tree/3b48688f Diff: http://git-wip-us.apache.org/repos/asf/gora/diff/3b48688f Branch: refs/heads/master Commit: 3b48688f51d6cf618c760b24a341874f12e160d2 Parents: d72aedf Author: Lewis John McGibbneyAuthored: Thu Mar 16 22:19:28 2017 -0700 Committer: Lewis John McGibbney Committed: Thu Mar 16 22:19:28 2017 -0700 -- gora-accumulo/pom.xml | 2 +- gora-cassandra/pom.xml| 2 +- gora-compiler-cli/pom.xml | 2 +- gora-compiler/pom.xml | 2 +- gora-core/pom.xml | 2 +- gora-couchdb/pom.xml | 2 +- gora-dynamodb/pom.xml | 2 +- gora-goraci/pom.xml | 2 +- gora-hbase/pom.xml| 2 +- gora-infinispan/pom.xml | 2 +- gora-jcache/pom.xml | 2 +- gora-maven-plugin/pom.xml | 5 ++--- gora-mongodb/pom.xml | 2 +- gora-solr-5/pom.xml | 2 +- gora-tutorial/pom.xml | 2 +- pom.xml | 6 +++--- sources-dist/pom.xml | 2 +- 17 files changed, 20 insertions(+), 21 deletions(-) -- http://git-wip-us.apache.org/repos/asf/gora/blob/3b48688f/gora-accumulo/pom.xml -- diff --git a/gora-accumulo/pom.xml b/gora-accumulo/pom.xml index e13f7a7..5a02bc3 100644 --- a/gora-accumulo/pom.xml +++ b/gora-accumulo/pom.xml @@ -23,7 +23,7 @@ org.apache.gora gora -0.7-SNAPSHOT +0.7 ../ gora-accumulo http://git-wip-us.apache.org/repos/asf/gora/blob/3b48688f/gora-cassandra/pom.xml -- diff --git a/gora-cassandra/pom.xml b/gora-cassandra/pom.xml index 5dffd28..1139298 100644 --- a/gora-cassandra/pom.xml +++ b/gora-cassandra/pom.xml @@ -21,7 +21,7 @@ org.apache.gora gora -0.7-SNAPSHOT +0.7 ../ gora-cassandra http://git-wip-us.apache.org/repos/asf/gora/blob/3b48688f/gora-compiler-cli/pom.xml -- diff --git a/gora-compiler-cli/pom.xml b/gora-compiler-cli/pom.xml index 6212a1e..1475840 100644 --- a/gora-compiler-cli/pom.xml +++ b/gora-compiler-cli/pom.xml @@ -22,7 +22,7 @@ org.apache.gora gora -0.7-SNAPSHOT +0.7 ../ gora-compiler-cli http://git-wip-us.apache.org/repos/asf/gora/blob/3b48688f/gora-compiler/pom.xml -- diff --git a/gora-compiler/pom.xml b/gora-compiler/pom.xml index 4c0f490..ac77005 100644 --- a/gora-compiler/pom.xml +++ b/gora-compiler/pom.xml @@ -22,7 +22,7 @@ org.apache.gora gora -0.7-SNAPSHOT +0.7 ../ gora-compiler http://git-wip-us.apache.org/repos/asf/gora/blob/3b48688f/gora-core/pom.xml -- diff --git a/gora-core/pom.xml b/gora-core/pom.xml index 0666156..9347b90 100644 --- a/gora-core/pom.xml +++ b/gora-core/pom.xml @@ -23,7 +23,7 @@ org.apache.gora gora -0.7-SNAPSHOT +0.7 ../ gora-core http://git-wip-us.apache.org/repos/asf/gora/blob/3b48688f/gora-couchdb/pom.xml -- diff --git a/gora-couchdb/pom.xml b/gora-couchdb/pom.xml index 8ad7786..f09acec 100644 --- a/gora-couchdb/pom.xml +++ b/gora-couchdb/pom.xml @@ -23,7 +23,7 @@ org.apache.gora gora -0.7-SNAPSHOT +0.7 ../ gora-couchdb http://git-wip-us.apache.org/repos/asf/gora/blob/3b48688f/gora-dynamodb/pom.xml -- diff --git a/gora-dynamodb/pom.xml b/gora-dynamodb/pom.xml index 31d6572..548fafc 100644 --- a/gora-dynamodb/pom.xml +++ b/gora-dynamodb/pom.xml @@ -18,7 +18,7 @@ org.apache.gora gora -0.7-SNAPSHOT +0.7 ../ gora-dynamodb http://git-wip-us.apache.org/repos/asf/gora/blob/3b48688f/gora-goraci/pom.xml -- diff --git a/gora-goraci/pom.xml b/gora-goraci/pom.xml index 177abd0..fa6816a 100644 --- a/gora-goraci/pom.xml +++ b/gora-goraci/pom.xml @@ -23,7 +23,7 @@ org.apache.gora gora -0.7-SNAPSHOT +0.7 ../ gora-goraci http://git-wip-us.apache.org/repos/asf/gora/blob/3b48688f/gora-hbase/pom.xml -- diff --git a/gora-hbase/pom.xml b/gora-hbase/pom.xml index 98a7b2e..4035d48 100644 --- a/gora-hbase/pom.xml
gora git commit: [maven-release-plugin] prepare for next development iteration
Repository: gora Updated Branches: refs/heads/master 3b48688f5 -> 60e36d0cf [maven-release-plugin] prepare for next development iteration Project: http://git-wip-us.apache.org/repos/asf/gora/repo Commit: http://git-wip-us.apache.org/repos/asf/gora/commit/60e36d0c Tree: http://git-wip-us.apache.org/repos/asf/gora/tree/60e36d0c Diff: http://git-wip-us.apache.org/repos/asf/gora/diff/60e36d0c Branch: refs/heads/master Commit: 60e36d0cf5688f15fcc9e70e06fc3ebdaaa0cb29 Parents: 3b48688 Author: Lewis John McGibbneyAuthored: Thu Mar 16 22:19:35 2017 -0700 Committer: Lewis John McGibbney Committed: Thu Mar 16 22:19:35 2017 -0700 -- gora-accumulo/pom.xml | 2 +- gora-cassandra/pom.xml| 2 +- gora-compiler-cli/pom.xml | 2 +- gora-compiler/pom.xml | 2 +- gora-core/pom.xml | 2 +- gora-couchdb/pom.xml | 2 +- gora-dynamodb/pom.xml | 2 +- gora-goraci/pom.xml | 2 +- gora-hbase/pom.xml| 2 +- gora-infinispan/pom.xml | 2 +- gora-jcache/pom.xml | 2 +- gora-maven-plugin/pom.xml | 2 +- gora-mongodb/pom.xml | 2 +- gora-solr-5/pom.xml | 2 +- gora-tutorial/pom.xml | 2 +- pom.xml | 4 ++-- sources-dist/pom.xml | 2 +- 17 files changed, 18 insertions(+), 18 deletions(-) -- http://git-wip-us.apache.org/repos/asf/gora/blob/60e36d0c/gora-accumulo/pom.xml -- diff --git a/gora-accumulo/pom.xml b/gora-accumulo/pom.xml index 5a02bc3..d176c71 100644 --- a/gora-accumulo/pom.xml +++ b/gora-accumulo/pom.xml @@ -23,7 +23,7 @@ org.apache.gora gora -0.7 +0.8-SNAPSHOT ../ gora-accumulo http://git-wip-us.apache.org/repos/asf/gora/blob/60e36d0c/gora-cassandra/pom.xml -- diff --git a/gora-cassandra/pom.xml b/gora-cassandra/pom.xml index 1139298..0d3d13c 100644 --- a/gora-cassandra/pom.xml +++ b/gora-cassandra/pom.xml @@ -21,7 +21,7 @@ org.apache.gora gora -0.7 +0.8-SNAPSHOT ../ gora-cassandra http://git-wip-us.apache.org/repos/asf/gora/blob/60e36d0c/gora-compiler-cli/pom.xml -- diff --git a/gora-compiler-cli/pom.xml b/gora-compiler-cli/pom.xml index 1475840..f2011a4 100644 --- a/gora-compiler-cli/pom.xml +++ b/gora-compiler-cli/pom.xml @@ -22,7 +22,7 @@ org.apache.gora gora -0.7 +0.8-SNAPSHOT ../ gora-compiler-cli http://git-wip-us.apache.org/repos/asf/gora/blob/60e36d0c/gora-compiler/pom.xml -- diff --git a/gora-compiler/pom.xml b/gora-compiler/pom.xml index ac77005..d0a5724 100644 --- a/gora-compiler/pom.xml +++ b/gora-compiler/pom.xml @@ -22,7 +22,7 @@ org.apache.gora gora -0.7 +0.8-SNAPSHOT ../ gora-compiler http://git-wip-us.apache.org/repos/asf/gora/blob/60e36d0c/gora-core/pom.xml -- diff --git a/gora-core/pom.xml b/gora-core/pom.xml index 9347b90..5ce1e97 100644 --- a/gora-core/pom.xml +++ b/gora-core/pom.xml @@ -23,7 +23,7 @@ org.apache.gora gora -0.7 +0.8-SNAPSHOT ../ gora-core http://git-wip-us.apache.org/repos/asf/gora/blob/60e36d0c/gora-couchdb/pom.xml -- diff --git a/gora-couchdb/pom.xml b/gora-couchdb/pom.xml index f09acec..f23c097 100644 --- a/gora-couchdb/pom.xml +++ b/gora-couchdb/pom.xml @@ -23,7 +23,7 @@ org.apache.gora gora -0.7 +0.8-SNAPSHOT ../ gora-couchdb http://git-wip-us.apache.org/repos/asf/gora/blob/60e36d0c/gora-dynamodb/pom.xml -- diff --git a/gora-dynamodb/pom.xml b/gora-dynamodb/pom.xml index 548fafc..aca069b 100644 --- a/gora-dynamodb/pom.xml +++ b/gora-dynamodb/pom.xml @@ -18,7 +18,7 @@ org.apache.gora gora -0.7 +0.8-SNAPSHOT ../ gora-dynamodb http://git-wip-us.apache.org/repos/asf/gora/blob/60e36d0c/gora-goraci/pom.xml -- diff --git a/gora-goraci/pom.xml b/gora-goraci/pom.xml index fa6816a..e72baf7 100644 --- a/gora-goraci/pom.xml +++ b/gora-goraci/pom.xml @@ -23,7 +23,7 @@ org.apache.gora gora -0.7 +0.8-SNAPSHOT ../ gora-goraci http://git-wip-us.apache.org/repos/asf/gora/blob/60e36d0c/gora-hbase/pom.xml -- diff --git a/gora-hbase/pom.xml b/gora-hbase/pom.xml index 4035d48..58331c8 100644 --- a/gora-hbase/pom.xml
gora git commit: Remove gora-solr4 and update tutorial to gora-solr5
Repository: gora Updated Branches: refs/heads/master f05ac1822 -> d72aedffb Remove gora-solr4 and update tutorial to gora-solr5 Project: http://git-wip-us.apache.org/repos/asf/gora/repo Commit: http://git-wip-us.apache.org/repos/asf/gora/commit/d72aedff Tree: http://git-wip-us.apache.org/repos/asf/gora/tree/d72aedff Diff: http://git-wip-us.apache.org/repos/asf/gora/diff/d72aedff Branch: refs/heads/master Commit: d72aedffba18e37a20107ea9b146acbc01cc4965 Parents: f05ac18 Author: Lewis John McGibbneyAuthored: Thu Mar 16 21:55:31 2017 -0700 Committer: Lewis John McGibbney Committed: Thu Mar 16 21:55:31 2017 -0700 -- gora-tutorial/pom.xml | 2 +- pom.xml | 14 +- 2 files changed, 14 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/gora/blob/d72aedff/gora-tutorial/pom.xml -- diff --git a/gora-tutorial/pom.xml b/gora-tutorial/pom.xml index 422d0e7..4b693b7 100644 --- a/gora-tutorial/pom.xml +++ b/gora-tutorial/pom.xml @@ -120,7 +120,7 @@ org.apache.gora - gora-solr + gora-solr-5 http://git-wip-us.apache.org/repos/asf/gora/blob/d72aedff/pom.xml -- diff --git a/pom.xml b/pom.xml index 349c94e..1b4881d 100644 --- a/pom.xml +++ b/pom.xml @@ -713,7 +713,7 @@ gora-maven-plugin gora-mongodb -gora-solr + gora-solr-5 gora-tutorial sources-dist @@ -826,6 +826,18 @@ org.apache.gora +gora-solr-5 +${project.version} + + +org.apache.gora +gora-solr-5 +${project.version} +tests + + + +org.apache.gora gora-cassandra ${project.version}
gora git commit: Remove hadoop2 release profile
Repository: gora Updated Branches: refs/heads/master ce8daea35 -> f05ac1822 Remove hadoop2 release profile Project: http://git-wip-us.apache.org/repos/asf/gora/repo Commit: http://git-wip-us.apache.org/repos/asf/gora/commit/f05ac182 Tree: http://git-wip-us.apache.org/repos/asf/gora/tree/f05ac182 Diff: http://git-wip-us.apache.org/repos/asf/gora/diff/f05ac182 Branch: refs/heads/master Commit: f05ac182262ce28750d0667f16061b11bc78ee97 Parents: ce8daea Author: Lewis John McGibbneyAuthored: Thu Mar 16 21:27:37 2017 -0700 Committer: Lewis John McGibbney Committed: Thu Mar 16 21:27:37 2017 -0700 -- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/gora/blob/f05ac182/pom.xml -- diff --git a/pom.xml b/pom.xml index a313234..349c94e 100644 --- a/pom.xml +++ b/pom.xml @@ -394,7 +394,7 @@ forked-path false apache-gora-@{project.version} --Papache-release,release,hadoop2 +-Papache-release,release true
gora git commit: Increment version values for Gradle plugin
Repository: gora Updated Branches: refs/heads/master 442c7c2a2 -> ce8daea35 Increment version values for Gradle plugin Project: http://git-wip-us.apache.org/repos/asf/gora/repo Commit: http://git-wip-us.apache.org/repos/asf/gora/commit/ce8daea3 Tree: http://git-wip-us.apache.org/repos/asf/gora/tree/ce8daea3 Diff: http://git-wip-us.apache.org/repos/asf/gora/diff/ce8daea3 Branch: refs/heads/master Commit: ce8daea35e0af024e73211cd58cd6f2af553f206 Parents: 442c7c2 Author: Lewis John McGibbneyAuthored: Thu Mar 16 18:15:59 2017 -0700 Committer: Lewis John McGibbney Committed: Thu Mar 16 18:15:59 2017 -0700 -- gora-gradle-plugin/gradle.properties | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/gora/blob/ce8daea3/gora-gradle-plugin/gradle.properties -- diff --git a/gora-gradle-plugin/gradle.properties b/gora-gradle-plugin/gradle.properties index 8fbf00f..c9c0105 100644 --- a/gora-gradle-plugin/gradle.properties +++ b/gora-gradle-plugin/gradle.properties @@ -15,8 +15,8 @@ rootProject.name = 'goraPlugin' -goraVersion = 0.6.1 -avroVersion = 1.7.6 +goraVersion = 0.7 +avroVersion = 1.8.1 group = org.apache.gora.gradle -version = 0.6.1 +version = 0.7
[1/2] gora git commit: Change all .txt files to .md for improved readability
Repository: gora Updated Branches: refs/heads/master d1347a5fd -> d5593751f Change all .txt files to .md for improved readability Project: http://git-wip-us.apache.org/repos/asf/gora/repo Commit: http://git-wip-us.apache.org/repos/asf/gora/commit/0a793601 Tree: http://git-wip-us.apache.org/repos/asf/gora/tree/0a793601 Diff: http://git-wip-us.apache.org/repos/asf/gora/diff/0a793601 Branch: refs/heads/master Commit: 0a7936017a5330a150ba422d493b59b1ffe3f6bf Parents: 3f32321 Author: Lewis John McGibbney <lewis.mcgibb...@gmail.com> Authored: Thu Mar 16 18:01:56 2017 -0700 Committer: Lewis John McGibbney <lewis.mcgibb...@gmail.com> Committed: Thu Mar 16 18:01:56 2017 -0700 -- .gitignore | 1 + CHANGES.md | 437 +++ CHANGES.txt | 437 --- LICENSE.md | 202 + LICENSE.txt | 202 - NOTICE.md | 5 + NOTICE.txt | 5 - 7 files changed, 645 insertions(+), 644 deletions(-) -- http://git-wip-us.apache.org/repos/asf/gora/blob/0a793601/.gitignore -- diff --git a/.gitignore b/.gitignore index e2e94f3..8a5e41e 100644 --- a/.gitignore +++ b/.gitignore @@ -34,4 +34,5 @@ ivy/ivy*.jar **/conf/*-site.xml **/dependency-reduced-pom.xml **/gora-solr/src/test/conf/solr/collection1/data/ +**/gora-solr-5/src/test/conf/solr/collection1/data/ **/_rest_managed.json http://git-wip-us.apache.org/repos/asf/gora/blob/0a793601/CHANGES.md -- diff --git a/CHANGES.md b/CHANGES.md new file mode 100644 index 000..df9f38c --- /dev/null +++ b/CHANGES.md @@ -0,0 +1,437 @@ + === + ==CHANGES.txt + === + +Current Development + +Release Report to go here + +Apache Gora 0.6.1 Release - 05/09/2015 (dd/mm/) +Release Report - http://s.apache.org/l69 + +* GORA-436 Improve Source Code as Java 7 Compatible (Furkan KAMACI via lewismc) + +* GORA-435 Clean Up Code and Fix Potential Bugs (Furkan KAMACI via lewismc) + +* GORA-433 Non-Final Public Static Fields Should Be Final (Furkan KAMACI via lewismc) + +* GORA-314 Implement TestDriver for AccumuloStoreTest e.g. TODO in class (lewismc) + +* GORA-417 Deploy Hadoop-1 compatible binaries for Apache Gora (lewismc) + +* GORA-432 Simplify if Statements (Furkan KAMACI via lewismc) + +* GORA-386 Gora Spark Backend Support (Furkan KAMACI, talat, lewismc) + +* GORA-429 Implement Maven forbidden-apis plugin in Gora (lewismc, rmarroquin) + +* GORA-228 java.util.ConcurrentModificationException when using MemStore for concurrent tests (Yasin Kılınç, cihad güzel, lewismc) + +* GORA-419: AccumuloStore.put deletes entire row when updating map/array field (gerhardgossen via lewismc) + +* GORA-420: AccumuloStore.createSchema fails when table already exists (gerhardgossen via lewismc) + +* GORA-427 Configure MongoDB ReadPreference and WriteConcern (drazzib) + +* GORA-426 MongoDB cursor timeout on long running parse job (Alexander Yastrebov via drazzib) + +* GORA-424 Cache cursor size to improve performance (Alexander Yastrebov via drazzib) + +* GORA-423 BSONDecorator returns empty string for null field value (Alexander Yastrebov via drazzib) + +* GORA-262 Add support for HTTPClient authentication in gora-solr (Furkan KAMACI via lewismc) + +* GORA-384 Provide documentation on Gora Shims layer (lewismc) + +* GORA-415 hadoop-client dependency should be optional in gora-core (hsaputra via lewismc) + +* GORA-410 Change logging behavior to pass exception object to LOG methods (Gerhard Gossen via lewismc) + +* GORA-330 Import Gora Gradle plugin (drazzib) + + +Apache Gora 0.6 Release - 12/02/2015 (dd/mm/) +Release Report - http://s.apache.org/gora-0.6 + +* GORA-406 Upgrade Solr dependencies to 4.10.3 (lewismc) + +* GORA-407 Upgrade restlet dependencies to 2.3.1 for gora-solr (lewismc) + +* GORA-388 MongoStore: Fix handling of Utf8 in filters (drazzib) + +* GORA-375 Upgrade HBase to 0.98 (Talat UYARER via lewismc) + +* GORA-389 MongoStore: Document or List mapping change cause NPE in clearDirty() (drazzib) + +* GORA-390 Rework generated isXXXDirty methods. (drazzib) + +* GORA-381 Fix Guava dependency mismatch post GoraCI (lewismc) + +* GORA-374 Implement Rackspace Cloud Orchestration in GoraCI (lewismc) + +* GORA-371 Exception setXIncludeAware UnsupportedOperationException (Viacheslav Dobromyslov (dobromyslov) via lewismc) + +* GORA-378 Log error trace as well as error message in GoraRecordWriter (lewismc) + +* GORA-376 Gora Cassandra doesn't accept user credentials for connection (Viju Kothuvatiparambil via lewismc)
[2/2] gora git commit: Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/gora
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/gora Project: http://git-wip-us.apache.org/repos/asf/gora/repo Commit: http://git-wip-us.apache.org/repos/asf/gora/commit/d5593751 Tree: http://git-wip-us.apache.org/repos/asf/gora/tree/d5593751 Diff: http://git-wip-us.apache.org/repos/asf/gora/diff/d5593751 Branch: refs/heads/master Commit: d5593751fc8d05e502c15714d77ecd9310c834c8 Parents: 0a79360 d1347a5 Author: Lewis John McGibbneyAuthored: Thu Mar 16 18:02:26 2017 -0700 Committer: Lewis John McGibbney Committed: Thu Mar 16 18:02:26 2017 -0700 -- gora-mongodb/pom.xml| 4 +-- .../PLAIN_AuthenticationTest.java | 2 +- .../SCRAM_SHA_1_AuthenticationTest.java | 2 +- .../gora/mongodb/store/TestMongoStore34.java| 31 4 files changed, 35 insertions(+), 4 deletions(-) --