Skip to content

Commit f76a10b

Browse files
Refactoring datasource changes to a new module. (#1504) (#1510)
* Reafactor into new datasources module Signed-off-by: vamsi-amazon <reddyvam@amazon.com> * Refactored all the datasource releated code to new datasources module Signed-off-by: vamsi-amazon <reddyvam@amazon.com> * More unit tests Signed-off-by: vamsi-amazon <reddyvam@amazon.com> --------- Signed-off-by: vamsi-amazon <reddyvam@amazon.com> (cherry picked from commit 7584f79) Co-authored-by: Vamsi Manohar <reddyvam@amazon.com>
1 parent d16cd3d commit f76a10b

56 files changed

Lines changed: 1625 additions & 494 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

common/build.gradle

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@ dependencies {
3636
api group: 'com.google.guava', name: 'guava', version: '31.0.1-jre'
3737
api group: 'org.apache.logging.log4j', name: 'log4j-core', version:'2.17.1'
3838
api group: 'org.apache.commons', name: 'commons-lang3', version: '3.12.0'
39-
api 'com.amazonaws:aws-encryption-sdk-java:2.4.0'
4039

4140
testImplementation group: 'junit', name: 'junit', version: '4.13.2'
4241
testImplementation group: 'org.assertj', name: 'assertj-core', version: '3.9.1'

config/checkstyle/google_checks.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,9 @@
3939
<property name="max" value="100"/>
4040
<property name="ignorePattern" value="^package.*|^import.*|a href|href|http://|https://|ftp://"/>
4141
</module>
42-
42+
<module name="SuppressWarningsFilter" />
4343
<module name="TreeWalker">
44+
<module name="SuppressWarningsHolder" />
4445
<module name="OuterTypeFilename"/>
4546
<module name="IllegalTokenText">
4647
<property name="tokens" value="STRING_LITERAL, CHAR_LITERAL"/>

core/src/main/java/org/opensearch/sql/datasource/model/DataSourceMetadata.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,13 @@
1212
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
1313
import com.fasterxml.jackson.annotation.JsonProperty;
1414
import com.google.common.collect.ImmutableMap;
15-
import com.google.gson.Gson;
16-
import java.io.IOException;
1715
import java.util.Collections;
1816
import java.util.List;
1917
import java.util.Map;
2018
import lombok.AllArgsConstructor;
2119
import lombok.EqualsAndHashCode;
2220
import lombok.Getter;
2321
import lombok.NoArgsConstructor;
24-
import lombok.RequiredArgsConstructor;
2522
import lombok.Setter;
2623
import org.opensearch.sql.datasource.DataSourceService;
2724

core/src/main/java/org/opensearch/sql/storage/DataSourceFactory.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77

88
package org.opensearch.sql.storage;
99

10-
import java.util.Map;
1110
import org.opensearch.sql.datasource.DataSourceService;
1211
import org.opensearch.sql.datasource.model.DataSource;
1312
import org.opensearch.sql.datasource.model.DataSourceMetadata;

datasources/build.gradle

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
/*
2+
* Copyright OpenSearch Contributors
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
plugins {
7+
id 'java-library'
8+
id "io.freefair.lombok"
9+
id 'jacoco'
10+
}
11+
12+
repositories {
13+
mavenCentral()
14+
}
15+
16+
dependencies {
17+
implementation project(':core')
18+
implementation project(':protocol')
19+
implementation group: 'org.opensearch', name: 'opensearch', version: "${opensearch_version}"
20+
implementation group: 'org.opensearch', name: 'opensearch-x-content', version: "${opensearch_version}"
21+
implementation group: 'org.opensearch', name: 'common-utils', version: "${opensearch_build}"
22+
implementation group: 'commons-io', name: 'commons-io', version: '2.8.0'
23+
implementation 'com.amazonaws:aws-encryption-sdk-java:2.4.0'
24+
25+
testImplementation group: 'junit', name: 'junit', version: '4.13.2'
26+
testImplementation('org.junit.jupiter:junit-jupiter:5.6.2')
27+
testImplementation group: 'net.bytebuddy', name: 'byte-buddy-agent', version: '1.12.13'
28+
testImplementation group: 'org.hamcrest', name: 'hamcrest-library', version: '2.1'
29+
testImplementation group: 'org.mockito', name: 'mockito-core', version: '5.2.0'
30+
testImplementation group: 'org.mockito', name: 'mockito-junit-jupiter', version: '5.2.0'
31+
testImplementation 'org.junit.jupiter:junit-jupiter:5.6.2'
32+
}
33+
34+
test {
35+
useJUnitPlatform()
36+
testLogging {
37+
events "passed", "skipped", "failed"
38+
exceptionFormat "full"
39+
}
40+
}
41+
42+
jacocoTestReport {
43+
reports {
44+
html.enabled true
45+
xml.enabled true
46+
}
47+
afterEvaluate {
48+
classDirectories.setFrom(files(classDirectories.files.collect {
49+
fileTree(dir: it)
50+
}))
51+
}
52+
}
53+
test.finalizedBy(project.tasks.jacocoTestReport)
54+
55+
jacocoTestCoverageVerification {
56+
violationRules {
57+
rule {
58+
element = 'CLASS'
59+
excludes = [
60+
'org.opensearch.sql.datasources.settings.DataSourceSettings',
61+
'org.opensearch.sql.datasources.exceptions.*',
62+
'org.opensearch.sql.datasources.model.*',
63+
'org.opensearch.sql.datasources.rest.*'
64+
]
65+
limit {
66+
counter = 'LINE'
67+
minimum = 1.0
68+
}
69+
limit {
70+
counter = 'BRANCH'
71+
minimum = 0.9
72+
}
73+
}
74+
}
75+
afterEvaluate {
76+
classDirectories.setFrom(files(classDirectories.files.collect {
77+
fileTree(dir: it)
78+
}))
79+
}
80+
}
81+
check.dependsOn jacocoTestCoverageVerification
82+
jacocoTestCoverageVerification.dependsOn jacocoTestReport

datasources/lombok.config

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# This file is generated by the 'io.freefair.lombok' Gradle plugin
2+
config.stopBubbling = true
3+
lombok.addLombokGeneratedAnnotation = true

core/src/main/java/org/opensearch/sql/datasource/model/auth/AuthenticationType.java renamed to datasources/src/main/java/org/opensearch/sql/datasources/auth/AuthenticationType.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
*
66
*/
77

8-
package org.opensearch.sql.datasource.model.auth;
8+
package org.opensearch.sql.datasources.auth;
99

1010
import java.util.Collections;
1111
import java.util.HashMap;

core/src/main/java/org/opensearch/sql/datasource/DataSourceUserAuthorizationHelper.java renamed to datasources/src/main/java/org/opensearch/sql/datasources/auth/DataSourceUserAuthorizationHelper.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
1-
package org.opensearch.sql.datasource;
1+
/*
2+
* Copyright OpenSearch Contributors
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
package org.opensearch.sql.datasources.auth;
27

3-
import java.util.List;
48
import org.opensearch.sql.datasource.model.DataSourceMetadata;
59

610
/**

plugin/src/main/java/org/opensearch/sql/plugin/datasource/DataSourceUserAuthorizationHelperImpl.java renamed to datasources/src/main/java/org/opensearch/sql/datasources/auth/DataSourceUserAuthorizationHelperImpl.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,15 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
package org.opensearch.sql.plugin.datasource;
6+
package org.opensearch.sql.datasources.auth;
77

8-
import static org.opensearch.commons.ConfigConstants.OPENSEARCH_SECURITY_USER_INFO_THREAD_CONTEXT;
98
import static org.opensearch.sql.analysis.DataSourceSchemaIdentifierNameResolver.DEFAULT_DATASOURCE_NAME;
109

1110
import java.util.List;
1211
import lombok.AllArgsConstructor;
1312
import org.opensearch.client.Client;
13+
import org.opensearch.commons.ConfigConstants;
1414
import org.opensearch.commons.authuser.User;
15-
import org.opensearch.sql.datasource.DataSourceUserAuthorizationHelper;
1615
import org.opensearch.sql.datasource.model.DataSourceMetadata;
1716

1817
@AllArgsConstructor
@@ -21,13 +20,15 @@ public class DataSourceUserAuthorizationHelperImpl implements DataSourceUserAuth
2120

2221
private Boolean isAuthorizationRequired() {
2322
String userString = client.threadPool()
24-
.getThreadContext().getTransient(OPENSEARCH_SECURITY_USER_INFO_THREAD_CONTEXT);
23+
.getThreadContext().getTransient(
24+
ConfigConstants.OPENSEARCH_SECURITY_USER_INFO_THREAD_CONTEXT);
2525
return userString != null;
2626
}
2727

2828
private List<String> getUserRoles() {
2929
String userString = client.threadPool()
30-
.getThreadContext().getTransient(OPENSEARCH_SECURITY_USER_INFO_THREAD_CONTEXT);
30+
.getThreadContext().getTransient(
31+
ConfigConstants.OPENSEARCH_SECURITY_USER_INFO_THREAD_CONTEXT);
3132
User user = User.parse(userString);
3233
return user.getRoles();
3334
}

common/src/main/java/org/opensearch/sql/common/encryptor/Encryptor.java renamed to datasources/src/main/java/org/opensearch/sql/datasources/encryptor/Encryptor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
*
66
*/
77

8-
package org.opensearch.sql.common.encryptor;
8+
package org.opensearch.sql.datasources.encryptor;
99

1010
public interface Encryptor {
1111

0 commit comments

Comments
 (0)