Skip to content

Commit

Permalink
インタフェース変更に対応。 本体Library更新に対応。 (#55)
Browse files Browse the repository at this point in the history
* インタフェース変更に対応。
* 本体Library更新に対応。
  • Loading branch information
igapyon authored May 26, 2021
1 parent 91b6d00 commit a8ddb8b
Show file tree
Hide file tree
Showing 89 changed files with 120 additions and 95 deletions.
18 changes: 17 additions & 1 deletion RELEASE.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,24 @@
# Release 1.18 (2021-05-26)

## EN

- Implementation: Changed to pass OiyoInfo instance from the outside.
- Changed to return URI with FQN.
- Added messages regarding autoCommit, jdbcFetchSize, filterEqAutoSelect.
- Added log.trace where EntityCollection is expected to take a time.

## JA

- 実装: OiyoInfo インスタンスを外側から引き渡すよう変更
- URIをFQNで戻すよう変更
- autoCommit, jdbcFetchSize, filterEqAutoSelect のメッセージを追加
- EntityCollection で時間がかかると予見される箇所に log.trace を追加

# Release 1.17 (2021-05-25)

## EN

- Some JSON params are added to `oiyokan-settings.json`: autoCommit, jdbcFetchSize, filterEqAutoSelect
- Some JSON params are added to `oiyokan-settings.json`: autoCommit, jdbcFetchSize, filterEqAutoSelect.
- Added ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY to collection Statement.
- Use java.sql.Statement for parameterless queries.

Expand Down
4 changes: 2 additions & 2 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

<groupId>jp.igapyon.oiyokan</groupId>
<artifactId>oiyokan-unittest</artifactId>
<version>1.17.20210525a</version>
<version>1.18.20210526a</version>
<name>oiyokan-unittest</name>
<description>UnitTest of Oiyokan. Oiyokan is a simple OData v4 Server. (based on Apache
Olingo / h2 database)</description>
Expand Down Expand Up @@ -86,7 +86,7 @@
<dependency>
<groupId>jp.igapyon.oiyokan</groupId>
<artifactId>oiyokan</artifactId>
<version>1.17.20210525e</version>
<version>1.18.20210526a</version>
</dependency>

<dependency>
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/jp/app/ctrl/ThIndexCtrl.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
import org.springframework.web.bind.annotation.RequestMapping;

import jp.oiyokan.OiyokanConstants;
import jp.oiyokan.unittest.OiyokanUnittestConstants;
import jp.oiyokan.unittest.OiyokanOdata4Register;
import jp.oiyokan.unittest.OiyokanUnittestConstants;

@Controller
public class ThIndexCtrl {
Expand Down
5 changes: 4 additions & 1 deletion src/main/java/jp/oiyokan/unittest/OiyokanOdata4Register.java
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
import org.springframework.web.bind.annotation.RestController;

import jp.oiyokan.OiyokanOdata4RegisterImpl;
import jp.oiyokan.common.OiyoInfo;

/**
* Oiyokan (OData v4 server) を Spring Boot の Servlet として登録.
Expand All @@ -49,7 +50,9 @@ public class OiyokanOdata4Register {
public void serv(final HttpServletRequest req, final HttpServletResponse resp) throws ServletException {
// ライブラリ側でキャッシュOFFを実施する。

final OiyoInfo oiyoInfo = new OiyoInfo();

// Process Oiyokan.
OiyokanOdata4RegisterImpl.serv(req, resp, ODATA_ROOTPATH);
OiyokanOdata4RegisterImpl.serv(oiyoInfo, req, resp, ODATA_ROOTPATH);
}
}
Binary file modified src/main/resources/db/oiyokan-internal.mv.db
Binary file not shown.
7 changes: 5 additions & 2 deletions src/test/java/jp/oiyokan/OiyokanUnittestUtil.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,11 @@
import jp.oiyokan.common.OiyoInfo;

public class OiyokanUnittestUtil {
public static OiyoInfo setupUnittestDatabase() throws ODataApplicationException {
final OiyoInfo oiyoInfo = OiyokanEdmProvider.getOiyoInfoInstance();
public static OiyoInfo getUnittestOiyoInfoInstance() throws ODataApplicationException {
final OiyoInfo oiyoInfo = new OiyoInfo();
// シングルトンな OiyoSettings を利用。
OiyokanEdmProvider.setupOiyoSettingsInstance(oiyoInfo);

// 取得した OiyoInfo をそのまま返却.
return oiyoInfo;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,10 +51,10 @@ class OiyoSqlQueryListExprTest {
* @throws Exception 例外が発生した場合.
*/
private String getExprString(String rawODataPath, String rawQueryPath) throws Exception {
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.setupUnittestDatabase();
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.getUnittestOiyoInfoInstance();

OData odata = OData.newInstance();
ServiceMetadata edm = odata.createServiceMetadata(new OiyokanEdmProvider(), new ArrayList<>());
ServiceMetadata edm = odata.createServiceMetadata(new OiyokanEdmProvider(oiyoInfo), new ArrayList<>());

// アプリ情報が入っている内部DBをベースに処理。つまり h2 database 前提としての振る舞いをおこなう。
OiyoSettingsEntitySet entitySet = OiyoInfoUtil.getOiyoEntitySet(oiyoInfo, "ODataTest1");
Expand Down Expand Up @@ -90,7 +90,7 @@ void test02() throws Exception {

@Test
void test03() throws Exception {
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.setupUnittestDatabase();
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.getUnittestOiyoInfoInstance();
OiyoSettingsDatabase database = OiyoInfoUtil.getOiyoDatabaseByEntitySetName(oiyoInfo, "ODataTest1");
OiyokanConstants.DatabaseType databaseType = OiyokanConstants.DatabaseType.valueOf(database.getType());

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ class UnitTestEntityBasic01Test {
@Test
void test01() throws Exception {
@SuppressWarnings("unused")
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.setupUnittestDatabase();
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.getUnittestOiyoInfoInstance();

// INSERT + DELETE
ODataResponse resp = OiyokanTestUtil.callPost("/ODataTest3", "{\n" //
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ class UnitTestEntityBasic02Test {
@Test
void test02() throws Exception {
@SuppressWarnings("unused")
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.setupUnittestDatabase();
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.getUnittestOiyoInfoInstance();

// INSERT
ODataResponse resp = OiyokanTestUtil.callPost("/ODataTest3", "{\n" //
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ class UnitTestEntityHeadBody01Test {
@Test
void test01() throws Exception {
@SuppressWarnings("unused")
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.setupUnittestDatabase();
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.getUnittestOiyoInfoInstance();

ODataResponse resp = OiyokanTestUtil.callPost("/ODataTest8", "{\n" //
+ " \"MainKey\":\"KEY001\"\n" //
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ class UnitTestEntityNull01Test {
@Test
void test01() throws Exception {
@SuppressWarnings("unused")
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.setupUnittestDatabase();
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.getUnittestOiyoInfoInstance();

// INSERT + DELETE
// 自動項目の ID もNULLで引き渡す。
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ class UnitTestEntityPatchInsert01Test {
@Test
void test01() throws Exception {
@SuppressWarnings("unused")
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.setupUnittestDatabase();
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.getUnittestOiyoInfoInstance();

final int TEST_ID = OiyokanTestUtil.getNextUniqueId();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ class UnitTestEntityPatchInsert02Test {
@Test
void test01() throws Exception {
@SuppressWarnings("unused")
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.setupUnittestDatabase();
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.getUnittestOiyoInfoInstance();

final int NOT_EXISTS_ID = OiyokanTestUtil.getNextUniqueId() + 999;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ class UnitTestEntityPatchUpdate01Test {
@Test
void test01() throws Exception {
@SuppressWarnings("unused")
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.setupUnittestDatabase();
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.getUnittestOiyoInfoInstance();

final int TEST_ID = OiyokanTestUtil.getNextUniqueId();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ class UnitTestEntityPatchUpsert01Test {
@Test
void test01() throws Exception {
@SuppressWarnings("unused")
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.setupUnittestDatabase();
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.getUnittestOiyoInfoInstance();

final int TEST_ID = OiyokanTestUtil.getNextUniqueId();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ class UnitTestEntityPostAll01Test {
@Test
void test01() throws Exception {
@SuppressWarnings("unused")
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.setupUnittestDatabase();
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.getUnittestOiyoInfoInstance();

// FULL INSERT
ODataResponse resp = OiyokanTestUtil.callPost("/ODataTest3", //
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ class UnitTestTypeBinary01Test {
@Test
void test01() throws Exception {
@SuppressWarnings("unused")
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.setupUnittestDatabase();
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.getUnittestOiyoInfoInstance();

ODataResponse resp = OiyokanTestUtil.callPost("/ODataTest6", "{\n" //
+ " \"Binary1\":\"VG9uYXJpIG5vIGt5YWt1Lg==\"\n" //
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ class UnitTestTypeBlob01Test {
@Test
void test01() throws Exception {
@SuppressWarnings("unused")
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.setupUnittestDatabase();
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.getUnittestOiyoInfoInstance();

ODataResponse resp = OiyokanTestUtil.callPost("/ODataTest1", "{\n" //
+ " \"Blob1\":\"VG9uYXJpIG5vIGt5YWt1Lg==\"\n" //
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ class UnitTestTypeBoolean01Test {
@Test
void test01() throws Exception {
@SuppressWarnings("unused")
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.setupUnittestDatabase();
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.getUnittestOiyoInfoInstance();

ODataResponse resp = OiyokanTestUtil.callPost("/ODataTest1", "{\n" //
+ " \"Boolean1\":true\n" //
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ class UnitTestTypeChar01Test {
@Test
void test01() throws Exception {
@SuppressWarnings("unused")
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.setupUnittestDatabase();
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.getUnittestOiyoInfoInstance();

// 左右の文字が正しいことを確認
ODataResponse resp = OiyokanTestUtil.callPost("/ODataTest3", //
Expand All @@ -54,7 +54,7 @@ void test01() throws Exception {
resp = OiyokanTestUtil.callGet("/ODataTest3", "$filter=ID eq " + idString + "&$select=StringChar8");
result = OiyokanTestUtil.stream2String(resp.getContent());
assertEquals(
"{\"@odata.context\":\"$metadata#ODataTest3\",\"value\":[{\"@odata.id\":\"ODataTest3(" + idString
"{\"@odata.context\":\"$metadata#ODataTest3\",\"value\":[{\"@odata.id\":\"http://localhost:8080/odata4.svc/ODataTest3(" + idString
+ ")\",\"ID\":" + idString + ",\"StringChar8\":\" C456 \"}]}",
result, "前後空白付きでFILTER検索できることを確認.");
assertEquals(200, resp.getStatusCode());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ class UnitTestTypeChar02Test {
@Test
void test02() throws Exception {
@SuppressWarnings("unused")
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.setupUnittestDatabase();
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.getUnittestOiyoInfoInstance();

final String decVal = "1304";

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ class UnitTestTypeChar03Test {
@Test
void test03() throws Exception {
@SuppressWarnings("unused")
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.setupUnittestDatabase();
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.getUnittestOiyoInfoInstance();

final String decVal = "1404";

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ class UnitTestTypeChar04Test {
@Test
void test04() throws Exception {
@SuppressWarnings("unused")
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.setupUnittestDatabase();
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.getUnittestOiyoInfoInstance();

final String decVal = "1404";

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ class UnitTestTypeChar05Test {
@Test
void test04() throws Exception {
@SuppressWarnings("unused")
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.setupUnittestDatabase();
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.getUnittestOiyoInfoInstance();

// 全項目をデフォルト値でセット。
// StringChar8 だけは null にセット.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ class UnitTestTypeClob01Test {
@Test
void test01() throws Exception {
@SuppressWarnings("unused")
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.setupUnittestDatabase();
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.getUnittestOiyoInfoInstance();

ODataResponse resp = OiyokanTestUtil.callPost("/ODataTest1", "{\n" //
+ " \"Clob1\":\"ABCDXYZ\"\n" //
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ class UnitTestTypeDate01Test {
@Test
void test03() throws Exception {
@SuppressWarnings("unused")
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.setupUnittestDatabase();
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.getUnittestOiyoInfoInstance();

final String dateStringInput = "2021-01-01";

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ class UnitTestTypeDateTimeOffset01Test {
@Test
void test03() throws Exception {
@SuppressWarnings("unused")
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.setupUnittestDatabase();
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.getUnittestOiyoInfoInstance();

final String dateStringInput = "2020-12-31T21:53:00Z";

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ class UnitTestTypeDateTimeOffset02Test {
@Test
void test03() throws Exception {
@SuppressWarnings("unused")
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.setupUnittestDatabase();
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.getUnittestOiyoInfoInstance();

final String dateStringInput = "2020-12-31T21:53:00.000+09:00";

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ class UnitTestTypeDecimal01Test {
@Test
void test01() throws Exception {
@SuppressWarnings("unused")
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.setupUnittestDatabase();
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.getUnittestOiyoInfoInstance();

ODataResponse resp = OiyokanTestUtil.callPost("/ODataTest1", "{\n" //
+ " \"Decimal1\":8765.43\n" //
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ class UnitTestTypeDecimal02Test {
@Test
void test01() throws Exception {
@SuppressWarnings("unused")
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.setupUnittestDatabase();
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.getUnittestOiyoInfoInstance();

ODataResponse resp = OiyokanTestUtil.callPost("/ODataTest2", "{\n" //
+ " \"Decimal1\":8765.43\n" //
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ class UnitTestTypeDouble01Test {
@Test
void test01() throws Exception {
@SuppressWarnings("unused")
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.setupUnittestDatabase();
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.getUnittestOiyoInfoInstance();

ODataResponse resp = OiyokanTestUtil.callPost("/ODataTest1", "{\n" //
+ " \"Double1\":543.21\n" //
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ class UnitTestTypeIdentity01Test {
@Test
void test01() throws Exception {
@SuppressWarnings("unused")
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.setupUnittestDatabase();
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.getUnittestOiyoInfoInstance();

ODataResponse resp = OiyokanTestUtil.callPost("/ODataTest5", "{\n" //
+ " \"Name\":\"Name\"\n" //
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ class UnitTestTypeLongVar01Test {
@Test
void test01() throws Exception {
@SuppressWarnings("unused")
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.setupUnittestDatabase();
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.getUnittestOiyoInfoInstance();

ODataResponse resp = OiyokanTestUtil.callPost("/ODataTest1", "{\n" //
+ " \"StringLongVar1\":\"ABCDXYZ\"\n" //
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ class UnitTestTypeSbyte01Test {
@Test
void test01() throws Exception {
@SuppressWarnings("unused")
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.setupUnittestDatabase();
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.getUnittestOiyoInfoInstance();

// SQL Server では 正の値の TINYINT型を利用している。
ODataResponse resp = OiyokanTestUtil.callPost("/ODataTest1", "{\n" //
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ class UnitTestTypeSingle01Test {
@Test
void test01() throws Exception {
@SuppressWarnings("unused")
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.setupUnittestDatabase();
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.getUnittestOiyoInfoInstance();

ODataResponse resp = OiyokanTestUtil.callPost("/ODataTest1", "{\n" //
+ " \"Single1\":543.21\n" //
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ class UnitTestTypeTimeOfDay01Test {
@Test
void test03() throws Exception {
@SuppressWarnings("unused")
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.setupUnittestDatabase();
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.getUnittestOiyoInfoInstance();

final String dateStringInput = "21:53:00";

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ class UnitTestTypeUuid01Test {
@Test
void test01() throws Exception {
@SuppressWarnings("unused")
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.setupUnittestDatabase();
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.getUnittestOiyoInfoInstance();

final int TEST_ID = OiyokanTestUtil.getNextUniqueId();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ class UnitTestTypeVarBinary01Test {
@Test
void test01() throws Exception {
@SuppressWarnings("unused")
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.setupUnittestDatabase();
final OiyoInfo oiyoInfo = OiyokanUnittestUtil.getUnittestOiyoInfoInstance();

ODataResponse resp = OiyokanTestUtil.callPost("/ODataTest1", "{\n" //
+ " \"VarBinary1\":\"VG9uYXJpIG5vIGt5YWt1Lg==\"\n" //
Expand Down
Loading

0 comments on commit a8ddb8b

Please sign in to comment.