Skip to content

Commit e1d7aee

Browse files
committed
change to 9 parameters constructor
1 parent faaba59 commit e1d7aee

File tree

1 file changed

+6
-26
lines changed

1 file changed

+6
-26
lines changed

core/src/main/scala/za/co/absa/spline/harvester/plugin/embedded/BigQueryPlugin.scala

+6-26
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,7 @@
1616

1717
package za.co.absa.spline.harvester.plugin.embedded
1818

19-
import java.lang.reflect.Method
20-
import java.lang.reflect.Modifier.isStatic
21-
import java.util.Optional
22-
2319
import io.github.classgraph.ClassGraph
24-
import javax.annotation.Priority
2520
import org.apache.hadoop.conf.Configuration
2621
import org.apache.spark.sql.SparkSession
2722
import org.apache.spark.sql.execution.datasources.{LogicalRelation, SaveIntoDataSourceCommand}
@@ -36,6 +31,10 @@ import za.co.absa.spline.harvester.plugin.embedded.BigQueryPlugin.SparkBigQueryC
3631
import za.co.absa.spline.harvester.plugin.embedded.BigQueryPlugin._
3732
import za.co.absa.spline.harvester.plugin.{BaseRelationProcessing, Plugin, RelationProviderProcessing}
3833

34+
import java.lang.reflect.Method
35+
import java.lang.reflect.Modifier.isStatic
36+
import java.util.Optional
37+
import javax.annotation.Priority
3938
import scala.collection.JavaConverters._
4039
import scala.language.reflectiveCalls
4140

@@ -143,33 +142,14 @@ object BigQueryPlugin {
143142
def getParentProjectId: String
144143
}
145144
private val clazz = findPossiblyShadedClass("com.google.cloud", "com.google.cloud.spark.bigquery.SparkBigQueryConfig")
146-
private val methodFrom7: Option[Method] = clazz
147-
.getMethods
148-
.find(
149-
m => m.getName == "from"
150-
&& isStatic(m.getModifiers)
151-
&& m.getParameterTypes.length == 7
152-
&& m.getReturnType.getSimpleName == "SparkBigQueryConfig"
153-
)
154-
private val methodFrom8: Option[Method] = clazz
155-
.getMethods
156-
.find(
157-
m => m.getName == "from"
158-
&& isStatic(m.getModifiers)
159-
&& m.getParameterTypes.length == 8
160-
&& m.getReturnType.getSimpleName == "SparkBigQueryConfig"
161-
)
162-
private val methodFrom9: Option[Method] = clazz
145+
private val methodFrom: Method = clazz
163146
.getMethods
164147
.find(
165148
m => m.getName == "from"
166149
&& isStatic(m.getModifiers)
167-
&& m.getParameterTypes.length == 9
150+
&& (m.getParameterTypes.length == 7 || m.getParameterTypes.length == 8 || m.getParameterTypes.length == 9)
168151
&& m.getReturnType.getSimpleName == "SparkBigQueryConfig"
169152
)
170-
private val methodFrom: Method = methodFrom7
171-
.orElse(methodFrom8)
172-
.orElse(methodFrom9)
173153
.getOrElse(sys.error(s"Cannot find method `public static SparkBigQueryConfig from(... {7|8|9 args} ...)` in the class `$clazz`"))
174154

175155
object ImmutableMap {

0 commit comments

Comments
 (0)