Skip to content

Commit b3a74c0

Browse files
authored
Merge pull request #27 from ftsrg/24-hypernate
Use Hypernate library instead of subpackage See #24
2 parents d31b322 + 222dd6c commit b3a74c0

40 files changed

+169
-1035
lines changed

smart-contract/hyperledger-fabric/v2/java/Dockerfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ COPY buildSrc/ buildSrc/
66
COPY build.gradle.kts ./
77
COPY gradle.properties ./
88
COPY specs/ ./specs/
9+
COPY libs/ ./libs/
910

1011
RUN gradle --no-daemon shadowJar
1112

smart-contract/hyperledger-fabric/v2/java/build.gradle.kts

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import com.diffplug.gradle.spotless.SpotlessExtension
44
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
55
import hu.bme.mit.ftsrg.openjmlhelper.*
6-
import java.io.File
76

87
val openJMLDir = layout.projectDirectory.dir(".openjml")
98
val openJMLJavaHomeDir = openJMLDir.dir("jdk")
@@ -21,7 +20,7 @@ plugins {
2120
id("com.diffplug.spotless") version "6.19.0"
2221
}
2322

24-
group = "hu.bme.mit.ftsrg.tpcc"
23+
group = "hu.bme.mit.ftsrg.chaincode.tpcc"
2524

2625
version = "0.1.0"
2726

@@ -31,7 +30,9 @@ repositories {
3130
}
3231

3332
dependencies {
34-
implementation("ch.qos.logback:logback-classic:1.4.8")
33+
implementation("ch.qos.logback:logback-core:1.5.6")
34+
implementation("ch.qos.logback:logback-classic:1.5.6")
35+
implementation("org.slf4j:slf4j-api:2.0.13")
3536
implementation("com.google.code.gson:gson:2.10.1")
3637
implementation("com.jcabi:jcabi-aspects:0.25.1")
3738
implementation("org.aspectj:aspectjrt:1.9.19")
@@ -40,6 +41,7 @@ dependencies {
4041
implementation("org.hyperledger.fabric:fabric-protos:0.3.0")
4142
implementation("org.json:json:20230227")
4243
implementation("org.projectlombok:lombok:1.18.28")
44+
implementation(files("libs/hypernate-0.1.0.jar"))
4345
// Included also as implementation dependency so shadow will package it
4446
implementation(files("$openJMLDir/jmlruntime.jar"))
4547

@@ -60,9 +62,7 @@ tasks.named<ShadowJar>("shadowJar") {
6062
tasks.named<Test>("test") { useJUnitPlatform() }
6163

6264
if (!noOpenJML) {
63-
tasks.named<ShadowJar>("shadowJar") {
64-
dependsOn(tasks.named("initOpenJML"))
65-
}
65+
tasks.named<ShadowJar>("shadowJar") { dependsOn(tasks.named("initOpenJML")) }
6666

6767
tasks.test {
6868
java {
@@ -76,14 +76,20 @@ if (!noOpenJML) {
7676
// Only when not compiling because of Spotless
7777
if (!gradle.startParameter.taskNames.any { it.contains("spotlessApply") }) {
7878
val mode =
79-
when (System.getenv("JML_MODE")) {
80-
"esc" -> "esc"
81-
else -> "rac"
82-
}
79+
when (System.getenv("JML_MODE")) {
80+
"esc" -> "esc"
81+
else -> "rac"
82+
}
8383
options.isFork = true
8484
options.compilerArgs.addAll(
85-
listOf(
86-
"-jml", "-$mode", "-timeout", "30", "--nullable-by-default", "--specs-path", "specs/"))
85+
listOf(
86+
"-jml",
87+
"-$mode",
88+
"-timeout",
89+
"30",
90+
"--nullable-by-default",
91+
"--specs-path",
92+
"specs/"))
8793
options.forkOptions.javaHome = openJMLJavaHomeDir.asFile
8894
}
8995
}
@@ -120,4 +126,3 @@ if (!noOpenJML) {
120126
logger.lifecycle("✅ OpenJML successfully initialized in $openJMLDir")
121127
}
122128
}
123-
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
openJMLVersion = 0.17.0-alpha-15
2+
withoutOpenJML = false
Binary file not shown.

smart-contract/hyperledger-fabric/v2/java/specs/hu/bme/mit/ftsrg/chaincode/tpcc/TPCC.jml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
package hu.bme.mit.ftsrg.chaincode.tpcc;
44

5-
import hu.bme.mit.ftsrg.chaincode.dataaccess.exception.EntityExistsException;
6-
import hu.bme.mit.ftsrg.chaincode.dataaccess.exception.EntityNotFoundException;
5+
import hu.bme.mit.ftsrg.hypernate.entity.EntityExistsException;
6+
import hu.bme.mit.ftsrg.hypernate.entity.EntityNotFoundException;
77
import hu.bme.mit.ftsrg.chaincode.tpcc.data.input.*;
88
import hu.bme.mit.ftsrg.chaincode.tpcc.data.output.*;
99
import hu.bme.mit.ftsrg.chaincode.tpcc.middleware.TPCCContext;

smart-contract/hyperledger-fabric/v2/java/specs/hu/bme/mit/ftsrg/chaincode/tpcc/data/entity/Customer.jml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
package hu.bme.mit.ftsrg.chaincode.tpcc.data.entity;
44

5-
import hu.bme.mit.ftsrg.chaincode.dataaccess.SerializableEntityBase;
5+
import hu.bme.mit.ftsrg.hypernate.entity.Entity;
66

7-
public class Customer extends SerializableEntityBase<Customer> {
7+
public class Customer implements Entity<Customer> {
88

99
public /*@ pure @*/ int getC_id();
1010

smart-contract/hyperledger-fabric/v2/java/specs/hu/bme/mit/ftsrg/chaincode/tpcc/data/entity/District.jml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
package hu.bme.mit.ftsrg.chaincode.tpcc.data.entity;
44

5-
import hu.bme.mit.ftsrg.chaincode.dataaccess.SerializableEntityBase;
5+
import hu.bme.mit.ftsrg.hypernate.entity.Entity;
66

7-
public final class District extends SerializableEntityBase<District> {
7+
public final class District implements Entity<District> {
88

99
public /*@ pure @*/ int getD_id();
1010

smart-contract/hyperledger-fabric/v2/java/specs/hu/bme/mit/ftsrg/chaincode/tpcc/data/entity/History.jml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
package hu.bme.mit.ftsrg.chaincode.tpcc.data.entity;
44

5-
import hu.bme.mit.ftsrg.chaincode.dataaccess.SerializableEntityBase;
5+
import hu.bme.mit.ftsrg.hypernate.entity.Entity;
66

7-
public final class History extends SerializableEntityBase<History> {
7+
public final class History implements Entity<History> {
88

99
public /*@ pure @*/ int getH_c_id();
1010

smart-contract/hyperledger-fabric/v2/java/specs/hu/bme/mit/ftsrg/chaincode/tpcc/data/entity/Item.jml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
package hu.bme.mit.ftsrg.chaincode.tpcc.data.entity;
44

5-
import hu.bme.mit.ftsrg.chaincode.dataaccess.SerializableEntityBase;
5+
import hu.bme.mit.ftsrg.hypernate.entity.Entity;
66

7-
public final class Item extends SerializableEntityBase<Item> {
7+
public final class Item implements Entity<Item> {
88

99
public /*@ pure @*/ int getI_id();
1010

smart-contract/hyperledger-fabric/v2/java/specs/hu/bme/mit/ftsrg/chaincode/tpcc/data/entity/NewOrder.jml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
package hu.bme.mit.ftsrg.chaincode.tpcc.data.entity;
44

5-
import hu.bme.mit.ftsrg.chaincode.dataaccess.SerializableEntityBase;
5+
import hu.bme.mit.ftsrg.hypernate.entity.Entity;
66

7-
public final class NewOrder extends SerializableEntityBase<NewOrder> {
7+
public final class NewOrder implements Entity<NewOrder> {
88

99
public /*@ pure @*/ int getNo_o_id();
1010

smart-contract/hyperledger-fabric/v2/java/specs/hu/bme/mit/ftsrg/chaincode/tpcc/data/entity/Order.jml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
package hu.bme.mit.ftsrg.chaincode.tpcc.data.entity;
44

5-
import hu.bme.mit.ftsrg.chaincode.dataaccess.SerializableEntityBase;
5+
import hu.bme.mit.ftsrg.hypernate.entity.Entity;
66

7-
public final class Order extends SerializableEntityBase<Order> {
7+
public final class Order implements Entity<Order> {
88

99
public /*@ pure @*/ int getO_id();
1010

smart-contract/hyperledger-fabric/v2/java/specs/hu/bme/mit/ftsrg/chaincode/tpcc/data/entity/OrderLine.jml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
package hu.bme.mit.ftsrg.chaincode.tpcc.data.entity;
44

5-
import hu.bme.mit.ftsrg.chaincode.dataaccess.SerializableEntityBase;
5+
import hu.bme.mit.ftsrg.hypernate.entity.Entity;
66

7-
public final class OrderLine extends SerializableEntityBase<OrderLine> {
7+
public final class OrderLine implements Entity<OrderLine> {
88

99
public /*@ pure @*/ int getOl_o_id();
1010

smart-contract/hyperledger-fabric/v2/java/specs/hu/bme/mit/ftsrg/chaincode/tpcc/data/entity/Stock.jml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
package hu.bme.mit.ftsrg.chaincode.tpcc.data.entity;
44

5-
import hu.bme.mit.ftsrg.chaincode.dataaccess.SerializableEntityBase;
5+
import hu.bme.mit.ftsrg.hypernate.entity.Entity;
66

7-
public final class Stock extends SerializableEntityBase<Stock> {
7+
public final class Stock implements Entity<Stock> {
88

99
public /*@ pure @*/ int getS_i_id();
1010

smart-contract/hyperledger-fabric/v2/java/specs/hu/bme/mit/ftsrg/chaincode/tpcc/data/entity/Warehouse.jml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
package hu.bme.mit.ftsrg.chaincode.tpcc.data.entity;
44

5-
import hu.bme.mit.ftsrg.chaincode.dataaccess.SerializableEntityBase;
5+
import hu.bme.mit.ftsrg.hypernate.entity.Entity;
66

7-
public class Warehouse extends SerializableEntityBase<Warehouse> {
7+
public class Warehouse implements Entity<Warehouse> {
88

99
public /*@ pure @*/ int getW_id();
1010

smart-contract/hyperledger-fabric/v2/java/src/main/java/hu/bme/mit/ftsrg/chaincode/MethodLogger.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package hu.bme.mit.ftsrg.chaincode;
22

3-
import hu.bme.mit.ftsrg.chaincode.dataaccess.SerializableEntity;
3+
import hu.bme.mit.ftsrg.hypernate.entity.Entity;
44
import java.util.ArrayList;
55
import java.util.List;
66
import org.hyperledger.fabric.contract.Context;
@@ -40,7 +40,7 @@ public String generateParamsString(final Context ctx, final int... params) {
4040
return "%s,%s".formatted(ctx.toString(), generateParamsString(params));
4141
}
4242

43-
public <Type extends SerializableEntity<Type>> String generateParamsString(
43+
public <Type extends Entity<Type>> String generateParamsString(
4444
final Context ctx, final Type obj) {
4545
return "%s,%s".formatted(ctx.toString(), obj.toString());
4646
}

0 commit comments

Comments
 (0)