diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index 074b7cc..0000000
--- a/.gitignore
+++ /dev/null
@@ -1,23 +0,0 @@
-# Intellij
-*.iml
-*.ipr
-*.iws
-.idea
-*.eml
-.shelf
-
-# Eclipse
-.classpath
-.project
-.settings/
-bin/
-
-# Gradle & builds
-build
-target
-out
-.gradle
-classes
-.gradletasknamecache
-*.log
-.DS_Store
diff --git a/.nojekyll b/.nojekyll
new file mode 100644
index 0000000..e69de29
diff --git a/LICENSE b/LICENSE
deleted file mode 100644
index 261eeb9..0000000
--- a/LICENSE
+++ /dev/null
@@ -1,201 +0,0 @@
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/README.md b/README.md
deleted file mode 100644
index 4434174..0000000
--- a/README.md
+++ /dev/null
@@ -1,56 +0,0 @@
-# CovenantSQL-Java-Connector
-
-CovenantSQL-Java-Connector is a Type 4 Java JDBC driver for [CovenantSQL](https://covenantsql.io) database querying.
-
-## Adding CovenantSQL-Java-Connector to your build
-
-To add a dependency using Maven, use the following:
-
-```xml
-
- io.covenantsql
- cql-java-connector
- 1.0.1
-
-```
-
-To add a dependency using Gradle:
-
-```gradle
-repositories {
- maven {
- url 'https://raw.github.com/CovenantSQL/cql-java-driver/mvn-repo'
- }
-}
-
-dependencies {
- compile 'io.covenantsql:covenantsql-java-connector:1.0-SNAPSHOT'
-}
-```
-
-## Use CovenantSQL-Java-Connector with MyBatis
-
-Configure the dataSource like the following example:
-
-```xml
-
-
-
-
-
-
-
-
-```
-
-Explanation:
- 1. Use `io.covenantsql.connector.CovenantDriver` as the driver class.
- 2. Replace `host` variable with the adapter host address.
- 3. Replace `port` variable with the adapter port.
- 4. Replace `database` variable with the adapter.
- 5. Replace `key_path` variable with the https certificate private key path.
- 6. Replace `cert_path` variable with the https certificate file path.
- 7. Replace `sslmode` variable to use none/strict mode for https certificate check.
- 8. Set `ssl` variable to true/false to enable/disable https adapter connection.
-
-You can see a runnable example [Here](./example/src/main/java/io/covenantsql/connector/example/mybatis).
diff --git a/connector/src/main/java/io/covenantsql/connector/CovenantConnection.java b/connector/src/main/java/io/covenantsql/connector/CovenantConnection.java
deleted file mode 100644
index af275bb..0000000
--- a/connector/src/main/java/io/covenantsql/connector/CovenantConnection.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Copyright 2018 The CovenantSQL Authors.
- *
- * 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.
- */
-
-package io.covenantsql.connector;
-
-import java.sql.Connection;
-import java.sql.SQLException;
-
-public interface CovenantConnection extends Connection {
- @Override
- CovenantStatement createStatement() throws SQLException;
-
- @Override
- CovenantStatement createStatement(int resultSetType, int resultSetConcurrency) throws SQLException;
-}
diff --git a/connector/src/main/java/io/covenantsql/connector/CovenantConnectionImpl.java b/connector/src/main/java/io/covenantsql/connector/CovenantConnectionImpl.java
deleted file mode 100644
index 558abba..0000000
--- a/connector/src/main/java/io/covenantsql/connector/CovenantConnectionImpl.java
+++ /dev/null
@@ -1,223 +0,0 @@
-/*
- * Copyright 2018 The CovenantSQL Authors.
- *
- * 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.
- */
-
-package io.covenantsql.connector;
-
-import io.covenantsql.connector.except.CovenantException;
-import io.covenantsql.connector.settings.CovenantProperties;
-import io.covenantsql.connector.util.CovenantHTTPClientBuilder;
-import io.covenantsql.connector.util.LogProxy;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.http.conn.ConnectTimeoutException;
-import org.apache.http.impl.client.CloseableHttpClient;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.IOException;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.sql.*;
-import java.util.concurrent.Executor;
-import java.util.concurrent.TimeUnit;
-
-public class CovenantConnectionImpl extends CovenantMockConnectionUnused implements CovenantConnection {
- private static final Logger LOG = LoggerFactory.getLogger(CovenantConnectionImpl.class);
- private final CloseableHttpClient httpClient;
- private final CovenantProperties properties;
- private String url;
- private boolean closed = false;
-
- public CovenantConnectionImpl(String url) {
- this(url, new CovenantProperties());
- }
-
- public CovenantConnectionImpl(String url, CovenantProperties properties) {
- this.url = url;
- try {
- this.properties = CovenantURLParser.parse(url, properties.asProperties());
- } catch (URISyntaxException e) {
- throw new IllegalArgumentException(e);
- }
- CovenantHTTPClientBuilder clientBuilder = new CovenantHTTPClientBuilder(this.properties);
- LOG.debug("new connection");
- try {
- httpClient = clientBuilder.buildClient();
- } catch (Exception e) {
- throw new IllegalStateException("cannot initialize http client", e);
- }
- }
-
- @Override
- public void close() throws SQLException {
- try {
- httpClient.close();
- closed = true;
- } catch (IOException e) {
- throw new CovenantException("HTTP client close exception", e, properties.getHost(), properties.getPort());
- }
- }
-
- @Override
- public boolean isClosed() throws SQLException {
- return closed;
- }
-
- @Override
- public DatabaseMetaData getMetaData() throws SQLException {
- return LogProxy.wrap(DatabaseMetaData.class, new CovenantDatabaseMetadata(url, this));
- }
-
-
- @Override
- public String getCatalog() throws SQLException {
- return properties.getDatabase();
- }
-
- @Override
- public void setCatalog(String catalog) throws SQLException {
- properties.setDatabase(catalog);
- URI old = URI.create(StringUtils.substringAfter(url, CovenantURLParser.JDBC_PREFIX));
- try {
- url = CovenantURLParser.JDBC_PREFIX +
- new URI(old.getScheme(), old.getUserInfo(), old.getHost(), old.getPort(),
- "/" + catalog, old.getQuery(), old.getFragment());
- } catch (URISyntaxException e) {
- throw new IllegalStateException(e);
- }
- }
-
- public int getTransactionIsolation() throws SQLException {
- return Connection.TRANSACTION_NONE;
- }
-
- @Override
- public CovenantStatement createStatement() throws SQLException {
- return LogProxy.wrap(CovenantStatement.class, new CovenantStatementImpl(httpClient, this, properties));
- }
-
- @Override
- public CovenantStatement createStatement(int resultSetType, int resultSetConcurrency) throws SQLException {
- return createStatement(resultSetType, resultSetConcurrency, ResultSet.CLOSE_CURSORS_AT_COMMIT);
- }
-
- @Override
- public CovenantStatement createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException {
- if (resultSetType != ResultSet.TYPE_FORWARD_ONLY && resultSetConcurrency != ResultSet.CONCUR_READ_ONLY
- && resultSetHoldability != ResultSet.CLOSE_CURSORS_AT_COMMIT) {
- throw new SQLFeatureNotSupportedException();
- }
- return createStatement();
- }
-
- @Override
- public PreparedStatement prepareStatement(String sql) throws SQLException {
- return createPreparedStatement(sql);
- }
-
- @Override
- public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency) throws SQLException {
- return createPreparedStatement(sql);
- }
-
- @Override
- public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException {
- return createPreparedStatement(sql);
- }
-
- @Override
- public PreparedStatement prepareStatement(String sql, int[] columnIndexes) throws SQLException {
- return createPreparedStatement(sql, Statement.RETURN_GENERATED_KEYS);
- }
-
- @Override
- public PreparedStatement prepareStatement(String sql, String[] columnNames) throws SQLException {
- return createPreparedStatement(sql, Statement.RETURN_GENERATED_KEYS);
- }
-
- @Override
- public PreparedStatement prepareStatement(String sql, int autoGeneratedKeys) throws SQLException {
- return createPreparedStatement(sql, autoGeneratedKeys);
- }
-
- public PreparedStatement createPreparedStatement(String sql) throws SQLException {
- return LogProxy.wrap(PreparedStatement.class, new CovenantPreparedStatementImpl(httpClient, this, properties, sql));
- }
-
- public PreparedStatement createPreparedStatement(String sql, int autoGeneratedKeys) throws SQLException {
- return LogProxy.wrap(PreparedStatement.class,
- new CovenantPreparedStatementImpl(httpClient, this, properties, sql, autoGeneratedKeys));
- }
-
- private CovenantStatement createCovenantStatement(CloseableHttpClient httpClient) throws SQLException {
- return LogProxy.wrap(CovenantStatement.class, new CovenantStatementImpl(httpClient, this, properties));
- }
-
- @Override
- public boolean isValid(int timeout) throws SQLException {
- if (isClosed()) {
- return false;
- }
-
- try {
- CovenantProperties properties = new CovenantProperties(this.properties);
- properties.setConnectionTimeout((int) TimeUnit.SECONDS.toMillis(timeout));
- CloseableHttpClient client = new CovenantHTTPClientBuilder(properties).buildClient();
- Statement statement = createCovenantStatement(client);
- statement.execute("SELECT 1");
- statement.close();
- return true;
- } catch (Exception e) {
- boolean isFailOnConnectionTimeout = e.getCause() instanceof ConnectTimeoutException;
- if (!isFailOnConnectionTimeout) {
- LOG.warn("ping covenantsql database failed", e);
- }
- }
-
- return false;
- }
-
- @Override
- public String getSchema() throws SQLException {
- return properties.getDatabase();
- }
-
- @Override
- public void setSchema(String schema) throws SQLException {
- properties.setDatabase(schema);
- }
-
- @Override
- public void abort(Executor executor) throws SQLException {
- this.close();
- }
-
- String getUrl() {
- return url;
- }
-
- @Override
- public T unwrap(Class iface) throws SQLException {
- if (iface.isAssignableFrom(getClass())) {
- return iface.cast(this);
- }
- throw new SQLException("Cannot unwrap to " + iface.getName());
- }
-
- @Override
- public boolean isWrapperFor(Class> iface) throws SQLException {
- return iface.isAssignableFrom(getClass());
- }
-}
diff --git a/connector/src/main/java/io/covenantsql/connector/CovenantDatabaseMetadata.java b/connector/src/main/java/io/covenantsql/connector/CovenantDatabaseMetadata.java
deleted file mode 100644
index 84af526..0000000
--- a/connector/src/main/java/io/covenantsql/connector/CovenantDatabaseMetadata.java
+++ /dev/null
@@ -1,967 +0,0 @@
-/*
- * Copyright 2018 The CovenantSQL Authors.
- *
- * 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.
- */
-
-package io.covenantsql.connector;
-
-import io.covenantsql.connector.response.CovenantResultSet;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.sql.*;
-
-public class CovenantDatabaseMetadata implements DatabaseMetaData {
- private static final Logger LOG = LoggerFactory.getLogger(CovenantDatabaseMetadata.class);
-
- private final String url;
- private final CovenantConnection connection;
-
- public CovenantDatabaseMetadata(String url, CovenantConnection connection) {
- this.url = url;
- this.connection = connection;
- }
-
- @Override
- public boolean allProceduresAreCallable() throws SQLException {
- return true;
- }
-
- @Override
- public boolean allTablesAreSelectable() throws SQLException {
- return true;
- }
-
- @Override
- public String getURL() throws SQLException {
- return url;
- }
-
- @Override
- public String getUserName() throws SQLException {
- return null;
- }
-
- @Override
- public boolean isReadOnly() throws SQLException {
- return true;
- }
-
- @Override
- public boolean nullsAreSortedHigh() throws SQLException {
- return true;
- }
-
- @Override
- public boolean nullsAreSortedLow() throws SQLException {
- return false;
- }
-
- @Override
- public boolean nullsAreSortedAtStart() throws SQLException {
- return true;
- }
-
- @Override
- public boolean nullsAreSortedAtEnd() throws SQLException {
- return false;
- }
-
- @Override
- public String getDatabaseProductName() throws SQLException {
- return "CovenantSQL";
- }
-
- @Override
- public String getDatabaseProductVersion() throws SQLException {
- return CovenantDriver.Version;
- }
-
- @Override
- public String getDriverName() throws SQLException {
- return "CovenantSQL-Java-Connector";
- }
-
- @Override
- public String getDriverVersion() throws SQLException {
- return CovenantDriver.Version;
- }
-
- @Override
- public int getDriverMajorVersion() {
- return CovenantDriver.MajorVersion;
- }
-
- @Override
- public int getDriverMinorVersion() {
- return CovenantDriver.MinorVersion;
- }
-
- @Override
- public boolean usesLocalFiles() throws SQLException {
- return false;
- }
-
- @Override
- public boolean usesLocalFilePerTable() throws SQLException {
- return false;
- }
-
- @Override
- public boolean supportsMixedCaseIdentifiers() throws SQLException {
- return true;
- }
-
- @Override
- public boolean storesUpperCaseIdentifiers() throws SQLException {
- return false;
- }
-
- @Override
- public boolean storesLowerCaseIdentifiers() throws SQLException {
- return false;
- }
-
- @Override
- public boolean storesMixedCaseIdentifiers() throws SQLException {
- return true;
- }
-
- @Override
- public boolean supportsMixedCaseQuotedIdentifiers() throws SQLException {
- return true;
- }
-
- @Override
- public boolean storesUpperCaseQuotedIdentifiers() throws SQLException {
- return false;
- }
-
- @Override
- public boolean storesLowerCaseQuotedIdentifiers() throws SQLException {
- return false;
- }
-
- @Override
- public boolean storesMixedCaseQuotedIdentifiers() throws SQLException {
- return true;
- }
-
- @Override
- public String getIdentifierQuoteString() throws SQLException {
- return "`";
- }
-
- @Override
- public String getSQLKeywords() throws SQLException {
- return "";
- }
-
- @Override
- public String getNumericFunctions() throws SQLException {
- return "";
- }
-
- @Override
- public String getStringFunctions() throws SQLException {
- return "";
- }
-
- @Override
- public String getSystemFunctions() throws SQLException {
- return "";
- }
-
- @Override
- public String getTimeDateFunctions() throws SQLException {
- return "";
- }
-
- @Override
- public String getSearchStringEscape() throws SQLException {
- return "\\";
- }
-
- @Override
- public String getExtraNameCharacters() throws SQLException {
- return "";
- }
-
- @Override
- public boolean supportsAlterTableWithAddColumn() throws SQLException {
- return true;
- }
-
- @Override
- public boolean supportsAlterTableWithDropColumn() throws SQLException {
- return true;
- }
-
- @Override
- public boolean supportsColumnAliasing() throws SQLException {
- return true;
- }
-
- @Override
- public boolean nullPlusNonNullIsNull() throws SQLException {
- return true;
- }
-
- @Override
- public boolean supportsConvert() throws SQLException {
- return false;
- }
-
- @Override
- public boolean supportsConvert(int fromType, int toType) throws SQLException {
- return false;
- }
-
- @Override
- public boolean supportsTableCorrelationNames() throws SQLException {
- return false;
- }
-
- @Override
- public boolean supportsDifferentTableCorrelationNames() throws SQLException {
- return false;
- }
-
- @Override
- public boolean supportsExpressionsInOrderBy() throws SQLException {
- return true;
- }
-
- @Override
- public boolean supportsOrderByUnrelated() throws SQLException {
- return false;
- }
-
- @Override
- public boolean supportsGroupBy() throws SQLException {
- return true;
- }
-
- @Override
- public boolean supportsGroupByUnrelated() throws SQLException {
- return false;
- }
-
- @Override
- public boolean supportsGroupByBeyondSelect() throws SQLException {
- return false;
- }
-
- @Override
- public boolean supportsLikeEscapeClause() throws SQLException {
- return false;
- }
-
- @Override
- public boolean supportsMultipleResultSets() throws SQLException {
- return false;
- }
-
- @Override
- public boolean supportsMultipleTransactions() throws SQLException {
- return false;
- }
-
- @Override
- public boolean supportsNonNullableColumns() throws SQLException {
- return true;
- }
-
- @Override
- public boolean supportsMinimumSQLGrammar() throws SQLException {
- return true;
- }
-
- @Override
- public boolean supportsCoreSQLGrammar() throws SQLException {
- return true;
- }
-
- @Override
- public boolean supportsExtendedSQLGrammar() throws SQLException {
- return false;
- }
-
- @Override
- public boolean supportsANSI92EntryLevelSQL() throws SQLException {
- return false;
- }
-
- @Override
- public boolean supportsANSI92IntermediateSQL() throws SQLException {
- return false;
- }
-
- @Override
- public boolean supportsANSI92FullSQL() throws SQLException {
- return false;
- }
-
- @Override
- public boolean supportsIntegrityEnhancementFacility() throws SQLException {
- return false;
- }
-
- @Override
- public boolean supportsOuterJoins() throws SQLException {
- return true;
- }
-
- @Override
- public boolean supportsFullOuterJoins() throws SQLException {
- return false;
- }
-
- @Override
- public boolean supportsLimitedOuterJoins() throws SQLException {
- return true;
- }
-
- @Override
- public String getSchemaTerm() throws SQLException {
- return "schema";
- }
-
- @Override
- public String getProcedureTerm() throws SQLException {
- return "not_implemented";
- }
-
- @Override
- public String getCatalogTerm() throws SQLException {
- return "catalog";
- }
-
- @Override
- public boolean isCatalogAtStart() throws SQLException {
- return true;
- }
-
- @Override
- public String getCatalogSeparator() throws SQLException {
- return ".";
- }
-
- @Override
- public boolean supportsSchemasInDataManipulation() throws SQLException {
- return false;
- }
-
- @Override
- public boolean supportsSchemasInProcedureCalls() throws SQLException {
- return false;
- }
-
- @Override
- public boolean supportsSchemasInTableDefinitions() throws SQLException {
- return false;
- }
-
- @Override
- public boolean supportsSchemasInIndexDefinitions() throws SQLException {
- return false;
- }
-
- @Override
- public boolean supportsSchemasInPrivilegeDefinitions() throws SQLException {
- return false;
- }
-
- @Override
- public boolean supportsCatalogsInDataManipulation() throws SQLException {
- return false;
- }
-
- @Override
- public boolean supportsCatalogsInProcedureCalls() throws SQLException {
- return false;
- }
-
- @Override
- public boolean supportsCatalogsInTableDefinitions() throws SQLException {
- return false;
- }
-
- @Override
- public boolean supportsCatalogsInIndexDefinitions() throws SQLException {
- return false;
- }
-
- @Override
- public boolean supportsCatalogsInPrivilegeDefinitions() throws SQLException {
- return false;
- }
-
- @Override
- public boolean supportsPositionedDelete() throws SQLException {
- return false;
- }
-
- @Override
- public boolean supportsPositionedUpdate() throws SQLException {
- return false;
- }
-
- @Override
- public boolean supportsSelectForUpdate() throws SQLException {
- return false;
- }
-
- @Override
- public boolean supportsStoredProcedures() throws SQLException {
- return false;
- }
-
- @Override
- public boolean supportsSubqueriesInComparisons() throws SQLException {
- return false;
- }
-
- @Override
- public boolean supportsSubqueriesInExists() throws SQLException {
- // force not supported, low performance
- return false;
- }
-
- @Override
- public boolean supportsSubqueriesInIns() throws SQLException {
- // force not supported, low performance
- return false;
- }
-
- @Override
- public boolean supportsSubqueriesInQuantifieds() throws SQLException {
- return false;
- }
-
- @Override
- public boolean supportsCorrelatedSubqueries() throws SQLException {
- return false;
- }
-
- @Override
- public boolean supportsUnion() throws SQLException {
- return true;
- }
-
- @Override
- public boolean supportsUnionAll() throws SQLException {
- return true;
- }
-
- @Override
- public boolean supportsOpenCursorsAcrossCommit() throws SQLException {
- return false;
- }
-
- @Override
- public boolean supportsOpenCursorsAcrossRollback() throws SQLException {
- return false;
- }
-
- @Override
- public boolean supportsOpenStatementsAcrossCommit() throws SQLException {
- return false;
- }
-
- @Override
- public boolean supportsOpenStatementsAcrossRollback() throws SQLException {
- return false;
- }
-
- @Override
- public int getMaxBinaryLiteralLength() throws SQLException {
- return 0;
- }
-
- @Override
- public int getMaxCharLiteralLength() throws SQLException {
- return 0;
- }
-
- @Override
- public int getMaxColumnNameLength() throws SQLException {
- return 0;
- }
-
- @Override
- public int getMaxColumnsInGroupBy() throws SQLException {
- return 0;
- }
-
- @Override
- public int getMaxColumnsInIndex() throws SQLException {
- return 0;
- }
-
- @Override
- public int getMaxColumnsInOrderBy() throws SQLException {
- return 0;
- }
-
- @Override
- public int getMaxColumnsInSelect() throws SQLException {
- return 0;
- }
-
- @Override
- public int getMaxColumnsInTable() throws SQLException {
- return 0;
- }
-
- @Override
- public int getMaxConnections() throws SQLException {
- return 0;
- }
-
- @Override
- public int getMaxCursorNameLength() throws SQLException {
- return 0;
- }
-
- @Override
- public int getMaxIndexLength() throws SQLException {
- return 0;
- }
-
- @Override
- public int getMaxSchemaNameLength() throws SQLException {
- return 0;
- }
-
- @Override
- public int getMaxProcedureNameLength() throws SQLException {
- return 0;
- }
-
- @Override
- public int getMaxCatalogNameLength() throws SQLException {
- return 0;
- }
-
- @Override
- public int getMaxRowSize() throws SQLException {
- return 0;
- }
-
- @Override
- public boolean doesMaxRowSizeIncludeBlobs() throws SQLException {
- return false;
- }
-
- @Override
- public int getMaxStatementLength() throws SQLException {
- return 0;
- }
-
- @Override
- public int getMaxStatements() throws SQLException {
- return 0;
- }
-
- @Override
- public int getMaxTableNameLength() throws SQLException {
- return 0;
- }
-
- @Override
- public int getMaxTablesInSelect() throws SQLException {
- return 0;
- }
-
- @Override
- public int getMaxUserNameLength() throws SQLException {
- return 0;
- }
-
- @Override
- public int getDefaultTransactionIsolation() throws SQLException {
- // force no transactions
- return Connection.TRANSACTION_NONE;
- }
-
- @Override
- public boolean supportsTransactions() throws SQLException {
- // force no transactions
- return false;
- }
-
- @Override
- public boolean supportsTransactionIsolationLevel(int level) throws SQLException {
- return false;
- }
-
- @Override
- public boolean supportsDataDefinitionAndDataManipulationTransactions() throws SQLException {
- // force not supported
- return false;
- }
-
- @Override
- public boolean supportsDataManipulationTransactionsOnly() throws SQLException {
- return false;
- }
-
- @Override
- public boolean dataDefinitionCausesTransactionCommit() throws SQLException {
- return false;
- }
-
- @Override
- public boolean dataDefinitionIgnoredInTransactions() throws SQLException {
- return false;
- }
-
- @Override
- public ResultSet getProcedures(String catalog, String schemaPattern, String procedureNamePattern) throws SQLException {
- // TODO: add dummy procedures
- return null;
- }
-
- @Override
- public ResultSet getProcedureColumns(String catalog, String schemaPattern, String procedureNamePattern, String columnNamePattern) throws SQLException {
- // TODO: add dummy procedures
- return null;
- }
-
- @Override
- public ResultSet getTables(String catalog, String schemaPattern, String tableNamePattern, String[] types) throws SQLException {
- // TODO: build database tables meta using interface
- return null;
- }
-
- @Override
- public ResultSet getSchemas() throws SQLException {
- // TODO: build dummy database schema patterns
- return null;
- }
-
- @Override
- public ResultSet getCatalogs() throws SQLException {
- // TODO: build dummy catalogs
- return null;
- }
-
- @Override
- public ResultSet getTableTypes() throws SQLException {
- // TODO: build table types
- return null;
- }
-
- @Override
- public ResultSet getColumns(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern) throws SQLException {
- // TODO: build meta query
- return null;
- }
-
- @Override
- public ResultSet getColumnPrivileges(String catalog, String schema, String table, String columnNamePattern) throws SQLException {
- // TODO: build dummy privilege settings
- return null;
- }
-
- @Override
- public ResultSet getTablePrivileges(String catalog, String schemaPattern, String tableNamePattern) throws SQLException {
- // TODO: build dummy table privileges
- return null;
- }
-
- @Override
- public ResultSet getBestRowIdentifier(String catalog, String schema, String table, int scope, boolean nullable) throws SQLException {
- // TODO: build dummy row identifier settings
- return null;
- }
-
- @Override
- public ResultSet getVersionColumns(String catalog, String schema, String table) throws SQLException {
- // TODO: build version columns settings
- return null;
- }
-
- @Override
- public ResultSet getPrimaryKeys(String catalog, String schema, String table) throws SQLException {
- return getEmptyResultSet();
- }
-
- @Override
- public ResultSet getImportedKeys(String catalog, String schema, String table) throws SQLException {
- // TODO: build imported keys from meta
- return null;
- }
-
- @Override
- public ResultSet getExportedKeys(String catalog, String schema, String table) throws SQLException {
- // TODO: build exported keys from meta
- return null;
- }
-
- @Override
- public ResultSet getCrossReference(String parentCatalog, String parentSchema, String parentTable, String foreignCatalog, String foreignSchema, String foreignTable) throws SQLException {
- // TODO: build exported keys from meta
- return null;
- }
-
- @Override
- public ResultSet getTypeInfo() throws SQLException {
- // TODO: build type info
- return null;
- }
-
- @Override
- public ResultSet getIndexInfo(String catalog, String schema, String table, boolean unique, boolean approximate) throws SQLException {
- // TODO: build empty index info
- return null;
- }
-
- @Override
- public boolean supportsResultSetType(int type) throws SQLException {
- // TODO: detect result set compatibility
- return false;
- }
-
- @Override
- public boolean supportsResultSetConcurrency(int type, int concurrency) throws SQLException {
- return false;
- }
-
- @Override
- public boolean ownUpdatesAreVisible(int type) throws SQLException {
- // force not visible
- return false;
- }
-
- @Override
- public boolean ownDeletesAreVisible(int type) throws SQLException {
- // force not visible
- return false;
- }
-
- @Override
- public boolean ownInsertsAreVisible(int type) throws SQLException {
- // force not visible
- return false;
- }
-
- @Override
- public boolean othersUpdatesAreVisible(int type) throws SQLException {
- // force not visible
- return false;
- }
-
- @Override
- public boolean othersDeletesAreVisible(int type) throws SQLException {
- // force not visible
- return false;
- }
-
- @Override
- public boolean othersInsertsAreVisible(int type) throws SQLException {
- // force not visible
- return false;
- }
-
- @Override
- public boolean updatesAreDetected(int type) throws SQLException {
- // force not detected
- return false;
- }
-
- @Override
- public boolean deletesAreDetected(int type) throws SQLException {
- // force not detected
- return false;
- }
-
- @Override
- public boolean insertsAreDetected(int type) throws SQLException {
- // force not detected
- return false;
- }
-
- @Override
- public boolean supportsBatchUpdates() throws SQLException {
- // TODO: force not supported in this alpha version
- return false;
- }
-
- @Override
- public ResultSet getUDTs(String catalog, String schemaPattern, String typeNamePattern, int[] types) throws SQLException {
- // TODO: return empty user defined types
- return null;
- }
-
- @Override
- public Connection getConnection() throws SQLException {
- return connection;
- }
-
- @Override
- public boolean supportsSavepoints() throws SQLException {
- // TODO: currently disabled
- return false;
- }
-
- @Override
- public boolean supportsNamedParameters() throws SQLException {
- return false;
- }
-
- @Override
- public boolean supportsMultipleOpenResults() throws SQLException {
- return false;
- }
-
- @Override
- public boolean supportsGetGeneratedKeys() throws SQLException {
- return false;
- }
-
- @Override
- public ResultSet getSuperTypes(String catalog, String schemaPattern, String typeNamePattern) throws SQLException {
- // TODO: return empty result set
- return null;
- }
-
- @Override
- public ResultSet getSuperTables(String catalog, String schemaPattern, String tableNamePattern) throws SQLException {
- // TODO: return empty result set
- return null;
- }
-
- @Override
- public ResultSet getAttributes(String catalog, String schemaPattern, String typeNamePattern, String attributeNamePattern) throws SQLException {
- // TODO: return empty result set
- return null;
- }
-
- @Override
- public boolean supportsResultSetHoldability(int holdability) throws SQLException {
- return false;
- }
-
- @Override
- public int getResultSetHoldability() throws SQLException {
- return 0;
- }
-
- @Override
- public int getDatabaseMajorVersion() throws SQLException {
- // TODO: currently using the driver version
- return CovenantDriver.MajorVersion;
- }
-
- @Override
- public int getDatabaseMinorVersion() throws SQLException {
- // TODO: currently using the driver version
- return CovenantDriver.MinorVersion;
- }
-
- @Override
- public int getJDBCMajorVersion() throws SQLException {
- return CovenantDriver.MajorVersion;
- }
-
- @Override
- public int getJDBCMinorVersion() throws SQLException {
- return CovenantDriver.MinorVersion;
- }
-
- @Override
- public int getSQLStateType() throws SQLException {
- // ansi 99 is not supported
- return sqlStateSQL;
- }
-
- @Override
- public boolean locatorsUpdateCopy() throws SQLException {
- return false;
- }
-
- @Override
- public boolean supportsStatementPooling() throws SQLException {
- return false;
- }
-
- @Override
- public RowIdLifetime getRowIdLifetime() throws SQLException {
- return RowIdLifetime.ROWID_UNSUPPORTED;
- }
-
- @Override
- public ResultSet getSchemas(String catalog, String schemaPattern) throws SQLException {
- // TODO: return schemas
- return null;
- }
-
- @Override
- public boolean supportsStoredFunctionsUsingCallSyntax() throws SQLException {
- return false;
- }
-
- @Override
- public boolean autoCommitFailureClosesAllResultSets() throws SQLException {
- return false;
- }
-
- @Override
- public ResultSet getClientInfoProperties() throws SQLException {
- // TODO: return empty client info
- return null;
- }
-
- @Override
- public ResultSet getFunctions(String catalog, String schemaPattern, String functionNamePattern) throws SQLException {
- // TODO: return empty functions
- return null;
- }
-
- @Override
- public ResultSet getFunctionColumns(String catalog, String schemaPattern, String functionNamePattern, String columnNamePattern) throws SQLException {
- // TODO: return empty function columns
- return null;
- }
-
- @Override
- public ResultSet getPseudoColumns(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern) throws SQLException {
- // TODO: return empty pseudo columns
- return null;
- }
-
- @Override
- public boolean generatedKeyAlwaysReturned() throws SQLException {
- return false;
- }
-
- @Override
- public T unwrap(Class iface) throws SQLException {
- if (iface.isAssignableFrom(getClass())) {
- return iface.cast(this);
- }
- throw new SQLException("Cannot unwrap to " + iface.getName());
- }
-
- @Override
- public boolean isWrapperFor(Class> iface) throws SQLException {
- return iface.isAssignableFrom(getClass());
- }
-
- private ResultSet getEmptyResultSet() {
- return CovenantResultSet.EMPTY;
- }
-}
diff --git a/connector/src/main/java/io/covenantsql/connector/CovenantDatasource.java b/connector/src/main/java/io/covenantsql/connector/CovenantDatasource.java
deleted file mode 100644
index 6e2720a..0000000
--- a/connector/src/main/java/io/covenantsql/connector/CovenantDatasource.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * Copyright 2018 The CovenantSQL Authors.
- *
- * 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.
- */
-
-package io.covenantsql.connector;
-
-import io.covenantsql.connector.settings.CovenantProperties;
-
-import javax.sql.DataSource;
-import java.io.PrintWriter;
-import java.net.URISyntaxException;
-import java.sql.SQLException;
-import java.sql.SQLFeatureNotSupportedException;
-import java.util.Properties;
-import java.util.logging.Logger;
-
-public class CovenantDatasource implements DataSource {
- private final CovenantDriver driver = new CovenantDriver();
- private final String url;
- private int loginTimeout;
- private PrintWriter printWriter;
- private CovenantProperties properties;
-
- public CovenantDatasource(String url) {
- this(url, new CovenantProperties());
- }
-
- public CovenantDatasource(String url, Properties info) {
- this(url, new CovenantProperties(info));
- }
-
- public CovenantDatasource(String url, CovenantProperties properties) {
- if (url == null) {
- throw new IllegalArgumentException("Incorrect CovenantSQL jdbc url. It must be not null");
- }
-
- this.url = url;
-
- try {
- this.properties = CovenantURLParser.parse(url, properties.asProperties());
- } catch (URISyntaxException e) {
- throw new IllegalArgumentException(e);
- }
- }
-
- @Override
- public CovenantConnection getConnection() throws SQLException {
- return driver.connect(url, properties);
- }
-
- @Override
- public CovenantConnection getConnection(String username, String password) throws SQLException {
- // no username/password is required
- return driver.connect(url, properties);
- }
-
- @Override
- public T unwrap(Class iface) throws SQLException {
- if (iface.isAssignableFrom(getClass())) {
- return iface.cast(this);
- }
- throw new SQLException("Cannot unwrap to " + iface.getName());
- }
-
- @Override
- public boolean isWrapperFor(Class> iface) throws SQLException {
- return iface.isAssignableFrom(getClass());
- }
-
- @Override
- public PrintWriter getLogWriter() throws SQLException {
- return printWriter;
- }
-
- @Override
- public void setLogWriter(PrintWriter out) throws SQLException {
- this.printWriter = out;
- }
-
- @Override
- public int getLoginTimeout() throws SQLException {
- return loginTimeout;
- }
-
- @Override
- public void setLoginTimeout(int seconds) throws SQLException {
- this.loginTimeout = seconds;
- }
-
- @Override
- public Logger getParentLogger() throws SQLFeatureNotSupportedException {
- throw new SQLFeatureNotSupportedException();
- }
-}
diff --git a/connector/src/main/java/io/covenantsql/connector/CovenantDriver.java b/connector/src/main/java/io/covenantsql/connector/CovenantDriver.java
deleted file mode 100644
index 33ec991..0000000
--- a/connector/src/main/java/io/covenantsql/connector/CovenantDriver.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * Copyright 2018 The CovenantSQL Authors.
- *
- * 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.
- */
-
-package io.covenantsql.connector;
-
-import io.covenantsql.connector.settings.CovenantProperties;
-import io.covenantsql.connector.util.LogProxy;
-import org.apache.commons.lang3.StringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.sql.*;
-import java.util.Properties;
-
-public class CovenantDriver implements Driver {
- public static final String PREFIX = "jdbc:covenantsql:";
- public static final String Version;
- public static final int MajorVersion;
- public static final int MinorVersion;
-
- private static final Logger LOG = LoggerFactory.getLogger(CovenantDriver.class);
-
- static {
- // get version
- Version = CovenantDriver.class.getPackage().getImplementationVersion();
- int majorVersion = 0;
-
- try {
- majorVersion = Integer.valueOf(StringUtils.substringBefore(Version, "."));
- } catch (NumberFormatException ignored) {
- } finally {
- MajorVersion = majorVersion;
- }
-
- int minorVersion = 0;
-
- try {
- minorVersion = Integer.valueOf(StringUtils.substringAfterLast(Version, "."));
- } catch (NumberFormatException ignored) {
- } finally {
- MinorVersion = minorVersion;
- }
-
- // register driver
- try {
- DriverManager.registerDriver(new CovenantDriver());
- } catch (SQLException e) {
- LOG.error("register covenantsql driver failed", e);
- }
-
- LOG.info("covenantsql driver registered");
- }
-
- /**
- * @param url
- * @return
- */
- public static boolean isValidURL(String url) {
- return url != null && StringUtils.startsWithIgnoreCase(url, PREFIX);
- }
-
- /**
- * @param url
- * @param info
- * @return
- * @throws SQLException
- */
- @Override
- public CovenantConnection connect(String url, Properties info) throws SQLException {
- return connect(url, new CovenantProperties(info));
- }
-
- public CovenantConnection connect(String url, CovenantProperties properties) throws SQLException {
- if (!isValidURL(url)) {
- throw new SQLException("invalid database address: " + url);
- }
-
- url = StringUtils.stripToEmpty(url);
- CovenantConnectionImpl connection = new CovenantConnectionImpl(url, properties);
- return LogProxy.wrap(CovenantConnection.class, connection);
- }
-
- /**
- * @param url
- * @return
- * @throws SQLException
- */
- @Override
- public boolean acceptsURL(String url) throws SQLException {
- return isValidURL(url);
- }
-
- /**
- * @param url
- * @param info
- * @return
- * @throws SQLException
- */
- @Override
- public DriverPropertyInfo[] getPropertyInfo(String url, Properties info) throws SQLException {
- return new DriverPropertyInfo[0];
- }
-
- /**
- * @return
- */
- @Override
- public int getMajorVersion() {
- return MajorVersion;
- }
-
- /**
- * @return
- */
- @Override
- public int getMinorVersion() {
- return MinorVersion;
- }
-
- /**
- * @return
- */
- @Override
- public boolean jdbcCompliant() {
- return false;
- }
-
- /**
- * @return
- * @throws SQLFeatureNotSupportedException
- */
- @Override
- public java.util.logging.Logger getParentLogger() throws SQLFeatureNotSupportedException {
- // not supported
- throw new SQLFeatureNotSupportedException();
- }
-}
diff --git a/connector/src/main/java/io/covenantsql/connector/CovenantMockConnectionUnused.java b/connector/src/main/java/io/covenantsql/connector/CovenantMockConnectionUnused.java
deleted file mode 100644
index b08aa49..0000000
--- a/connector/src/main/java/io/covenantsql/connector/CovenantMockConnectionUnused.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
- * Copyright 2018 The CovenantSQL Authors.
- *
- * 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.
- */
-
-package io.covenantsql.connector;
-
-import java.sql.*;
-import java.util.Map;
-import java.util.Properties;
-import java.util.concurrent.Executor;
-
-public class CovenantMockConnectionUnused {
- public String nativeSQL(String sql) throws SQLException {
- return null;
- }
-
- public boolean getAutoCommit() throws SQLException {
- return false;
- }
-
- public void setAutoCommit(boolean autoCommit) throws SQLException {
- }
-
- public void commit() throws SQLException {
- }
-
- public void rollback() throws SQLException {
- }
-
- public boolean isReadOnly() throws SQLException {
- return false;
- }
-
- public void setReadOnly(boolean readOnly) throws SQLException {
- }
-
- public void setTransactionIsolation(int level) throws SQLException {
- }
-
- public SQLWarning getWarnings() throws SQLException {
- return null;
- }
-
- public void clearWarnings() throws SQLException {
- }
-
- public Map> getTypeMap() throws SQLException {
- return null;
- }
-
- public void setTypeMap(Map> map) throws SQLException {
- }
-
- public int getHoldability() throws SQLException {
- return 0;
- }
-
- public void setHoldability(int holdability) throws SQLException {
- }
-
- public Savepoint setSavepoint() throws SQLException {
- throw new SQLFeatureNotSupportedException();
- }
-
- public Savepoint setSavepoint(String name) throws SQLException {
- throw new SQLFeatureNotSupportedException();
- }
-
- public void rollback(Savepoint savepoint) throws SQLException {
- }
-
- public void releaseSavepoint(Savepoint savepoint) throws SQLException {
- throw new SQLFeatureNotSupportedException();
- }
-
- public CallableStatement prepareCall(String sql) throws SQLException {
- throw new SQLFeatureNotSupportedException();
- }
-
- public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency) throws SQLException {
- throw new SQLFeatureNotSupportedException();
- }
-
- public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException {
- throw new SQLFeatureNotSupportedException();
- }
-
- public PreparedStatement prepareStatement(String sql, int autoGeneratedKeys) throws SQLException {
- throw new SQLFeatureNotSupportedException();
- }
-
- public PreparedStatement prepareStatement(String sql, int[] columnIndexes) throws SQLException {
- throw new SQLFeatureNotSupportedException();
- }
-
- public PreparedStatement prepareStatement(String sql, String[] columnNames) throws SQLException {
- throw new SQLFeatureNotSupportedException();
- }
-
- public Clob createClob() throws SQLException {
- return null;
- }
-
- public Blob createBlob() throws SQLException {
- return null;
- }
-
- public NClob createNClob() throws SQLException {
- return null;
- }
-
- public SQLXML createSQLXML() throws SQLException {
- return null;
- }
-
- public void setClientInfo(String name, String value) throws SQLClientInfoException {
- }
-
- public String getClientInfo(String name) throws SQLException {
- return null;
- }
-
- public Properties getClientInfo() throws SQLException {
- return null;
- }
-
- public void setClientInfo(Properties properties) throws SQLClientInfoException {
- }
-
- public Array createArrayOf(String typeName, Object[] elements) throws SQLException {
- return null;
- }
-
- public Struct createStruct(String typeName, Object[] attributes) throws SQLException {
- return null;
- }
-
- public void setNetworkTimeout(Executor executor, int milliseconds) throws SQLException {
-
- }
-
- public int getNetworkTimeout() throws SQLException {
- return 0;
- }
-}
diff --git a/connector/src/main/java/io/covenantsql/connector/CovenantMockStatementUnused.java b/connector/src/main/java/io/covenantsql/connector/CovenantMockStatementUnused.java
deleted file mode 100644
index 6fe88be..0000000
--- a/connector/src/main/java/io/covenantsql/connector/CovenantMockStatementUnused.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * Copyright 2018 The CovenantSQL Authors.
- *
- * 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.
- */
-
-package io.covenantsql.connector;
-
-import java.sql.SQLException;
-import java.sql.SQLFeatureNotSupportedException;
-import java.sql.SQLWarning;
-
-abstract class CovenantMockStatementUnused {
- private boolean closeOnCompletion;
-
- public int getMaxFieldSize() throws SQLException {
- return 0;
- }
-
- public void setMaxFieldSize(int max) throws SQLException {
- }
-
- public void setEscapeProcessing(boolean enable) throws SQLException {
- }
-
- public void cancel() throws SQLException {
- }
-
- public SQLWarning getWarnings() throws SQLException {
- return null;
- }
-
- public void clearWarnings() throws SQLException {
- }
-
- public void setCursorName(String name) throws SQLException {
- }
-
- public int getFetchDirection() throws SQLException {
- return 0;
- }
-
- public void setFetchDirection(int direction) throws SQLException {
- }
-
- public int getFetchSize() throws SQLException {
- return 0;
- }
-
- public void setFetchSize(int rows) throws SQLException {
- }
-
- public int getResultSetConcurrency() throws SQLException {
- return 0;
- }
-
- public int getResultSetType() throws SQLException {
- return 0;
- }
-
- public void addBatch(String sql) throws SQLException {
- throw new SQLFeatureNotSupportedException();
- }
-
- public void clearBatch() throws SQLException {
- throw new SQLFeatureNotSupportedException();
- }
-
- public int[] executeBatch() throws SQLException {
- throw new SQLFeatureNotSupportedException();
- }
-
- public boolean getMoreResults(int current) throws SQLException {
- return false;
- }
-
- public int executeUpdate(String sql, int autoGeneratedKeys) throws SQLException {
- return 0;
- }
-
- public int executeUpdate(String sql, int[] columnIndexes) throws SQLException {
- return 0;
- }
-
- public int executeUpdate(String sql, String[] columnNames) throws SQLException {
- return 0;
- }
-
- public boolean execute(String sql, int autoGeneratedKeys) throws SQLException {
- return false;
- }
-
- public boolean execute(String sql, int[] columnIndexes) throws SQLException {
- return false;
- }
-
- public boolean execute(String sql, String[] columnNames) throws SQLException {
- return false;
- }
-
- public int getResultSetHoldability() throws SQLException {
- return 0;
- }
-
- public boolean isClosed() throws SQLException {
- return false;
- }
-
- public boolean isPoolable() throws SQLException {
- return false;
- }
-
- public void setPoolable(boolean poolable) throws SQLException {
- }
-
- public void closeOnCompletion() throws SQLException {
- closeOnCompletion = true;
- }
-
- public boolean isCloseOnCompletion() throws SQLException {
- return closeOnCompletion;
- }
-}
diff --git a/connector/src/main/java/io/covenantsql/connector/CovenantPreparedStatement.java b/connector/src/main/java/io/covenantsql/connector/CovenantPreparedStatement.java
deleted file mode 100644
index 00647e8..0000000
--- a/connector/src/main/java/io/covenantsql/connector/CovenantPreparedStatement.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright 2018 The CovenantSQL Authors.
- *
- * 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.
- */
-
-package io.covenantsql.connector;
-
-import java.sql.PreparedStatement;
-
-public interface CovenantPreparedStatement extends PreparedStatement, CovenantStatement {
-}
diff --git a/connector/src/main/java/io/covenantsql/connector/CovenantPreparedStatementImpl.java b/connector/src/main/java/io/covenantsql/connector/CovenantPreparedStatementImpl.java
deleted file mode 100644
index 7f4c8d3..0000000
--- a/connector/src/main/java/io/covenantsql/connector/CovenantPreparedStatementImpl.java
+++ /dev/null
@@ -1,397 +0,0 @@
-/*
- * Copyright 2018 The CovenantSQL Authors.
- *
- * 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.
- */
-
-package io.covenantsql.connector;
-
-import com.google.common.base.Charsets;
-import io.covenantsql.connector.settings.CovenantProperties;
-import org.apache.http.impl.client.CloseableHttpClient;
-
-import java.io.InputStream;
-import java.io.Reader;
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.net.URL;
-import java.nio.charset.Charset;
-import java.sql.*;
-import java.text.SimpleDateFormat;
-import java.util.Calendar;
-import java.util.TimeZone;
-import java.util.Vector;
-
-public class CovenantPreparedStatementImpl extends CovenantStatementImpl implements CovenantPreparedStatement {
- private static final SimpleDateFormat dateFormat;
- private static final SimpleDateFormat dateTimeFormat;
- private static final Charset defaultCharset = Charsets.UTF_8;
-
- static {
- dateFormat = new SimpleDateFormat("yyyy-MM-dd");
- dateTimeFormat = new SimpleDateFormat("yyyy-MM-dd' 'HH:mm:ss'+00:00'");
- TimeZone tzUTC = TimeZone.getTimeZone("UTC");
- dateTimeFormat.setTimeZone(tzUTC);
- }
-
- private final String sql;
- private Vector binds;
-
- public CovenantPreparedStatementImpl(CloseableHttpClient httpClient, CovenantConnection connection,
- CovenantProperties properties, String sql) throws SQLException {
- super(httpClient, connection, properties);
- this.sql = sql;
- this.binds = new Vector<>();
- }
-
- public CovenantPreparedStatementImpl(CloseableHttpClient httpClient, CovenantConnection connection,
- CovenantProperties properties, String sql,
- int autoGeneratedKeys) throws SQLException {
- super(httpClient, connection, properties, autoGeneratedKeys);
- this.sql = sql;
- this.binds = new Vector<>();
- }
-
- @Override
- public boolean execute() throws SQLException {
- executeQuery();
- return isSelect(sql);
- }
-
- @Override
- public void addBatch() throws SQLException {
- throw new SQLFeatureNotSupportedException();
- }
-
- @Override
- public ResultSet executeQuery() throws SQLException {
- ResultSet result = executeQuery(sql, binds);
- clearParameters();
- return result;
- }
-
- @Override
- public int executeUpdate() throws SQLException {
- int result = executeUpdate(sql, binds);
- clearParameters();
- return result;
- }
-
- public void setBind(int parameterIndex, Object obj) {
- if (binds.size() < parameterIndex) {
- binds.setSize(parameterIndex);
- }
- binds.set(parameterIndex - 1, obj);
- }
-
- @Override
- public void setNull(int parameterIndex, int sqlType) throws SQLException {
- setBind(parameterIndex, null);
- }
-
- @Override
- public void setBoolean(int parameterIndex, boolean x) throws SQLException {
- setBind(parameterIndex, x);
- }
-
- @Override
- public void setByte(int parameterIndex, byte x) throws SQLException {
- // treat byte as integer
- setBind(parameterIndex, (int) x);
- }
-
- @Override
- public void setShort(int parameterIndex, short x) throws SQLException {
- setBind(parameterIndex, x);
- }
-
- @Override
- public void setInt(int parameterIndex, int x) throws SQLException {
- setBind(parameterIndex, x);
- }
-
- @Override
- public void setLong(int parameterIndex, long x) throws SQLException {
- setBind(parameterIndex, x);
- }
-
- @Override
- public void setFloat(int parameterIndex, float x) throws SQLException {
- setBind(parameterIndex, x);
- }
-
- @Override
- public void setDouble(int parameterIndex, double x) throws SQLException {
- setBind(parameterIndex, x);
- }
-
- @Override
- public void setBigDecimal(int parameterIndex, BigDecimal x) throws SQLException {
- setBind(parameterIndex, x.toPlainString());
- }
-
- @Override
- public void setString(int parameterIndex, String x) throws SQLException {
- setBind(parameterIndex, x);
- }
-
- @Override
- public void setBytes(int parameterIndex, byte[] x) throws SQLException {
- setBind(parameterIndex, new String(x, defaultCharset));
- }
-
- @Override
- public void setDate(int parameterIndex, Date x) throws SQLException {
- setBind(parameterIndex, dateFormat.format(x));
- }
-
- @Override
- public void setTime(int parameterIndex, Time x) throws SQLException {
- setBind(parameterIndex, dateTimeFormat.format(x));
- }
-
- @Override
- public void setTimestamp(int parameterIndex, Timestamp x) throws SQLException {
- setBind(parameterIndex, dateTimeFormat.format(x));
- }
-
- @Override
- public void setAsciiStream(int parameterIndex, InputStream x, int length) throws SQLException {
- throw new SQLFeatureNotSupportedException();
- }
-
- @Override
- @Deprecated
- public void setUnicodeStream(int parameterIndex, InputStream x, int length) throws SQLException {
- throw new SQLFeatureNotSupportedException();
- }
-
- @Override
- public void setBinaryStream(int parameterIndex, InputStream x, int length) throws SQLException {
- throw new SQLFeatureNotSupportedException();
- }
-
- @Override
- public void clearParameters() throws SQLException {
- int sz = binds.size();
- binds.clear();
- binds.setSize(sz);
- }
-
- @Override
- public void setObject(int parameterIndex, Object x, int targetSqlType) throws SQLException {
- setObject(parameterIndex, x);
- }
-
- @Override
- public void setObject(int parameterIndex, Object x) throws SQLException {
- if (x == null) {
- setNull(parameterIndex, Types.OTHER);
- } else {
- if (x instanceof Byte) {
- setInt(parameterIndex, ((Byte) x).intValue());
- } else if (x instanceof String) {
- setString(parameterIndex, (String) x);
- } else if (x instanceof BigDecimal) {
- setBigDecimal(parameterIndex, (BigDecimal) x);
- } else if (x instanceof Short) {
- setShort(parameterIndex, (Short) x);
- } else if (x instanceof Integer) {
- setInt(parameterIndex, (Integer) x);
- } else if (x instanceof Long) {
- setLong(parameterIndex, (Long) x);
- } else if (x instanceof Float) {
- setFloat(parameterIndex, (Float) x);
- } else if (x instanceof Double) {
- setDouble(parameterIndex, (Double) x);
- } else if (x instanceof byte[]) {
- setBytes(parameterIndex, (byte[]) x);
- } else if (x instanceof Date) {
- setDate(parameterIndex, (Date) x);
- } else if (x instanceof Time) {
- setTime(parameterIndex, (Time) x);
- } else if (x instanceof Timestamp) {
- setTimestamp(parameterIndex, (Timestamp) x);
- } else if (x instanceof java.util.Date) {
- setTimestamp(parameterIndex, new Timestamp(((java.util.Date) x).getTime()));
- } else if (x instanceof Boolean) {
- setBoolean(parameterIndex, (Boolean) x);
- } else if (x instanceof InputStream) {
- setBinaryStream(parameterIndex, (InputStream) x, -1);
- } else if (x instanceof Blob) {
- setBlob(parameterIndex, (Blob) x);
- } else if (x instanceof Clob) {
- setClob(parameterIndex, (Clob) x);
- } else if (x instanceof BigInteger) {
- setBind(parameterIndex, x.toString());
- } else {
- throw new SQLDataException("Can't bind object of class " + x.getClass().getCanonicalName());
- }
- }
- }
-
- @Override
- public void setCharacterStream(int parameterIndex, Reader reader, int length) throws SQLException {
- throw new SQLFeatureNotSupportedException();
- }
-
- @Override
- public void setRef(int parameterIndex, Ref x) throws SQLException {
- throw new SQLFeatureNotSupportedException();
- }
-
- @Override
- public void setBlob(int parameterIndex, Blob x) throws SQLException {
- throw new SQLFeatureNotSupportedException();
- }
-
- @Override
- public void setClob(int parameterIndex, Clob x) throws SQLException {
- throw new SQLFeatureNotSupportedException();
- }
-
- @Override
- public void setArray(int parameterIndex, Array x) throws SQLException {
- throw new SQLFeatureNotSupportedException();
- }
-
- @Override
- public ResultSetMetaData getMetaData() throws SQLException {
- throw new SQLFeatureNotSupportedException();
- }
-
- @Override
- public void setDate(int parameterIndex, Date x, Calendar cal) throws SQLException {
- throw new SQLFeatureNotSupportedException();
- }
-
- @Override
- public void setTime(int parameterIndex, Time x, Calendar cal) throws SQLException {
- throw new SQLFeatureNotSupportedException();
- }
-
- @Override
- public void setTimestamp(int parameterIndex, Timestamp x, Calendar cal) throws SQLException {
- throw new SQLFeatureNotSupportedException();
- }
-
- @Override
- public void setNull(int parameterIndex, int sqlType, String typeName) throws SQLException {
- setNull(parameterIndex, sqlType);
- }
-
- @Override
- public void setURL(int parameterIndex, URL x) throws SQLException {
- throw new SQLFeatureNotSupportedException();
- }
-
- @Override
- public ParameterMetaData getParameterMetaData() throws SQLException {
- throw new SQLFeatureNotSupportedException();
- }
-
- @Override
- public void setRowId(int parameterIndex, RowId x) throws SQLException {
- throw new SQLFeatureNotSupportedException();
- }
-
- @Override
- public void setNString(int parameterIndex, String value) throws SQLException {
- setString(parameterIndex, value);
- }
-
- @Override
- public void setNCharacterStream(int parameterIndex, Reader value, long length) throws SQLException {
- throw new SQLFeatureNotSupportedException();
- }
-
- @Override
- public void setNClob(int parameterIndex, NClob value) throws SQLException {
- throw new SQLFeatureNotSupportedException();
- }
-
- @Override
- public void setClob(int parameterIndex, Reader reader, long length) throws SQLException {
- throw new SQLFeatureNotSupportedException();
- }
-
- @Override
- public void setBlob(int parameterIndex, InputStream inputStream, long length) throws SQLException {
- throw new SQLFeatureNotSupportedException();
- }
-
- @Override
- public void setNClob(int parameterIndex, Reader reader, long length) throws SQLException {
- throw new SQLFeatureNotSupportedException();
- }
-
- @Override
- public void setSQLXML(int parameterIndex, SQLXML xmlObject) throws SQLException {
- throw new SQLFeatureNotSupportedException();
- }
-
- @Override
- public void setObject(int parameterIndex, Object x, int targetSqlType, int scaleOrLength) throws SQLException {
- throw new SQLFeatureNotSupportedException();
- }
-
- @Override
- public void setAsciiStream(int parameterIndex, InputStream x, long length) throws SQLException {
- throw new SQLFeatureNotSupportedException();
- }
-
- @Override
- public void setBinaryStream(int parameterIndex, InputStream x, long length) throws SQLException {
- throw new SQLFeatureNotSupportedException();
- }
-
- @Override
- public void setCharacterStream(int parameterIndex, Reader reader, long length) throws SQLException {
- throw new SQLFeatureNotSupportedException();
- }
-
- @Override
- public void setAsciiStream(int parameterIndex, InputStream x) throws SQLException {
- throw new SQLFeatureNotSupportedException();
- }
-
- @Override
- public void setBinaryStream(int parameterIndex, InputStream x) throws SQLException {
- throw new SQLFeatureNotSupportedException();
- }
-
- @Override
- public void setCharacterStream(int parameterIndex, Reader reader) throws SQLException {
- throw new SQLFeatureNotSupportedException();
- }
-
- @Override
- public void setNCharacterStream(int parameterIndex, Reader value) throws SQLException {
- throw new SQLFeatureNotSupportedException();
- }
-
- @Override
- public void setClob(int parameterIndex, Reader reader) throws SQLException {
- throw new SQLFeatureNotSupportedException();
- }
-
- @Override
- public void setBlob(int parameterIndex, InputStream inputStream) throws SQLException {
- throw new SQLFeatureNotSupportedException();
- }
-
- @Override
- public void setNClob(int parameterIndex, Reader reader) throws SQLException {
- throw new SQLFeatureNotSupportedException();
- }
-}
diff --git a/connector/src/main/java/io/covenantsql/connector/CovenantStatement.java b/connector/src/main/java/io/covenantsql/connector/CovenantStatement.java
deleted file mode 100644
index a4bceb2..0000000
--- a/connector/src/main/java/io/covenantsql/connector/CovenantStatement.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright 2018 The CovenantSQL Authors.
- *
- * 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.
- */
-
-package io.covenantsql.connector;
-
-import java.sql.Statement;
-
-public interface CovenantStatement extends Statement {
-}
diff --git a/connector/src/main/java/io/covenantsql/connector/CovenantStatementImpl.java b/connector/src/main/java/io/covenantsql/connector/CovenantStatementImpl.java
deleted file mode 100644
index e201e3e..0000000
--- a/connector/src/main/java/io/covenantsql/connector/CovenantStatementImpl.java
+++ /dev/null
@@ -1,281 +0,0 @@
-/*
- * Copyright 2018 The CovenantSQL Authors.
- *
- * 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.
- */
-
-package io.covenantsql.connector;
-
-import com.fasterxml.jackson.databind.ObjectMapper;
-import io.covenantsql.connector.except.CovenantException;
-import io.covenantsql.connector.response.CovenantResultSet;
-import io.covenantsql.connector.response.beans.CovenantRequestBean;
-import io.covenantsql.connector.response.beans.CovenantResponseBean;
-import io.covenantsql.connector.settings.CovenantProperties;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.http.HttpResponse;
-import org.apache.http.client.ResponseHandler;
-import org.apache.http.client.fluent.Executor;
-import org.apache.http.client.fluent.Request;
-import org.apache.http.client.utils.URIBuilder;
-import org.apache.http.entity.ContentType;
-import org.apache.http.impl.client.CloseableHttpClient;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.testng.collections.Lists;
-
-import java.io.IOException;
-import java.net.URI;
-import java.sql.Connection;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.sql.Statement;
-import java.util.List;
-
-public class CovenantStatementImpl extends CovenantMockStatementUnused implements CovenantStatement {
- private static final Logger LOG = LoggerFactory.getLogger(CovenantStatementImpl.class);
- private static final String API_EXEC = "/v1/exec";
- private static final String API_QUERY = "/v1/query";
- private static final ObjectMapper objectMapper = new ObjectMapper();
-
- private final Executor executor;
- private final CloseableHttpClient httpClient;
- private final String database;
- protected CovenantProperties properties;
- private CovenantConnection connection;
- private CovenantResultSet currentResultSet;
- private int currentUpdateCount = -1;
- private int currentLastInsertId = -1;
- private int queryTimeout;
- private int maxRows;
- private int autoGeneratedKeys;
-
- public CovenantStatementImpl(CloseableHttpClient httpClient, CovenantConnection connection, CovenantProperties properties) {
- this.httpClient = httpClient;
- this.properties = properties;
- this.connection = connection;
- this.database = properties.getDatabase();
- this.executor = Executor.newInstance(httpClient);
- }
-
- public CovenantStatementImpl(CloseableHttpClient httpClient, CovenantConnection connection,
- CovenantProperties properties, int autoGeneratedKeys) {
- this(httpClient, connection, properties);
- this.autoGeneratedKeys = autoGeneratedKeys;
- }
-
- protected static boolean isSelect(String sql) {
- return StringUtils.startsWithIgnoreCase(sql, "SELECT") ||
- StringUtils.startsWithIgnoreCase(sql, "SHOW") ||
- StringUtils.startsWithIgnoreCase(sql, "DESC");
- }
-
- private static String extractTableName(String sql) {
- if (isSelect(sql)) {
- String[] tokens = StringUtils.splitByWholeSeparatorPreserveAllTokens(sql, null);
-
- boolean nextIsTableName = false;
-
- for (String s : tokens) {
- if (nextIsTableName) {
- // parse table name
- return StringUtils.stripToEmpty(StringUtils.strip(s, "'`"));
- }
-
- if (StringUtils.equalsIgnoreCase(s, "FROM")) {
- nextIsTableName = true;
- }
- }
- }
-
- return "";
- }
-
- @Override
- public ResultSet executeQuery(String sql) throws SQLException {
- return executeQuery(sql, null);
- }
-
- @Override
- public int executeUpdate(String sql) throws SQLException {
- return executeUpdate(sql, (List) null);
- }
-
- public ResultSet executeQuery(String sql, List params) throws SQLException {
- try {
- if (isSelect(sql)) {
- CovenantResponseBean resultBean = sendRequest(API_QUERY, sql, params);
-
- if (!resultBean.isSuccess()) {
- throw new CovenantException(resultBean.getStatus(), properties.getHost(), properties.getPort());
- }
-
- currentResultSet = new CovenantResultSet(resultBean.getData(), database, extractTableName(sql), this);
- currentResultSet.setMaxRows(maxRows);
- return currentResultSet;
- } else {
- executeUpdate(sql, params);
- return currentResultSet;
- }
- } catch (Exception e) {
- // re-throw
- throw new CovenantException(e, properties.getHost(), properties.getPort());
- }
- }
-
- @Override
- public int getUpdateCount() throws SQLException {
- return currentUpdateCount;
- }
-
- public int executeUpdate(String sql, List params) throws SQLException {
- try {
- CovenantResponseBean resultBean = sendRequest(API_EXEC, sql, params);
-
- if (!resultBean.isSuccess()) {
- throw new CovenantException(resultBean.getStatus(), properties.getHost(), properties.getPort());
- }
- currentResultSet = CovenantResultSet.EMPTY;
- currentUpdateCount = resultBean.getData() != null ? resultBean.getData().getAffectedRows() : -1;
- currentLastInsertId = resultBean.getData() != null ? resultBean.getData().getLastInsertId() : -1;
-
- return 1;
- } catch (Exception e) {
- // re-throw
- throw new CovenantException(e, properties.getHost(), properties.getPort());
- }
- }
-
- public CovenantResponseBean sendRequest(String path, String sql, List params) throws SQLException {
- try {
- URI uri = new URIBuilder()
- .setHost(properties.getHost())
- .setPort(properties.getPort())
- .setScheme(properties.isSsl() ? "https" : "http")
- .setPath(path)
- .build();
-
- CovenantRequestBean bean = new CovenantRequestBean();
- bean.setDatabase(properties.getDatabase());
- bean.setQuery(sql);
- bean.setArgs(params);
-
- return executor.execute(Request.Post(uri)
- .bodyString(objectMapper.writeValueAsString(bean), ContentType.APPLICATION_JSON))
- .handleResponse(new ResponseHandler() {
- @Override
- public CovenantResponseBean handleResponse(HttpResponse response) throws IOException {
- return objectMapper.readValue(response.getEntity().getContent(), CovenantResponseBean.class);
- }
- });
- } catch (Exception e) {
- throw new CovenantException(e, properties.getHost(), properties.getPort());
- }
- }
-
- @Override
- public ResultSet getGeneratedKeys() throws SQLException {
- if (autoGeneratedKeys != Statement.RETURN_GENERATED_KEYS) {
- throw new CovenantException(
- "Cannot return generated keys : query was not set with Statement.RETURN_GENERATED_KEYS",
- properties.getHost(), properties.getPort());
- }
-
- if (currentLastInsertId == -1) {
- return CovenantResultSet.EMPTY;
- }
-
- // build data bean fit to CovenantResultSet
- CovenantResponseBean.DataBean keyResult = new CovenantResponseBean.DataBean();
- List> keyRows = Lists.newArrayList();
- List keyValues = Lists.newArrayList();
- keyValues.add(currentLastInsertId);
- keyRows.add(keyValues);
-
- keyResult.setRows(keyRows);
- keyResult.setColumns(Lists.newArrayList("insert_id"));
- keyResult.setTypes(Lists.newArrayList("INT"));
-
- return new CovenantResultSet(keyResult, database, "", this);
- }
-
- @Override
- public void close() throws SQLException {
- if (currentResultSet != null) {
- currentResultSet.close();
- }
- }
-
- @Override
- public int getMaxRows() throws SQLException {
- return maxRows;
- }
-
- @Override
- public void setMaxRows(int max) throws SQLException {
- if (max < 0) {
- throw new SQLException(String.format("Illegal maxRows value: %d", max));
- }
- maxRows = max;
- }
-
- @Override
- public int getQueryTimeout() throws SQLException {
- return queryTimeout;
- }
-
- @Override
- public void setQueryTimeout(int seconds) throws SQLException {
- queryTimeout = seconds;
- }
-
- @Override
- public boolean execute(String sql) throws SQLException {
- executeQuery(sql);
- return isSelect(sql);
- }
-
- @Override
- public ResultSet getResultSet() throws SQLException {
- return currentResultSet;
- }
-
- @Override
- public boolean getMoreResults() throws SQLException {
- if (currentResultSet != null) {
- currentResultSet.close();
- currentResultSet = null;
- currentUpdateCount = -1;
- }
-
- return false;
- }
-
- @Override
- public Connection getConnection() throws SQLException {
- return connection;
- }
-
- @Override
- public T unwrap(Class iface) throws SQLException {
- if (iface.isAssignableFrom(getClass())) {
- return iface.cast(this);
- }
- throw new SQLException("Cannot unwrap to " + iface.getName());
- }
-
- @Override
- public boolean isWrapperFor(Class> iface) throws SQLException {
- return iface.isAssignableFrom(getClass());
- }
-}
diff --git a/connector/src/main/java/io/covenantsql/connector/CovenantURLParser.java b/connector/src/main/java/io/covenantsql/connector/CovenantURLParser.java
deleted file mode 100644
index f07193c..0000000
--- a/connector/src/main/java/io/covenantsql/connector/CovenantURLParser.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Copyright 2018 The CovenantSQL Authors.
- *
- * 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.
- */
-
-package io.covenantsql.connector;
-
-import io.covenantsql.connector.settings.CovenantConnectionSettings;
-import io.covenantsql.connector.settings.CovenantProperties;
-import org.apache.commons.lang3.StringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.Properties;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-public class CovenantURLParser {
- public static final String JDBC_PREFIX = "jdbc:";
- public static final String JDBC_DB_PREFIX = JDBC_PREFIX + "covenantsql:";
- public static final Pattern DB_PATTERN = Pattern.compile("([a-zA-Z0-9]+)");
- private static final Logger LOG = LoggerFactory.getLogger(CovenantURLParser.class);
-
- private CovenantURLParser() {
- }
-
- public static CovenantProperties parse(String url, Properties defaults) throws URISyntaxException {
- if (!url.startsWith(JDBC_DB_PREFIX)) {
- throw new URISyntaxException(url, "'" + JDBC_DB_PREFIX + "' prefix is mandatory");
- }
-
- return parseURL(StringUtils.substringAfter(url, JDBC_PREFIX), defaults);
- }
-
- private static CovenantProperties parseURL(String uriString, Properties defaults) throws URISyntaxException {
- URI uri = new URI(uriString);
- Properties urlProperties = parseURIQueryPart(uri, defaults);
- CovenantProperties props = new CovenantProperties(urlProperties);
- props.setHost(uri.getHost());
- int port = uri.getPort();
- if (port == -1) {
- throw new IllegalArgumentException("port is missed or wrong");
- }
- props.setPort(port);
- String database = uri.getPath();
- if (StringUtils.isEmpty(database)) {
- database = defaults.getProperty(CovenantConnectionSettings.DATABASE.getKey());
- }
-
- database = StringUtils.strip(StringUtils.stripToEmpty(database), "/");
- Matcher m = DB_PATTERN.matcher(database);
-
- if (m.matches()) {
- database = m.group(1);
- } else {
- throw new URISyntaxException("wrong database path: '" + database + "'", uriString);
- }
-
- props.setDatabase(database);
- return props;
- }
-
- private static Properties parseURIQueryPart(URI uri, Properties defaults) {
- String query = uri.getQuery();
- if (query == null) {
- return defaults;
- }
-
- Properties urlProps = new Properties(defaults);
- String queryKeyValues[] = query.split("&");
- for (String keyValue : queryKeyValues) {
- String keyValueTokens[] = keyValue.split("=");
- if (keyValueTokens.length == 2) {
- urlProps.put(keyValueTokens[0], keyValueTokens[1]);
- } else {
- LOG.warn("don't know how to handle parameter pair: {}", keyValue);
- }
- }
- return urlProps;
- }
-}
diff --git a/connector/src/main/java/io/covenantsql/connector/except/CovenantException.java b/connector/src/main/java/io/covenantsql/connector/except/CovenantException.java
deleted file mode 100644
index 67307d1..0000000
--- a/connector/src/main/java/io/covenantsql/connector/except/CovenantException.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright 2018 The CovenantSQL Authors.
- *
- * 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.
- */
-
-package io.covenantsql.connector.except;
-
-import java.sql.SQLException;
-
-public class CovenantException extends SQLException {
- public CovenantException(String message) {
- super(String.format("CovenantException, message: %s", message), null, 0);
- }
-
- public CovenantException(String message, String host, int port) {
- super(String.format("CovenantException, message: %s, host: %s, port: %s",
- message, host, port), null, 0);
- }
-
- public CovenantException(Throwable cause, String host, int port) {
- super(String.format("CovenantException, host: %s, port: %d; %s",
- host, port, (cause == null ? "" : cause.getMessage())), null, 0, cause);
- }
-
- public CovenantException(String message, Throwable cause, String host, int port) {
- super(String.format("CovenantException, message: %s, host: %s, port: %d; %s",
- message, host, port, (cause == null ? "" : cause.getMessage())), null, 0, cause);
- }
-}
diff --git a/connector/src/main/java/io/covenantsql/connector/response/CovenantMockResultSetMetaDataUnused.java b/connector/src/main/java/io/covenantsql/connector/response/CovenantMockResultSetMetaDataUnused.java
deleted file mode 100644
index 9bfe3c6..0000000
--- a/connector/src/main/java/io/covenantsql/connector/response/CovenantMockResultSetMetaDataUnused.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright 2018 The CovenantSQL Authors.
- *
- * 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.
- */
-
-package io.covenantsql.connector.response;
-
-import java.sql.ResultSetMetaData;
-import java.sql.SQLException;
-
-public abstract class CovenantMockResultSetMetaDataUnused implements ResultSetMetaData {
- @Override
- public boolean isAutoIncrement(int column) throws SQLException {
- return false;
- }
-
- @Override
- public boolean isCurrency(int column) throws SQLException {
- return false;
- }
-
- @Override
- public boolean isSigned(int column) throws SQLException {
- return false;
- }
-
- @Override
- public int getPrecision(int column) throws SQLException {
- return 0;
- }
-
- @Override
- public int getScale(int column) throws SQLException {
- return 0;
- }
-
- @Override
- public boolean isWritable(int column) throws SQLException {
- return false;
- }
-
- @Override
- public boolean isDefinitelyWritable(int column) throws SQLException {
- return false;
- }
-}
diff --git a/connector/src/main/java/io/covenantsql/connector/response/CovenantMockResultSetUnused.java b/connector/src/main/java/io/covenantsql/connector/response/CovenantMockResultSetUnused.java
deleted file mode 100644
index 7648a92..0000000
--- a/connector/src/main/java/io/covenantsql/connector/response/CovenantMockResultSetUnused.java
+++ /dev/null
@@ -1,765 +0,0 @@
-/*
- * Copyright 2018 The CovenantSQL Authors.
- *
- * 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.
- */
-
-package io.covenantsql.connector.response;
-
-import java.io.InputStream;
-import java.io.Reader;
-import java.math.BigDecimal;
-import java.net.URL;
-import java.sql.*;
-import java.util.Calendar;
-import java.util.Map;
-
-public abstract class CovenantMockResultSetUnused implements ResultSet {
- @Override
- public Date getDate(int columnIndex, Calendar cal) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public Time getTime(int columnIndex, Calendar cal) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public Timestamp getTimestamp(int columnIndex, Calendar cal) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public Blob getBlob(int columnIndex) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public Blob getBlob(String columnLabel) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public Object getObject(int columnIndex, Map> map) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public Object getObject(String columnLabel, Map> map) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public InputStream getAsciiStream(int columnIndex) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- @Deprecated
- public InputStream getUnicodeStream(int columnIndex) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public InputStream getBinaryStream(int columnIndex) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public InputStream getAsciiStream(String columnLabel) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- @Deprecated
- public InputStream getUnicodeStream(String columnLabel) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public InputStream getBinaryStream(String columnLabel) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public SQLWarning getWarnings() throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void clearWarnings() throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public String getCursorName() throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public int findColumn(String columnLabel) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public Reader getCharacterStream(int columnIndex) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public Reader getCharacterStream(String columnLabel) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public boolean isBeforeFirst() throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public boolean isAfterLast() throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public boolean isFirst() throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public boolean isLast() throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void beforeFirst() throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void afterLast() throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public boolean first() throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public boolean last() throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public boolean absolute(int row) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public boolean relative(int rows) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public boolean previous() throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public int getFetchDirection() throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void setFetchDirection(int direction) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public int getFetchSize() throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void setFetchSize(int rows) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public int getConcurrency() throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public boolean rowUpdated() throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public boolean rowInserted() throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public boolean rowDeleted() throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateNull(int columnIndex) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateBoolean(int columnIndex, boolean x) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateByte(int columnIndex, byte x) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateShort(int columnIndex, short x) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateInt(int columnIndex, int x) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateLong(int columnIndex, long x) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateFloat(int columnIndex, float x) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateDouble(int columnIndex, double x) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateBigDecimal(int columnIndex, BigDecimal x) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateString(int columnIndex, String x) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateBytes(int columnIndex, byte[] x) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateDate(int columnIndex, Date x) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateTime(int columnIndex, Time x) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateTimestamp(int columnIndex, Timestamp x) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateAsciiStream(int columnIndex, InputStream x, int length) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateBinaryStream(int columnIndex, InputStream x, int length) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateCharacterStream(int columnIndex, Reader x, int length) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateObject(int columnIndex, Object x, int scaleOrLength) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateObject(int columnIndex, Object x) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateNull(String columnLabel) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateBoolean(String columnLabel, boolean x) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateByte(String columnLabel, byte x) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateShort(String columnLabel, short x) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateInt(String columnLabel, int x) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateLong(String columnLabel, long x) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateFloat(String columnLabel, float x) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateDouble(String columnLabel, double x) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateBigDecimal(String columnLabel, BigDecimal x) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateString(String columnLabel, String x) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateBytes(String columnLabel, byte[] x) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateDate(String columnLabel, Date x) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateTime(String columnLabel, Time x) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateTimestamp(String columnLabel, Timestamp x) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateAsciiStream(String columnLabel, InputStream x, int length) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateBinaryStream(String columnLabel, InputStream x, int length) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateCharacterStream(String columnLabel, Reader reader, int length) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateObject(String columnLabel, Object x, int scaleOrLength) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateObject(String columnLabel, Object x) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void insertRow() throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateRow() throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void deleteRow() throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void refreshRow() throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void cancelRowUpdates() throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void moveToInsertRow() throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void moveToCurrentRow() throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public Statement getStatement() throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public Ref getRef(int columnIndex) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public Clob getClob(int columnIndex) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public Array getArray(int columnIndex) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public Ref getRef(String columnLabel) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public Clob getClob(String columnLabel) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public Array getArray(String columnLabel) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public URL getURL(int columnIndex) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public URL getURL(String columnLabel) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateRef(int columnIndex, Ref x) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateRef(String columnLabel, Ref x) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateBlob(int columnIndex, Blob x) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateBlob(String columnLabel, Blob x) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateClob(int columnIndex, Clob x) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateClob(String columnLabel, Clob x) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateArray(int columnIndex, Array x) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateArray(String columnLabel, Array x) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public RowId getRowId(int columnIndex) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public RowId getRowId(String columnLabel) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateRowId(int columnIndex, RowId x) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateRowId(String columnLabel, RowId x) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public int getHoldability() throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateNString(int columnIndex, String nString) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateNString(String columnLabel, String nString) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateNClob(int columnIndex, NClob nClob) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateNClob(String columnLabel, NClob nClob) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public NClob getNClob(int columnIndex) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public NClob getNClob(String columnLabel) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public SQLXML getSQLXML(int columnIndex) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public SQLXML getSQLXML(String columnLabel) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateSQLXML(int columnIndex, SQLXML xmlObject) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateSQLXML(String columnLabel, SQLXML xmlObject) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public String getNString(int columnIndex) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public String getNString(String columnLabel) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public Reader getNCharacterStream(int columnIndex) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public Reader getNCharacterStream(String columnLabel) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateNCharacterStream(int columnIndex, Reader x, long length) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateNCharacterStream(String columnLabel, Reader reader, long length) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateAsciiStream(int columnIndex, InputStream x, long length) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateBinaryStream(int columnIndex, InputStream x, long length) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateCharacterStream(int columnIndex, Reader x, long length) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateAsciiStream(String columnLabel, InputStream x, long length) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateBinaryStream(String columnLabel, InputStream x, long length) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateCharacterStream(String columnLabel, Reader reader, long length) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateBlob(int columnIndex, InputStream inputStream, long length) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateBlob(String columnLabel, InputStream inputStream, long length) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateClob(int columnIndex, Reader reader, long length) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateClob(String columnLabel, Reader reader, long length) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateNClob(int columnIndex, Reader reader, long length) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateNClob(String columnLabel, Reader reader, long length) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateNCharacterStream(int columnIndex, Reader x) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateNCharacterStream(String columnLabel, Reader reader) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateAsciiStream(int columnIndex, InputStream x) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateBinaryStream(int columnIndex, InputStream x) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateCharacterStream(int columnIndex, Reader x) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateAsciiStream(String columnLabel, InputStream x) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateBinaryStream(String columnLabel, InputStream x) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateCharacterStream(String columnLabel, Reader reader) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateBlob(int columnIndex, InputStream inputStream) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateBlob(String columnLabel, InputStream inputStream) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateClob(int columnIndex, Reader reader) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateClob(String columnLabel, Reader reader) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateNClob(int columnIndex, Reader reader) throws SQLException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void updateNClob(String columnLabel, Reader reader) throws SQLException {
- throw new UnsupportedOperationException();
- }
-}
-
diff --git a/connector/src/main/java/io/covenantsql/connector/response/CovenantResultSet.java b/connector/src/main/java/io/covenantsql/connector/response/CovenantResultSet.java
deleted file mode 100644
index 939697d..0000000
--- a/connector/src/main/java/io/covenantsql/connector/response/CovenantResultSet.java
+++ /dev/null
@@ -1,559 +0,0 @@
-/*
- * Copyright 2018 The CovenantSQL Authors.
- *
- * 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.
- */
-
-package io.covenantsql.connector.response;
-
-import io.covenantsql.connector.CovenantStatement;
-import io.covenantsql.connector.response.beans.CovenantResponseBean;
-import io.covenantsql.connector.util.TypeUtils;
-import org.apache.commons.lang3.BooleanUtils;
-import org.apache.commons.lang3.time.DateUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.sql.*;
-import java.text.ParseException;
-import java.util.Arrays;
-import java.util.Calendar;
-import java.util.HashMap;
-import java.util.Map;
-
-public class CovenantResultSet extends CovenantMockResultSetUnused {
- public static final CovenantResultSet EMPTY;
- private static final Logger LOG = LoggerFactory.getLogger(CovenantResultSet.class);
- private static final String[] dateFormats = {
- "yyyy-MM-dd'T'HH:mm:ssXXX",
- "yyyy-MM-dd'T'HH:mm:ss",
- "yyyy-MM-dd HH:mm:ss",
- "MMMM/dd/yyyy HH:mm:ss",
- "MMMM dd, yyyy HH:mm:ss",
- "dd/MM/yyyy HH:mm:ss",
- "dd-MM-yyyy HH:mm:ss",
- "yyyy-MM-dd",
- "MMMM/dd/yyyy",
- "MMMM dd, yyyy",
- "dd/MM/yyyy",
- "dd-MM-yyyy",
- "HH:mm:ss",
- };
-
- static {
- EMPTY = new CovenantResultSet();
- }
-
- private final String db;
- private final String table;
-
- private final Map col = new HashMap<>();
- private final String[] types;
- private final String[] columns;
- private final CovenantResponseBean.DataBean dataBean;
-
- private int maxRows;
- private int lastReadColumn;
- private int rowNumber;
- private CovenantStatement statement;
- private Object[] values;
- private boolean closed = false;
-
- private CovenantResultSet() {
- this.db = "";
- this.table = "";
- this.types = new String[0];
- this.columns = new String[0];
- this.dataBean = null;
- this.closed = true;
- }
-
- public CovenantResultSet(CovenantResponseBean.DataBean bean, String db, String table,
- CovenantStatement statement) {
- this.db = db;
- this.table = table;
- this.statement = statement;
- this.dataBean = bean;
- this.types = bean.getTypes().toArray(new String[0]);
- this.columns = bean.getColumns().toArray(new String[0]);
-
- for (int i = 0; i < columns.length; i++) {
- col.put(columns[i], i + 1);
- }
- }
-
- @Override
- public int getRow() {
- return rowNumber + 1;
- }
-
- public String getDB() {
- return db;
- }
-
- public String getTable() {
- return table;
- }
-
- public void setMaxRows(int maxRows) {
- this.maxRows = maxRows;
- }
-
- private int asColumn(String column) {
- if (col.containsKey(column)) {
- return col.get(column);
- } else {
- throw new RuntimeException("no column " + column + " in columns list " + Arrays.toString(getColumnNames()));
- }
- }
-
- private void checkValues(String[] columns, Object[] values) throws SQLException {
- if (columns.length != values.length) {
- throw new SQLException("field count mismatched");
- }
- }
-
- @Override
- public boolean next() throws SQLException {
- if (closed) {
- return false;
- }
-
- if (rowNumber >= dataBean.getRows().size()) {
- return false;
- }
-
- if (maxRows != 0 && rowNumber >= maxRows) {
- // no more values
- return false;
- }
-
- values = dataBean.getRows().get(rowNumber).toArray();
- checkValues(columns, values);
- rowNumber += 1;
- return true;
- }
-
- @Override
- public void close() throws SQLException {
- closed = true;
- }
-
- @Override
- public boolean isClosed() throws SQLException {
- return closed;
- }
-
- @Override
- public CovenantStatement getStatement() {
- return statement;
- }
-
- @Override
- public int getType() throws SQLException {
- return ResultSet.TYPE_FORWARD_ONLY;
- }
-
- public String[] getColumnNames() {
- return columns;
- }
-
- public String[] getTypes() {
- return types;
- }
-
- public Map getCol() {
- return col;
- }
-
- @Override
- public ResultSetMetaData getMetaData() throws SQLException {
- return new CovenantResultSetMetaData(this);
- }
-
- @Override
- public boolean wasNull() throws SQLException {
- if (lastReadColumn == 0) throw new IllegalStateException("You should get something before check nullability");
-
- // test if current value is null
- return getValue(lastReadColumn) == null;
- }
-
- private Object[] getValues() {
- return values;
- }
-
- private Object getValue(int colNum) {
- lastReadColumn = colNum;
- return values[colNum - 1];
- }
-
- @Override
- public Object getObject(int columnIndex) throws SQLException {
- // with type detection
- Object val = getValue(columnIndex);
- int sqlType = TypeUtils.toSQLTypeWithDetection(types[columnIndex - 1], val);
-
- if (sqlType == Types.OTHER) {
- return val;
- }
-
- Class classType = TypeUtils.toClass(sqlType);
-
- switch (classType.getSimpleName()) {
- case "Boolean":
- return getBoolean(columnIndex);
- case "Integer":
- return getInt(columnIndex);
- case "Long":
- return getLong(columnIndex);
- case "Double":
- return getDouble(columnIndex);
- case "BigDecimal":
- return getBigDecimal(columnIndex);
- case "String":
- return getString(columnIndex);
- case "Float":
- return getFloat(columnIndex);
- case "Date":
- return getDate(columnIndex);
- case "Timestamp":
- return getTimestamp(columnIndex);
- case "Time":
- return getTime(columnIndex);
- }
-
- return val;
- }
-
- @Override
- public T getObject(int columnIndex, Class type) throws SQLException {
- // TODO: support auto type cast
- throw new UnsupportedOperationException();
- }
-
- @Override
- public String getString(int columnIndex) throws SQLException {
- Object val = getValue(columnIndex);
-
- if (val == null) {
- return null;
- }
-
- return val.toString();
- }
-
- @Override
- public boolean getBoolean(int columnIndex) throws SQLException {
- Object val = getValue(columnIndex);
-
- if (val == null) {
- return false;
- }
-
- if (val instanceof Boolean) {
- return (Boolean) val;
- } else if (val instanceof Number) {
- if (val instanceof BigInteger) {
- return ((BigInteger) val).signum() > 0;
- } else if (val instanceof BigDecimal) {
- return ((BigDecimal) val).signum() > 0;
- } else if (val instanceof Float || val instanceof Double) {
- return ((Number) val).doubleValue() > 0;
- } else {
- return ((Number) val).longValue() > 0;
- }
- } else {
- return BooleanUtils.toBoolean(val.toString());
- }
- }
-
- @Override
- public byte getByte(int columnIndex) throws SQLException {
- Object val = getValue(columnIndex);
-
- if (val == null) {
- return 0;
- }
-
- if (val instanceof Number) {
- return ((Number) val).byteValue();
- } else {
- return Byte.parseByte(val.toString());
- }
- }
-
- @Override
- public short getShort(int columnIndex) throws SQLException {
- Object val = getValue(columnIndex);
-
- if (val == null) {
- return 0;
- }
-
- if (val instanceof Number) {
- return ((Number) val).shortValue();
- } else {
- return Short.parseShort(val.toString());
- }
- }
-
- @Override
- public int getInt(int columnIndex) throws SQLException {
- Object val = getValue(columnIndex);
-
- if (val == null) {
- return 0;
- }
-
- if (val instanceof Number) {
- return ((Number) val).intValue();
- } else {
- return Integer.parseInt(val.toString());
- }
- }
-
- @Override
- public long getLong(int columnIndex) throws SQLException {
- Object val = getValue(columnIndex);
-
- if (val == null) {
- return 0;
- }
-
- if (val instanceof Number) {
- return ((Number) val).longValue();
- } else {
- return Long.parseLong(val.toString());
- }
- }
-
- @Override
- public float getFloat(int columnIndex) throws SQLException {
- Object val = getValue(columnIndex);
-
- if (val == null) {
- return 0;
- }
-
- if (val instanceof Number) {
- return ((Number) val).floatValue();
- } else {
- return Float.parseFloat(val.toString());
- }
- }
-
- @Override
- public double getDouble(int columnIndex) throws SQLException {
- Object val = getValue(columnIndex);
-
- if (val == null) {
- return 0;
- }
-
- if (val instanceof Number) {
- return ((Number) val).doubleValue();
- } else {
- return Double.parseDouble(val.toString());
- }
- }
-
- @Override
- public BigDecimal getBigDecimal(int columnIndex) throws SQLException {
- Object val = getValue(columnIndex);
-
- if (val == null) {
- return BigDecimal.ZERO;
- }
-
- if (val instanceof Number) {
- if (val instanceof BigDecimal) {
- return ((BigDecimal) val).add(BigDecimal.ZERO);
- } else if (val instanceof BigInteger) {
- return new BigDecimal((BigInteger) val);
- } else if (val instanceof Float || val instanceof Double) {
- return new BigDecimal(((Number) val).doubleValue());
- } else {
- return new BigDecimal(((Number) val).longValue());
- }
- } else {
- return new BigDecimal(val.toString());
- }
- }
-
- @Override
- @Deprecated
- public BigDecimal getBigDecimal(int columnIndex, int scale) throws SQLException {
- return getBigDecimal(columnIndex).setScale(scale, BigDecimal.ROUND_HALF_UP);
- }
-
- @Override
- public byte[] getBytes(int columnIndex) throws SQLException {
- // bytes are in string format when pushed from the server
- return getString(columnIndex).getBytes();
- }
-
- @Override
- public Date getDate(int columnIndex) throws SQLException {
- try {
- String dateString = getString(columnIndex);
- if (dateString == null) {
- return null;
- }
- return new Date(DateUtils.parseDate(dateString, dateFormats).getTime());
- } catch (ParseException e) {
- LOG.warn("parse field to date type failed", e);
- return null;
- }
- }
-
- @Override
- public Time getTime(int columnIndex) throws SQLException {
- try {
- String dateString = getString(columnIndex);
- if (dateString == null) {
- return null;
- }
- return new Time(DateUtils.parseDate(dateString, dateFormats).getTime());
- } catch (ParseException e) {
- LOG.warn("parse field to time type failed", e);
- return null;
- }
- }
-
- @Override
- public Timestamp getTimestamp(int columnIndex) throws SQLException {
- try {
- String dateString = getString(columnIndex);
- if (dateString == null) {
- return null;
- }
- return new Timestamp(DateUtils.parseDate(dateString, dateFormats).getTime());
- } catch (ParseException e) {
- LOG.warn("parse field to timestamp type failed", e);
- return null;
- }
- }
-
- @Override
- public T getObject(String columnLabel, Class type) throws SQLException {
- return getObject(asColumn(columnLabel), type);
- }
-
- @Override
- public String getString(String columnLabel) throws SQLException {
- return getString(asColumn(columnLabel));
- }
-
- @Override
- public boolean getBoolean(String columnLabel) throws SQLException {
- return getBoolean(asColumn(columnLabel));
- }
-
- @Override
- public byte getByte(String columnLabel) throws SQLException {
- return getByte(asColumn(columnLabel));
- }
-
- @Override
- public short getShort(String columnLabel) throws SQLException {
- return getShort(asColumn(columnLabel));
- }
-
- @Override
- public int getInt(String columnLabel) throws SQLException {
- return getInt(asColumn(columnLabel));
- }
-
- @Override
- public long getLong(String columnLabel) throws SQLException {
- return getLong(asColumn(columnLabel));
- }
-
- @Override
- public float getFloat(String columnLabel) throws SQLException {
- return getFloat(asColumn(columnLabel));
- }
-
- @Override
- public double getDouble(String columnLabel) throws SQLException {
- return getDouble(asColumn(columnLabel));
- }
-
- @Override
- @Deprecated
- public BigDecimal getBigDecimal(String columnLabel, int scale) throws SQLException {
- return getBigDecimal(asColumn(columnLabel), scale);
- }
-
- @Override
- public byte[] getBytes(String columnLabel) throws SQLException {
- return getBytes(asColumn(columnLabel));
- }
-
- @Override
- public Date getDate(String columnLabel) throws SQLException {
- return getDate(asColumn(columnLabel));
- }
-
- @Override
- public Date getDate(String columnLabel, Calendar cal) throws SQLException {
- return getDate(asColumn(columnLabel), cal);
- }
-
- @Override
- public Time getTime(String columnLabel) throws SQLException {
- return getTime(asColumn(columnLabel));
- }
-
- @Override
- public Time getTime(String columnLabel, Calendar cal) throws SQLException {
- return getTime(asColumn(columnLabel), cal);
- }
-
- @Override
- public Timestamp getTimestamp(String columnLabel) throws SQLException {
- return getTimestamp(asColumn(columnLabel));
- }
-
- @Override
- public Timestamp getTimestamp(String columnLabel, Calendar cal) throws SQLException {
- return getTimestamp(asColumn(columnLabel), cal);
- }
-
- @Override
- public BigDecimal getBigDecimal(String columnLabel) throws SQLException {
- return getBigDecimal(asColumn(columnLabel));
- }
-
- @Override
- public Object getObject(String columnLabel) throws SQLException {
- return getObject(asColumn(columnLabel));
- }
-
- @Override
- @SuppressWarnings("unchecked")
- public T unwrap(Class iface) throws SQLException {
- if (isWrapperFor(iface)) {
- return (T) this;
- }
- throw new SQLException("Unable to unwrap to " + iface.toString());
- }
-
- @Override
- public boolean isWrapperFor(Class> iface) throws SQLException {
- return iface != null && iface.isAssignableFrom(getClass());
- }
-}
diff --git a/connector/src/main/java/io/covenantsql/connector/response/CovenantResultSetMetaData.java b/connector/src/main/java/io/covenantsql/connector/response/CovenantResultSetMetaData.java
deleted file mode 100644
index 4f8a8db..0000000
--- a/connector/src/main/java/io/covenantsql/connector/response/CovenantResultSetMetaData.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * Copyright 2018 The CovenantSQL Authors.
- *
- * 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.
- */
-
-package io.covenantsql.connector.response;
-
-import io.covenantsql.connector.util.TypeUtils;
-
-import java.sql.SQLException;
-
-public class CovenantResultSetMetaData extends CovenantMockResultSetMetaDataUnused {
- private final CovenantResultSet resultSet;
-
- public CovenantResultSetMetaData(CovenantResultSet resultSet) {
- this.resultSet = resultSet;
- }
-
- @Override
- public int isNullable(int column) throws SQLException {
- return columnNoNulls;
- }
-
- @Override
- public boolean isCaseSensitive(int column) throws SQLException {
- return true;
- }
-
- @Override
- public boolean isSearchable(int column) throws SQLException {
- return true;
- }
-
- @Override
- public int getColumnDisplaySize(int column) throws SQLException {
- return 80;
- }
-
- @Override
- public String getSchemaName(int column) throws SQLException {
- return "";
- }
-
- @Override
- public boolean isReadOnly(int column) throws SQLException {
- return true;
- }
-
- @Override
- public int getColumnCount() throws SQLException {
- return resultSet.getColumnNames().length;
- }
-
- @Override
- public String getColumnLabel(int column) throws SQLException {
- return resultSet.getColumnNames()[column - 1];
- }
-
- @Override
- public String getColumnName(int column) throws SQLException {
- return resultSet.getColumnNames()[column - 1];
- }
-
- @Override
- public String getTableName(int column) throws SQLException {
- return resultSet.getTable();
- }
-
- @Override
- public String getCatalogName(int column) throws SQLException {
- return resultSet.getDB();
- }
-
- @Override
- public int getColumnType(int column) throws SQLException {
- return TypeUtils.toSQLType(getColumnTypeName(column));
- }
-
- @Override
- public String getColumnTypeName(int column) throws SQLException {
- return resultSet.getTypes()[column - 1];
- }
-
- @Override
- public String getColumnClassName(int column) throws SQLException {
- String columnTypeName = getColumnTypeName(column);
- int sqlType = TypeUtils.toSQLType(columnTypeName);
- return TypeUtils.toClass(sqlType).getName();
- }
-
- @Override
- @SuppressWarnings("unchecked")
- public T unwrap(Class iface) throws SQLException {
- if (isWrapperFor(iface)) {
- return (T) this;
- }
- throw new SQLException("Unable to unwrap to " + iface.toString());
- }
-
- @Override
- public boolean isWrapperFor(Class> iface) throws SQLException {
- return iface != null && iface.isAssignableFrom(getClass());
- }
-}
diff --git a/connector/src/main/java/io/covenantsql/connector/response/beans/CovenantRequestBean.java b/connector/src/main/java/io/covenantsql/connector/response/beans/CovenantRequestBean.java
deleted file mode 100644
index e7fc680..0000000
--- a/connector/src/main/java/io/covenantsql/connector/response/beans/CovenantRequestBean.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright 2018 The CovenantSQL Authors.
- *
- * 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.
- */
-
-package io.covenantsql.connector.response.beans;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-
-import java.util.List;
-
-public class CovenantRequestBean {
- @JsonProperty
- String database;
- @JsonProperty
- String query;
- @JsonProperty
- List args;
-
- public String getDatabase() {
- return database;
- }
-
- public void setDatabase(String database) {
- this.database = database;
- }
-
- public String getQuery() {
- return query;
- }
-
- public void setQuery(String query) {
- this.query = query;
- }
-
- public List getArgs() {
- return args;
- }
-
- public void setArgs(List args) {
- this.args = args;
- }
-}
diff --git a/connector/src/main/java/io/covenantsql/connector/response/beans/CovenantResponseBean.java b/connector/src/main/java/io/covenantsql/connector/response/beans/CovenantResponseBean.java
deleted file mode 100644
index 0fda023..0000000
--- a/connector/src/main/java/io/covenantsql/connector/response/beans/CovenantResponseBean.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Copyright 2018 The CovenantSQL Authors.
- *
- * 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.
- */
-
-package io.covenantsql.connector.response.beans;
-
-import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
-import com.fasterxml.jackson.annotation.JsonProperty;
-
-import java.util.List;
-
-public class CovenantResponseBean {
- @JsonProperty(required = true)
- String status;
- @JsonProperty(required = true)
- boolean success;
- @JsonProperty
- DataBean data;
-
- public String getStatus() {
- return status;
- }
-
- public void setStatus(String status) {
- this.status = status;
- }
-
- public boolean isSuccess() {
- return success;
- }
-
- public void setSuccess(boolean success) {
- this.success = success;
- }
-
- public DataBean getData() {
- return data;
- }
-
- public void setData(DataBean data) {
- this.data = data;
- }
-
- @JsonIgnoreProperties(ignoreUnknown = true)
- public static final class DataBean {
- @JsonProperty
- List types;
- @JsonProperty
- List columns;
- @JsonProperty
- List> rows;
- @JsonProperty(value = "affected_rows")
- int affectedRows;
- @JsonProperty(value = "last_insert_id")
- int lastInsertId;
-
- public List getTypes() {
- return types;
- }
-
- public void setTypes(List types) {
- this.types = types;
- }
-
- public List getColumns() {
- return columns;
- }
-
- public void setColumns(List columns) {
- this.columns = columns;
- }
-
- public List> getRows() {
- return rows;
- }
-
- public void setRows(List> rows) {
- this.rows = rows;
- }
-
- public int getAffectedRows() {
- return affectedRows;
- }
-
- public void setAffectedRows(int affectedRows) {
- this.affectedRows = affectedRows;
- }
-
- public int getLastInsertId() {
- return lastInsertId;
- }
-
- public void setLastInsertId(int lastInsertId) {
- this.lastInsertId = lastInsertId;
- }
- }
-}
diff --git a/connector/src/main/java/io/covenantsql/connector/settings/CovenantConnectionSettings.java b/connector/src/main/java/io/covenantsql/connector/settings/CovenantConnectionSettings.java
deleted file mode 100644
index 5ae5915..0000000
--- a/connector/src/main/java/io/covenantsql/connector/settings/CovenantConnectionSettings.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Copyright 2018 The CovenantSQL Authors.
- *
- * 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.
- */
-
-package io.covenantsql.connector.settings;
-
-import java.sql.DriverPropertyInfo;
-import java.util.Properties;
-
-public enum CovenantConnectionSettings {
- CONNECTION_TIMEOUT("connection_timeout", 10 * 1000, "connection timeout in milliseoncds"),
- OPERATION_TIMEOUT("operation_timeout", 60 * 1000, "operation timeout in milliseconds"),
- SSL("ssl", false, "enable SSL/TLS for the connection"),
- SSL_MODE("sslmode", "strict", "verify certificate or not: none (don't verify), strict (verify)"),
- KEY_PATH("key_path", "", "client key use for requests in ssl mode"),
- CERT_PATH("cert_path", "", "client certificate use for requests in ssl mode"),
- DATABASE("database", "", "database use to query");
-
-
- private final String key;
- private final Object defaultValue;
- private final String description;
- private final Class clazz;
-
- CovenantConnectionSettings(String key, Object defaultValue, String description) {
- this.key = key;
- this.defaultValue = defaultValue;
- this.clazz = defaultValue.getClass();
- this.description = description;
- }
-
- public String getKey() {
- return key;
- }
-
- public Object getDefaultValue() {
- return defaultValue;
- }
-
- public String getDescription() {
- return description;
- }
-
- public Class getClazz() {
- return clazz;
- }
-
- public DriverPropertyInfo createDriverPropertyInfo(Properties properties) {
- DriverPropertyInfo propertyInfo = new DriverPropertyInfo(key, driverPropertyValue(properties));
- propertyInfo.required = false;
- propertyInfo.description = description;
- propertyInfo.choices = driverPropertyInfoChoices();
- return propertyInfo;
- }
-
- private String[] driverPropertyInfoChoices() {
- return clazz == Boolean.class || clazz == Boolean.TYPE ? new String[]{"true", "false"} : null;
- }
-
- private String driverPropertyValue(Properties properties) {
- String value = properties.getProperty(key);
- if (value == null) {
- value = defaultValue == null ? null : defaultValue.toString();
- }
- return value;
- }
-}
diff --git a/connector/src/main/java/io/covenantsql/connector/settings/CovenantProperties.java b/connector/src/main/java/io/covenantsql/connector/settings/CovenantProperties.java
deleted file mode 100644
index 2233990..0000000
--- a/connector/src/main/java/io/covenantsql/connector/settings/CovenantProperties.java
+++ /dev/null
@@ -1,211 +0,0 @@
-/*
- * Copyright 2018 The CovenantSQL Authors.
- *
- * 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.
- */
-
-package io.covenantsql.connector.settings;
-
-import java.util.Properties;
-
-public class CovenantProperties {
-
- // connection settings
- private String host;
- private int port;
-
- private int connectionTimeout;
- private int operationTimeout;
- private String keyPath;
- private String certPath;
- private boolean ssl;
- private String sslMode;
- private String database;
-
- public CovenantProperties() {
- this(new Properties());
- }
-
- public CovenantProperties(Properties info) {
- this.connectionTimeout = getSetting(info, CovenantConnectionSettings.CONNECTION_TIMEOUT);
- this.operationTimeout = getSetting(info, CovenantConnectionSettings.OPERATION_TIMEOUT);
- this.keyPath = getSetting(info, CovenantConnectionSettings.KEY_PATH);
- this.certPath = getSetting(info, CovenantConnectionSettings.CERT_PATH);
- this.ssl = getSetting(info, CovenantConnectionSettings.SSL);
- this.sslMode = getSetting(info, CovenantConnectionSettings.SSL_MODE);
- this.database = getSetting(info, CovenantConnectionSettings.DATABASE);
- }
-
- public CovenantProperties(CovenantProperties properties) {
- setHost(properties.host);
- setPort(properties.port);
- setConnectionTimeout(properties.connectionTimeout);
- setOperationTimeout(properties.operationTimeout);
- setKeyPath(properties.keyPath);
- setCertPath(properties.certPath);
- setSsl(properties.ssl);
- setSslMode(properties.sslMode);
- setDatabase(properties.database);
- }
-
- public Properties asProperties() {
- PropertiesBuilder ret = new PropertiesBuilder();
- ret.put(CovenantConnectionSettings.CONNECTION_TIMEOUT.getKey(), String.valueOf(connectionTimeout));
- ret.put(CovenantConnectionSettings.OPERATION_TIMEOUT.getKey(), String.valueOf(operationTimeout));
- ret.put(CovenantConnectionSettings.KEY_PATH.getKey(), String.valueOf(keyPath));
- ret.put(CovenantConnectionSettings.CERT_PATH.getKey(), String.valueOf(certPath));
- ret.put(CovenantConnectionSettings.SSL.getKey(), String.valueOf(ssl));
- ret.put(CovenantConnectionSettings.SSL_MODE.getKey(), String.valueOf(sslMode));
- ret.put(CovenantConnectionSettings.DATABASE.getKey(), String.valueOf(database));
-
- return ret.getProperties();
- }
-
- private T getSetting(Properties info, CovenantConnectionSettings settings) {
- return getSetting(info, settings.getKey(), settings.getDefaultValue(), settings.getClazz());
- }
-
- @SuppressWarnings("unchecked")
- private T getSetting(Properties info, String key, Object defaultValue, Class clazz) {
- String val = info.getProperty(key);
- if (val == null) {
- return (T) defaultValue;
- }
- if (clazz == int.class || clazz == Integer.class) {
- return (T) clazz.cast(Integer.valueOf(val));
- }
- if (clazz == long.class || clazz == Long.class) {
- return (T) clazz.cast(Long.valueOf(val));
- }
- if (clazz == boolean.class || clazz == Boolean.class) {
- final Boolean boolValue;
- if ("1".equals(val) || "0".equals(val)) {
- boolValue = "1".equals(val);
- } else {
- boolValue = Boolean.valueOf(val);
- }
- return (T) clazz.cast(boolValue);
- }
- return (T) clazz.cast(val);
- }
-
- public int getConnectionTimeout() {
- return connectionTimeout;
- }
-
- public void setConnectionTimeout(int connectionTimeout) {
- this.connectionTimeout = connectionTimeout;
- }
-
- public int getOperationTimeout() {
- return operationTimeout;
- }
-
- public void setOperationTimeout(int operationTimeout) {
- this.operationTimeout = operationTimeout;
- }
-
- public String getKeyPath() {
- return keyPath;
- }
-
- public void setKeyPath(String keyPath) {
- this.keyPath = keyPath;
- }
-
- public String getCertPath() {
- return certPath;
- }
-
- public void setCertPath(String certPath) {
- this.certPath = certPath;
- }
-
- public boolean isSsl() {
- return ssl;
- }
-
- public void setSsl(boolean ssl) {
- this.ssl = ssl;
- }
-
- public String getSslMode() {
- return sslMode;
- }
-
- public void setSslMode(String sslMode) {
- this.sslMode = sslMode;
- }
-
- public String getHost() {
- return host;
- }
-
- public void setHost(String host) {
- this.host = host;
- }
-
- public int getPort() {
- return port;
- }
-
- public void setPort(int port) {
- this.port = port;
- }
-
- public String getDatabase() {
- return database;
- }
-
- public void setDatabase(String database) {
- this.database = database;
- }
-
- private static class PropertiesBuilder {
- private final Properties properties;
-
- public PropertiesBuilder() {
- properties = new Properties();
- }
-
- public void put(String key, int value) {
- properties.put(key, value);
- }
-
- public void put(String key, Integer value) {
- if (value != null) {
- properties.put(key, value.toString());
- }
- }
-
- public void put(String key, Long value) {
- if (value != null) {
- properties.put(key, value.toString());
- }
- }
-
- public void put(String key, boolean value) {
- properties.put(key, String.valueOf(value));
- }
-
- public void put(String key, String value) {
- if (value != null) {
- properties.put(key, value);
- }
- }
-
- public Properties getProperties() {
- return properties;
- }
- }
-}
diff --git a/connector/src/main/java/io/covenantsql/connector/util/CovenantHTTPClientBuilder.java b/connector/src/main/java/io/covenantsql/connector/util/CovenantHTTPClientBuilder.java
deleted file mode 100644
index 7b37c12..0000000
--- a/connector/src/main/java/io/covenantsql/connector/util/CovenantHTTPClientBuilder.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * Copyright 2018 The CovenantSQL Authors.
- *
- * 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.
- */
-
-package io.covenantsql.connector.util;
-
-import io.covenantsql.connector.settings.CovenantProperties;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.http.client.config.RequestConfig;
-import org.apache.http.config.ConnectionConfig;
-import org.apache.http.config.RegistryBuilder;
-import org.apache.http.conn.socket.ConnectionSocketFactory;
-import org.apache.http.conn.socket.PlainConnectionSocketFactory;
-import org.apache.http.conn.ssl.NoopHostnameVerifier;
-import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
-import org.apache.http.conn.ssl.TrustAllStrategy;
-import org.apache.http.impl.client.CloseableHttpClient;
-import org.apache.http.impl.client.HttpClientBuilder;
-import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
-import org.apache.http.ssl.SSLContextBuilder;
-import org.apache.http.ssl.SSLContexts;
-import org.bouncycastle.openssl.PEMKeyPair;
-import org.bouncycastle.openssl.PEMParser;
-import org.bouncycastle.openssl.jcajce.JcaPEMKeyConverter;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import javax.net.ssl.SSLContext;
-import java.io.*;
-import java.security.*;
-import java.security.cert.Certificate;
-import java.security.cert.CertificateException;
-import java.security.cert.CertificateFactory;
-
-public class CovenantHTTPClientBuilder {
- private static final Logger LOG = LoggerFactory.getLogger(CovenantHTTPClientBuilder.class);
- private static CovenantProperties properties;
-
- public CovenantHTTPClientBuilder(CovenantProperties properties) {
- this.properties = properties;
- }
-
- public CloseableHttpClient buildClient() throws Exception {
- return HttpClientBuilder.create()
- .setConnectionManager(getConnectionManager())
- .setDefaultConnectionConfig(getConnectionConfig())
- .setDefaultRequestConfig(getRequestConfig())
- .disableContentCompression()
- .build();
- }
-
- private PoolingHttpClientConnectionManager getConnectionManager()
- throws CertificateException, NoSuchAlgorithmException, KeyStoreException, KeyManagementException, IOException, UnrecoverableKeyException {
- RegistryBuilder registry = RegistryBuilder.create()
- .register("http", PlainConnectionSocketFactory.getSocketFactory());
-
- if (properties.isSsl()) {
- registry.register("https", new SSLConnectionSocketFactory(getSSLContext(), new NoopHostnameVerifier()));
- }
-
- PoolingHttpClientConnectionManager connectionManager = new PoolingHttpClientConnectionManager(registry.build());
- return connectionManager;
- }
-
- private ConnectionConfig getConnectionConfig() {
- return ConnectionConfig.custom().build();
- }
-
- private RequestConfig getRequestConfig() {
- return RequestConfig.custom()
- .setConnectTimeout(properties.getConnectionTimeout())
- .build();
- }
-
- private SSLContext getSSLContext()
- throws CertificateException, NoSuchAlgorithmException, KeyStoreException, IOException, KeyManagementException, UnrecoverableKeyException {
- SSLContextBuilder ctxBuilder = SSLContexts.custom();
-
- if (!properties.getKeyPath().isEmpty() && !properties.getCertPath().isEmpty()) {
- ctxBuilder.loadKeyMaterial(getKeyStore(), "".toCharArray());
- }
-
- if (StringUtils.equalsIgnoreCase(properties.getSslMode(), "none")) {
- ctxBuilder.loadTrustMaterial(new TrustAllStrategy());
- }
-
- return ctxBuilder.build();
- }
-
- private KeyStore getKeyStore()
- throws NoSuchAlgorithmException, IOException, CertificateException, KeyStoreException {
- KeyStore ks = KeyStore.getInstance("JKS");
- ks.load(null, null);
-
- // load private key
- InputStream keyStream = getFileStream(properties.getKeyPath());
- PEMParser keyParser = new PEMParser(new InputStreamReader(keyStream));
- JcaPEMKeyConverter keyConverter = new JcaPEMKeyConverter();
- PrivateKey key = keyConverter.getKeyPair((PEMKeyPair) keyParser.readObject()).getPrivate();
-
- // load certificate
- InputStream certStream = getFileStream(properties.getCertPath());
- CertificateFactory certFactory = CertificateFactory.getInstance("X.509");
- Certificate cert = certFactory.generateCertificate(certStream);
-
- // set to keystore
- ks.setKeyEntry("client", key, "".toCharArray(), new Certificate[]{cert});
-
- return ks;
- }
-
- private InputStream getFileStream(String fileName) throws IOException {
- InputStream stream = null;
-
- try {
- stream = new FileInputStream(fileName);
- } catch (FileNotFoundException fe) {
- // try get file from resources
- stream = getClass().getResourceAsStream("/" + fileName);
- }
-
- if (stream == null) {
- throw new IOException("load key/cert file " + fileName + " failed");
- }
-
- return stream;
- }
-}
diff --git a/connector/src/main/java/io/covenantsql/connector/util/EndToEndEncryption.java b/connector/src/main/java/io/covenantsql/connector/util/EndToEndEncryption.java
deleted file mode 100644
index e9f977a..0000000
--- a/connector/src/main/java/io/covenantsql/connector/util/EndToEndEncryption.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * Copyright 2019 The CovenantSQL Authors.
- *
- * 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.
- */
-
-package io.covenantsql.connector.util;
-
-import java.security.*;
-
-import javax.crypto.BadPaddingException;
-import javax.crypto.Cipher;
-import javax.crypto.spec.IvParameterSpec;
-import javax.crypto.spec.SecretKeySpec;
-
-
-public class EndToEndEncryption {
- private static final SecureRandom random = new SecureRandom();
- private static final byte[] salt = new byte[]{
- (byte) 0x3f, (byte) 0xb8, (byte) 0x87, (byte) 0x7d, (byte) 0x37, (byte) 0xfd, (byte) 0xc0, (byte) 0x4e,
- (byte) 0x4a, (byte) 0x47, (byte) 0x65, (byte) 0xEF, (byte) 0xb8, (byte) 0xab, (byte) 0x7d, (byte) 0x36
- };
-
- private static byte[] generateIV() {
- byte[] ivBytes = new byte[16];
- random.nextBytes(ivBytes);
- return ivBytes;
- }
-
- private static byte[] kdf(byte[] rawPass) {
- MessageDigest sha = null;
- MessageDigest final_sha = null;
- byte[] key = new byte[16];
- try {
- sha = MessageDigest.getInstance("SHA-256");
- final_sha = MessageDigest.getInstance("SHA-256");
- sha.update(rawPass);
- sha.update(salt);
- final_sha.update(sha.digest());
- System.arraycopy(final_sha.digest(), 0, key, 0, 16);
- } catch (NoSuchAlgorithmException e) {
- e.printStackTrace();
- }
- return key;
- }
-
- public static byte[] Encrypt(final byte[] raw,
- final byte[] key) {
- try {
- final Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
- final int blockSize = cipher.getBlockSize();
-
- // create the key
- final SecretKeySpec symKey = new SecretKeySpec(kdf(key), "AES");
-
- // generate random IV using block size (possibly create a method for
- // this)
- final byte[] ivData = new byte[blockSize];
- final SecureRandom rnd = SecureRandom.getInstance("SHA1PRNG");
- rnd.nextBytes(ivData);
- final IvParameterSpec iv = new IvParameterSpec(ivData);
-
- cipher.init(Cipher.ENCRYPT_MODE, symKey, iv);
-
- final byte[] encryptedMessage = cipher.doFinal(raw);
-
- // concatenate IV and encrypted message
- final byte[] ivAndEncryptedMessage = new byte[ivData.length
- + encryptedMessage.length];
- System.arraycopy(ivData, 0, ivAndEncryptedMessage, 0, blockSize);
- System.arraycopy(encryptedMessage, 0, ivAndEncryptedMessage,
- blockSize, encryptedMessage.length);
-
- return ivAndEncryptedMessage;
- } catch (InvalidKeyException e) {
- throw new IllegalArgumentException(
- "key argument does not contain a valid AES key");
- } catch (GeneralSecurityException e) {
- throw new IllegalStateException(
- "Unexpected exception during encryption", e);
- }
- }
-
- public static byte[] Decrypt(final byte[] enc,
- final byte[] key) {
-
- try {
- final Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
- final int blockSize = cipher.getBlockSize();
-
- // create the key
- final SecretKeySpec symKey = new SecretKeySpec(kdf(key), "AES");
-
- // retrieve random IV from start of the received message
- final byte[] ivData = new byte[blockSize];
- System.arraycopy(enc, 0, ivData, 0, blockSize);
- final IvParameterSpec iv = new IvParameterSpec(ivData);
-
- // retrieve the encrypted message itself
- final byte[] encryptedMessage = new byte[enc.length
- - blockSize];
- System.arraycopy(enc, blockSize,
- encryptedMessage, 0, encryptedMessage.length);
-
- cipher.init(Cipher.DECRYPT_MODE, symKey, iv);
-
- return cipher.doFinal(encryptedMessage);
- } catch (InvalidKeyException e) {
- throw new IllegalArgumentException(
- "key argument does not contain a valid AES key");
- } catch (BadPaddingException e) {
- // you'd better know about padding oracle attacks
- return null;
- } catch (GeneralSecurityException e) {
- throw new IllegalStateException(
- "Unexpected exception during decryption", e);
- }
- }
-}
\ No newline at end of file
diff --git a/connector/src/main/java/io/covenantsql/connector/util/LogProxy.java b/connector/src/main/java/io/covenantsql/connector/util/LogProxy.java
deleted file mode 100644
index d98373e..0000000
--- a/connector/src/main/java/io/covenantsql/connector/util/LogProxy.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Copyright 2018 The CovenantSQL Authors.
- *
- * 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.
- */
-
-package io.covenantsql.connector.util;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.lang.reflect.Proxy;
-import java.util.Arrays;
-
-public class LogProxy implements InvocationHandler {
- private static final Logger log = LoggerFactory.getLogger(LogProxy.class);
-
- private final T object;
- private final Class clazz;
-
- private LogProxy(Class interfaceClass, T object) {
- if (!interfaceClass.isInterface()) {
- throw new IllegalStateException("Class " + interfaceClass.getName() + " is not an interface");
- }
- clazz = interfaceClass;
- this.object = object;
- }
-
- public static T wrap(Class interfaceClass, T object) {
- if (log.isTraceEnabled()) {
- LogProxy proxy = new LogProxy(interfaceClass, object);
- return proxy.getProxy();
- }
- return object;
- }
-
- @SuppressWarnings("unchecked")
- public T getProxy() {
- //xnoinspection x
- // unchecked
- return (T) Proxy.newProxyInstance(clazz.getClassLoader(), new Class>[]{clazz}, this);
- }
-
- @Override
- public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
- String msg =
- "Call class: " + object.getClass().getName() +
- "\nMethod: " + method.getName() +
- "\nObject: " + object +
- "\nArgs: " + Arrays.toString(args) +
- "\nInvoke result: ";
- try {
- final Object invokeResult = method.invoke(object, args);
- msg += invokeResult;
- return invokeResult;
- } catch (InvocationTargetException e) {
- msg += e.getMessage();
- throw e.getTargetException();
- } finally {
- msg = "==== CovenantSQL JDBC trace begin ====\n" + msg + "\n==== CovenantSQL JDBC trace end ====";
- log.trace(msg);
- }
- }
-}
diff --git a/connector/src/main/java/io/covenantsql/connector/util/TypeUtils.java b/connector/src/main/java/io/covenantsql/connector/util/TypeUtils.java
deleted file mode 100644
index 1d49337..0000000
--- a/connector/src/main/java/io/covenantsql/connector/util/TypeUtils.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * Copyright 2018 The CovenantSQL Authors.
- *
- * 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.
- */
-
-package io.covenantsql.connector.util;
-
-import org.apache.commons.lang3.StringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.sql.SQLException;
-import java.sql.Time;
-import java.sql.Timestamp;
-import java.sql.Types;
-
-public class TypeUtils {
- private static final Logger LOG = LoggerFactory.getLogger(TypeUtils.class);
-
- public static int toSQLType(String type) {
- type = type.toUpperCase();
-
- if (StringUtils.contains(type, "INT")) {
- // integer type
- return Types.BIGINT;
- } else if (StringUtils.containsAny(type, "CHAR", "CLOB", "TEXT")) {
- return Types.VARCHAR;
- } else if (StringUtils.contains(type, "BLOB") || StringUtils.isEmpty(type)) {
- return Types.BLOB;
- } else if (StringUtils.containsAny(type, "REAL", "FLOA", "DOUB")) {
- return Types.DOUBLE;
- } else if (StringUtils.contains(type, "BOOLEAN")) {
- return Types.BOOLEAN;
- } else if (StringUtils.containsAny(type, "TIMESTAMP", "DATETIME")) {
- return Types.TIMESTAMP;
- } else if (StringUtils.contains(type, "TIME")) {
- return Types.TIME;
- } else if (StringUtils.contains(type, "DATE")) {
- return Types.DATE;
- } else if (StringUtils.contains(type, "DECIMAL")) {
- return Types.DECIMAL;
- } else {
- return Types.OTHER;
- }
- }
-
- public static int toSQLTypeWithDetection(String type, Object value) {
- int typeResult = toSQLType(type);
-
- if (typeResult != Types.OTHER) {
- return typeResult;
- }
-
- // detect variable type by object
- if (value instanceof String) {
- // maybe blob
- return Types.BLOB;
- } else if (value instanceof Number) {
- if (value instanceof Integer) {
- return Types.INTEGER;
- } else if (value instanceof Long) {
- return Types.BIGINT;
- } else if (value instanceof Float) {
- return Types.FLOAT;
- } else if (value instanceof Double) {
- return Types.DOUBLE;
- } else if (value instanceof BigInteger) {
- return Types.VARCHAR;
- } else if (value instanceof BigDecimal) {
- return Types.DECIMAL;
- }
-
- return Types.NUMERIC;
- } else {
- return Types.OTHER;
- }
- }
-
- public static Class toClass(int sqlType) throws SQLException {
- switch (sqlType) {
- case Types.BIT:
- case Types.BOOLEAN:
- return Boolean.class;
- case Types.TINYINT:
- case Types.SMALLINT:
- case Types.INTEGER:
- return Integer.class;
- case Types.BIGINT:
- return Long.class;
- case Types.DOUBLE:
- return Double.class;
- case Types.NUMERIC:
- case Types.DECIMAL:
- return BigDecimal.class;
- case Types.CHAR:
- case Types.VARCHAR:
- case Types.LONGVARCHAR:
- case Types.BLOB:
- case Types.OTHER:
- return String.class;
- case Types.FLOAT:
- case Types.REAL:
- return Float.class;
- case Types.DATE:
- return java.sql.Date.class;
- case Types.TIMESTAMP:
- return Timestamp.class;
- case Types.TIME:
- return Time.class;
- default:
- throw new UnsupportedOperationException("Sql type " + sqlType + "is not supported");
- }
- }
-}
diff --git a/connector/src/main/java/io/covenantsql/connector/util/ssl/NonValidatingTrustManager.java b/connector/src/main/java/io/covenantsql/connector/util/ssl/NonValidatingTrustManager.java
deleted file mode 100644
index 3a736fd..0000000
--- a/connector/src/main/java/io/covenantsql/connector/util/ssl/NonValidatingTrustManager.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright 2018 The CovenantSQL Authors.
- *
- * 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.
- */
-
-package io.covenantsql.connector.util.ssl;
-
-import javax.net.ssl.X509TrustManager;
-import java.security.cert.CertificateException;
-import java.security.cert.X509Certificate;
-
-public class NonValidatingTrustManager implements X509TrustManager {
- @Override
- public void checkClientTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException {
- }
-
- @Override
- public void checkServerTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException {
- }
-
- @Override
- public X509Certificate[] getAcceptedIssuers() {
- return new X509Certificate[0];
- }
-}
diff --git a/connector/src/main/resources/META-INF/services/java.sql.Driver b/connector/src/main/resources/META-INF/services/java.sql.Driver
deleted file mode 100644
index 0f72f31..0000000
--- a/connector/src/main/resources/META-INF/services/java.sql.Driver
+++ /dev/null
@@ -1 +0,0 @@
-io.covenantsql.connector.CovenantDriver
\ No newline at end of file
diff --git a/connector/src/main/resources/write.test.covenantsql.io-key.pem b/connector/src/main/resources/write.test.covenantsql.io-key.pem
deleted file mode 100644
index 1b0d203..0000000
--- a/connector/src/main/resources/write.test.covenantsql.io-key.pem
+++ /dev/null
@@ -1,51 +0,0 @@
------BEGIN RSA PRIVATE KEY-----
-MIIJJwIBAAKCAgEArwFtfbMdNu7m332+1KH/6hY7/zv+YhPu3NJ7WZC2wJlyc9nI
-BzuD7SV8lcwv75w2n4aclr/KWFXYBPeqtfn4ebV/pvIZtyd+P4MGKbT3FuHdxPhI
-7uTcw7LENXUKtmqO01OO1mx4+cbn14Hd8f1NUoxs5vEnohBoV7etI84fLAxglNAd
-dtGTeN+jlSN+ipFKI74aPeEqnnJeJ3j35ZgvYb79hYEHXPngKOCsAa01cDrpxzuD
-L+ukveP5SLee1lCYHpUKEMt+0SMBalVW6XltBnmMrLL5tjfA4RyAmgRxle8q+O2w
-DxivStX1kInUL22kj6AjSrBpOPy12rwQiPa6pJt0pjk7+S71p69NJeoYyYz2+l6g
-uWXqJ8b/jlwT4+CBOlOuDuvCvU1almQADKcv1eN9g0X2d8F+9CHgUdHaVkpGJ9ue
-Ogrw5HWipnjt2B/YFRErh3125CDnGap+SCEoPCJFTxVG0GahzmWC1sQr6EsHdMDB
-k6YTINY+4iNvoxlTUhAMWiYeLNY4PZaqL9q3tcjuHMxMcykAYpMiEQe0mGsWiRjz
-DfnDtGcyeagqHkcjBE/w1qwGjLQBJFmjYmwpk5cDtS0OhhEIOastqKoacc+L4rnq
-ALEM94uuPS8VMfu+d9rspfBMy/a/PjMrOO5pYLD0yIIYVHDJxyHT0p0QVZkCAwEA
-AQKCAgBzaAueQwnW+gCCDVhUvGgZJIR4MkX0w5RXRu5VCBucMxTI1SsVqee78WaR
-Gk/aQTe8R3bn6p4zVpjX3cNTsf5rtIbzvt+6am7Uz0C3LEFtc5FdnSXrdD0pSLAf
-WImx9d8t+QJO4MV+Ye7trRSByjq9XyFJwmoSc6N7hQLGg90GnTrrp7pmappHsaMc
-bIW8N0ee/nQrrlr+lgkFGr7PR2annN1utsH2TEnIazDDAkglNJSJ7/L5HPpMxxPT
-IlO6nPdT45D5tlhw7ha22oQv/wUoqetcz8Hgqi+lw7gC2T9WUpwSAByEOBEQ1rvT
-jzC//hvxIvdi/6bED9KU5kQ5Lgux/fWUvg/l6u7EebM6TeG/Er5Tq1D6j2+IjfkR
-bPHLEk2Cv2oE7W1PhP+yinJnoxwHeic+nu7wsuevzvPhNZ7lLaWgHFvc1YVTmLDq
-E/DGm5Qj6mh8SP2NcxW79m6fjdbgjw0OuPxdEo2sj74cxcifTy54GuSoZqGnw18g
-28qXpDLkWgHQFrm6LvLqnaY3uvNMYLBWd4kqH0Y9XKI1N3j82ensAwH5e6Ol8Stw
-I7GWT/1GggOEPbIwYtVBfbwghfktPttmHU4vs8IQnufqExgEjDhWspjJVZEuoO8V
-8weDCQADS8/266GqRN9CUtNWMmbM0jAHgL7Bq9AFwgYSrP/BiQKCAQEA3GNqpUw8
-Ix3yYxvEXbceOguwqjzOW1vGBhJ4k6ptPG9kPI0GqMY6sw/RgRlCpfCq7Ig/Renj
-6LPbSyjkylfavlLNODi/iGbnd6cLKtsvaeexWP1wYU4T367rF8ifqKl/C+l4XqBN
-4j4KooyPF889PrgXJ73517jWwhxnncgDabJ2zTetjkvFbf3bAua5F7rufHi39Zng
-Rt0gEmFg99XJjrtbS7iND5fhZpGK14hhkdwHptu6XS+yGIiVwbCwS0odtZDID3vk
-s9CEUzhjnK8ld04RJ4vSMlxfzlub3e88Lvii79mmZgdH4aP0cPhmFJ3i0mefUVpw
-cSmQSVMsxHkh6wKCAQEAy0i1KjX3k7LwWgsvwtRjnJMuEWJ/SoRiE4+Cho9BSCVg
-onG4NyBOUgfQI9pBKf2CPWVDBA5VQrDN81ozmTPTgb7isDcFDSiowqyVSyRCorUB
-AfjbpD7z6QMdBt15xHR3CXWwpio5NwBQqQ+I2AJ1koBYUVj5TupDOZzwVY8/BbqD
-fmhtqLd4c2q5Go2ESK+EVAA1jvFmZUTjr9jC9a/8s/cn5Xqv7/s4BCmmfqQSKZS2
-LPBA2Th1zsUrSW3Os9v+c6LUU92LVEZKKKZyRykTemQRH/oljGG9Dn/hUDcvaI2z
-A2+T15rQd9p6ePySD8BuZzxwFvAJQPOYaqivrzsBiwKCAQAmd5fSuEa63mxDTkJt
-FRxKh2XToP9nxNIAl1LCe3nLlanKQ9dIuCjgvj8UKIOQkTxUQsfAfT2RjWsWaFHe
-24zLsYouaQFNXqDCKr7xQQa6ln1HCh2Gbmlbnp1cLmFnwAXz31FqOtK9TZTvoFcN
-kdefzeQExM0KETIy+WBAkvu9hC/mS/SYJLOWKjwC+qCN+svLoAqD7NLPq6MAckzJ
-lWAz8JHT2qeMdDccfwTb7+sP2XbgcfPKdhvA2n5BK4Tp70rWOSoiQb6+gAPIvsvs
-Oknw1Ah8fZQ3xBXY3/aJu0sm67EM6lF394ddZA+zdDflG1XO4dVWDtIXfmi307O5
-q2b3AoIBAFkTMfceEK8SkIkUL8hyYnegcmZBv786RPOHRc2KhjOD1VU4+VyGdmsx
-az3ajAVHRUN71KK5WRjQ+l2w37043WwT5acLZNZAQ7qR/xUe/WfoYlmn3y6YOy6W
-I6j3cTzpP6PQgyg8hjeYlr+NxAvLABPC03BJyWyP8AcVwqXrD9WFxcqlHa/5PPlu
-AVAmRJnI9vYL5WwOUSz8w7wxAjS/+b4uBbhjSyaf8Qq56W/CmwbHWBBW8kN8nvqM
-oQwa5qEfO98VsW5SPJQf/KzVSmvuDs/peyuE4+EgjsQEuwj4NXjd5lwSDzlBaCms
-fU/4dFQcoQPxkrgqVBO26cmKwvjIpUMCggEAIb85XP+bwnSOTjFbn61k8PdgyPBq
-kBDkiofKiBuR2UzuYhVqxkBqWHtDUhqq1y7A0S/ya75bSv67q4ZlHWEjCEiA8thv
-KZwn/8yRVFFKEgtB0afub62Zgc+pPXAr2JwwtZK5dg91QxPaKF20YEz6tOcZdjut
-gcQ8Bt4dpRvoz2vOJQnqMIhQM9+HiE7XXV7fgUwT55nC+4wRhILd3xOZKYzDzgMJ
-ShMUAb7QkLRujyQwcYPxjWiqRFGSodMoNE2OdofLmfwD1vQfZ/gAorLBH3BVyXAz
-53zHfE7+kLgobJBYf7T7Jk246soVYOLSZbeVjAT0ajMKD4ay2jNdnSlxKA==
------END RSA PRIVATE KEY-----
diff --git a/connector/src/main/resources/write.test.covenantsql.io.pem b/connector/src/main/resources/write.test.covenantsql.io.pem
deleted file mode 100644
index ccebf10..0000000
--- a/connector/src/main/resources/write.test.covenantsql.io.pem
+++ /dev/null
@@ -1,33 +0,0 @@
------BEGIN CERTIFICATE-----
-MIIFyDCCA7ACCQCofDYaBrdh7TANBgkqhkiG9w0BAQsFADCBojELMAkGA1UEBhMC
-Q04xEDAOBgNVBAgTB0JlaWppbmcxEDAOBgNVBAcTB0JlaWppbmcxFjAUBgNVBAoT
-DU1lcmlkaWFuIEx0ZC4xEDAOBgNVBAsTB0RldmVsb3AxHDAaBgNVBAMTE3Rlc3Qu
-Y292ZW5hbnRzcWwuaW8xJzAlBgkqhkiG9w0BCQEWGHdlYm1hc3RlckBjb3ZlbmFu
-dHNxbC5pbzAeFw0xODA4MDEwNDIxMDZaFw0yODA3MjkwNDIxMDZaMIGoMQswCQYD
-VQQGEwJDTjEQMA4GA1UECBMHQmVpamluZzEQMA4GA1UEBxMHQmVpamluZzEWMBQG
-A1UEChMNTWVyaWRpYW4gTHRkLjEQMA4GA1UECxMHRGV2ZWxvcDEiMCAGA1UEAxMZ
-d3JpdGUudGVzdC5jb3ZlbmFudHNxbC5pbzEnMCUGCSqGSIb3DQEJARYYd2VibWFz
-dGVyQGNvdmVuYW50c3FsLmlvMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKC
-AgEArwFtfbMdNu7m332+1KH/6hY7/zv+YhPu3NJ7WZC2wJlyc9nIBzuD7SV8lcwv
-75w2n4aclr/KWFXYBPeqtfn4ebV/pvIZtyd+P4MGKbT3FuHdxPhI7uTcw7LENXUK
-tmqO01OO1mx4+cbn14Hd8f1NUoxs5vEnohBoV7etI84fLAxglNAddtGTeN+jlSN+
-ipFKI74aPeEqnnJeJ3j35ZgvYb79hYEHXPngKOCsAa01cDrpxzuDL+ukveP5SLee
-1lCYHpUKEMt+0SMBalVW6XltBnmMrLL5tjfA4RyAmgRxle8q+O2wDxivStX1kInU
-L22kj6AjSrBpOPy12rwQiPa6pJt0pjk7+S71p69NJeoYyYz2+l6guWXqJ8b/jlwT
-4+CBOlOuDuvCvU1almQADKcv1eN9g0X2d8F+9CHgUdHaVkpGJ9ueOgrw5HWipnjt
-2B/YFRErh3125CDnGap+SCEoPCJFTxVG0GahzmWC1sQr6EsHdMDBk6YTINY+4iNv
-oxlTUhAMWiYeLNY4PZaqL9q3tcjuHMxMcykAYpMiEQe0mGsWiRjzDfnDtGcyeagq
-HkcjBE/w1qwGjLQBJFmjYmwpk5cDtS0OhhEIOastqKoacc+L4rnqALEM94uuPS8V
-Mfu+d9rspfBMy/a/PjMrOO5pYLD0yIIYVHDJxyHT0p0QVZkCAwEAATANBgkqhkiG
-9w0BAQsFAAOCAgEAM+1j12Px/guyMnZFwwsRC9ITa5zJkAkfR++LzRZcT+Gz5du1
-FyQp+5L4Pws96OLFADKHVYE0EFlgdVbskVBErrEIQeZRw0bmp1zDEhfxr4c8fivY
-+hW/AXjHsJuO8WVTlRctnefY1g6OdvfI6Sc2092GM9Nvquf1OhKIbPso1NxUUrnp
-HQ4ffhQNAFsJk/PkPsjTBzP2iJrzynPdoIPK9jO6NbUg6XfZDQRwchvI7NduWq+x
-nNTWV1D8oHvP0+FwHdRyctIVVjkxqd7wnenWl2mUr0SBf0FnfJPl9fz+YLVBLroF
-4NGwGG/r6q9tRBAXATm+qbNlth589Tz8mMZMnq2+D6O4499I4MJLceuXw689rO05
-s9/BXWzjJThDnrFaQPyf/YTyMuFaf919F0UGLTLYLYf4vfuflUhaStmYyvArv229
-F4DJy/QDM+NWjo/pJH3ETeEA1stD7kQq7GGqy/MiB5YXqRLnGjpa9vqOECsMIm29
-1TUgdCVN9Gsk8JQPGm/lJUeJECq20LThSeXG+sY6RU+0rmOUJvR8Uv3kjkn0Xd+/
-p2xM/CboFXVcmU+fe9UfJar87MlPJcZP5SenVQuWZ3imI0kFeaObfHHKKJfNAoFl
-agBFqnAc/EkYqekxGkxc3pVhBBiZ3D+FlinC2yRko9glPkRKA2WxINPVxm0=
------END CERTIFICATE-----
diff --git a/connector/src/test/java/io/covenantsql/connector/EndToEndEncryptionTests.java b/connector/src/test/java/io/covenantsql/connector/EndToEndEncryptionTests.java
deleted file mode 100644
index fa16469..0000000
--- a/connector/src/test/java/io/covenantsql/connector/EndToEndEncryptionTests.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Copyright 2019 The CovenantSQL Authors.
- *
- * 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.
- */
-
-package io.covenantsql.connector;
-
-import io.covenantsql.connector.util.EndToEndEncryption;
-import org.apache.commons.codec.binary.Hex;
-import org.testng.annotations.BeforeMethod;
-import org.testng.annotations.Test;
-
-import static org.testng.Assert.assertEquals;
-
-class testCase {
- String raw;
- String password;
- String possibleEncrypted;
-
- public testCase(String raw, String password, String possibleEncrypted) {
- this.raw = raw;
- this.password = password;
- this.possibleEncrypted = possibleEncrypted;
- }
-}
-
-
-public class EndToEndEncryptionTests {
- testCase[] cases;
-
- @BeforeMethod
- public void setUp() {
- cases = new testCase[]{
- new testCase(
- "11",
- ";#K]As9C*6L",
- "a372ea2c158a2f99d386e309db4355a659a7a8dd3986fd1d94f7604256061609"
- ),
- new testCase(
- "111282C128421286712857128C2128EF" +
- "128B7671283C128571287512830128EC" +
- "128391281A1312849128381281E1286A" +
- "12871128621287A9D12857128C412886" +
- "128FD12834128DA128F5",
- "",
- "1bfb6a7fda3e3eb1e14c9afd0baefe86" +
- "c90979101f179db7e48a0fa7617881e8" +
- "f752c59fb512bb86b8ed69c5644bf2dc" +
- "30fbcd3bf79fb20342595c84fad00e46" +
- "2fab3e51266492a3d5d085e650c1e619" +
- "6278d7f5185c263440ec6fd940ffbb85"
- ),
- new testCase(
- "11",
- "'K]\"#'pi/1/JD2",
- "a83d152777ce3a1c0710b03676ae867c86ab0a47b3ca080f825683ac1079eb41"
- ),
- new testCase(
- "11111111111111111111111111111111",
- "",
- "7dda438c4256a63c62d6816617fcbf9c" +
- "7773b9b4f87902b7253848ba2b0ed0ba" +
- "f70a3ac976a835b7bc3008e9ba43da74"
- ),
- new testCase(
- "11111111111111111111111111111111",
- "youofdas1312",
- "cab07967cf377dbc010fbf5f84d12bcb" +
- "6f8b188e6965738cf9007a671b4bfeb9" +
- "f52257aac3808048c341dcaa1c125ca7"
- ),
- new testCase(
- "11111111111111111111111111",
- "空のBottle😄",
- "4384874473945c5b70519ad5ace6305ef6b78c60c3c694add08a8b81899c4171"
- ),
- };
- }
-
- @Test
- public void EncryptDecrypt() throws Exception {
- for (int i = 0; i < cases.length; i++) {
- byte[] raw = Hex.decodeHex(cases[i].raw.toCharArray());
- byte[] password = cases[i].password.getBytes();
- byte[] enc = Hex.decodeHex(cases[i].possibleEncrypted.toCharArray());
- byte[] encrypt = EndToEndEncryption.Encrypt(raw, password);
- byte[] dec = EndToEndEncryption.Decrypt(encrypt, password);
- byte[] dec2 = EndToEndEncryption.Decrypt(enc, password);
- assertEquals(dec, raw);
- assertEquals(dec2, raw);
- System.out.printf("Test case: #%d Passed\n", i);
- }
- }
-}
\ No newline at end of file
diff --git a/example/src/main/java/io/covenantsql/connector/example/jdbc/Example.java b/example/src/main/java/io/covenantsql/connector/example/jdbc/Example.java
deleted file mode 100644
index 93e6f5a..0000000
--- a/example/src/main/java/io/covenantsql/connector/example/jdbc/Example.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Copyright 2018 The CovenantSQL Authors.
- *
- * 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.
- */
-
-package io.covenantsql.connector.example.jdbc;
-
-import java.io.IOException;
-import java.sql.*;
-import java.util.Date;
-import java.util.Properties;
-
-public class Example {
- public static void main(String[] args) {
- try {
- Properties properties = new Properties();
- properties.load(Example.class.getResourceAsStream("../common-config.properties"));
-
- String host = System.getProperty("COVENANTSQL_HOST", "adp00.cn.gridb.io");
- String port = System.getProperty("COVENANTSQL_PORT", "7784");
- String database = System.getProperty("COVENANTSQL_DATABASE", "e1c4e80701773c1656a99d317148f2eada0fc6f2dad33afd5425e65bc9a35270");
-
- String url = String.format("jdbc:covenantsql://%s:%s/%s", host, port, database);
- System.out.printf("Build url: %s\n", url);
-
- System.out.println("Connecting to database...");
- Connection conn = DriverManager.getConnection(url, properties);
-
- System.out.println("Creating statement...");
- Statement stmt = conn.createStatement();
- String createTableSQL = "CREATE TABLE IF NOT EXISTS `users` (\n" +
- " `id` INTEGER PRIMARY KEY AUTOINCREMENT,\n" +
- " `created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,\n" +
- " `email` VARCHAR(255) NOT NULL,\n" +
- " `password` VARCHAR(255) NOT NULL\n" +
- " )";
- stmt.executeUpdate(createTableSQL);
- stmt.close();
-
- stmt = conn.createStatement();
- String insertSQL = "INSERT INTO `users` (`email`, `password`) VALUES ('Apple', 'appleisdelicious')";
- stmt.executeUpdate(insertSQL);
- stmt.close();
-
- stmt = conn.createStatement();
- String query = "SELECT * FROM `users`";
- ResultSet rs = stmt.executeQuery(query);
-
- while (rs.next()) {
- int id = rs.getInt("id");
- Date time = rs.getTime("created_at");
- String email = rs.getString("email");
- String password = rs.getString("password");
-
- System.out.print("ID: " + id);
- System.out.print(", Email: " + email);
- System.out.print(", Password: " + password);
- System.out.println(", Time: " + time);
- }
-
- rs.close();
- stmt.close();
- conn.close();
- } catch (SQLException | IOException e) {
- e.printStackTrace();
- }
- }
-}
diff --git a/example/src/main/java/io/covenantsql/connector/example/mybatis/Example.java b/example/src/main/java/io/covenantsql/connector/example/mybatis/Example.java
deleted file mode 100644
index 77c251e..0000000
--- a/example/src/main/java/io/covenantsql/connector/example/mybatis/Example.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Copyright 2018 The CovenantSQL Authors.
- *
- * 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.
- */
-
-package io.covenantsql.connector.example.mybatis;
-
-import org.apache.ibatis.session.SqlSession;
-import org.apache.ibatis.session.SqlSessionFactory;
-import org.apache.ibatis.session.SqlSessionFactoryBuilder;
-
-import java.io.InputStream;
-import java.util.Properties;
-
-public class Example {
- public static void main(String[] args) {
- Properties properties = new Properties();
-
- String host = System.getProperty("COVENANTSQL_HOST", "adp00.cn.gridb.io");
- String port = System.getProperty("COVENANTSQL_PORT", "7784");
- String database = System.getProperty("COVENANTSQL_DATABASE", "e1c4e80701773c1656a99d317148f2eada0fc6f2dad33afd5425e65bc9a35270");
-
- properties.setProperty("host", host);
- properties.setProperty("port", port);
- properties.setProperty("database", database);
-
- InputStream mybatisConfigStream = Example.class.getResourceAsStream("mybatis-config.xml");
- SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(mybatisConfigStream, properties);
- SqlSession session = sqlSessionFactory.openSession();
- UserMapper mapper = session.getMapper(UserMapper.class);
- mapper.createUserTableIfNotExists();
- System.out.println(mapper.selectUsers());
- mapper.addNewUser("Apple", "appleisdelicious");
- System.out.println(mapper.selectUsers());
- System.out.println(mapper.getUser("Apple"));
- mapper.changeUserPassword("Apple", "happy");
- System.out.println(mapper.getUser("Apple"));
- System.out.println(mapper.selectUsers());
- mapper.delUser("Apple");
- System.out.println(mapper.selectUsers());
- }
-}
diff --git a/example/src/main/java/io/covenantsql/connector/example/mybatis/User.java b/example/src/main/java/io/covenantsql/connector/example/mybatis/User.java
deleted file mode 100644
index 22628f9..0000000
--- a/example/src/main/java/io/covenantsql/connector/example/mybatis/User.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright 2018 The CovenantSQL Authors.
- *
- * 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.
- */
-
-package io.covenantsql.connector.example.mybatis;
-
-import java.sql.Timestamp;
-
-public class User {
- private long id;
- private java.sql.Timestamp created_at;
- private String email;
- private String password;
-
- public long getId() {
- return id;
- }
-
- public void setId(long id) {
- this.id = id;
- }
-
- public Timestamp getCreated_at() {
- return created_at;
- }
-
- public void setCreated_at(Timestamp created_at) {
- this.created_at = created_at;
- }
-
- public String getEmail() {
- return email;
- }
-
- public void setEmail(String email) {
- this.email = email;
- }
-
- public String getPassword() {
- return password;
- }
-
- public void setPassword(String password) {
- this.password = password;
- }
-
- @Override
- public String toString() {
- return "User{" +
- "id=" + id +
- ", created_at=" + created_at +
- ", email='" + email + '\'' +
- ", password='" + password + '\'' +
- '}';
- }
-}
diff --git a/example/src/main/java/io/covenantsql/connector/example/mybatis/UserMapper.java b/example/src/main/java/io/covenantsql/connector/example/mybatis/UserMapper.java
deleted file mode 100644
index 6b3a6c2..0000000
--- a/example/src/main/java/io/covenantsql/connector/example/mybatis/UserMapper.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright 2018 The CovenantSQL Authors.
- *
- * 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.
- */
-
-package io.covenantsql.connector.example.mybatis;
-
-import java.util.List;
-
-public interface UserMapper {
- List selectUsers();
-
- User getUser(String email);
-
- void addNewUser(String email, String password);
-
- void delUser(String email);
-
- void changeUserPassword(String user, String password);
-
- void createUserTableIfNotExists();
-}
diff --git a/example/src/main/resources/io/covenantsql/connector/example/common-config.properties b/example/src/main/resources/io/covenantsql/connector/example/common-config.properties
deleted file mode 100644
index d43e210..0000000
--- a/example/src/main/resources/io/covenantsql/connector/example/common-config.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-#
-# Copyright 2018 The CovenantSQL Authors.
-#
-# 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.
-#
-
-key_path=write.test.covenantsql.io-key.pem
-cert_path=write.test.covenantsql.io.pem
-sslmode=none
-ssl=false
\ No newline at end of file
diff --git a/example/src/main/resources/io/covenantsql/connector/example/mybatis/UserMapper.xml b/example/src/main/resources/io/covenantsql/connector/example/mybatis/UserMapper.xml
deleted file mode 100644
index a09ae43..0000000
--- a/example/src/main/resources/io/covenantsql/connector/example/mybatis/UserMapper.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-
-
-
-
-
- SELECT * FROM users
-
-
- SELECT * FROM users WHERE email = #{param1} LIMIT 1
-
-
- INSERT INTO users (email, password) VALUES(#{param1}, #{param2})
-
-
- DELETE FROM users WHERE email = #{param1}
-
-
- UPDATE users SET password = #{param2} WHERE email = #{param1}
-
-
- CREATE TABLE IF NOT EXISTS `users` (
- `id` INTEGER PRIMARY KEY AUTOINCREMENT,
- `created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
- `email` VARCHAR(255) NOT NULL,
- `password` VARCHAR(255) NOT NULL
- )
-
-
\ No newline at end of file
diff --git a/example/src/main/resources/io/covenantsql/connector/example/mybatis/mybatis-config.xml b/example/src/main/resources/io/covenantsql/connector/example/mybatis/mybatis-config.xml
deleted file mode 100644
index d12f21d..0000000
--- a/example/src/main/resources/io/covenantsql/connector/example/mybatis/mybatis-config.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/example/src/main/resources/write.test.covenantsql.io-key.pem b/example/src/main/resources/write.test.covenantsql.io-key.pem
deleted file mode 100644
index 1b0d203..0000000
--- a/example/src/main/resources/write.test.covenantsql.io-key.pem
+++ /dev/null
@@ -1,51 +0,0 @@
------BEGIN RSA PRIVATE KEY-----
-MIIJJwIBAAKCAgEArwFtfbMdNu7m332+1KH/6hY7/zv+YhPu3NJ7WZC2wJlyc9nI
-BzuD7SV8lcwv75w2n4aclr/KWFXYBPeqtfn4ebV/pvIZtyd+P4MGKbT3FuHdxPhI
-7uTcw7LENXUKtmqO01OO1mx4+cbn14Hd8f1NUoxs5vEnohBoV7etI84fLAxglNAd
-dtGTeN+jlSN+ipFKI74aPeEqnnJeJ3j35ZgvYb79hYEHXPngKOCsAa01cDrpxzuD
-L+ukveP5SLee1lCYHpUKEMt+0SMBalVW6XltBnmMrLL5tjfA4RyAmgRxle8q+O2w
-DxivStX1kInUL22kj6AjSrBpOPy12rwQiPa6pJt0pjk7+S71p69NJeoYyYz2+l6g
-uWXqJ8b/jlwT4+CBOlOuDuvCvU1almQADKcv1eN9g0X2d8F+9CHgUdHaVkpGJ9ue
-Ogrw5HWipnjt2B/YFRErh3125CDnGap+SCEoPCJFTxVG0GahzmWC1sQr6EsHdMDB
-k6YTINY+4iNvoxlTUhAMWiYeLNY4PZaqL9q3tcjuHMxMcykAYpMiEQe0mGsWiRjz
-DfnDtGcyeagqHkcjBE/w1qwGjLQBJFmjYmwpk5cDtS0OhhEIOastqKoacc+L4rnq
-ALEM94uuPS8VMfu+d9rspfBMy/a/PjMrOO5pYLD0yIIYVHDJxyHT0p0QVZkCAwEA
-AQKCAgBzaAueQwnW+gCCDVhUvGgZJIR4MkX0w5RXRu5VCBucMxTI1SsVqee78WaR
-Gk/aQTe8R3bn6p4zVpjX3cNTsf5rtIbzvt+6am7Uz0C3LEFtc5FdnSXrdD0pSLAf
-WImx9d8t+QJO4MV+Ye7trRSByjq9XyFJwmoSc6N7hQLGg90GnTrrp7pmappHsaMc
-bIW8N0ee/nQrrlr+lgkFGr7PR2annN1utsH2TEnIazDDAkglNJSJ7/L5HPpMxxPT
-IlO6nPdT45D5tlhw7ha22oQv/wUoqetcz8Hgqi+lw7gC2T9WUpwSAByEOBEQ1rvT
-jzC//hvxIvdi/6bED9KU5kQ5Lgux/fWUvg/l6u7EebM6TeG/Er5Tq1D6j2+IjfkR
-bPHLEk2Cv2oE7W1PhP+yinJnoxwHeic+nu7wsuevzvPhNZ7lLaWgHFvc1YVTmLDq
-E/DGm5Qj6mh8SP2NcxW79m6fjdbgjw0OuPxdEo2sj74cxcifTy54GuSoZqGnw18g
-28qXpDLkWgHQFrm6LvLqnaY3uvNMYLBWd4kqH0Y9XKI1N3j82ensAwH5e6Ol8Stw
-I7GWT/1GggOEPbIwYtVBfbwghfktPttmHU4vs8IQnufqExgEjDhWspjJVZEuoO8V
-8weDCQADS8/266GqRN9CUtNWMmbM0jAHgL7Bq9AFwgYSrP/BiQKCAQEA3GNqpUw8
-Ix3yYxvEXbceOguwqjzOW1vGBhJ4k6ptPG9kPI0GqMY6sw/RgRlCpfCq7Ig/Renj
-6LPbSyjkylfavlLNODi/iGbnd6cLKtsvaeexWP1wYU4T367rF8ifqKl/C+l4XqBN
-4j4KooyPF889PrgXJ73517jWwhxnncgDabJ2zTetjkvFbf3bAua5F7rufHi39Zng
-Rt0gEmFg99XJjrtbS7iND5fhZpGK14hhkdwHptu6XS+yGIiVwbCwS0odtZDID3vk
-s9CEUzhjnK8ld04RJ4vSMlxfzlub3e88Lvii79mmZgdH4aP0cPhmFJ3i0mefUVpw
-cSmQSVMsxHkh6wKCAQEAy0i1KjX3k7LwWgsvwtRjnJMuEWJ/SoRiE4+Cho9BSCVg
-onG4NyBOUgfQI9pBKf2CPWVDBA5VQrDN81ozmTPTgb7isDcFDSiowqyVSyRCorUB
-AfjbpD7z6QMdBt15xHR3CXWwpio5NwBQqQ+I2AJ1koBYUVj5TupDOZzwVY8/BbqD
-fmhtqLd4c2q5Go2ESK+EVAA1jvFmZUTjr9jC9a/8s/cn5Xqv7/s4BCmmfqQSKZS2
-LPBA2Th1zsUrSW3Os9v+c6LUU92LVEZKKKZyRykTemQRH/oljGG9Dn/hUDcvaI2z
-A2+T15rQd9p6ePySD8BuZzxwFvAJQPOYaqivrzsBiwKCAQAmd5fSuEa63mxDTkJt
-FRxKh2XToP9nxNIAl1LCe3nLlanKQ9dIuCjgvj8UKIOQkTxUQsfAfT2RjWsWaFHe
-24zLsYouaQFNXqDCKr7xQQa6ln1HCh2Gbmlbnp1cLmFnwAXz31FqOtK9TZTvoFcN
-kdefzeQExM0KETIy+WBAkvu9hC/mS/SYJLOWKjwC+qCN+svLoAqD7NLPq6MAckzJ
-lWAz8JHT2qeMdDccfwTb7+sP2XbgcfPKdhvA2n5BK4Tp70rWOSoiQb6+gAPIvsvs
-Oknw1Ah8fZQ3xBXY3/aJu0sm67EM6lF394ddZA+zdDflG1XO4dVWDtIXfmi307O5
-q2b3AoIBAFkTMfceEK8SkIkUL8hyYnegcmZBv786RPOHRc2KhjOD1VU4+VyGdmsx
-az3ajAVHRUN71KK5WRjQ+l2w37043WwT5acLZNZAQ7qR/xUe/WfoYlmn3y6YOy6W
-I6j3cTzpP6PQgyg8hjeYlr+NxAvLABPC03BJyWyP8AcVwqXrD9WFxcqlHa/5PPlu
-AVAmRJnI9vYL5WwOUSz8w7wxAjS/+b4uBbhjSyaf8Qq56W/CmwbHWBBW8kN8nvqM
-oQwa5qEfO98VsW5SPJQf/KzVSmvuDs/peyuE4+EgjsQEuwj4NXjd5lwSDzlBaCms
-fU/4dFQcoQPxkrgqVBO26cmKwvjIpUMCggEAIb85XP+bwnSOTjFbn61k8PdgyPBq
-kBDkiofKiBuR2UzuYhVqxkBqWHtDUhqq1y7A0S/ya75bSv67q4ZlHWEjCEiA8thv
-KZwn/8yRVFFKEgtB0afub62Zgc+pPXAr2JwwtZK5dg91QxPaKF20YEz6tOcZdjut
-gcQ8Bt4dpRvoz2vOJQnqMIhQM9+HiE7XXV7fgUwT55nC+4wRhILd3xOZKYzDzgMJ
-ShMUAb7QkLRujyQwcYPxjWiqRFGSodMoNE2OdofLmfwD1vQfZ/gAorLBH3BVyXAz
-53zHfE7+kLgobJBYf7T7Jk246soVYOLSZbeVjAT0ajMKD4ay2jNdnSlxKA==
------END RSA PRIVATE KEY-----
diff --git a/example/src/main/resources/write.test.covenantsql.io.pem b/example/src/main/resources/write.test.covenantsql.io.pem
deleted file mode 100644
index ccebf10..0000000
--- a/example/src/main/resources/write.test.covenantsql.io.pem
+++ /dev/null
@@ -1,33 +0,0 @@
------BEGIN CERTIFICATE-----
-MIIFyDCCA7ACCQCofDYaBrdh7TANBgkqhkiG9w0BAQsFADCBojELMAkGA1UEBhMC
-Q04xEDAOBgNVBAgTB0JlaWppbmcxEDAOBgNVBAcTB0JlaWppbmcxFjAUBgNVBAoT
-DU1lcmlkaWFuIEx0ZC4xEDAOBgNVBAsTB0RldmVsb3AxHDAaBgNVBAMTE3Rlc3Qu
-Y292ZW5hbnRzcWwuaW8xJzAlBgkqhkiG9w0BCQEWGHdlYm1hc3RlckBjb3ZlbmFu
-dHNxbC5pbzAeFw0xODA4MDEwNDIxMDZaFw0yODA3MjkwNDIxMDZaMIGoMQswCQYD
-VQQGEwJDTjEQMA4GA1UECBMHQmVpamluZzEQMA4GA1UEBxMHQmVpamluZzEWMBQG
-A1UEChMNTWVyaWRpYW4gTHRkLjEQMA4GA1UECxMHRGV2ZWxvcDEiMCAGA1UEAxMZ
-d3JpdGUudGVzdC5jb3ZlbmFudHNxbC5pbzEnMCUGCSqGSIb3DQEJARYYd2VibWFz
-dGVyQGNvdmVuYW50c3FsLmlvMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKC
-AgEArwFtfbMdNu7m332+1KH/6hY7/zv+YhPu3NJ7WZC2wJlyc9nIBzuD7SV8lcwv
-75w2n4aclr/KWFXYBPeqtfn4ebV/pvIZtyd+P4MGKbT3FuHdxPhI7uTcw7LENXUK
-tmqO01OO1mx4+cbn14Hd8f1NUoxs5vEnohBoV7etI84fLAxglNAddtGTeN+jlSN+
-ipFKI74aPeEqnnJeJ3j35ZgvYb79hYEHXPngKOCsAa01cDrpxzuDL+ukveP5SLee
-1lCYHpUKEMt+0SMBalVW6XltBnmMrLL5tjfA4RyAmgRxle8q+O2wDxivStX1kInU
-L22kj6AjSrBpOPy12rwQiPa6pJt0pjk7+S71p69NJeoYyYz2+l6guWXqJ8b/jlwT
-4+CBOlOuDuvCvU1almQADKcv1eN9g0X2d8F+9CHgUdHaVkpGJ9ueOgrw5HWipnjt
-2B/YFRErh3125CDnGap+SCEoPCJFTxVG0GahzmWC1sQr6EsHdMDBk6YTINY+4iNv
-oxlTUhAMWiYeLNY4PZaqL9q3tcjuHMxMcykAYpMiEQe0mGsWiRjzDfnDtGcyeagq
-HkcjBE/w1qwGjLQBJFmjYmwpk5cDtS0OhhEIOastqKoacc+L4rnqALEM94uuPS8V
-Mfu+d9rspfBMy/a/PjMrOO5pYLD0yIIYVHDJxyHT0p0QVZkCAwEAATANBgkqhkiG
-9w0BAQsFAAOCAgEAM+1j12Px/guyMnZFwwsRC9ITa5zJkAkfR++LzRZcT+Gz5du1
-FyQp+5L4Pws96OLFADKHVYE0EFlgdVbskVBErrEIQeZRw0bmp1zDEhfxr4c8fivY
-+hW/AXjHsJuO8WVTlRctnefY1g6OdvfI6Sc2092GM9Nvquf1OhKIbPso1NxUUrnp
-HQ4ffhQNAFsJk/PkPsjTBzP2iJrzynPdoIPK9jO6NbUg6XfZDQRwchvI7NduWq+x
-nNTWV1D8oHvP0+FwHdRyctIVVjkxqd7wnenWl2mUr0SBf0FnfJPl9fz+YLVBLroF
-4NGwGG/r6q9tRBAXATm+qbNlth589Tz8mMZMnq2+D6O4499I4MJLceuXw689rO05
-s9/BXWzjJThDnrFaQPyf/YTyMuFaf919F0UGLTLYLYf4vfuflUhaStmYyvArv229
-F4DJy/QDM+NWjo/pJH3ETeEA1stD7kQq7GGqy/MiB5YXqRLnGjpa9vqOECsMIm29
-1TUgdCVN9Gsk8JQPGm/lJUeJECq20LThSeXG+sY6RU+0rmOUJvR8Uv3kjkn0Xd+/
-p2xM/CboFXVcmU+fe9UfJar87MlPJcZP5SenVQuWZ3imI0kFeaObfHHKKJfNAoFl
-agBFqnAc/EkYqekxGkxc3pVhBBiZ3D+FlinC2yRko9glPkRKA2WxINPVxm0=
------END CERTIFICATE-----
diff --git a/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190415.070344-1.jar b/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190415.070344-1.jar
new file mode 100644
index 0000000..426c93b
Binary files /dev/null and b/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190415.070344-1.jar differ
diff --git a/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190415.070344-1.jar.md5 b/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190415.070344-1.jar.md5
new file mode 100644
index 0000000..2432787
--- /dev/null
+++ b/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190415.070344-1.jar.md5
@@ -0,0 +1 @@
+f2c0b38a6f8e37fc769726a4f84eb5ad
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190415.070344-1.jar.sha1 b/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190415.070344-1.jar.sha1
new file mode 100644
index 0000000..4d053a8
--- /dev/null
+++ b/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190415.070344-1.jar.sha1
@@ -0,0 +1 @@
+5dbc3573ebc9948e6bcc8c7c18bbd8105f158bd1
\ No newline at end of file
diff --git a/example/pom.xml b/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190415.070344-1.pom
similarity index 86%
rename from example/pom.xml
rename to io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190415.070344-1.pom
index cb85515..fc6a1bd 100644
--- a/example/pom.xml
+++ b/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190415.070344-1.pom
@@ -20,12 +20,12 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
io.covenantsql
- cql-java-driver
- 1.0.3
+ covenantsql-java
+ 1.0-SNAPSHOT
4.0.0
- cql-java-driver-example
+ covenantsql-java-connector-example
@@ -35,7 +35,7 @@
${project.parent.groupId}
- cql-java-driver
+ covenantsql-java-connector
${project.parent.version}
@@ -43,4 +43,4 @@
3.4.6
-
+
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190415.070344-1.pom.md5 b/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190415.070344-1.pom.md5
new file mode 100644
index 0000000..06d6f0f
--- /dev/null
+++ b/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190415.070344-1.pom.md5
@@ -0,0 +1 @@
+3b5f2a82a900c95fe161b9b238d5ce51
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190415.070344-1.pom.sha1 b/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190415.070344-1.pom.sha1
new file mode 100644
index 0000000..03d0240
--- /dev/null
+++ b/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190415.070344-1.pom.sha1
@@ -0,0 +1 @@
+d4c4c15f7fb563a06bc0075f02709a3463e9b163
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190515.135733-2.jar b/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190515.135733-2.jar
new file mode 100644
index 0000000..426c93b
Binary files /dev/null and b/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190515.135733-2.jar differ
diff --git a/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190515.135733-2.jar.md5 b/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190515.135733-2.jar.md5
new file mode 100644
index 0000000..2432787
--- /dev/null
+++ b/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190515.135733-2.jar.md5
@@ -0,0 +1 @@
+f2c0b38a6f8e37fc769726a4f84eb5ad
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190515.135733-2.jar.sha1 b/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190515.135733-2.jar.sha1
new file mode 100644
index 0000000..4d053a8
--- /dev/null
+++ b/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190515.135733-2.jar.sha1
@@ -0,0 +1 @@
+5dbc3573ebc9948e6bcc8c7c18bbd8105f158bd1
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190515.135733-2.pom b/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190515.135733-2.pom
new file mode 100644
index 0000000..fc6a1bd
--- /dev/null
+++ b/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190515.135733-2.pom
@@ -0,0 +1,46 @@
+
+
+
+
+
+ io.covenantsql
+ covenantsql-java
+ 1.0-SNAPSHOT
+
+ 4.0.0
+
+ covenantsql-java-connector-example
+
+
+
+ org.mybatis
+ mybatis
+ ${mybatis.version}
+
+
+ ${project.parent.groupId}
+ covenantsql-java-connector
+ ${project.parent.version}
+
+
+
+
+ 3.4.6
+
+
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190515.135733-2.pom.md5 b/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190515.135733-2.pom.md5
new file mode 100644
index 0000000..06d6f0f
--- /dev/null
+++ b/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190515.135733-2.pom.md5
@@ -0,0 +1 @@
+3b5f2a82a900c95fe161b9b238d5ce51
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190515.135733-2.pom.sha1 b/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190515.135733-2.pom.sha1
new file mode 100644
index 0000000..03d0240
--- /dev/null
+++ b/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190515.135733-2.pom.sha1
@@ -0,0 +1 @@
+d4c4c15f7fb563a06bc0075f02709a3463e9b163
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190515.152512-3.jar b/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190515.152512-3.jar
new file mode 100644
index 0000000..426c93b
Binary files /dev/null and b/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190515.152512-3.jar differ
diff --git a/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190515.152512-3.jar.md5 b/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190515.152512-3.jar.md5
new file mode 100644
index 0000000..2432787
--- /dev/null
+++ b/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190515.152512-3.jar.md5
@@ -0,0 +1 @@
+f2c0b38a6f8e37fc769726a4f84eb5ad
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190515.152512-3.jar.sha1 b/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190515.152512-3.jar.sha1
new file mode 100644
index 0000000..4d053a8
--- /dev/null
+++ b/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190515.152512-3.jar.sha1
@@ -0,0 +1 @@
+5dbc3573ebc9948e6bcc8c7c18bbd8105f158bd1
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190515.152512-3.pom b/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190515.152512-3.pom
new file mode 100644
index 0000000..fc6a1bd
--- /dev/null
+++ b/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190515.152512-3.pom
@@ -0,0 +1,46 @@
+
+
+
+
+
+ io.covenantsql
+ covenantsql-java
+ 1.0-SNAPSHOT
+
+ 4.0.0
+
+ covenantsql-java-connector-example
+
+
+
+ org.mybatis
+ mybatis
+ ${mybatis.version}
+
+
+ ${project.parent.groupId}
+ covenantsql-java-connector
+ ${project.parent.version}
+
+
+
+
+ 3.4.6
+
+
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190515.152512-3.pom.md5 b/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190515.152512-3.pom.md5
new file mode 100644
index 0000000..06d6f0f
--- /dev/null
+++ b/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190515.152512-3.pom.md5
@@ -0,0 +1 @@
+3b5f2a82a900c95fe161b9b238d5ce51
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190515.152512-3.pom.sha1 b/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190515.152512-3.pom.sha1
new file mode 100644
index 0000000..03d0240
--- /dev/null
+++ b/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190515.152512-3.pom.sha1
@@ -0,0 +1 @@
+d4c4c15f7fb563a06bc0075f02709a3463e9b163
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190515.153720-4.jar b/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190515.153720-4.jar
new file mode 100644
index 0000000..426c93b
Binary files /dev/null and b/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190515.153720-4.jar differ
diff --git a/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190515.153720-4.jar.md5 b/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190515.153720-4.jar.md5
new file mode 100644
index 0000000..2432787
--- /dev/null
+++ b/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190515.153720-4.jar.md5
@@ -0,0 +1 @@
+f2c0b38a6f8e37fc769726a4f84eb5ad
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190515.153720-4.jar.sha1 b/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190515.153720-4.jar.sha1
new file mode 100644
index 0000000..4d053a8
--- /dev/null
+++ b/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190515.153720-4.jar.sha1
@@ -0,0 +1 @@
+5dbc3573ebc9948e6bcc8c7c18bbd8105f158bd1
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190515.153720-4.pom b/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190515.153720-4.pom
new file mode 100644
index 0000000..fc6a1bd
--- /dev/null
+++ b/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190515.153720-4.pom
@@ -0,0 +1,46 @@
+
+
+
+
+
+ io.covenantsql
+ covenantsql-java
+ 1.0-SNAPSHOT
+
+ 4.0.0
+
+ covenantsql-java-connector-example
+
+
+
+ org.mybatis
+ mybatis
+ ${mybatis.version}
+
+
+ ${project.parent.groupId}
+ covenantsql-java-connector
+ ${project.parent.version}
+
+
+
+
+ 3.4.6
+
+
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190515.153720-4.pom.md5 b/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190515.153720-4.pom.md5
new file mode 100644
index 0000000..06d6f0f
--- /dev/null
+++ b/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190515.153720-4.pom.md5
@@ -0,0 +1 @@
+3b5f2a82a900c95fe161b9b238d5ce51
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190515.153720-4.pom.sha1 b/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190515.153720-4.pom.sha1
new file mode 100644
index 0000000..03d0240
--- /dev/null
+++ b/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/covenantsql-java-connector-example-1.0-20190515.153720-4.pom.sha1
@@ -0,0 +1 @@
+d4c4c15f7fb563a06bc0075f02709a3463e9b163
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/maven-metadata.xml b/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/maven-metadata.xml
new file mode 100644
index 0000000..38de40f
--- /dev/null
+++ b/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/maven-metadata.xml
@@ -0,0 +1,25 @@
+
+
+ io.covenantsql
+ covenantsql-java-connector-example
+ 1.0-SNAPSHOT
+
+
+ 20190515.153720
+ 4
+
+ 20190515153720
+
+
+ jar
+ 1.0-20190515.153720-4
+ 20190515153720
+
+
+ pom
+ 1.0-20190515.153720-4
+ 20190515153720
+
+
+
+
diff --git a/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/maven-metadata.xml.md5 b/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/maven-metadata.xml.md5
new file mode 100644
index 0000000..000ea14
--- /dev/null
+++ b/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/maven-metadata.xml.md5
@@ -0,0 +1 @@
+567ee983c9c01bc186709f3c23d4711f
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/maven-metadata.xml.sha1 b/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/maven-metadata.xml.sha1
new file mode 100644
index 0000000..50e4891
--- /dev/null
+++ b/io/covenantsql/covenantsql-java-connector-example/1.0-SNAPSHOT/maven-metadata.xml.sha1
@@ -0,0 +1 @@
+563e2b1126ac4dbb7a2c35dcec38b08c5b86b5f3
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java-connector-example/maven-metadata.xml b/io/covenantsql/covenantsql-java-connector-example/maven-metadata.xml
new file mode 100644
index 0000000..bd5ba9b
--- /dev/null
+++ b/io/covenantsql/covenantsql-java-connector-example/maven-metadata.xml
@@ -0,0 +1,11 @@
+
+
+ io.covenantsql
+ covenantsql-java-connector-example
+
+
+ 1.0-SNAPSHOT
+
+ 20190515153720
+
+
diff --git a/io/covenantsql/covenantsql-java-connector-example/maven-metadata.xml.md5 b/io/covenantsql/covenantsql-java-connector-example/maven-metadata.xml.md5
new file mode 100644
index 0000000..bd26934
--- /dev/null
+++ b/io/covenantsql/covenantsql-java-connector-example/maven-metadata.xml.md5
@@ -0,0 +1 @@
+6330828ee43cfeb49d9445d26b5aabe1
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java-connector-example/maven-metadata.xml.sha1 b/io/covenantsql/covenantsql-java-connector-example/maven-metadata.xml.sha1
new file mode 100644
index 0000000..e4e3dd9
--- /dev/null
+++ b/io/covenantsql/covenantsql-java-connector-example/maven-metadata.xml.sha1
@@ -0,0 +1 @@
+cd386638145f1b802980fe471dc922658d2aa365
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.135433-1-jar-with-dependencies.jar b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.135433-1-jar-with-dependencies.jar
new file mode 100644
index 0000000..d8fb70b
Binary files /dev/null and b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.135433-1-jar-with-dependencies.jar differ
diff --git a/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.135433-1-jar-with-dependencies.jar.md5 b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.135433-1-jar-with-dependencies.jar.md5
new file mode 100644
index 0000000..5bc4347
--- /dev/null
+++ b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.135433-1-jar-with-dependencies.jar.md5
@@ -0,0 +1 @@
+4e336da3e341f7bcfc1c6947bdc75cff
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.135433-1-jar-with-dependencies.jar.sha1 b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.135433-1-jar-with-dependencies.jar.sha1
new file mode 100644
index 0000000..a4a055a
--- /dev/null
+++ b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.135433-1-jar-with-dependencies.jar.sha1
@@ -0,0 +1 @@
+2549a9ffe8c7a23ebb2797919ab541eaffc492d4
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.135433-1-shaded.jar b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.135433-1-shaded.jar
new file mode 100644
index 0000000..5ea3295
Binary files /dev/null and b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.135433-1-shaded.jar differ
diff --git a/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.135433-1-shaded.jar.md5 b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.135433-1-shaded.jar.md5
new file mode 100644
index 0000000..6c4118d
--- /dev/null
+++ b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.135433-1-shaded.jar.md5
@@ -0,0 +1 @@
+7a45962c76b5d90ff8e7b6c5b043ad61
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.135433-1-shaded.jar.sha1 b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.135433-1-shaded.jar.sha1
new file mode 100644
index 0000000..1bba349
--- /dev/null
+++ b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.135433-1-shaded.jar.sha1
@@ -0,0 +1 @@
+a45f1de05678ac19368f4939192bc51e59cb3601
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.135433-1.jar b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.135433-1.jar
new file mode 100644
index 0000000..ac5426f
Binary files /dev/null and b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.135433-1.jar differ
diff --git a/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.135433-1.jar.md5 b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.135433-1.jar.md5
new file mode 100644
index 0000000..25f32f7
--- /dev/null
+++ b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.135433-1.jar.md5
@@ -0,0 +1 @@
+5aedc9c66333ba421d326f49d2e22f92
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.135433-1.jar.sha1 b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.135433-1.jar.sha1
new file mode 100644
index 0000000..9d125e2
--- /dev/null
+++ b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.135433-1.jar.sha1
@@ -0,0 +1 @@
+350cec394b6f146afd899352d0374fe806ce91a8
\ No newline at end of file
diff --git a/connector/pom.xml b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.135433-1.pom
similarity index 88%
rename from connector/pom.xml
rename to io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.135433-1.pom
index 40443fc..8afc7ca 100644
--- a/connector/pom.xml
+++ b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.135433-1.pom
@@ -20,37 +20,29 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
io.covenantsql
- cql-java-driver
- 1.0.3
+ covenantsql-java
+ 1.0-SNAPSHOT
4.0.0
- cql-java-connector
+ covenantsql-java-connector
- cql-java-connector
+ covenantsql-java-connector
http://www.covenantlabs.io/
The Apache Software License, Version 2.0
http://www.apache.org/licenses/LICENSE-2.0.txt
+ repo
-
-
- laodouya
- jin.xu@CovenantSQL.io
-
-
-
- scm:git@github.com:CovenantSQL/cql-java-driver.git
- scm:git@github.com:CovenantSQL/cql-java-driver.git
- git@github.com:CovenantSQL/cql-java-driver.git
+ scm:git:git://github.com/CovenantSQL/covenant-connector.git
+ scm:git:git://github.com/CovenantSQL/covenant-connector.git
-
@@ -180,10 +172,5 @@
${slf4j.version}
provided
-
- org.testng
- testng
- 6.14.3
-
-
+
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.135433-1.pom.md5 b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.135433-1.pom.md5
new file mode 100644
index 0000000..74849f6
--- /dev/null
+++ b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.135433-1.pom.md5
@@ -0,0 +1 @@
+92497ce0f70c7a2fba6244b4b8324b3d
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.135433-1.pom.sha1 b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.135433-1.pom.sha1
new file mode 100644
index 0000000..4aebb6e
--- /dev/null
+++ b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.135433-1.pom.sha1
@@ -0,0 +1 @@
+6801b9c3f7dee7518fc3f4cb033f5aa5c0716bb8
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.152106-2-jar-with-dependencies.jar b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.152106-2-jar-with-dependencies.jar
new file mode 100644
index 0000000..7bc1a83
Binary files /dev/null and b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.152106-2-jar-with-dependencies.jar differ
diff --git a/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.152106-2-jar-with-dependencies.jar.md5 b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.152106-2-jar-with-dependencies.jar.md5
new file mode 100644
index 0000000..5831eed
--- /dev/null
+++ b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.152106-2-jar-with-dependencies.jar.md5
@@ -0,0 +1 @@
+bd54b546fe84db0e5da1eb3adf16c604
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.152106-2-jar-with-dependencies.jar.sha1 b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.152106-2-jar-with-dependencies.jar.sha1
new file mode 100644
index 0000000..9262616
--- /dev/null
+++ b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.152106-2-jar-with-dependencies.jar.sha1
@@ -0,0 +1 @@
+1e24548d552afbce4a60b35c025b007d12278ae1
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.152106-2-shaded.jar b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.152106-2-shaded.jar
new file mode 100644
index 0000000..5fcdfd4
Binary files /dev/null and b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.152106-2-shaded.jar differ
diff --git a/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.152106-2-shaded.jar.md5 b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.152106-2-shaded.jar.md5
new file mode 100644
index 0000000..663b915
--- /dev/null
+++ b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.152106-2-shaded.jar.md5
@@ -0,0 +1 @@
+47be26eeeddc391960ead6662312fd7a
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.152106-2-shaded.jar.sha1 b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.152106-2-shaded.jar.sha1
new file mode 100644
index 0000000..2ea0c01
--- /dev/null
+++ b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.152106-2-shaded.jar.sha1
@@ -0,0 +1 @@
+8a09fdcea9e628c32f73614ca5266fb9eba40676
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.152106-2.jar b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.152106-2.jar
new file mode 100644
index 0000000..ac5426f
Binary files /dev/null and b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.152106-2.jar differ
diff --git a/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.152106-2.jar.md5 b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.152106-2.jar.md5
new file mode 100644
index 0000000..25f32f7
--- /dev/null
+++ b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.152106-2.jar.md5
@@ -0,0 +1 @@
+5aedc9c66333ba421d326f49d2e22f92
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.152106-2.jar.sha1 b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.152106-2.jar.sha1
new file mode 100644
index 0000000..9d125e2
--- /dev/null
+++ b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.152106-2.jar.sha1
@@ -0,0 +1 @@
+350cec394b6f146afd899352d0374fe806ce91a8
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.152106-2.pom b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.152106-2.pom
new file mode 100644
index 0000000..8afc7ca
--- /dev/null
+++ b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.152106-2.pom
@@ -0,0 +1,176 @@
+
+
+
+
+
+ io.covenantsql
+ covenantsql-java
+ 1.0-SNAPSHOT
+
+ 4.0.0
+
+ covenantsql-java-connector
+
+ covenantsql-java-connector
+ http://www.covenantlabs.io/
+
+
+
+ The Apache Software License, Version 2.0
+ http://www.apache.org/licenses/LICENSE-2.0.txt
+ repo
+
+
+
+
+ scm:git:git://github.com/CovenantSQL/covenant-connector.git
+ scm:git:git://github.com/CovenantSQL/covenant-connector.git
+
+
+
+
+
+ src/main/resources
+
+
+
+
+ src/test/resources
+
+
+
+
+
+ maven-assembly-plugin
+ 3.1.0
+
+
+ jar-with-dependencies
+
+
+
+
+ package
+
+ single
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-shade-plugin
+ 3.2.0
+
+
+
+ shade
+
+
+
+
+ *:*
+
+
+ true
+
+
+ org.apache.http
+
+ io.covenantsql.shade.org.apache.http
+
+
+
+
+
+
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-javadoc-plugin
+ 3.0.1
+
+ ${project.name} ${project.version} API
+ en_US
+ UTF-8
+
+
+
+ org.apache.maven.plugins
+ maven-jxr-plugin
+ 2.5
+
+
+ org.apache.maven.plugins
+ maven-surefire-report-plugin
+ 2.22.0
+
+
+
+
+
+
+ org.apache.httpcomponents
+ fluent-hc
+ ${http-client.version}
+
+
+ org.slf4j
+ slf4j-api
+ ${slf4j.version}
+
+
+ org.apache.commons
+ commons-lang3
+ ${commons-lang.version}
+
+
+ com.google.guava
+ guava
+ ${guava.version}
+
+
+ com.fasterxml.jackson.core
+ jackson-databind
+ ${jackson.version}
+
+
+ org.bouncycastle
+ bcpkix-jdk15on
+ ${bountycastle.version}
+
+
+ junit
+ junit
+ ${junit.version}
+ test
+
+
+ org.slf4j
+ slf4j-simple
+ ${slf4j.version}
+ provided
+
+
+
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.152106-2.pom.md5 b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.152106-2.pom.md5
new file mode 100644
index 0000000..74849f6
--- /dev/null
+++ b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.152106-2.pom.md5
@@ -0,0 +1 @@
+92497ce0f70c7a2fba6244b4b8324b3d
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.152106-2.pom.sha1 b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.152106-2.pom.sha1
new file mode 100644
index 0000000..4aebb6e
--- /dev/null
+++ b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.152106-2.pom.sha1
@@ -0,0 +1 @@
+6801b9c3f7dee7518fc3f4cb033f5aa5c0716bb8
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.153055-3-jar-with-dependencies.jar b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.153055-3-jar-with-dependencies.jar
new file mode 100644
index 0000000..057dc5e
Binary files /dev/null and b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.153055-3-jar-with-dependencies.jar differ
diff --git a/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.153055-3-jar-with-dependencies.jar.md5 b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.153055-3-jar-with-dependencies.jar.md5
new file mode 100644
index 0000000..1e36503
--- /dev/null
+++ b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.153055-3-jar-with-dependencies.jar.md5
@@ -0,0 +1 @@
+9ba32fe5e54afc52468a976d73eefc95
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.153055-3-jar-with-dependencies.jar.sha1 b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.153055-3-jar-with-dependencies.jar.sha1
new file mode 100644
index 0000000..94c5a87
--- /dev/null
+++ b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.153055-3-jar-with-dependencies.jar.sha1
@@ -0,0 +1 @@
+7758c0d60872f06582a61479a911193aeb2edd79
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.153055-3-shaded.jar b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.153055-3-shaded.jar
new file mode 100644
index 0000000..663b800
Binary files /dev/null and b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.153055-3-shaded.jar differ
diff --git a/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.153055-3-shaded.jar.md5 b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.153055-3-shaded.jar.md5
new file mode 100644
index 0000000..c96ace7
--- /dev/null
+++ b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.153055-3-shaded.jar.md5
@@ -0,0 +1 @@
+747f138be953c80120630df1087ab264
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.153055-3-shaded.jar.sha1 b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.153055-3-shaded.jar.sha1
new file mode 100644
index 0000000..d2eee3a
--- /dev/null
+++ b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.153055-3-shaded.jar.sha1
@@ -0,0 +1 @@
+fac31af1ab9bf444a53d9bed88606786dda4eb1c
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.153055-3.jar b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.153055-3.jar
new file mode 100644
index 0000000..ac5426f
Binary files /dev/null and b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.153055-3.jar differ
diff --git a/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.153055-3.jar.md5 b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.153055-3.jar.md5
new file mode 100644
index 0000000..25f32f7
--- /dev/null
+++ b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.153055-3.jar.md5
@@ -0,0 +1 @@
+5aedc9c66333ba421d326f49d2e22f92
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.153055-3.jar.sha1 b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.153055-3.jar.sha1
new file mode 100644
index 0000000..9d125e2
--- /dev/null
+++ b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.153055-3.jar.sha1
@@ -0,0 +1 @@
+350cec394b6f146afd899352d0374fe806ce91a8
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.153055-3.pom b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.153055-3.pom
new file mode 100644
index 0000000..8afc7ca
--- /dev/null
+++ b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.153055-3.pom
@@ -0,0 +1,176 @@
+
+
+
+
+
+ io.covenantsql
+ covenantsql-java
+ 1.0-SNAPSHOT
+
+ 4.0.0
+
+ covenantsql-java-connector
+
+ covenantsql-java-connector
+ http://www.covenantlabs.io/
+
+
+
+ The Apache Software License, Version 2.0
+ http://www.apache.org/licenses/LICENSE-2.0.txt
+ repo
+
+
+
+
+ scm:git:git://github.com/CovenantSQL/covenant-connector.git
+ scm:git:git://github.com/CovenantSQL/covenant-connector.git
+
+
+
+
+
+ src/main/resources
+
+
+
+
+ src/test/resources
+
+
+
+
+
+ maven-assembly-plugin
+ 3.1.0
+
+
+ jar-with-dependencies
+
+
+
+
+ package
+
+ single
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-shade-plugin
+ 3.2.0
+
+
+
+ shade
+
+
+
+
+ *:*
+
+
+ true
+
+
+ org.apache.http
+
+ io.covenantsql.shade.org.apache.http
+
+
+
+
+
+
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-javadoc-plugin
+ 3.0.1
+
+ ${project.name} ${project.version} API
+ en_US
+ UTF-8
+
+
+
+ org.apache.maven.plugins
+ maven-jxr-plugin
+ 2.5
+
+
+ org.apache.maven.plugins
+ maven-surefire-report-plugin
+ 2.22.0
+
+
+
+
+
+
+ org.apache.httpcomponents
+ fluent-hc
+ ${http-client.version}
+
+
+ org.slf4j
+ slf4j-api
+ ${slf4j.version}
+
+
+ org.apache.commons
+ commons-lang3
+ ${commons-lang.version}
+
+
+ com.google.guava
+ guava
+ ${guava.version}
+
+
+ com.fasterxml.jackson.core
+ jackson-databind
+ ${jackson.version}
+
+
+ org.bouncycastle
+ bcpkix-jdk15on
+ ${bountycastle.version}
+
+
+ junit
+ junit
+ ${junit.version}
+ test
+
+
+ org.slf4j
+ slf4j-simple
+ ${slf4j.version}
+ provided
+
+
+
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.153055-3.pom.md5 b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.153055-3.pom.md5
new file mode 100644
index 0000000..74849f6
--- /dev/null
+++ b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.153055-3.pom.md5
@@ -0,0 +1 @@
+92497ce0f70c7a2fba6244b4b8324b3d
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.153055-3.pom.sha1 b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.153055-3.pom.sha1
new file mode 100644
index 0000000..4aebb6e
--- /dev/null
+++ b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/covenantsql-java-connector-1.0-20190515.153055-3.pom.sha1
@@ -0,0 +1 @@
+6801b9c3f7dee7518fc3f4cb033f5aa5c0716bb8
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/maven-metadata.xml b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/maven-metadata.xml
new file mode 100644
index 0000000..9ef2911
--- /dev/null
+++ b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/maven-metadata.xml
@@ -0,0 +1,37 @@
+
+
+ io.covenantsql
+ covenantsql-java-connector
+ 1.0-SNAPSHOT
+
+
+ 20190515.153055
+ 3
+
+ 20190515153055
+
+
+ jar
+ 1.0-20190515.153055-3
+ 20190515153055
+
+
+ pom
+ 1.0-20190515.153055-3
+ 20190515153055
+
+
+ jar-with-dependencies
+ jar
+ 1.0-20190515.153055-3
+ 20190515153055
+
+
+ shaded
+ jar
+ 1.0-20190515.153055-3
+ 20190515153055
+
+
+
+
diff --git a/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/maven-metadata.xml.md5 b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/maven-metadata.xml.md5
new file mode 100644
index 0000000..3768dfd
--- /dev/null
+++ b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/maven-metadata.xml.md5
@@ -0,0 +1 @@
+105fff0052b99c758f56d137e53cab50
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/maven-metadata.xml.sha1 b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/maven-metadata.xml.sha1
new file mode 100644
index 0000000..557fee7
--- /dev/null
+++ b/io/covenantsql/covenantsql-java-connector/1.0-SNAPSHOT/maven-metadata.xml.sha1
@@ -0,0 +1 @@
+5cba202c694a27527c1b6528022bc528f79e5b86
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java-connector/maven-metadata.xml b/io/covenantsql/covenantsql-java-connector/maven-metadata.xml
new file mode 100644
index 0000000..a4cb632
--- /dev/null
+++ b/io/covenantsql/covenantsql-java-connector/maven-metadata.xml
@@ -0,0 +1,11 @@
+
+
+ io.covenantsql
+ covenantsql-java-connector
+
+
+ 1.0-SNAPSHOT
+
+ 20190515153055
+
+
diff --git a/io/covenantsql/covenantsql-java-connector/maven-metadata.xml.md5 b/io/covenantsql/covenantsql-java-connector/maven-metadata.xml.md5
new file mode 100644
index 0000000..e0d8301
--- /dev/null
+++ b/io/covenantsql/covenantsql-java-connector/maven-metadata.xml.md5
@@ -0,0 +1 @@
+1bc6172d44e5a0bcb572ee207ec86c4b
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java-connector/maven-metadata.xml.sha1 b/io/covenantsql/covenantsql-java-connector/maven-metadata.xml.sha1
new file mode 100644
index 0000000..8f52cf2
--- /dev/null
+++ b/io/covenantsql/covenantsql-java-connector/maven-metadata.xml.sha1
@@ -0,0 +1 @@
+9d2bc3aad15dc3c05aa4735bfc1b65a5d7e37b7f
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190415.070105-1.pom b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190415.070105-1.pom
new file mode 100644
index 0000000..fa8d403
--- /dev/null
+++ b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190415.070105-1.pom
@@ -0,0 +1,71 @@
+
+
+
+
+ 4.0.0
+
+ io.covenantsql
+ covenantsql-java
+ pom
+ 1.0-SNAPSHOT
+
+
+ example
+ connector
+
+
+
+
+
+ maven-compiler-plugin
+ 3.8.0
+
+ 1.7
+ 1.7
+
+
+
+ maven-release-plugin
+ 2.5.3
+
+ deploy
+ scm:git:git://github.com/CovenantSQL/covenant-connector.git
+
+
+
+
+
+
+
+ internal
+ file://${project.build.directory}/mvn-repo
+
+
+
+
+ 4.5.6
+ 20.0
+ 1.7.25
+ 3.8
+ 2.9.6
+ 1.60
+ 4.12
+ UTF-8
+
+
diff --git a/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190415.070105-1.pom.md5 b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190415.070105-1.pom.md5
new file mode 100644
index 0000000..e740842
--- /dev/null
+++ b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190415.070105-1.pom.md5
@@ -0,0 +1 @@
+ac6354afef5d093ca4b6db178c9e9e5a
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190415.070105-1.pom.sha1 b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190415.070105-1.pom.sha1
new file mode 100644
index 0000000..06eea30
--- /dev/null
+++ b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190415.070105-1.pom.sha1
@@ -0,0 +1 @@
+71ae6bc70853f19bcc043810dbb004c32ae6d6d6
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.133632-2.pom b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.133632-2.pom
new file mode 100644
index 0000000..fa8d403
--- /dev/null
+++ b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.133632-2.pom
@@ -0,0 +1,71 @@
+
+
+
+
+ 4.0.0
+
+ io.covenantsql
+ covenantsql-java
+ pom
+ 1.0-SNAPSHOT
+
+
+ example
+ connector
+
+
+
+
+
+ maven-compiler-plugin
+ 3.8.0
+
+ 1.7
+ 1.7
+
+
+
+ maven-release-plugin
+ 2.5.3
+
+ deploy
+ scm:git:git://github.com/CovenantSQL/covenant-connector.git
+
+
+
+
+
+
+
+ internal
+ file://${project.build.directory}/mvn-repo
+
+
+
+
+ 4.5.6
+ 20.0
+ 1.7.25
+ 3.8
+ 2.9.6
+ 1.60
+ 4.12
+ UTF-8
+
+
diff --git a/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.133632-2.pom.md5 b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.133632-2.pom.md5
new file mode 100644
index 0000000..e740842
--- /dev/null
+++ b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.133632-2.pom.md5
@@ -0,0 +1 @@
+ac6354afef5d093ca4b6db178c9e9e5a
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.133632-2.pom.sha1 b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.133632-2.pom.sha1
new file mode 100644
index 0000000..06eea30
--- /dev/null
+++ b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.133632-2.pom.sha1
@@ -0,0 +1 @@
+71ae6bc70853f19bcc043810dbb004c32ae6d6d6
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.134350-3.pom b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.134350-3.pom
new file mode 100644
index 0000000..3680f50
--- /dev/null
+++ b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.134350-3.pom
@@ -0,0 +1,94 @@
+
+
+
+
+ 4.0.0
+
+ io.covenantsql
+ covenantsql-java
+ pom
+ 1.0-SNAPSHOT
+
+
+ example
+ connector
+
+
+
+
+
+ maven-compiler-plugin
+ 3.8.0
+
+ 1.7
+ 1.7
+
+
+
+ maven-release-plugin
+ 2.5.3
+
+ deploy
+ scm:git:git://github.com/CovenantSQL/covenant-connector.git
+
+
+
+ com.github.github
+ site-maven-plugin
+ 0.11
+
+ Maven artifacts for ${project.version}
+ true
+ ${project.build.directory}/mvn-repo
+ refs/heads/mvn-repo
+
+ **/*
+
+ CovenantSQL/covenant-connector
+
+
+
+
+ site
+
+ deploy
+
+
+
+
+
+
+
+
+ internal
+ file://${project.build.directory}/mvn-repo
+
+
+
+
+ 4.5.6
+ 20.0
+ 1.7.25
+ 3.8
+ 2.9.6
+ 1.60
+ 4.12
+ UTF-8
+
+
diff --git a/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.134350-3.pom.md5 b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.134350-3.pom.md5
new file mode 100644
index 0000000..d7454c4
--- /dev/null
+++ b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.134350-3.pom.md5
@@ -0,0 +1 @@
+a19da8d8b2b742f7b8b1a455624f4582
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.134350-3.pom.sha1 b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.134350-3.pom.sha1
new file mode 100644
index 0000000..72994b6
--- /dev/null
+++ b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.134350-3.pom.sha1
@@ -0,0 +1 @@
+a9d6c96f8fa82f4ffa0f2878f3ec75f583b6d1fa
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.134419-4.pom b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.134419-4.pom
new file mode 100644
index 0000000..cb6efa4
--- /dev/null
+++ b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.134419-4.pom
@@ -0,0 +1,95 @@
+
+
+
+
+ 4.0.0
+
+ io.covenantsql
+ covenantsql-java
+ pom
+ 1.0-SNAPSHOT
+
+
+ example
+ connector
+
+
+
+
+
+ maven-compiler-plugin
+ 3.8.0
+
+ 1.7
+ 1.7
+
+
+
+ maven-release-plugin
+ 2.5.3
+
+ deploy
+ scm:git:git://github.com/CovenantSQL/covenant-connector.git
+
+
+
+ com.github.github
+ site-maven-plugin
+ 0.11
+
+ Maven artifacts for ${project.version}
+ true
+ ${project.build.directory}/mvn-repo
+ refs/heads/mvn-repo
+
+ **/*
+
+ CovenantSQL/covenant-connector
+ xq262144
+
+
+
+
+ site
+
+ deploy
+
+
+
+
+
+
+
+
+ internal
+ file://${project.build.directory}/mvn-repo
+
+
+
+
+ 4.5.6
+ 20.0
+ 1.7.25
+ 3.8
+ 2.9.6
+ 1.60
+ 4.12
+ UTF-8
+
+
diff --git a/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.134419-4.pom.md5 b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.134419-4.pom.md5
new file mode 100644
index 0000000..a9afa3c
--- /dev/null
+++ b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.134419-4.pom.md5
@@ -0,0 +1 @@
+61506a7da79094fc7da707a470a401c1
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.134419-4.pom.sha1 b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.134419-4.pom.sha1
new file mode 100644
index 0000000..fc93452
--- /dev/null
+++ b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.134419-4.pom.sha1
@@ -0,0 +1 @@
+bbe7a743e2b5c423ae18825453420cec2b6564d7
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.134607-5.pom b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.134607-5.pom
new file mode 100644
index 0000000..cb6efa4
--- /dev/null
+++ b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.134607-5.pom
@@ -0,0 +1,95 @@
+
+
+
+
+ 4.0.0
+
+ io.covenantsql
+ covenantsql-java
+ pom
+ 1.0-SNAPSHOT
+
+
+ example
+ connector
+
+
+
+
+
+ maven-compiler-plugin
+ 3.8.0
+
+ 1.7
+ 1.7
+
+
+
+ maven-release-plugin
+ 2.5.3
+
+ deploy
+ scm:git:git://github.com/CovenantSQL/covenant-connector.git
+
+
+
+ com.github.github
+ site-maven-plugin
+ 0.11
+
+ Maven artifacts for ${project.version}
+ true
+ ${project.build.directory}/mvn-repo
+ refs/heads/mvn-repo
+
+ **/*
+
+ CovenantSQL/covenant-connector
+ xq262144
+
+
+
+
+ site
+
+ deploy
+
+
+
+
+
+
+
+
+ internal
+ file://${project.build.directory}/mvn-repo
+
+
+
+
+ 4.5.6
+ 20.0
+ 1.7.25
+ 3.8
+ 2.9.6
+ 1.60
+ 4.12
+ UTF-8
+
+
diff --git a/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.134607-5.pom.md5 b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.134607-5.pom.md5
new file mode 100644
index 0000000..a9afa3c
--- /dev/null
+++ b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.134607-5.pom.md5
@@ -0,0 +1 @@
+61506a7da79094fc7da707a470a401c1
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.134607-5.pom.sha1 b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.134607-5.pom.sha1
new file mode 100644
index 0000000..fc93452
--- /dev/null
+++ b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.134607-5.pom.sha1
@@ -0,0 +1 @@
+bbe7a743e2b5c423ae18825453420cec2b6564d7
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.134716-6.pom b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.134716-6.pom
new file mode 100644
index 0000000..cb6efa4
--- /dev/null
+++ b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.134716-6.pom
@@ -0,0 +1,95 @@
+
+
+
+
+ 4.0.0
+
+ io.covenantsql
+ covenantsql-java
+ pom
+ 1.0-SNAPSHOT
+
+
+ example
+ connector
+
+
+
+
+
+ maven-compiler-plugin
+ 3.8.0
+
+ 1.7
+ 1.7
+
+
+
+ maven-release-plugin
+ 2.5.3
+
+ deploy
+ scm:git:git://github.com/CovenantSQL/covenant-connector.git
+
+
+
+ com.github.github
+ site-maven-plugin
+ 0.11
+
+ Maven artifacts for ${project.version}
+ true
+ ${project.build.directory}/mvn-repo
+ refs/heads/mvn-repo
+
+ **/*
+
+ CovenantSQL/covenant-connector
+ xq262144
+
+
+
+
+ site
+
+ deploy
+
+
+
+
+
+
+
+
+ internal
+ file://${project.build.directory}/mvn-repo
+
+
+
+
+ 4.5.6
+ 20.0
+ 1.7.25
+ 3.8
+ 2.9.6
+ 1.60
+ 4.12
+ UTF-8
+
+
diff --git a/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.134716-6.pom.md5 b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.134716-6.pom.md5
new file mode 100644
index 0000000..a9afa3c
--- /dev/null
+++ b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.134716-6.pom.md5
@@ -0,0 +1 @@
+61506a7da79094fc7da707a470a401c1
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.134716-6.pom.sha1 b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.134716-6.pom.sha1
new file mode 100644
index 0000000..fc93452
--- /dev/null
+++ b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.134716-6.pom.sha1
@@ -0,0 +1 @@
+bbe7a743e2b5c423ae18825453420cec2b6564d7
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.134915-7.pom b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.134915-7.pom
new file mode 100644
index 0000000..f8b3120
--- /dev/null
+++ b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.134915-7.pom
@@ -0,0 +1,95 @@
+
+
+
+
+ 4.0.0
+
+ io.covenantsql
+ covenantsql-java
+ pom
+ 1.0-SNAPSHOT
+
+
+ example
+ connector
+
+
+
+
+
+ maven-compiler-plugin
+ 3.8.0
+
+ 1.7
+ 1.7
+
+
+
+ maven-release-plugin
+ 2.5.3
+
+ deploy
+ scm:git:git://github.com/CovenantSQL/covenant-connector.git
+
+
+
+ com.github.github
+ site-maven-plugin
+ 0.11
+
+ Maven artifacts for ${project.version}
+ true
+ ${project.build.directory}/mvn-repo
+ refs/heads/mvn-repo
+
+ **/*
+
+ covenant-connector
+ CovenantSQL
+
+
+
+
+ site
+
+ deploy
+
+
+
+
+
+
+
+
+ internal
+ file://${project.build.directory}/mvn-repo
+
+
+
+
+ 4.5.6
+ 20.0
+ 1.7.25
+ 3.8
+ 2.9.6
+ 1.60
+ 4.12
+ UTF-8
+
+
diff --git a/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.134915-7.pom.md5 b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.134915-7.pom.md5
new file mode 100644
index 0000000..6f95b06
--- /dev/null
+++ b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.134915-7.pom.md5
@@ -0,0 +1 @@
+2e72b31f00393fa1f9f386374a00faaa
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.134915-7.pom.sha1 b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.134915-7.pom.sha1
new file mode 100644
index 0000000..6d2a0f1
--- /dev/null
+++ b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.134915-7.pom.sha1
@@ -0,0 +1 @@
+86a1621d5d82cab1bbc9e296051c451112372d7b
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.135129-8.pom b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.135129-8.pom
new file mode 100644
index 0000000..f8b3120
--- /dev/null
+++ b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.135129-8.pom
@@ -0,0 +1,95 @@
+
+
+
+
+ 4.0.0
+
+ io.covenantsql
+ covenantsql-java
+ pom
+ 1.0-SNAPSHOT
+
+
+ example
+ connector
+
+
+
+
+
+ maven-compiler-plugin
+ 3.8.0
+
+ 1.7
+ 1.7
+
+
+
+ maven-release-plugin
+ 2.5.3
+
+ deploy
+ scm:git:git://github.com/CovenantSQL/covenant-connector.git
+
+
+
+ com.github.github
+ site-maven-plugin
+ 0.11
+
+ Maven artifacts for ${project.version}
+ true
+ ${project.build.directory}/mvn-repo
+ refs/heads/mvn-repo
+
+ **/*
+
+ covenant-connector
+ CovenantSQL
+
+
+
+
+ site
+
+ deploy
+
+
+
+
+
+
+
+
+ internal
+ file://${project.build.directory}/mvn-repo
+
+
+
+
+ 4.5.6
+ 20.0
+ 1.7.25
+ 3.8
+ 2.9.6
+ 1.60
+ 4.12
+ UTF-8
+
+
diff --git a/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.135129-8.pom.md5 b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.135129-8.pom.md5
new file mode 100644
index 0000000..6f95b06
--- /dev/null
+++ b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.135129-8.pom.md5
@@ -0,0 +1 @@
+2e72b31f00393fa1f9f386374a00faaa
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.135129-8.pom.sha1 b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.135129-8.pom.sha1
new file mode 100644
index 0000000..6d2a0f1
--- /dev/null
+++ b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.135129-8.pom.sha1
@@ -0,0 +1 @@
+86a1621d5d82cab1bbc9e296051c451112372d7b
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.151730-9.pom b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.151730-9.pom
new file mode 100644
index 0000000..f8b3120
--- /dev/null
+++ b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.151730-9.pom
@@ -0,0 +1,95 @@
+
+
+
+
+ 4.0.0
+
+ io.covenantsql
+ covenantsql-java
+ pom
+ 1.0-SNAPSHOT
+
+
+ example
+ connector
+
+
+
+
+
+ maven-compiler-plugin
+ 3.8.0
+
+ 1.7
+ 1.7
+
+
+
+ maven-release-plugin
+ 2.5.3
+
+ deploy
+ scm:git:git://github.com/CovenantSQL/covenant-connector.git
+
+
+
+ com.github.github
+ site-maven-plugin
+ 0.11
+
+ Maven artifacts for ${project.version}
+ true
+ ${project.build.directory}/mvn-repo
+ refs/heads/mvn-repo
+
+ **/*
+
+ covenant-connector
+ CovenantSQL
+
+
+
+
+ site
+
+ deploy
+
+
+
+
+
+
+
+
+ internal
+ file://${project.build.directory}/mvn-repo
+
+
+
+
+ 4.5.6
+ 20.0
+ 1.7.25
+ 3.8
+ 2.9.6
+ 1.60
+ 4.12
+ UTF-8
+
+
diff --git a/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.151730-9.pom.md5 b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.151730-9.pom.md5
new file mode 100644
index 0000000..6f95b06
--- /dev/null
+++ b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.151730-9.pom.md5
@@ -0,0 +1 @@
+2e72b31f00393fa1f9f386374a00faaa
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.151730-9.pom.sha1 b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.151730-9.pom.sha1
new file mode 100644
index 0000000..6d2a0f1
--- /dev/null
+++ b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.151730-9.pom.sha1
@@ -0,0 +1 @@
+86a1621d5d82cab1bbc9e296051c451112372d7b
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.151757-10.pom b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.151757-10.pom
new file mode 100644
index 0000000..f8b3120
--- /dev/null
+++ b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.151757-10.pom
@@ -0,0 +1,95 @@
+
+
+
+
+ 4.0.0
+
+ io.covenantsql
+ covenantsql-java
+ pom
+ 1.0-SNAPSHOT
+
+
+ example
+ connector
+
+
+
+
+
+ maven-compiler-plugin
+ 3.8.0
+
+ 1.7
+ 1.7
+
+
+
+ maven-release-plugin
+ 2.5.3
+
+ deploy
+ scm:git:git://github.com/CovenantSQL/covenant-connector.git
+
+
+
+ com.github.github
+ site-maven-plugin
+ 0.11
+
+ Maven artifacts for ${project.version}
+ true
+ ${project.build.directory}/mvn-repo
+ refs/heads/mvn-repo
+
+ **/*
+
+ covenant-connector
+ CovenantSQL
+
+
+
+
+ site
+
+ deploy
+
+
+
+
+
+
+
+
+ internal
+ file://${project.build.directory}/mvn-repo
+
+
+
+
+ 4.5.6
+ 20.0
+ 1.7.25
+ 3.8
+ 2.9.6
+ 1.60
+ 4.12
+ UTF-8
+
+
diff --git a/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.151757-10.pom.md5 b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.151757-10.pom.md5
new file mode 100644
index 0000000..6f95b06
--- /dev/null
+++ b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.151757-10.pom.md5
@@ -0,0 +1 @@
+2e72b31f00393fa1f9f386374a00faaa
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.151757-10.pom.sha1 b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.151757-10.pom.sha1
new file mode 100644
index 0000000..6d2a0f1
--- /dev/null
+++ b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.151757-10.pom.sha1
@@ -0,0 +1 @@
+86a1621d5d82cab1bbc9e296051c451112372d7b
\ No newline at end of file
diff --git a/pom.xml b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.152747-11.pom
similarity index 50%
rename from pom.xml
rename to io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.152747-11.pom
index c32c20f..b49cf01 100644
--- a/pom.xml
+++ b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.152747-11.pom
@@ -21,35 +21,12 @@
4.0.0
io.covenantsql
- cql-java-driver
+ covenantsql-java
pom
- 1.0.3
- cql-java-driver
- CovenantSQL 数据库 Java Driver
- https://covenantsql.io
-
-
-
- The Apache Software License, Version 2.0
- http://www.apache.org/licenses/LICENSE-2.0.txt
-
-
-
-
-
- laodouya
- jin.xu@CovenantSQL.io
-
-
-
-
- scm:git@github.com:CovenantSQL/cql-java-driver.git
- scm:git@github.com:CovenantSQL/cql-java-driver.git
- git@github.com:CovenantSQL/cql-java-driver.git
-
+ 1.0-SNAPSHOT
-
+ example
connector
@@ -63,29 +40,15 @@
1.7
-
-
- org.apache.maven.plugins
- maven-javadoc-plugin
- 3.1.1
-
-
- package
-
- jar
-
-
-
-
-
-
+
@@ -120,79 +83,6 @@
-
-
- release
-
-
- oss
- https://oss.sonatype.org/content/repositories/snapshots/
-
-
- oss
- https://oss.sonatype.org/service/local/staging/deploy/maven2/
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-source-plugin
- 3.1.0
-
-
- oss
- package
-
- jar-no-fork
-
-
-
-
-
- org.codehaus.mojo
- cobertura-maven-plugin
- 2.7
-
-
- html
- xml
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-gpg-plugin
- 1.6
-
-
- oss
- verify
-
- sign
-
-
-
-
-
- org.sonatype.plugins
- nexus-staging-maven-plugin
- 1.6.8
- true
-
- oss
- https://oss.sonatype.org/
- true
-
-
-
-
-
-
-
4.5.6
20.0
diff --git a/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.152747-11.pom.md5 b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.152747-11.pom.md5
new file mode 100644
index 0000000..65eaec4
--- /dev/null
+++ b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.152747-11.pom.md5
@@ -0,0 +1 @@
+6a81b92cbe30b621e9ff85a791da40cc
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.152747-11.pom.sha1 b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.152747-11.pom.sha1
new file mode 100644
index 0000000..05de4a4
--- /dev/null
+++ b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/covenantsql-java-1.0-20190515.152747-11.pom.sha1
@@ -0,0 +1 @@
+4956ee50d263d154aa17da626b6d2dabff27b279
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/maven-metadata.xml b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/maven-metadata.xml
new file mode 100644
index 0000000..d40b992
--- /dev/null
+++ b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/maven-metadata.xml
@@ -0,0 +1,20 @@
+
+
+ io.covenantsql
+ covenantsql-java
+ 1.0-SNAPSHOT
+
+
+ 20190515.152747
+ 11
+
+ 20190515152747
+
+
+ pom
+ 1.0-20190515.152747-11
+ 20190515152747
+
+
+
+
diff --git a/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/maven-metadata.xml.md5 b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/maven-metadata.xml.md5
new file mode 100644
index 0000000..f0973f4
--- /dev/null
+++ b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/maven-metadata.xml.md5
@@ -0,0 +1 @@
+cf89f673e69f24b76b1db0719cdef580
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/maven-metadata.xml.sha1 b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/maven-metadata.xml.sha1
new file mode 100644
index 0000000..78039bf
--- /dev/null
+++ b/io/covenantsql/covenantsql-java/1.0-SNAPSHOT/maven-metadata.xml.sha1
@@ -0,0 +1 @@
+7aef0de06ebf360cff2eecbde7b494087199c46b
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java/maven-metadata.xml b/io/covenantsql/covenantsql-java/maven-metadata.xml
new file mode 100644
index 0000000..4ad4067
--- /dev/null
+++ b/io/covenantsql/covenantsql-java/maven-metadata.xml
@@ -0,0 +1,11 @@
+
+
+ io.covenantsql
+ covenantsql-java
+
+
+ 1.0-SNAPSHOT
+
+ 20190515152747
+
+
diff --git a/io/covenantsql/covenantsql-java/maven-metadata.xml.md5 b/io/covenantsql/covenantsql-java/maven-metadata.xml.md5
new file mode 100644
index 0000000..7d15c21
--- /dev/null
+++ b/io/covenantsql/covenantsql-java/maven-metadata.xml.md5
@@ -0,0 +1 @@
+9b538bf185272808bcf88a5e80c83630
\ No newline at end of file
diff --git a/io/covenantsql/covenantsql-java/maven-metadata.xml.sha1 b/io/covenantsql/covenantsql-java/maven-metadata.xml.sha1
new file mode 100644
index 0000000..2172b23
--- /dev/null
+++ b/io/covenantsql/covenantsql-java/maven-metadata.xml.sha1
@@ -0,0 +1 @@
+ddfb32ab8c90145d13c58350709554b36b72c6a6
\ No newline at end of file