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 @@ - - - - - - - - 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