Skip to content

Commit 3737964

Browse files
committed
refactoring - removing persistence module, add core/testkit for es7, 8 and 9
1 parent 78f1a78 commit 3737964

File tree

103 files changed

+578
-3827
lines changed

Some content is hidden

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

103 files changed

+578
-3827
lines changed

build.sbt

Lines changed: 50 additions & 122 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import SoftClient4es.*
22
import app.softnetwork.*
3+
import sbtbuildinfo.BuildInfoKeys.buildInfoObject
34

45
/////////////////////////////////
56
// Defaults
@@ -17,7 +18,7 @@ ThisBuild / organization := "app.softnetwork"
1718

1819
name := "softclient4es"
1920

20-
ThisBuild / version := "0.1.1"
21+
ThisBuild / version := "0.1.2"
2122

2223
ThisBuild / scalaVersion := scala213
2324

@@ -93,16 +94,6 @@ lazy val core = project.in(file("core"))
9394
sql % "compile->compile;test->test;it->it"
9495
)
9596

96-
lazy val persistence = project.in(file("persistence"))
97-
.configs(IntegrationTest)
98-
.settings(
99-
Defaults.itSettings,
100-
moduleSettings
101-
)
102-
.dependsOn(
103-
core % "compile->compile;test->test;it->it"
104-
)
105-
10697
lazy val es6bridge = project.in(file("es6/sql-bridge"))
10798
.configs(IntegrationTest)
10899
.settings(
@@ -114,32 +105,36 @@ lazy val es6bridge = project.in(file("es6/sql-bridge"))
114105
sql % "compile->compile;test->test;it->it"
115106
)
116107

117-
lazy val es6rest = project.in(file("es6/rest"))
108+
lazy val es6testkit = project.in(file("es6/testkit"))
118109
.configs(IntegrationTest)
119110
.settings(
120111
Defaults.itSettings,
112+
app.softnetwork.Info.infoSettings,
121113
moduleSettings,
122114
elasticSearchVersion := Versions.es6,
115+
buildInfoKeys += BuildInfoKey("elasticVersion" -> elasticSearchVersion.value),
116+
buildInfoObject := "SoftClient4esCoreTestkitBuildInfo",
123117
)
118+
.enablePlugins(BuildInfoPlugin)
124119
.dependsOn(
125120
core % "compile->compile;test->test;it->it"
126121
)
127-
.dependsOn(
128-
es6bridge % "compile->compile;test->test;it->it"
129-
)
130122

131-
lazy val es6restp = project.in(file("es6/rest/persistence"))
123+
lazy val es6rest = project.in(file("es6/rest"))
132124
.configs(IntegrationTest)
133125
.settings(
134126
Defaults.itSettings,
135127
moduleSettings,
136128
elasticSearchVersion := Versions.es6,
137129
)
138130
.dependsOn(
139-
persistence % "compile->compile;test->test;it->it"
131+
core % "compile->compile;test->test;it->it"
140132
)
141133
.dependsOn(
142-
es6rest % "compile->compile;test->test;it->it"
134+
es6bridge % "compile->compile;test->test;it->it"
135+
)
136+
.dependsOn(
137+
es6testkit % "compile->compile;test->test;it->it"
143138
)
144139

145140
lazy val es6jest = project.in(file("es6/jest"))
@@ -155,36 +150,8 @@ lazy val es6jest = project.in(file("es6/jest"))
155150
.dependsOn(
156151
es6bridge % "compile->compile;test->test;it->it"
157152
)
158-
159-
lazy val es6jestp = project.in(file("es6/jest/persistence"))
160-
.configs(IntegrationTest)
161-
.settings(
162-
Defaults.itSettings,
163-
moduleSettings,
164-
elasticSearchVersion := Versions.es6,
165-
)
166-
.dependsOn(
167-
persistence % "compile->compile;test->test;it->it"
168-
)
169-
.dependsOn(
170-
es6jest % "compile->compile;test->test;it->it"
171-
)
172-
173-
lazy val es6testkit = project.in(file("es6/testkit"))
174-
.configs(IntegrationTest)
175-
.settings(
176-
Defaults.itSettings,
177-
app.softnetwork.Info.infoSettings,
178-
moduleSettings,
179-
elasticSearchVersion := Versions.es6,
180-
buildInfoKeys += BuildInfoKey("elasticVersion" -> elasticSearchVersion.value)
181-
)
182-
.enablePlugins(BuildInfoPlugin)
183153
.dependsOn(
184-
es6restp % "compile->compile;test->test;it->it"
185-
)
186-
.dependsOn(
187-
es6jestp % "compile->compile;test->test;it->it"
154+
es6testkit % "compile->compile;test->test;it->it"
188155
)
189156

190157
lazy val es6 = project.in(file("es6"))
@@ -197,11 +164,9 @@ lazy val es6 = project.in(file("es6"))
197164
)
198165
.aggregate(
199166
es6bridge,
167+
es6testkit,
200168
es6rest,
201-
es6restp,
202-
es6jest,
203-
es6jestp,
204-
es6testkit
169+
es6jest
205170
)
206171

207172
lazy val es7bridge = project.in(file("sql/bridge"))
@@ -215,46 +180,36 @@ lazy val es7bridge = project.in(file("sql/bridge"))
215180
sql % "compile->compile;test->test;it->it"
216181
)
217182

218-
lazy val es7rest = project.in(file("es7/rest"))
183+
lazy val es7testkit = project.in(file("core/testkit"))
219184
.configs(IntegrationTest)
220185
.settings(
221186
Defaults.itSettings,
187+
app.softnetwork.Info.infoSettings,
222188
moduleSettings,
223189
elasticSearchVersion := Versions.es7,
190+
buildInfoKeys += BuildInfoKey("elasticVersion" -> elasticSearchVersion.value),
191+
buildInfoObject := "SoftClient4esCoreTestkitBuildInfo",
224192
)
193+
.enablePlugins(BuildInfoPlugin)
225194
.dependsOn(
226195
core % "compile->compile;test->test;it->it"
227196
)
228-
.dependsOn(
229-
es7bridge % "compile->compile;test->test;it->it"
230-
)
231197

232-
lazy val es7restp = project.in(file("es7/rest/persistence"))
198+
lazy val es7rest = project.in(file("es7/rest"))
233199
.configs(IntegrationTest)
234200
.settings(
235201
Defaults.itSettings,
236202
moduleSettings,
237203
elasticSearchVersion := Versions.es7,
238204
)
239205
.dependsOn(
240-
persistence % "compile->compile;test->test;it->it"
206+
core % "compile->compile;test->test;it->it"
241207
)
242208
.dependsOn(
243-
es7rest % "compile->compile;test->test;it->it"
244-
)
245-
246-
lazy val es7testkit = project.in(file("es7/testkit"))
247-
.configs(IntegrationTest)
248-
.settings(
249-
Defaults.itSettings,
250-
app.softnetwork.Info.infoSettings,
251-
moduleSettings,
252-
elasticSearchVersion := Versions.es7,
253-
buildInfoKeys += BuildInfoKey("elasticVersion" -> elasticSearchVersion.value)
209+
es7bridge % "compile->compile;test->test;it->it"
254210
)
255-
.enablePlugins(BuildInfoPlugin)
256211
.dependsOn(
257-
es7restp % "compile->compile;test->test;it->it"
212+
es7testkit % "compile->compile;test->test;it->it"
258213
)
259214

260215
lazy val es7 = project.in(file("es7"))
@@ -267,9 +222,8 @@ lazy val es7 = project.in(file("es7"))
267222
)
268223
.aggregate(
269224
es7bridge,
270-
es7rest,
271-
es7restp,
272-
es7testkit
225+
es7testkit,
226+
es7rest
273227
)
274228

275229
lazy val es8bridge = project.in(file("sql/bridge"))
@@ -283,46 +237,36 @@ lazy val es8bridge = project.in(file("sql/bridge"))
283237
sql % "compile->compile;test->test;it->it"
284238
)
285239

286-
lazy val es8java = project.in(file("es8/java"))
240+
lazy val es8testkit = project.in(file("core/testkit"))
287241
.configs(IntegrationTest)
288242
.settings(
289243
Defaults.itSettings,
244+
app.softnetwork.Info.infoSettings,
290245
moduleSettings,
291246
elasticSearchVersion := Versions.es8,
247+
buildInfoKeys += BuildInfoKey("elasticVersion" -> elasticSearchVersion.value),
248+
buildInfoObject := "SoftClient4esCoreTestkitBuildInfo",
292249
)
250+
.enablePlugins(BuildInfoPlugin)
293251
.dependsOn(
294252
core % "compile->compile;test->test;it->it"
295253
)
296-
.dependsOn(
297-
es8bridge % "compile->compile;test->test;it->it"
298-
)
299254

300-
lazy val es8javap = project.in(file("es8/java/persistence"))
255+
lazy val es8java = project.in(file("es8/java"))
301256
.configs(IntegrationTest)
302257
.settings(
303258
Defaults.itSettings,
304259
moduleSettings,
305260
elasticSearchVersion := Versions.es8,
306261
)
307262
.dependsOn(
308-
persistence % "compile->compile;test->test;it->it"
263+
core % "compile->compile;test->test;it->it"
309264
)
310265
.dependsOn(
311-
es8java % "compile->compile;test->test;it->it"
312-
)
313-
314-
lazy val es8testkit = project.in(file("es8/testkit"))
315-
.configs(IntegrationTest)
316-
.settings(
317-
Defaults.itSettings,
318-
app.softnetwork.Info.infoSettings,
319-
moduleSettings,
320-
elasticSearchVersion := Versions.es8,
321-
buildInfoKeys += BuildInfoKey("elasticVersion" -> elasticSearchVersion.value)
266+
es8bridge % "compile->compile;test->test;it->it"
322267
)
323-
.enablePlugins(BuildInfoPlugin)
324268
.dependsOn(
325-
es8javap % "compile->compile;test->test;it->it"
269+
es8testkit % "compile->compile;test->test;it->it"
326270
)
327271

328272
lazy val es8 = project.in(file("es8"))
@@ -335,9 +279,8 @@ lazy val es8 = project.in(file("es8"))
335279
)
336280
.aggregate(
337281
es8bridge,
338-
es8java,
339-
es8javap,
340-
es8testkit
282+
es8testkit,
283+
es8java
341284
)
342285

343286
lazy val es9bridge = project.in(file("sql/bridge"))
@@ -354,24 +297,25 @@ lazy val es9bridge = project.in(file("sql/bridge"))
354297
sql % "compile->compile;test->test;it->it"
355298
)
356299

357-
lazy val es9java = project.in(file("es9/java"))
300+
lazy val es9testkit = project.in(file("core/testkit"))
358301
.configs(IntegrationTest)
359302
.settings(
360303
Defaults.itSettings,
304+
app.softnetwork.Info.infoSettings,
361305
moduleSettings,
362306
scalaVersion := scala213,
363307
crossScalaVersions := Seq(scala213),
364308
elasticSearchVersion := Versions.es9,
365-
javacOptions ++= Seq("-source", "17", "-target", "17")
309+
javacOptions ++= Seq("-source", "17", "-target", "17"),
310+
buildInfoKeys += BuildInfoKey("elasticVersion" -> elasticSearchVersion.value),
311+
buildInfoObject := "SoftClient4esCoreTestkitBuildInfo",
366312
)
313+
.enablePlugins(BuildInfoPlugin)
367314
.dependsOn(
368315
core % "compile->compile;test->test;it->it"
369316
)
370-
.dependsOn(
371-
es9bridge % "compile->compile;test->test;it->it"
372-
)
373317

374-
lazy val es9javap = project.in(file("es9/java/persistence"))
318+
lazy val es9java = project.in(file("es9/java"))
375319
.configs(IntegrationTest)
376320
.settings(
377321
Defaults.itSettings,
@@ -382,27 +326,13 @@ lazy val es9javap = project.in(file("es9/java/persistence"))
382326
javacOptions ++= Seq("-source", "17", "-target", "17")
383327
)
384328
.dependsOn(
385-
persistence % "compile->compile;test->test;it->it"
329+
core % "compile->compile;test->test;it->it"
386330
)
387331
.dependsOn(
388-
es9java % "compile->compile;test->test;it->it"
389-
)
390-
391-
lazy val es9testkit = project.in(file("es9/testkit"))
392-
.configs(IntegrationTest)
393-
.settings(
394-
Defaults.itSettings,
395-
app.softnetwork.Info.infoSettings,
396-
moduleSettings,
397-
scalaVersion := scala213,
398-
crossScalaVersions := Seq(scala213),
399-
elasticSearchVersion := Versions.es9,
400-
javacOptions ++= Seq("-source", "17", "-target", "17"),
401-
buildInfoKeys += BuildInfoKey("elasticVersion" -> elasticSearchVersion.value)
332+
es9bridge % "compile->compile;test->test;it->it"
402333
)
403-
.enablePlugins(BuildInfoPlugin)
404334
.dependsOn(
405-
es9javap % "compile->compile;test->test;it->it"
335+
es9testkit % "compile->compile;test->test;it->it"
406336
)
407337

408338
lazy val es9 = project.in(file("es9"))
@@ -415,9 +345,8 @@ lazy val es9 = project.in(file("es9"))
415345
)
416346
.aggregate(
417347
es9bridge,
418-
es9java,
419-
es9javap,
420-
es9testkit
348+
es9testkit,
349+
es9java
421350
)
422351

423352
lazy val root = project.in(file("."))
@@ -430,7 +359,6 @@ lazy val root = project.in(file("."))
430359
.aggregate(
431360
sql,
432361
core,
433-
persistence,
434362
es6,
435363
es7,
436364
es8,

core/src/main/scala/app/softnetwork/elastic/client/AggregateResult.scala

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,14 @@ case class SingleValueAggregateResult(
3030
case StringValue(v) => Some(v)
3131
case _ => None
3232
}
33+
34+
def isDouble: Boolean = value match {
35+
case NumericValue(_) => true
36+
case _ => false
37+
}
38+
39+
def isString: Boolean = value match {
40+
case StringValue(_) => true
41+
case _ => false
42+
}
3343
}

core/src/main/scala/app/softnetwork/elastic/client/package.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ package object client {
4242

4343
case class BulkOptions(
4444
index: String,
45-
documentType: String,
45+
documentType: String = "_doc",
4646
maxBulkSize: Int = 100,
4747
balance: Int = 1,
4848
disableRefresh: Boolean = false

persistence/src/main/scala/app/softnetwork/elastic/persistence/query/ElasticProvider.scala renamed to core/src/main/scala/app/softnetwork/elastic/persistence/query/ElasticProvider.scala

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import app.softnetwork.persistence.model.Timestamped
99
import app.softnetwork.persistence.query.ExternalPersistenceProvider
1010
import app.softnetwork.serialization.commonFormats
1111
import app.softnetwork.elastic.persistence.typed.Elastic._
12-
import com.typesafe.scalalogging.StrictLogging
1312

1413
import scala.reflect.ClassTag
1514
import scala.util.{Failure, Success, Try}
@@ -35,16 +34,15 @@ trait ElasticProvider[T <: Timestamped] extends ExternalPersistenceProvider[T] {
3534
case Success(s) =>
3635
s
3736
case Failure(f) =>
38-
logger.error(s"$pathOrElse -> f.getMessage", f)
37+
logger.error(s"$pathOrElse -> ${f.getMessage}", f)
3938
"{}"
4039
}
4140
}
4241

4342
protected def initIndex(): Unit = {
4443
Try {
45-
createIndex(index)
44+
updateMapping(index, loadMapping(mappingPath))
4645
addAlias(index, alias)
47-
setMapping(index, loadMapping(mappingPath))
4846
} match {
4947
case Success(_) => logger.info(s"index:$index type:${_type} alias:$alias created")
5048
case Failure(f) =>

persistence/src/main/scala/app/softnetwork/elastic/persistence/query/State2ElasticProcessorStream.scala renamed to core/src/main/scala/app/softnetwork/elastic/persistence/query/State2ElasticProcessorStream.scala

File renamed without changes.

persistence/src/main/scala/app/softnetwork/elastic/persistence/typed/Elastic.scala renamed to core/src/main/scala/app/softnetwork/elastic/persistence/typed/Elastic.scala

File renamed without changes.

0 commit comments

Comments
 (0)