This is an automated email from the ASF dual-hosted git repository.

colegreer pushed a commit to branch TINKERPOP-3107
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git

commit 4316f890baae2b772f8aa7df51f4c37ff8611f45
Author: Cole Greer <[email protected]>
AuthorDate: Tue Apr 14 12:52:26 2026 -0700

    add airroutes server config
---
 docs/src/reference/gremlin-applications.asciidoc   |  2 +-
 docs/src/upgrade/release-4.x.x.asciidoc            |  2 +-
 gremlin-server/conf/gremlin-server-airroutes.yaml  | 43 ++++++++++++++++++++++
 .../server/util/TinkerFactoryDataLoader.java       |  5 ++-
 .../server/GremlinServerConfigIntegrateTest.java   |  1 +
 .../server/util/TinkerFactoryDataLoaderTest.java   | 20 ++++++++++
 6 files changed, 70 insertions(+), 3 deletions(-)

diff --git a/docs/src/reference/gremlin-applications.asciidoc 
b/docs/src/reference/gremlin-applications.asciidoc
index 1d0d0a0c96..573a7c4199 100644
--- a/docs/src/reference/gremlin-applications.asciidoc
+++ b/docs/src/reference/gremlin-applications.asciidoc
@@ -538,7 +538,7 @@ Each entry specifies:
 
 The built-in `TinkerFactoryDataLoader` loads TinkerFactory sample datasets 
into a graph.  It accepts two config
 parameters: `graph` (the name of the graph as defined in `graphs`) and 
`dataset` (one of `modern`, `classic`, `crew`,
-`grateful`, or `sink`).
+`grateful`, `sink`, or `airroutes`).
 
 Custom `LifeCycleHook` implementations must have a no-arg constructor and 
implement the `onStartUp(Context)` and
 `onShutDown(Context)` methods.  The `Context` provides access to a `Logger` 
and the `GraphManager`.
diff --git a/docs/src/upgrade/release-4.x.x.asciidoc 
b/docs/src/upgrade/release-4.x.x.asciidoc
index 6cd0fdabd4..9decb6ded9 100644
--- a/docs/src/upgrade/release-4.x.x.asciidoc
+++ b/docs/src/upgrade/release-4.x.x.asciidoc
@@ -84,7 +84,7 @@ lifecycleHooks:
 
 Each entry specifies a `className` implementing `LifeCycleHook` and an 
optional `config` map passed to the hook's
 `init()` method. The built-in `TinkerFactoryDataLoader` supports datasets: 
`modern`, `classic`, `crew`, `grateful`,
-and `sink`.
+`sink`, and `airroutes`.
 
 ===== Deprecation of Groovy Init Scripts
 
diff --git a/gremlin-server/conf/gremlin-server-airroutes.yaml 
b/gremlin-server/conf/gremlin-server-airroutes.yaml
new file mode 100644
index 0000000000..c4c4529f8f
--- /dev/null
+++ b/gremlin-server/conf/gremlin-server-airroutes.yaml
@@ -0,0 +1,43 @@
+# 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.
+
+host: localhost
+port: 8182
+evaluationTimeout: 30000
+channelizer: org.apache.tinkerpop.gremlin.server.channel.HttpChannelizer
+graphs: {
+  graph: conf/tinkergraph-empty.properties}
+lifecycleHooks:
+  - { className: 
org.apache.tinkerpop.gremlin.server.util.TinkerFactoryDataLoader, config: 
{graph: graph, dataset: airroutes}}
+serializers:
+  - { className: 
org.apache.tinkerpop.gremlin.util.ser.GraphSONMessageSerializerV4, config: { 
ioRegistries: 
[org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerIoRegistryV3] }}      
      # application/json
+  - { className: 
org.apache.tinkerpop.gremlin.util.ser.GraphBinaryMessageSerializerV4}           
                                                                                
                 # application/vnd.graphbinary-v4.0
+metrics: {
+  slf4jReporter: {enabled: true, interval: 180000}}
+strictTransactionManagement: false
+idleConnectionTimeout: 0
+keepAliveInterval: 0
+maxInitialLineLength: 4096
+maxHeaderSize: 8192
+maxChunkSize: 8192
+maxRequestContentLength: 10485760
+maxAccumulationBufferComponents: 1024
+resultIterationBatchSize: 64
+writeBufferLowWaterMark: 32768
+writeBufferHighWaterMark: 65536
+ssl: {
+  enabled: false}
diff --git 
a/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/util/TinkerFactoryDataLoader.java
 
b/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/util/TinkerFactoryDataLoader.java
index 5cc87f8835..a211d81426 100644
--- 
a/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/util/TinkerFactoryDataLoader.java
+++ 
b/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/util/TinkerFactoryDataLoader.java
@@ -31,7 +31,7 @@ import java.util.Map;
  * <p>Configuration parameters (via {@code config} in YAML):
  * <ul>
  *   <li>{@code graph} — name of the graph (as defined in {@code graphs:} 
config) to load data into</li>
- *   <li>{@code dataset} — which dataset to load: modern, classic, crew, 
grateful, sink</li>
+ *   <li>{@code dataset} — which dataset to load: modern, classic, crew, 
grateful, sink, airroutes</li>
  * </ul>
  *
  * <p>Example YAML usage:
@@ -85,6 +85,9 @@ public class TinkerFactoryDataLoader implements LifeCycleHook 
{
             case "sink":
                 TinkerFactory.generateKitchenSink(tinkerGraph);
                 break;
+            case "airroutes":
+                TinkerFactory.generateAirRoutes(tinkerGraph);
+                break;
             default:
                 c.getLogger().warn("TinkerFactoryDataLoader unknown dataset 
[{}]", dataset);
                 return;
diff --git 
a/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerConfigIntegrateTest.java
 
b/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerConfigIntegrateTest.java
index 38e89cbddb..835aad5732 100644
--- 
a/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerConfigIntegrateTest.java
+++ 
b/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerConfigIntegrateTest.java
@@ -57,6 +57,7 @@ public class GremlinServerConfigIntegrateTest {
                 "gremlin-server-min.yaml",
                 "gremlin-server-modern.yaml",
                 "gremlin-server-classic.yaml",
+                "gremlin-server-airroutes.yaml",
                 "gremlin-server-modern-readonly.yaml",
                 "gremlin-server-rest-modern.yaml",
                 "gremlin-server-transaction.yaml"
diff --git 
a/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/util/TinkerFactoryDataLoaderTest.java
 
b/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/util/TinkerFactoryDataLoaderTest.java
index 9a06fd29b5..0700c48be3 100644
--- 
a/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/util/TinkerFactoryDataLoaderTest.java
+++ 
b/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/util/TinkerFactoryDataLoaderTest.java
@@ -213,4 +213,24 @@ public class TinkerFactoryDataLoaderTest {
             graph.close();
         }
     }
+
+    @Test
+    public void onStartUpShouldLoadAirRoutes() {
+        final TinkerFactoryDataLoader loader = new TinkerFactoryDataLoader();
+        final Map<String, Object> config = new HashMap<>();
+        config.put("graph", "graph");
+        config.put("dataset", "airroutes");
+        loader.init(config);
+
+        final TinkerGraph graph = TinkerGraph.open();
+        try {
+            final GraphManager gm = mock(GraphManager.class);
+            when(gm.getGraph("graph")).thenReturn(graph);
+
+            loader.onStartUp(createContext(gm));
+            assertThat((int) graph.traversal().V().count().next().longValue(), 
greaterThan(0));
+        } finally {
+            graph.close();
+        }
+    }
 }

Reply via email to