You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@calcite.apache.org by el...@apache.org on 2017/04/01 20:36:20 UTC
[28/51] [partial] calcite-avatica git commit: [CALCITE-1717] Remove
Calcite code and lift avatica
http://git-wip-us.apache.org/repos/asf/calcite-avatica/blob/fc7b26c8/avatica/metrics/pom.xml
----------------------------------------------------------------------
diff --git a/avatica/metrics/pom.xml b/avatica/metrics/pom.xml
deleted file mode 100644
index 4fc32df..0000000
--- a/avatica/metrics/pom.xml
+++ /dev/null
@@ -1,129 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.calcite.avatica</groupId>
- <artifactId>avatica-parent</artifactId>
- <version>1.10.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>avatica-metrics</artifactId>
- <packaging>jar</packaging>
- <name>Apache Calcite Avatica Metrics</name>
- <description>A library designed to abstract away any required dependency on a metrics library</description>
-
- <properties>
- <top.dir>${project.basedir}/..</top.dir>
- </properties>
-
- <dependencies>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-api</artifactId>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.mockito</groupId>
- <artifactId>mockito-core</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-log4j12</artifactId>
- <scope>test</scope>
- </dependency>
- </dependencies>
-
- <build>
- <pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.eclipse.m2e</groupId>
- <artifactId>lifecycle-mapping</artifactId>
- <version>1.0.0</version>
- <configuration>
- <lifecycleMappingMetadata>
- <pluginExecutions>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-checkstyle-plugin</artifactId>
- <versionRange>[2.12.1,)</versionRange>
- <goals>
- <goal>check</goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <ignore />
- </action>
- </pluginExecution>
- </pluginExecutions>
- </lifecycleMappingMetadata>
- </configuration>
- </plugin>
- </plugins>
- </pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-dependency-plugin</artifactId>
- <version>${maven-dependency-plugin.version}</version>
- <!-- configurations do not cascade, so all of the definition from
- ../pom.xml:build:plugin-management:plugins:plugin must be repeated in child poms -->
- <executions>
- <execution>
- <id>analyze</id>
- <goals>
- <goal>analyze-only</goal>
- </goals>
- <configuration>
- <failOnWarning>true</failOnWarning>
- <!-- ignore "unused but declared" warnings -->
- <ignoredUnusedDeclaredDependencies>
- <ignoredUnusedDeclaredDependency>org.slf4j:slf4j-log4j12</ignoredUnusedDeclaredDependency>
- </ignoredUnusedDeclaredDependencies>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <!-- Parent module has the same plugin and does the work of
- generating -sources.jar for each project. But without the
- plugin declared here, IDEs don't know the sources are
- available. -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-source-plugin</artifactId>
- <executions>
- <execution>
- <id>attach-sources</id>
- <phase>verify</phase>
- <goals>
- <goal>jar-no-fork</goal>
- <goal>test-jar-no-fork</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-</project>
http://git-wip-us.apache.org/repos/asf/calcite-avatica/blob/fc7b26c8/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/Counter.java
----------------------------------------------------------------------
diff --git a/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/Counter.java b/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/Counter.java
deleted file mode 100644
index 87aec1b..0000000
--- a/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/Counter.java
+++ /dev/null
@@ -1,49 +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.calcite.avatica.metrics;
-
-/**
- * A mutable number.
- */
-public interface Counter {
-
- /**
- * Increment {@code this} by 1.
- */
- void increment();
-
- /**
- * Increment {@code this} by {@code n}.
- *
- * @param n The amount to increment.
- */
- void increment(long n);
-
- /**
- * Decrement {@code this} by 1.
- */
- void decrement();
-
- /**
- * Decrement {@code this} by {@code n}.
- *
- * @param n The amount to decrement.
- */
- void decrement(long n);
-}
-
-// End Counter.java
http://git-wip-us.apache.org/repos/asf/calcite-avatica/blob/fc7b26c8/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/Gauge.java
----------------------------------------------------------------------
diff --git a/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/Gauge.java b/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/Gauge.java
deleted file mode 100644
index 6313a9a..0000000
--- a/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/Gauge.java
+++ /dev/null
@@ -1,30 +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.calcite.avatica.metrics;
-
-/**
- * A metrics which measures a discrete value.
- *
- * @param <T> The value of the Gauge.
- */
-public interface Gauge<T> extends Metric {
-
- T getValue();
-
-}
-
-// End Gauge.java
http://git-wip-us.apache.org/repos/asf/calcite-avatica/blob/fc7b26c8/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/Histogram.java
----------------------------------------------------------------------
diff --git a/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/Histogram.java b/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/Histogram.java
deleted file mode 100644
index 633af78..0000000
--- a/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/Histogram.java
+++ /dev/null
@@ -1,40 +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.calcite.avatica.metrics;
-
-/**
- * A metric which measures the distribution of values.
- */
-public interface Histogram extends Metric {
-
- /**
- * Adds a new value to the distribution.
- *
- * @param value The value to add
- */
- void update(int value);
-
- /**
- * Adds a new value to the distribution.
- *
- * @param value The value to add
- */
- void update(long value);
-
-}
-
-// End Histogram.java
http://git-wip-us.apache.org/repos/asf/calcite-avatica/blob/fc7b26c8/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/Meter.java
----------------------------------------------------------------------
diff --git a/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/Meter.java b/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/Meter.java
deleted file mode 100644
index b27f023..0000000
--- a/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/Meter.java
+++ /dev/null
@@ -1,38 +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.calcite.avatica.metrics;
-
-/**
- * A metric which measure the rate at which some operation is invoked.
- */
-public interface Meter extends Metric {
-
- /**
- * Records one occurrence.
- */
- void mark();
-
- /**
- * Records {@code events} occurrences.
- *
- * @param events Number of occurrences to record.
- */
- void mark(long events);
-
-}
-
-// End Meter.java
http://git-wip-us.apache.org/repos/asf/calcite-avatica/blob/fc7b26c8/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/Metric.java
----------------------------------------------------------------------
diff --git a/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/Metric.java b/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/Metric.java
deleted file mode 100644
index fe133da..0000000
--- a/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/Metric.java
+++ /dev/null
@@ -1,26 +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.calcite.avatica.metrics;
-
-/**
- * Parent interface for all metrics.
- */
-public interface Metric {
-
-}
-
-// End Metric.java
http://git-wip-us.apache.org/repos/asf/calcite-avatica/blob/fc7b26c8/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/MetricsSystem.java
----------------------------------------------------------------------
diff --git a/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/MetricsSystem.java b/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/MetricsSystem.java
deleted file mode 100644
index 0d1cb4b..0000000
--- a/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/MetricsSystem.java
+++ /dev/null
@@ -1,68 +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.calcite.avatica.metrics;
-
-/**
- * General purpose factory for creating various metrics. Modeled off of the Dropwizard Metrics API.
- */
-public interface MetricsSystem {
-
- /**
- * Get or construct a {@link Timer} used to measure durations and report rates.
- *
- * @param name The name of the Timer.
- * @return An instance of {@link Timer}.
- */
- Timer getTimer(String name);
-
- /**
- * Get or construct a {@link Histogram} used to measure a distribution of values.
- *
- * @param name The name of the Histogram.
- * @return An instance of {@link Histogram}.
- */
- Histogram getHistogram(String name);
-
- /**
- * Get or construct a {@link Meter} used to measure durations and report distributions (a
- * combination of a {@link Timer} and a {@link Histogram}.
- *
- * @param name The name of the Meter.
- * @return An instance of {@link Meter}.
- */
- Meter getMeter(String name);
-
- /**
- * Get or construct a {@link Counter} used to track a mutable number.
- *
- * @param name The name of the Counter
- * @return An instance of {@link Counter}.
- */
- Counter getCounter(String name);
-
- /**
- * Register a {@link Gauge}. The Gauge will be invoked at a period defined by the implementation
- * of {@link MetricsSystem}.
- *
- * @param name The name of the Gauge.
- * @param gauge A callback to compute the current value.
- */
- <T> void register(String name, Gauge<T> gauge);
-
-}
-
-// End MetricsSystem.java
http://git-wip-us.apache.org/repos/asf/calcite-avatica/blob/fc7b26c8/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/MetricsSystemConfiguration.java
----------------------------------------------------------------------
diff --git a/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/MetricsSystemConfiguration.java b/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/MetricsSystemConfiguration.java
deleted file mode 100644
index 99b6e8c..0000000
--- a/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/MetricsSystemConfiguration.java
+++ /dev/null
@@ -1,33 +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.calcite.avatica.metrics;
-
-/**
- * A container used by a {@link MetricsSystemFactory} to create a {@link MetricsSystem}.
- *
- * @param <T> Configuration/State for the {@link MetricsSystem}.
- */
-public interface MetricsSystemConfiguration<T> {
-
- /**
- * @return Some state or configuration to create a {@link MetricsSystem}.
- */
- T get();
-
-}
-
-// End MetricsSystemConfiguration.java
http://git-wip-us.apache.org/repos/asf/calcite-avatica/blob/fc7b26c8/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/MetricsSystemFactory.java
----------------------------------------------------------------------
diff --git a/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/MetricsSystemFactory.java b/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/MetricsSystemFactory.java
deleted file mode 100644
index 484b230..0000000
--- a/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/MetricsSystemFactory.java
+++ /dev/null
@@ -1,32 +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.calcite.avatica.metrics;
-
-/**
- * A factory class for creating instances of {@link MetricsSystem}.
- */
-public interface MetricsSystemFactory {
-
- /**
- * Creates an instance of a {@link MetricsSystem}.
- *
- * @return A new {@link MetricsSystem}.
- */
- MetricsSystem create(MetricsSystemConfiguration<?> config);
-}
-
-// End MetricsSystemFactory.java
http://git-wip-us.apache.org/repos/asf/calcite-avatica/blob/fc7b26c8/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/MetricsSystemLoader.java
----------------------------------------------------------------------
diff --git a/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/MetricsSystemLoader.java b/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/MetricsSystemLoader.java
deleted file mode 100644
index 3a15c5b..0000000
--- a/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/MetricsSystemLoader.java
+++ /dev/null
@@ -1,87 +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.calcite.avatica.metrics;
-
-import org.apache.calcite.avatica.metrics.noop.NoopMetricsSystem;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Objects;
-import java.util.ServiceLoader;
-
-/**
- * A utility encapsulating use of {@link ServiceLoader} to instantiate a {@link MetricsSystem}.
- */
-public class MetricsSystemLoader {
- private static final Logger LOG = LoggerFactory.getLogger(MetricsSystemLoader.class);
- private static final MetricsSystemLoader INSTANCE = new MetricsSystemLoader();
-
- private MetricsSystemLoader() {}
-
- /**
- * Creates a {@link MetricsSystem} instance using the corresponding {@link MetricsSystemFactory}
- * available to {@link ServiceLoader} on the classpath. If there is not exactly one instance of
- * a {@link MetricsSystemFactory}, an instance of {@link NoopMetricsSystem} will be returned.
- *
- * @param config State to pass to the {@link MetricsSystemFactory}.
- * @return A {@link MetricsSystem} implementation.
- */
- public static MetricsSystem load(MetricsSystemConfiguration<?> config) {
- return INSTANCE._load(Objects.requireNonNull(config));
- }
-
- MetricsSystem _load(MetricsSystemConfiguration<?> config) {
- List<MetricsSystemFactory> availableFactories = getFactories();
-
- if (1 == availableFactories.size()) {
- // One and only one instance -- what we want/expect
- MetricsSystemFactory factory = availableFactories.get(0);
- LOG.info("Loaded MetricsSystem {}", factory.getClass());
- return factory.create(config);
- } else if (availableFactories.isEmpty()) {
- // None-provided default to no metrics
- LOG.info("No metrics implementation available on classpath. Using No-op implementation");
- return NoopMetricsSystem.getInstance();
- } else {
- // Tell the user they're doing something wrong, and choose the first impl.
- StringBuilder sb = new StringBuilder();
- for (MetricsSystemFactory factory : availableFactories) {
- if (sb.length() > 0) {
- sb.append(", ");
- }
- sb.append(factory.getClass());
- }
- LOG.warn("Found multiple MetricsSystemFactory implementations: {}."
- + " Using No-op implementation", sb);
- return NoopMetricsSystem.getInstance();
- }
- }
-
- List<MetricsSystemFactory> getFactories() {
- ServiceLoader<MetricsSystemFactory> loader = ServiceLoader.load(MetricsSystemFactory.class);
- List<MetricsSystemFactory> availableFactories = new ArrayList<>();
- for (MetricsSystemFactory factory : loader) {
- availableFactories.add(factory);
- }
- return availableFactories;
- }
-}
-
-// End MetricsSystemLoader.java
http://git-wip-us.apache.org/repos/asf/calcite-avatica/blob/fc7b26c8/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/PackageMarker.java
----------------------------------------------------------------------
diff --git a/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/PackageMarker.java b/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/PackageMarker.java
deleted file mode 100644
index e627d31..0000000
--- a/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/PackageMarker.java
+++ /dev/null
@@ -1,37 +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.calcite.avatica.metrics;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-
-/**
- * This is a dummy annotation that forces javac to produce output for
- * otherwise empty package-info.java.
- *
- * <p>The result is maven-compiler-plugin can properly identify the scope of
- * changed files
- *
- * <p>See more details in
- * <a href="https://jira.codehaus.org/browse/MCOMPILER-205">
- * maven-compiler-plugin: incremental compilation broken</a>
- */
-@Retention(RetentionPolicy.SOURCE)
-public @interface PackageMarker {
-}
-
-// End PackageMarker.java
http://git-wip-us.apache.org/repos/asf/calcite-avatica/blob/fc7b26c8/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/Timer.java
----------------------------------------------------------------------
diff --git a/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/Timer.java b/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/Timer.java
deleted file mode 100644
index be792cc..0000000
--- a/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/Timer.java
+++ /dev/null
@@ -1,37 +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.calcite.avatica.metrics;
-
-/**
- * A metric which encompasses a {@link Histogram} and {@link Meter}.
- */
-public interface Timer extends Metric {
-
- Context start();
-
- /**
- * A object that tracks an active timing state.
- */
- public interface Context extends AutoCloseable {
- /**
- * Stops the timer.
- */
- void close();
- }
-}
-
-// End Timer.java
http://git-wip-us.apache.org/repos/asf/calcite-avatica/blob/fc7b26c8/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/noop/NoopCounter.java
----------------------------------------------------------------------
diff --git a/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/noop/NoopCounter.java b/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/noop/NoopCounter.java
deleted file mode 100644
index 9ce8476..0000000
--- a/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/noop/NoopCounter.java
+++ /dev/null
@@ -1,36 +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.calcite.avatica.metrics.noop;
-
-import org.apache.calcite.avatica.metrics.Counter;
-
-/**
- * {@link Counter} implementation which does nothing.
- */
-public class NoopCounter implements Counter {
-
- @Override public void increment() {}
-
- @Override public void increment(long n) {}
-
- @Override public void decrement() {}
-
- @Override public void decrement(long n) {}
-
-}
-
-// End NoopCounter.java
http://git-wip-us.apache.org/repos/asf/calcite-avatica/blob/fc7b26c8/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/noop/NoopHistogram.java
----------------------------------------------------------------------
diff --git a/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/noop/NoopHistogram.java b/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/noop/NoopHistogram.java
deleted file mode 100644
index ee056e9..0000000
--- a/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/noop/NoopHistogram.java
+++ /dev/null
@@ -1,32 +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.calcite.avatica.metrics.noop;
-
-import org.apache.calcite.avatica.metrics.Histogram;
-
-/**
- * {@link Histogram} which does nothing.
- */
-public class NoopHistogram implements Histogram {
-
- @Override public void update(int value) {}
-
- @Override public void update(long value) {}
-
-}
-
-// End NoopHistogram.java
http://git-wip-us.apache.org/repos/asf/calcite-avatica/blob/fc7b26c8/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/noop/NoopMeter.java
----------------------------------------------------------------------
diff --git a/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/noop/NoopMeter.java b/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/noop/NoopMeter.java
deleted file mode 100644
index 4ad68c9..0000000
--- a/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/noop/NoopMeter.java
+++ /dev/null
@@ -1,32 +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.calcite.avatica.metrics.noop;
-
-import org.apache.calcite.avatica.metrics.Meter;
-
-/**
- * {@link Meter} which does nothing.
- */
-public class NoopMeter implements Meter {
-
- @Override public void mark() {}
-
- @Override public void mark(long events) {}
-
-}
-
-// End NoopMeter.java
http://git-wip-us.apache.org/repos/asf/calcite-avatica/blob/fc7b26c8/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/noop/NoopMetricsSystem.java
----------------------------------------------------------------------
diff --git a/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/noop/NoopMetricsSystem.java b/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/noop/NoopMetricsSystem.java
deleted file mode 100644
index 12b5af1..0000000
--- a/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/noop/NoopMetricsSystem.java
+++ /dev/null
@@ -1,69 +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.calcite.avatica.metrics.noop;
-
-import org.apache.calcite.avatica.metrics.Counter;
-import org.apache.calcite.avatica.metrics.Gauge;
-import org.apache.calcite.avatica.metrics.Histogram;
-import org.apache.calcite.avatica.metrics.Meter;
-import org.apache.calcite.avatica.metrics.Metric;
-import org.apache.calcite.avatica.metrics.MetricsSystem;
-import org.apache.calcite.avatica.metrics.Timer;
-
-/**
- * {@link MetricsSystem} implementation which does nothing. Returns {@link Metric} implementations
- * which also does nothing (avoiding null instances).
- */
-public class NoopMetricsSystem implements MetricsSystem {
-
- private static final NoopMetricsSystem NOOP_METRICS = new NoopMetricsSystem();
-
- private static final Timer TIMER = new NoopTimer();
- private static final Histogram HISTOGRAM = new NoopHistogram();
- private static final Meter METER = new NoopMeter();
- private static final Counter COUNTER = new NoopCounter();
-
- /**
- * @return A {@link NoopMetricsSystem} instance.
- */
- public static NoopMetricsSystem getInstance() {
- return NOOP_METRICS;
- }
-
- private NoopMetricsSystem() {}
-
- @Override public Timer getTimer(String name) {
- return TIMER;
- }
-
- @Override public Histogram getHistogram(String name) {
- return HISTOGRAM;
- }
-
- @Override public Meter getMeter(String name) {
- return METER;
- }
-
- @Override public Counter getCounter(String name) {
- return COUNTER;
- }
-
- @Override public <T> void register(String name, Gauge<T> gauge) {}
-
-}
-
-// End NoopMetricsSystem.java
http://git-wip-us.apache.org/repos/asf/calcite-avatica/blob/fc7b26c8/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/noop/NoopMetricsSystemConfiguration.java
----------------------------------------------------------------------
diff --git a/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/noop/NoopMetricsSystemConfiguration.java b/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/noop/NoopMetricsSystemConfiguration.java
deleted file mode 100644
index 42b3f24..0000000
--- a/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/noop/NoopMetricsSystemConfiguration.java
+++ /dev/null
@@ -1,40 +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.calcite.avatica.metrics.noop;
-
-import org.apache.calcite.avatica.metrics.MetricsSystemConfiguration;
-
-/**
- * An empty configuration for the {@link NoopMetricsSystem}.
- */
-public class NoopMetricsSystemConfiguration implements MetricsSystemConfiguration<Void> {
-
- private static final NoopMetricsSystemConfiguration INSTANCE =
- new NoopMetricsSystemConfiguration();
-
- public static NoopMetricsSystemConfiguration getInstance() {
- return INSTANCE;
- }
-
- private NoopMetricsSystemConfiguration() {}
-
- @Override public Void get() {
- return null;
- }
-}
-
-// End NoopMetricsSystemConfiguration.java
http://git-wip-us.apache.org/repos/asf/calcite-avatica/blob/fc7b26c8/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/noop/NoopMetricsSystemFactory.java
----------------------------------------------------------------------
diff --git a/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/noop/NoopMetricsSystemFactory.java b/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/noop/NoopMetricsSystemFactory.java
deleted file mode 100644
index c15f978..0000000
--- a/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/noop/NoopMetricsSystemFactory.java
+++ /dev/null
@@ -1,35 +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.calcite.avatica.metrics.noop;
-
-import org.apache.calcite.avatica.metrics.MetricsSystemConfiguration;
-import org.apache.calcite.avatica.metrics.MetricsSystemFactory;
-
-/**
- * A {@link MetricsSystemFactory} for the {@link NoopMetricsSystem}.
- *
- * No service file is provided for this implementation. It is the fallback implementation if
- * no implementation or more than one implementation is found on the classpath.
- */
-public class NoopMetricsSystemFactory implements MetricsSystemFactory {
-
- @Override public NoopMetricsSystem create(MetricsSystemConfiguration<?> config) {
- return NoopMetricsSystem.getInstance();
- }
-}
-
-// End NoopMetricsSystemFactory.java
http://git-wip-us.apache.org/repos/asf/calcite-avatica/blob/fc7b26c8/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/noop/NoopTimer.java
----------------------------------------------------------------------
diff --git a/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/noop/NoopTimer.java b/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/noop/NoopTimer.java
deleted file mode 100644
index a45cd63..0000000
--- a/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/noop/NoopTimer.java
+++ /dev/null
@@ -1,43 +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.calcite.avatica.metrics.noop;
-
-import org.apache.calcite.avatica.metrics.Timer;
-import org.apache.calcite.avatica.metrics.Timer.Context;
-
-/**
- * {@link Timer} which does nothing.
- */
-public class NoopTimer implements Timer {
-
- private static final NoopContext CONTEXT = new NoopContext();
-
- @Override public NoopContext start() {
- return CONTEXT;
- }
-
- /**
- * {@link Context} which does nothing.
- */
- public static class NoopContext implements Context {
-
- @Override public void close() {}
-
- }
-}
-
-// End NoopTimer.java
http://git-wip-us.apache.org/repos/asf/calcite-avatica/blob/fc7b26c8/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/noop/package-info.java
----------------------------------------------------------------------
diff --git a/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/noop/package-info.java b/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/noop/package-info.java
deleted file mode 100644
index 826a655..0000000
--- a/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/noop/package-info.java
+++ /dev/null
@@ -1,26 +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.
- */
-
-/**
- * No-operation implementation for the Avatica Metrics framework.
- */
-@PackageMarker
-package org.apache.calcite.avatica.metrics.noop;
-
-import org.apache.calcite.avatica.metrics.PackageMarker;
-
-// End package-info.java
http://git-wip-us.apache.org/repos/asf/calcite-avatica/blob/fc7b26c8/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/package-info.java
----------------------------------------------------------------------
diff --git a/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/package-info.java b/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/package-info.java
deleted file mode 100644
index efed28c..0000000
--- a/avatica/metrics/src/main/java/org/apache/calcite/avatica/metrics/package-info.java
+++ /dev/null
@@ -1,24 +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.
- */
-
-/**
- * Metrics for the Avatica framework.
- */
-@PackageMarker
-package org.apache.calcite.avatica.metrics;
-
-// End package-info.java
http://git-wip-us.apache.org/repos/asf/calcite-avatica/blob/fc7b26c8/avatica/metrics/src/test/java/org/apache/calcite/avatica/metrics/MetricsSystemLoaderTest.java
----------------------------------------------------------------------
diff --git a/avatica/metrics/src/test/java/org/apache/calcite/avatica/metrics/MetricsSystemLoaderTest.java b/avatica/metrics/src/test/java/org/apache/calcite/avatica/metrics/MetricsSystemLoaderTest.java
deleted file mode 100644
index 1c405ee..0000000
--- a/avatica/metrics/src/test/java/org/apache/calcite/avatica/metrics/MetricsSystemLoaderTest.java
+++ /dev/null
@@ -1,114 +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.calcite.avatica.metrics;
-
-import org.apache.calcite.avatica.metrics.noop.NoopMetricsSystem;
-import org.apache.calcite.avatica.metrics.noop.NoopMetricsSystemConfiguration;
-
-import org.junit.Test;
-import org.mockito.Mockito;
-
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-import static org.junit.Assert.assertEquals;
-
-/**
- * Test class for {@link MetricsSystemLoader}.
- */
-public class MetricsSystemLoaderTest {
-
- @Test public void testSingleInstance() {
- final List<MetricsSystemFactory> factories =
- Collections.<MetricsSystemFactory>singletonList(new MarkedNoopMetricsSystemFactory());
- MetricsSystemLoader loader = Mockito.mock(MetricsSystemLoader.class);
-
- Mockito.when(loader.getFactories()).thenReturn(factories);
- Mockito.when(loader._load(Mockito.any(MetricsSystemConfiguration.class))).thenCallRealMethod();
-
- // One MetricsSystemFactory should return the MetricsSystem it creates
- MetricsSystem system = loader._load(NoopMetricsSystemConfiguration.getInstance());
- assertEquals(MarkedMetricsSystem.INSTANCE, system);
- }
-
- @Test public void testMultipleInstances() {
- // The type of the factories doesn't matter (we can send duplicates for testing purposes)
- final List<MetricsSystemFactory> factories =
- Arrays.<MetricsSystemFactory>asList(new MarkedNoopMetricsSystemFactory(),
- new MarkedNoopMetricsSystemFactory());
- MetricsSystemLoader loader = Mockito.mock(MetricsSystemLoader.class);
-
- Mockito.when(loader.getFactories()).thenReturn(factories);
- Mockito.when(loader._load(Mockito.any(MetricsSystemConfiguration.class))).thenCallRealMethod();
-
- // We had two factories loaded, therefore we'll fall back to the NoopMetricsSystem
- MetricsSystem system = loader._load(NoopMetricsSystemConfiguration.getInstance());
- assertEquals(NoopMetricsSystem.getInstance(), system);
- }
-
- @Test public void testNoInstances() {
- // The type of the factories doesn't matter (we can send duplicates for testing purposes)
- final List<MetricsSystemFactory> factories = Collections.emptyList();
- MetricsSystemLoader loader = Mockito.mock(MetricsSystemLoader.class);
-
- Mockito.when(loader.getFactories()).thenReturn(factories);
- Mockito.when(loader._load(Mockito.any(MetricsSystemConfiguration.class))).thenCallRealMethod();
-
- // We had no factories loaded, therefore we'll fall back to the NoopMetricsSystem
- MetricsSystem system = loader._load(NoopMetricsSystemConfiguration.getInstance());
- assertEquals(NoopMetricsSystem.getInstance(), system);
- }
-
- /**
- * A test factory implementation which can return a recognized MetricsSystem implementation.
- */
- private static class MarkedNoopMetricsSystemFactory implements MetricsSystemFactory {
- public MarkedMetricsSystem create(MetricsSystemConfiguration<?> config) {
- return MarkedMetricsSystem.INSTANCE;
- }
- }
-
- /**
- * A metrics system implementation that is identifiable for testing.
- */
- private static class MarkedMetricsSystem implements MetricsSystem {
- private static final MarkedMetricsSystem INSTANCE = new MarkedMetricsSystem();
-
- private MarkedMetricsSystem() {}
-
- @Override public Timer getTimer(String name) {
- return null;
- }
-
- @Override public Histogram getHistogram(String name) {
- return null;
- }
-
- @Override public Meter getMeter(String name) {
- return null;
- }
-
- @Override public Counter getCounter(String name) {
- return null;
- }
-
- @Override public <T> void register(String name, Gauge<T> gauge) {}
- }
-}
-
-// End MetricsSystemLoaderTest.java
http://git-wip-us.apache.org/repos/asf/calcite-avatica/blob/fc7b26c8/avatica/metrics/src/test/java/org/apache/calcite/avatica/metrics/noop/NoopMetricsSystemFactoryTest.java
----------------------------------------------------------------------
diff --git a/avatica/metrics/src/test/java/org/apache/calcite/avatica/metrics/noop/NoopMetricsSystemFactoryTest.java b/avatica/metrics/src/test/java/org/apache/calcite/avatica/metrics/noop/NoopMetricsSystemFactoryTest.java
deleted file mode 100644
index 3060b2f..0000000
--- a/avatica/metrics/src/test/java/org/apache/calcite/avatica/metrics/noop/NoopMetricsSystemFactoryTest.java
+++ /dev/null
@@ -1,37 +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.calcite.avatica.metrics.noop;
-
-import org.junit.Test;
-
-import static org.junit.Assert.assertTrue;
-
-/**
- * Test class for {@link NoopMetricsSystemFactory}.
- */
-public class NoopMetricsSystemFactoryTest {
-
- @Test public void testSingleton() {
- NoopMetricsSystemFactory factory = new NoopMetricsSystemFactory();
- NoopMetricsSystemConfiguration config = NoopMetricsSystemConfiguration.getInstance();
- assertTrue("The factory should only return one NoopMetricsSystem instance",
- factory.create(config) == factory.create(config));
- }
-
-}
-
-// End NoopMetricsSystemFactoryTest.java
http://git-wip-us.apache.org/repos/asf/calcite-avatica/blob/fc7b26c8/avatica/metrics/src/test/java/org/apache/calcite/avatica/metrics/noop/NoopMetricsSystemTest.java
----------------------------------------------------------------------
diff --git a/avatica/metrics/src/test/java/org/apache/calcite/avatica/metrics/noop/NoopMetricsSystemTest.java b/avatica/metrics/src/test/java/org/apache/calcite/avatica/metrics/noop/NoopMetricsSystemTest.java
deleted file mode 100644
index f28d123..0000000
--- a/avatica/metrics/src/test/java/org/apache/calcite/avatica/metrics/noop/NoopMetricsSystemTest.java
+++ /dev/null
@@ -1,73 +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.calcite.avatica.metrics.noop;
-
-import org.apache.calcite.avatica.metrics.Counter;
-import org.apache.calcite.avatica.metrics.Gauge;
-import org.apache.calcite.avatica.metrics.Histogram;
-import org.apache.calcite.avatica.metrics.Meter;
-import org.apache.calcite.avatica.metrics.MetricsSystem;
-import org.apache.calcite.avatica.metrics.Timer;
-import org.apache.calcite.avatica.metrics.Timer.Context;
-
-import org.junit.Test;
-
-import static org.junit.Assert.assertTrue;
-
-/**
- * Tests for {@link NoopMetricsSystem}.
- */
-public class NoopMetricsSystemTest {
-
- @Test public void testNoNulls() {
- // The NOOP implementation should act as a real implementation, no "nulls" allowed.
- MetricsSystem metrics = NoopMetricsSystem.getInstance();
-
- Counter counter = metrics.getCounter("counter");
- counter.decrement();
- counter.increment();
- counter.decrement(1L);
- counter.increment(1L);
-
- Histogram histogram = metrics.getHistogram("histogram");
- histogram.update(1);
- histogram.update(1L);
-
- Timer timer = metrics.getTimer("timer");
- Context context = timer.start();
- context.close();
- Context contextTwo = timer.start();
- assertTrue("Timer's context should be a singleton", context == contextTwo);
-
- Meter meter = metrics.getMeter("meter");
- meter.mark();
- meter.mark(5L);
-
- metrics.register("gauge", new Gauge<Long>() {
- @Override public Long getValue() {
- return 42L;
- }
- });
- }
-
- @Test public void testSingleton() {
- assertTrue("Should be a singleton",
- NoopMetricsSystem.getInstance() == NoopMetricsSystem.getInstance());
- }
-}
-
-// End NoopMetricsSystemTest.java
http://git-wip-us.apache.org/repos/asf/calcite-avatica/blob/fc7b26c8/avatica/metrics/src/test/resources/log4j.properties
----------------------------------------------------------------------
diff --git a/avatica/metrics/src/test/resources/log4j.properties b/avatica/metrics/src/test/resources/log4j.properties
deleted file mode 100644
index 834e2db..0000000
--- a/avatica/metrics/src/test/resources/log4j.properties
+++ /dev/null
@@ -1,24 +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.
-
-# Root logger is configured at INFO and is sent to A1
-log4j.rootLogger=INFO, A1
-
-# A1 goes to the console
-log4j.appender.A1=org.apache.log4j.ConsoleAppender
-
-# Set the pattern for each log message
-log4j.appender.A1.layout=org.apache.log4j.PatternLayout
-log4j.appender.A1.layout.ConversionPattern=%d [%t] %-5p - %m%n
http://git-wip-us.apache.org/repos/asf/calcite-avatica/blob/fc7b26c8/avatica/noop-driver/pom.xml
----------------------------------------------------------------------
diff --git a/avatica/noop-driver/pom.xml b/avatica/noop-driver/pom.xml
deleted file mode 100644
index b15d7a7..0000000
--- a/avatica/noop-driver/pom.xml
+++ /dev/null
@@ -1,108 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.calcite.avatica</groupId>
- <artifactId>avatica-parent</artifactId>
- <version>1.10.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>avatica-noop-driver</artifactId>
- <packaging>jar</packaging>
- <name>Apache Calcite Avatica Noop Driver</name>
- <description>A Noop JDBC driver.</description>
-
- <properties>
- <top.dir>${project.basedir}/..</top.dir>
- </properties>
-
- <build>
- <pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.eclipse.m2e</groupId>
- <artifactId>lifecycle-mapping</artifactId>
- <version>1.0.0</version>
- <configuration>
- <lifecycleMappingMetadata>
- <pluginExecutions>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-checkstyle-plugin</artifactId>
- <versionRange>[2.12.1,)</versionRange>
- <goals>
- <goal>check</goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <ignore />
- </action>
- </pluginExecution>
- </pluginExecutions>
- </lifecycleMappingMetadata>
- </configuration>
- </plugin>
- </plugins>
- </pluginManagement>
- <plugins>
- <!-- Parent module has the same plugin and does the work of
- generating -sources.jar for each project. But without the
- plugin declared here, IDEs don't know the sources are
- available. -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-source-plugin</artifactId>
- <executions>
- <execution>
- <id>attach-sources</id>
- <phase>verify</phase>
- <goals>
- <goal>jar-no-fork</goal>
- <goal>test-jar-no-fork</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
-
- <!-- Produce a tests jar so that avatica-server/pom.xml can reference for suite.
- TODO: remove after moving over to annotation-based TestSuite definitions. -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jar-plugin</artifactId>
- <executions>
- <execution>
- <goals>
- <goal>test-jar</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.rat</groupId>
- <artifactId>apache-rat-plugin</artifactId>
- <configuration>
- <excludes>
- <exclude>src/main/resources/META-INF/services/java.sql.Driver</exclude>
- </excludes>
- </configuration>
- </plugin>
- </plugins>
- </build>
-</project>
http://git-wip-us.apache.org/repos/asf/calcite-avatica/blob/fc7b26c8/avatica/noop-driver/src/main/java/org/apache/calcite/avatica/noop/AvaticaNoopConnection.java
----------------------------------------------------------------------
diff --git a/avatica/noop-driver/src/main/java/org/apache/calcite/avatica/noop/AvaticaNoopConnection.java b/avatica/noop-driver/src/main/java/org/apache/calcite/avatica/noop/AvaticaNoopConnection.java
deleted file mode 100644
index 6870717..0000000
--- a/avatica/noop-driver/src/main/java/org/apache/calcite/avatica/noop/AvaticaNoopConnection.java
+++ /dev/null
@@ -1,256 +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.calcite.avatica.noop;
-
-import java.sql.Array;
-import java.sql.Blob;
-import java.sql.CallableStatement;
-import java.sql.Clob;
-import java.sql.Connection;
-import java.sql.DatabaseMetaData;
-import java.sql.NClob;
-import java.sql.PreparedStatement;
-import java.sql.SQLClientInfoException;
-import java.sql.SQLException;
-import java.sql.SQLWarning;
-import java.sql.SQLXML;
-import java.sql.Savepoint;
-import java.sql.Statement;
-import java.sql.Struct;
-import java.util.Collections;
-import java.util.Map;
-import java.util.Properties;
-import java.util.concurrent.Executor;
-
-/**
- * A {@link Connection} implementation which does nothing.
- */
-public class AvaticaNoopConnection implements Connection {
-
- private static final AvaticaNoopConnection INSTANCE = new AvaticaNoopConnection();
-
- public static AvaticaNoopConnection getInstance() {
- return INSTANCE;
- }
-
- private AvaticaNoopConnection() {}
-
- private UnsupportedOperationException unsupported() {
- return new UnsupportedOperationException("Unsupported");
- }
-
- @Override public <T> T unwrap(Class<T> iface) throws SQLException {
- throw unsupported();
- }
-
- @Override public boolean isWrapperFor(Class<?> iface) throws SQLException {
- throw unsupported();
- }
-
- @Override public Statement createStatement() throws SQLException {
- return AvaticaNoopStatement.getInstance();
- }
-
- @Override public PreparedStatement prepareStatement(String sql) throws SQLException {
- return AvaticaNoopPreparedStatement.getInstance();
- }
-
- @Override public CallableStatement prepareCall(String sql) throws SQLException {
- throw unsupported();
- }
-
- @Override public String nativeSQL(String sql) throws SQLException {
- throw unsupported();
- }
-
- @Override public void setAutoCommit(boolean autoCommit) throws SQLException {}
-
- @Override public boolean getAutoCommit() throws SQLException {
- return false;
- }
-
- @Override public void commit() throws SQLException {}
-
- @Override public void rollback() throws SQLException {}
-
- @Override public void close() throws SQLException {}
-
- @Override public boolean isClosed() throws SQLException {
- return true;
- }
-
- @Override public DatabaseMetaData getMetaData() throws SQLException {
- return AvaticaNoopDatabaseMetaData.getInstance();
- }
-
- @Override public void setReadOnly(boolean readOnly) throws SQLException {}
-
- @Override public boolean isReadOnly() throws SQLException {
- return false;
- }
-
- @Override public void setCatalog(String catalog) throws SQLException {}
-
- @Override public String getCatalog() throws SQLException {
- return null;
- }
-
- @Override public void setTransactionIsolation(int level) throws SQLException {}
-
- @Override public int getTransactionIsolation() throws SQLException {
- return 0;
- }
-
- @Override public SQLWarning getWarnings() throws SQLException {
- return null;
- }
-
- @Override public void clearWarnings() throws SQLException {}
-
- @Override public Statement createStatement(int resultSetType, int resultSetConcurrency)
- throws SQLException {
- return AvaticaNoopStatement.getInstance();
- }
-
- @Override public PreparedStatement prepareStatement(String sql, int resultSetType,
- int resultSetConcurrency) throws SQLException {
- return AvaticaNoopPreparedStatement.getInstance();
- }
-
- @Override public CallableStatement prepareCall(String sql, int resultSetType,
- int resultSetConcurrency) throws SQLException {
- throw unsupported();
- }
-
- @Override public Map<String, Class<?>> getTypeMap() throws SQLException {
- return Collections.emptyMap();
- }
-
- @Override public void setTypeMap(Map<String, Class<?>> map) throws SQLException {}
-
- @Override public void setHoldability(int holdability) throws SQLException {}
-
- @Override public int getHoldability() throws SQLException {
- throw unsupported();
- }
-
- @Override public Savepoint setSavepoint() throws SQLException {
- throw unsupported();
- }
-
- @Override public Savepoint setSavepoint(String name) throws SQLException {
- throw unsupported();
- }
-
- @Override public void rollback(Savepoint savepoint) throws SQLException {
- throw unsupported();
- }
-
- @Override public void releaseSavepoint(Savepoint savepoint) throws SQLException {
- throw unsupported();
- }
-
- @Override public Statement createStatement(int resultSetType, int resultSetConcurrency,
- int resultSetHoldability) throws SQLException {
- return AvaticaNoopStatement.getInstance();
- }
-
- @Override public PreparedStatement prepareStatement(String sql, int resultSetType,
- int resultSetConcurrency, int resultSetHoldability) throws SQLException {
- return AvaticaNoopPreparedStatement.getInstance();
- }
-
- @Override public CallableStatement prepareCall(String sql, int resultSetType,
- int resultSetConcurrency, int resultSetHoldability) throws SQLException {
- throw unsupported();
- }
-
- @Override public PreparedStatement prepareStatement(String sql, int autoGeneratedKeys)
- throws SQLException {
- return AvaticaNoopPreparedStatement.getInstance();
- }
-
- @Override public PreparedStatement prepareStatement(String sql, int[] columnIndexes)
- throws SQLException {
- return AvaticaNoopPreparedStatement.getInstance();
- }
-
- @Override public PreparedStatement prepareStatement(String sql, String[] columnNames)
- throws SQLException {
- return AvaticaNoopPreparedStatement.getInstance();
- }
-
- @Override public Clob createClob() throws SQLException {
- throw unsupported();
- }
-
- @Override public Blob createBlob() throws SQLException {
- throw unsupported();
- }
-
- @Override public NClob createNClob() throws SQLException {
- throw unsupported();
- }
-
- @Override public SQLXML createSQLXML() throws SQLException {
- throw unsupported();
- }
-
- @Override public boolean isValid(int timeout) throws SQLException {
- return true;
- }
-
- @Override public void setClientInfo(String name, String value) throws SQLClientInfoException {}
-
- @Override public void setClientInfo(Properties properties) throws SQLClientInfoException {}
-
- @Override public String getClientInfo(String name) throws SQLException {
- throw unsupported();
- }
-
- @Override public Properties getClientInfo() throws SQLException {
- throw unsupported();
- }
-
- @Override public Array createArrayOf(String typeName, Object[] elements) throws SQLException {
- throw unsupported();
- }
-
- @Override public Struct createStruct(String typeName, Object[] attributes) throws SQLException {
- throw unsupported();
- }
-
- @Override public void setSchema(String schema) throws SQLException {}
-
- @Override public String getSchema() throws SQLException {
- return null;
- }
-
- @Override public void abort(Executor executor) throws SQLException {
- throw unsupported();
- }
-
- @Override public void setNetworkTimeout(Executor executor, int milliseconds)
- throws SQLException {}
-
- @Override public int getNetworkTimeout() throws SQLException {
- throw unsupported();
- }
-
-}
-
-// End AvaticaNoopConnection.java