diff --git a/chaincode/fabcar/java/config/checkstyle/checkstyle.xml b/chaincode/fabcar/java/config/checkstyle/checkstyle.xml
index 94317559e7..29fbde9b0c 100644
--- a/chaincode/fabcar/java/config/checkstyle/checkstyle.xml
+++ b/chaincode/fabcar/java/config/checkstyle/checkstyle.xml
@@ -28,9 +28,9 @@
-->
-
+
-
+
diff --git a/chaincode/fabcar/javascript/lib/fabcar.js b/chaincode/fabcar/javascript/lib/fabcar.js
index 53f2faefa1..ed6b520d30 100644
--- a/chaincode/fabcar/javascript/lib/fabcar.js
+++ b/chaincode/fabcar/javascript/lib/fabcar.js
@@ -108,33 +108,20 @@ class FabCar extends Contract {
async queryAllCars(ctx) {
const startKey = 'CAR0';
const endKey = 'CAR999';
-
- const iterator = await ctx.stub.getStateByRange(startKey, endKey);
-
const allResults = [];
- while (true) {
- const res = await iterator.next();
-
- if (res.value && res.value.value.toString()) {
- console.log(res.value.value.toString('utf8'));
-
- const Key = res.value.key;
- let Record;
- try {
- Record = JSON.parse(res.value.value.toString('utf8'));
- } catch (err) {
- console.log(err);
- Record = res.value.value.toString('utf8');
- }
- allResults.push({ Key, Record });
- }
- if (res.done) {
- console.log('end of data');
- await iterator.close();
- console.info(allResults);
- return JSON.stringify(allResults);
+ for await (const {key, value} of ctx.stub.getStateByRange(startKey, endKey)) {
+ const strValue = Buffer.from(value).toString('utf8');
+ let record;
+ try {
+ record = JSON.parse(strValue);
+ } catch (err) {
+ console.log(err);
+ record = strValue;
}
+ allResults.push({ Key: key, Record: record });
}
+ console.info(allResults);
+ return JSON.stringify(allResults);
}
async changeCarOwner(ctx, carNumber, newOwner) {
diff --git a/chaincode/fabcar/typescript/src/fabcar.ts b/chaincode/fabcar/typescript/src/fabcar.ts
index de72b0394f..2f45f9efe9 100644
--- a/chaincode/fabcar/typescript/src/fabcar.ts
+++ b/chaincode/fabcar/typescript/src/fabcar.ts
@@ -107,33 +107,20 @@ export class FabCar extends Contract {
public async queryAllCars(ctx: Context): Promise {
const startKey = 'CAR0';
const endKey = 'CAR999';
-
- const iterator = await ctx.stub.getStateByRange(startKey, endKey);
-
const allResults = [];
- while (true) {
- const res = await iterator.next();
-
- if (res.value && res.value.value.toString()) {
- console.log(res.value.value.toString('utf8'));
-
- const Key = res.value.key;
- let Record;
- try {
- Record = JSON.parse(res.value.value.toString('utf8'));
- } catch (err) {
- console.log(err);
- Record = res.value.value.toString('utf8');
- }
- allResults.push({ Key, Record });
- }
- if (res.done) {
- console.log('end of data');
- await iterator.close();
- console.info(allResults);
- return JSON.stringify(allResults);
+ for await (const {key, value} of ctx.stub.getStateByRange(startKey, endKey)) {
+ const strValue = Buffer.from(value).toString('utf8');
+ let record;
+ try {
+ record = JSON.parse(strValue);
+ } catch (err) {
+ console.log(err);
+ record = strValue;
}
+ allResults.push({ Key: key, Record: record });
}
+ console.info(allResults);
+ return JSON.stringify(allResults);
}
public async changeCarOwner(ctx: Context, carNumber: string, newOwner: string) {