Skip to content
This repository was archived by the owner on Oct 24, 2020. It is now read-only.

Commit 70f3d65

Browse files
committed
Rename InitialScriptLoader to ScriptExecutor
1 parent 2bdf268 commit 70f3d65

File tree

7 files changed

+74
-18
lines changed

7 files changed

+74
-18
lines changed

deployment/src/main/java/org/seasar/doma/quarkus/deployment/DomaProcessor.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
import org.seasar.doma.DaoImplementation;
2424
import org.seasar.doma.quarkus.runtime.DomaProducer;
2525
import org.seasar.doma.quarkus.runtime.DomaRecorder;
26-
import org.seasar.doma.quarkus.runtime.InitialScriptLoader;
26+
import org.seasar.doma.quarkus.runtime.ScriptExecutor;
2727

2828
class DomaProcessor {
2929

@@ -82,7 +82,7 @@ NativeImageResourceBuildItem nativeImageResources(DomaSettingsBuildItem settings
8282
@BuildStep
8383
ReflectiveClassBuildItem reflectiveClasses(BeanArchiveIndexBuildItem beanArchiveIndex) {
8484
List<String> classes = new ArrayList<>();
85-
classes.add(InitialScriptLoader.class.getName());
85+
classes.add(ScriptExecutor.class.getName());
8686
IndexView indexView = beanArchiveIndex.getIndex();
8787
DomaClassScanner scanner = new DomaClassScanner(indexView);
8888
List<String> scannedClasses = scanner.scan();

deployment/src/test/java/org/seasar/doma/quarkus/deployment/InjectConfigTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
import org.seasar.doma.jdbc.Config;
1414
import org.seasar.doma.jdbc.criteria.Entityql;
1515
import org.seasar.doma.jdbc.criteria.NativeSql;
16-
import org.seasar.doma.quarkus.runtime.InitialScriptLoader;
16+
import org.seasar.doma.quarkus.runtime.ScriptExecutor;
1717

1818
public class InjectConfigTest {
1919

@@ -34,7 +34,7 @@ public class InjectConfigTest {
3434
@Inject Config config;
3535
@Inject Entityql entityql;
3636
@Inject NativeSql nativeSql;
37-
@Inject InitialScriptLoader scriptLoader;
37+
@Inject ScriptExecutor scriptLoader;
3838

3939
@Test
4040
public void test() {
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
package org.seasar.doma.quarkus.deployment;
2+
3+
import static org.junit.jupiter.api.Assertions.assertEquals;
4+
5+
import io.quarkus.test.QuarkusUnitTest;
6+
import java.sql.Connection;
7+
import java.sql.ResultSet;
8+
import java.sql.Statement;
9+
import javax.inject.Inject;
10+
import javax.sql.DataSource;
11+
import org.jboss.shrinkwrap.api.ShrinkWrap;
12+
import org.jboss.shrinkwrap.api.asset.StringAsset;
13+
import org.jboss.shrinkwrap.api.spec.JavaArchive;
14+
import org.junit.jupiter.api.Test;
15+
import org.junit.jupiter.api.extension.RegisterExtension;
16+
17+
public class ScriptExecutorNoFileTest {
18+
19+
@RegisterExtension
20+
static QuarkusUnitTest runner =
21+
new QuarkusUnitTest()
22+
.setArchiveProducer(
23+
() ->
24+
ShrinkWrap.create(JavaArchive.class)
25+
.add(
26+
new StringAsset(
27+
"quarkus.datasource.db-kind=h2\n"
28+
+ "quarkus.datasource.username=USERNAME-NAMED\n"
29+
+ "quarkus.datasource.jdbc.url=jdbc:h2:tcp://localhost/mem:testing\n"
30+
+ "quarkus.datasource.jdbc.driver=org.h2.Driver\n"
31+
+ "quarkus.doma.sql-load-script=no-file\n"
32+
+ "quarkus.doma.log.sql=true\n"),
33+
"application.properties")
34+
.addAsResource("import.sql"));
35+
36+
@Inject DataSource dataSource;
37+
38+
@Test
39+
public void test() throws Exception {
40+
Integer count = null;
41+
try (Connection connection = dataSource.getConnection()) {
42+
try (Statement statement = connection.createStatement()) {
43+
try (ResultSet resultSet =
44+
statement.executeQuery(
45+
"select count(*) from information_schema.tables where table_name = 'EMPLOYEE'")) {
46+
if (resultSet.next()) {
47+
count = resultSet.getInt(1);
48+
}
49+
}
50+
}
51+
}
52+
assertEquals(0, count);
53+
}
54+
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
import org.junit.jupiter.api.Test;
1515
import org.junit.jupiter.api.extension.RegisterExtension;
1616

17-
public class InitialScriptLoaderCustomTest {
17+
public class ScriptExecutorOtherFileTest {
1818

1919
@RegisterExtension
2020
static QuarkusUnitTest runner =
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
import org.junit.jupiter.api.Test;
1515
import org.junit.jupiter.api.extension.RegisterExtension;
1616

17-
public class InitialScriptLoaderTest {
17+
public class ScriptExecutorTest {
1818

1919
@RegisterExtension
2020
static QuarkusUnitTest runner =

runtime/src/main/java/org/seasar/doma/quarkus/runtime/DomaProducer.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,7 @@ NativeSql nativeSql(Config config) {
254254
@Startup
255255
@ApplicationScoped
256256
@DefaultBean
257-
InitialScriptLoader initialScriptLoader(Config config) {
258-
return new InitialScriptLoader(config, sqlLoadScript);
257+
ScriptExecutor scriptExecutor(Config config) {
258+
return new ScriptExecutor(config, sqlLoadScript);
259259
}
260260
}

runtime/src/main/java/org/seasar/doma/quarkus/runtime/InitialScriptLoader.java renamed to runtime/src/main/java/org/seasar/doma/quarkus/runtime/ScriptExecutor.java

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,21 +16,23 @@
1616
import org.seasar.doma.jdbc.command.ScriptCommand;
1717
import org.seasar.doma.jdbc.query.ScriptQuery;
1818

19-
public class InitialScriptLoader {
19+
public class ScriptExecutor {
2020

21-
private static final String METHOD_NAME = "load";
21+
private static final String METHOD_NAME = "execute";
2222
private final Config config;
23+
private final String path;
2324

24-
public InitialScriptLoader(Config config, String sqlLoadScript) {
25+
public ScriptExecutor(Config config, String path) {
2526
this.config = Objects.requireNonNull(config);
26-
if (sqlLoadScript != null) {
27-
load(sqlLoadScript);
27+
this.path = path;
28+
if (path != null) {
29+
execute();
2830
}
2931
}
3032

31-
void load(String path) {
33+
private void execute() {
3234
Method method = getMethod();
33-
InitialScriptQuery query = new InitialScriptQuery(path, method);
35+
ScriptExecutorQuery query = new ScriptExecutorQuery(path, method);
3436
query.prepare();
3537
ScriptCommand command = config.getCommandImplementors().createScriptCommand(method, query);
3638
command.execute();
@@ -39,18 +41,18 @@ void load(String path) {
3941

4042
private Method getMethod() {
4143
try {
42-
return getClass().getDeclaredMethod(METHOD_NAME, String.class);
44+
return getClass().getDeclaredMethod(METHOD_NAME);
4345
} catch (NoSuchMethodException e) {
4446
throw new IllegalStateException(e);
4547
}
4648
}
4749

48-
public class InitialScriptQuery implements ScriptQuery {
50+
public class ScriptExecutorQuery implements ScriptQuery {
4951
private final String path;
5052
private final URL url;
5153
private final Method method;
5254

53-
public InitialScriptQuery(String path, Method method) {
55+
public ScriptExecutorQuery(String path, Method method) {
5456
this.path = Objects.requireNonNull(path);
5557
this.url = config.getScriptFileLoader().loadAsURL(path);
5658
this.method = Objects.requireNonNull(method);

0 commit comments

Comments
 (0)