From 8cf57afda0a89a27f5413b3d0b22dae8eb773dad Mon Sep 17 00:00:00 2001 From: FrancoPandolfo Date: Tue, 8 Apr 2025 22:38:02 +0000 Subject: [PATCH] small fixes --- asset-transfer-basic/README.md | 6 ++++ .../chaincode-go/chaincode/smartcontract.go | 6 ++-- .../controllers/RecetaController.java | 7 +++-- .../com/code/hyperledger/coso/AssetIdDto.java | 14 --------- .../com/code/hyperledger/coso/Receta.java | 31 ------------------- .../com/code/hyperledger/coso/RecetaDto.java | 30 ------------------ .../hyperledger/services/RecetaService.java | 29 +++++++++-------- .../hyperledger/services/VacunaService.java | 14 ++++++--- 8 files changed, 38 insertions(+), 99 deletions(-) delete mode 100644 asset-transfer-basic/maven-API-SiMeDi/src/main/java/com/code/hyperledger/coso/AssetIdDto.java delete mode 100644 asset-transfer-basic/maven-API-SiMeDi/src/main/java/com/code/hyperledger/coso/Receta.java delete mode 100644 asset-transfer-basic/maven-API-SiMeDi/src/main/java/com/code/hyperledger/coso/RecetaDto.java diff --git a/asset-transfer-basic/README.md b/asset-transfer-basic/README.md index 96892cd4..0edd8a4b 100644 --- a/asset-transfer-basic/README.md +++ b/asset-transfer-basic/README.md @@ -98,6 +98,12 @@ The Fabric test network is used to deploy and run this sample. Follow these step ./gradlew run ``` + - To run the SiMeDi **Java** sample application: + ```shell + cd maven-API-SiMeDi + ./mvnw spring-boot:run + ``` + ## Clean up When you are finished, you can bring down the test network (from the `test-network` folder). The command will remove all the nodes of the test network, and delete any ledger data that you created. diff --git a/asset-transfer-basic/chaincode-go/chaincode/smartcontract.go b/asset-transfer-basic/chaincode-go/chaincode/smartcontract.go index 4fa0d76c..04991a24 100644 --- a/asset-transfer-basic/chaincode-go/chaincode/smartcontract.go +++ b/asset-transfer-basic/chaincode-go/chaincode/smartcontract.go @@ -51,7 +51,7 @@ func (s *SmartContract) InitLedger(ctx contractapi.TransactionContextInterface) recetas := []Receta{ { ID: "receta1", - Identificador "rece1234" + Identificador: "rece1234", Owner: "Tomoko", PrescripcionAnteriorId: "presc123", Status: "active", @@ -70,7 +70,7 @@ func (s *SmartContract) InitLedger(ctx contractapi.TransactionContextInterface) }, { ID: "receta2", - Identificador "rece1235" + Identificador: "rece1235", Owner: "Alice", PrescripcionAnteriorId: "presc456", Status: "completed", @@ -324,7 +324,7 @@ func (s *SmartContract) VacunaExists(ctx contractapi.TransactionContextInterface return vacunaJSON != nil, nil } -unc (s *SmartContract) ReadVacuna(ctx contractapi.TransactionContextInterface, id string) (*Vacuna, error) { +func (s *SmartContract) ReadVacuna(ctx contractapi.TransactionContextInterface, id string) (*Vacuna, error) { vacunaJSON, err := ctx.GetStub().GetState(id) if err != nil { return nil, fmt.Errorf("error al leer del ledger: %v", err) diff --git a/asset-transfer-basic/maven-API-SiMeDi/src/main/java/com/code/hyperledger/controllers/RecetaController.java b/asset-transfer-basic/maven-API-SiMeDi/src/main/java/com/code/hyperledger/controllers/RecetaController.java index 4c3aead1..bfdb8965 100644 --- a/asset-transfer-basic/maven-API-SiMeDi/src/main/java/com/code/hyperledger/controllers/RecetaController.java +++ b/asset-transfer-basic/maven-API-SiMeDi/src/main/java/com/code/hyperledger/controllers/RecetaController.java @@ -96,8 +96,11 @@ public class RecetaController { recetaService.entregarReceta(id); return new ResponseEntity<>(HttpStatus.OK); - } catch (EndorseException | SubmitException | CommitStatusException | CommitException | IOException | GatewayException e) { - e.printStackTrace(); + } catch (EndorseException | SubmitException | CommitStatusException | CommitException e) { + e.printStackTrace(); // o algún log específico + return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); + } catch (GatewayException e) { + e.printStackTrace(); // este bloque rara vez se ejecutaría si ya atrapás las anteriores return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); } } diff --git a/asset-transfer-basic/maven-API-SiMeDi/src/main/java/com/code/hyperledger/coso/AssetIdDto.java b/asset-transfer-basic/maven-API-SiMeDi/src/main/java/com/code/hyperledger/coso/AssetIdDto.java deleted file mode 100644 index 964fe254..00000000 --- a/asset-transfer-basic/maven-API-SiMeDi/src/main/java/com/code/hyperledger/coso/AssetIdDto.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.code.hyperledger.models; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@AllArgsConstructor -@NoArgsConstructor -public class AssetIdDto { - private String Dni; - private String TimeStamp; -} - diff --git a/asset-transfer-basic/maven-API-SiMeDi/src/main/java/com/code/hyperledger/coso/Receta.java b/asset-transfer-basic/maven-API-SiMeDi/src/main/java/com/code/hyperledger/coso/Receta.java deleted file mode 100644 index 5b76eaae..00000000 --- a/asset-transfer-basic/maven-API-SiMeDi/src/main/java/com/code/hyperledger/coso/Receta.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.code.hyperledger.models; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@AllArgsConstructor -@NoArgsConstructor -public class Receta { - private String id; - private String identifier; - private String owner; - private String prescripcionAnteriorId; - private String status; - //@JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss") - private String statusChange; - private String prioridad; - private String medicacion; - private String razon; - private String notas; - private String periodoDeTratamiento; - private String instruccionesTratamiento; - private String periodoDeValidez; - private String dniPaciente; - //@JsonFormat(pattern = "yyyy-MM-dd") - private String fechaDeAutorizacion; - private int cantidad; - //@JsonFormat(pattern = "yyyy-MM-dd") - private String expectedSupplyDuration; -} \ No newline at end of file diff --git a/asset-transfer-basic/maven-API-SiMeDi/src/main/java/com/code/hyperledger/coso/RecetaDto.java b/asset-transfer-basic/maven-API-SiMeDi/src/main/java/com/code/hyperledger/coso/RecetaDto.java deleted file mode 100644 index d0f5f5fe..00000000 --- a/asset-transfer-basic/maven-API-SiMeDi/src/main/java/com/code/hyperledger/coso/RecetaDto.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.code.hyperledger.models; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@AllArgsConstructor -@NoArgsConstructor -public class RecetaDto { - private String identifier; - private String owner; - private String prescripcionAnteriorId; - private String status; - //@JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss") - private String statusChange; - private String prioridad; - private String medicacion; - private String razon; - private String notas; - private String periodoDeTratamiento; - private String instruccionesTratamiento; - private String periodoDeValidez; - private String dniPaciente; - //@JsonFormat(pattern = "yyyy-MM-dd") - private String fechaDeAutorizacion; - private int cantidad; - //@JsonFormat(pattern = "yyyy-MM-dd") - private String expectedSupplyDuration; -} diff --git a/asset-transfer-basic/maven-API-SiMeDi/src/main/java/com/code/hyperledger/services/RecetaService.java b/asset-transfer-basic/maven-API-SiMeDi/src/main/java/com/code/hyperledger/services/RecetaService.java index bdd736de..528ea3e0 100644 --- a/asset-transfer-basic/maven-API-SiMeDi/src/main/java/com/code/hyperledger/services/RecetaService.java +++ b/asset-transfer-basic/maven-API-SiMeDi/src/main/java/com/code/hyperledger/services/RecetaService.java @@ -1,6 +1,6 @@ package com.code.hyperledger.services; -import com.code.hyperledger.coso.Receta; +import com.code.hyperledger.models.Receta; import com.fasterxml.jackson.databind.ObjectMapper; import com.google.gson.Gson; import com.google.gson.GsonBuilder; @@ -17,9 +17,9 @@ import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; -import java.security.Identity; +import org.hyperledger.fabric.client.identity.Identity; import java.security.InvalidKeyException; -import java.security.Signer; +import org.hyperledger.fabric.client.identity.Signer; import java.security.cert.CertificateException; import java.util.List; import java.util.concurrent.TimeUnit; @@ -144,20 +144,19 @@ public class RecetaService { objectMapper.getTypeFactory().constructCollectionType(List.class, Receta.class)); } -} - public void entregarReceta(String recetaId) - throws CommitStatusException, EndorseException, CommitException, SubmitException { - contract.submitTransaction("EntregarReceta", recetaId); + throws CommitStatusException, EndorseException, CommitException, SubmitException { + contract.submitTransaction("EntregarReceta", recetaId); } -public List obtenerRecetasPorDniYEstado(String dni, String estado) throws GatewayException, IOException { - if (dni == null || dni.isBlank() || estado == null || estado.isBlank()) { - throw new IllegalArgumentException("DNI y estado son obligatorios"); - } + public List obtenerRecetasPorDniYEstado(String dni, String estado) throws GatewayException, IOException { + if (dni == null || dni.isBlank() || estado == null || estado.isBlank()) { + throw new IllegalArgumentException("DNI y estado son obligatorios"); + } - var evaluateResult = contract.evaluateTransaction("GetRecetasPorDniYEstado", dni, estado); - ObjectMapper objectMapper = new ObjectMapper(); - return objectMapper.readValue(evaluateResult, - objectMapper.getTypeFactory().constructCollectionType(List.class, Receta.class)); + var evaluateResult = contract.evaluateTransaction("GetRecetasPorDniYEstado", dni, estado); + ObjectMapper objectMapper = new ObjectMapper(); + return objectMapper.readValue(evaluateResult, + objectMapper.getTypeFactory().constructCollectionType(List.class, Receta.class)); + } } diff --git a/asset-transfer-basic/maven-API-SiMeDi/src/main/java/com/code/hyperledger/services/VacunaService.java b/asset-transfer-basic/maven-API-SiMeDi/src/main/java/com/code/hyperledger/services/VacunaService.java index 03f7e5b6..032365ba 100644 --- a/asset-transfer-basic/maven-API-SiMeDi/src/main/java/com/code/hyperledger/services/VacunaService.java +++ b/asset-transfer-basic/maven-API-SiMeDi/src/main/java/com/code/hyperledger/services/VacunaService.java @@ -99,11 +99,17 @@ public class VacunaService { contract.submitTransaction( "CreateVacuna", vacuna.getId(), - vacuna.getNombre(), - vacuna.getLaboratorio(), - vacuna.getFechaAplicacion(), + vacuna.getIdentificador(), + vacuna.getStatus(), + vacuna.getStatusChange(), + vacuna.getStatusReason(), + vacuna.getVaccinateCode(), + vacuna.getAdministradedProduct(), + vacuna.getManufacturer(), + vacuna.getLotNumber(), + vacuna.getExpirationDate(), vacuna.getDniPaciente(), - vacuna.getEstado() + vacuna.getReactions() ); }