mirror of
https://github.com/hyperledger/fabric-samples.git
synced 2026-06-17 07:25:10 +00:00
FGJ-84 Update Fabcar Java app to 2.1.1 (#167)
This updates the fabcar java application to work with the fabric gateway java version 2.1.1. It also changes pom.xml to produce a jar file that is self contained for ease of use. Signed-off-by: Arnaud J Le Hors <lehors@us.ibm.com>
This commit is contained in:
parent
a9968ea811
commit
23df2d620a
4 changed files with 58 additions and 27 deletions
|
|
@ -4,7 +4,7 @@
|
|||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>fabcar-java</groupId>
|
||||
<artifactId>fabcar-java</artifactId>
|
||||
<version>2.0.0-SNAPSHOT</version>
|
||||
<version>2.1.1</version>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
|
|
@ -15,6 +15,35 @@
|
|||
<target>1.8</target>
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-shade-plugin</artifactId>
|
||||
<version>3.2.0</version>
|
||||
<executions>
|
||||
<!-- Attach the shade goal into the package phase -->
|
||||
<execution>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>shade</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
<configuration>
|
||||
<createDependencyReducedPom>false</createDependencyReducedPom>
|
||||
<filters>
|
||||
<filter>
|
||||
<artifact>*:*</artifact>
|
||||
<excludes>
|
||||
<exclude>META-INF/*.SF</exclude>
|
||||
<exclude>META-INF/*.DSA</exclude>
|
||||
<exclude>META-INF/*.RSA</exclude>
|
||||
</excludes>
|
||||
</filter>
|
||||
</filters>
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
||||
</plugins>
|
||||
</build>
|
||||
<repositories>
|
||||
|
|
@ -28,7 +57,7 @@
|
|||
<dependency>
|
||||
<groupId>org.hyperledger.fabric</groupId>
|
||||
<artifactId>fabric-gateway-java</artifactId>
|
||||
<version>1.4.3</version>
|
||||
<version>2.1.1</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.junit.platform</groupId>
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ import org.hyperledger.fabric.gateway.Contract;
|
|||
import org.hyperledger.fabric.gateway.Gateway;
|
||||
import org.hyperledger.fabric.gateway.Network;
|
||||
import org.hyperledger.fabric.gateway.Wallet;
|
||||
import org.hyperledger.fabric.gateway.Wallets;
|
||||
|
||||
public class ClientApp {
|
||||
|
||||
|
|
@ -21,7 +22,7 @@ public class ClientApp {
|
|||
public static void main(String[] args) throws Exception {
|
||||
// Load a file system based wallet for managing identities.
|
||||
Path walletPath = Paths.get("wallet");
|
||||
Wallet wallet = Wallet.createFileSystemWallet(walletPath);
|
||||
Wallet wallet = Wallets.newFileSystemWallet(walletPath);
|
||||
// load a CCP
|
||||
Path networkConfigPath = Paths.get("..", "..", "test-network", "organizations", "peerOrganizations", "org1.example.com", "connection-org1.yaml");
|
||||
|
||||
|
|
|
|||
|
|
@ -8,7 +8,9 @@ import java.nio.file.Paths;
|
|||
import java.util.Properties;
|
||||
|
||||
import org.hyperledger.fabric.gateway.Wallet;
|
||||
import org.hyperledger.fabric.gateway.Wallet.Identity;
|
||||
import org.hyperledger.fabric.gateway.Wallets;
|
||||
import org.hyperledger.fabric.gateway.Identities;
|
||||
import org.hyperledger.fabric.gateway.Identity;
|
||||
import org.hyperledger.fabric.sdk.Enrollment;
|
||||
import org.hyperledger.fabric.sdk.security.CryptoSuite;
|
||||
import org.hyperledger.fabric.sdk.security.CryptoSuiteFactory;
|
||||
|
|
@ -33,22 +35,21 @@ public class EnrollAdmin {
|
|||
caClient.setCryptoSuite(cryptoSuite);
|
||||
|
||||
// Create a wallet for managing identities
|
||||
Wallet wallet = Wallet.createFileSystemWallet(Paths.get("wallet"));
|
||||
Wallet wallet = Wallets.newFileSystemWallet(Paths.get("wallet"));
|
||||
|
||||
// Check to see if we've already enrolled the admin user.
|
||||
boolean adminExists = wallet.exists("admin");
|
||||
if (adminExists) {
|
||||
System.out.println("An identity for the admin user \"admin\" already exists in the wallet");
|
||||
return;
|
||||
}
|
||||
if (wallet.get("admin") != null) {
|
||||
System.out.println("An identity for the admin user \"admin\" already exists in the wallet");
|
||||
return;
|
||||
}
|
||||
|
||||
// Enroll the admin user, and import the new identity into the wallet.
|
||||
final EnrollmentRequest enrollmentRequestTLS = new EnrollmentRequest();
|
||||
enrollmentRequestTLS.addHost("localhost");
|
||||
enrollmentRequestTLS.setProfile("tls");
|
||||
Enrollment enrollment = caClient.enroll("admin", "adminpw", enrollmentRequestTLS);
|
||||
Identity user = Identity.createIdentity("Org1MSP", enrollment.getCert(), enrollment.getKey());
|
||||
wallet.put("admin", user);
|
||||
// Enroll the admin user, and import the new identity into the wallet.
|
||||
final EnrollmentRequest enrollmentRequestTLS = new EnrollmentRequest();
|
||||
enrollmentRequestTLS.addHost("localhost");
|
||||
enrollmentRequestTLS.setProfile("tls");
|
||||
Enrollment enrollment = caClient.enroll("admin", "adminpw", enrollmentRequestTLS);
|
||||
Identity user = Identities.newX509Identity("Org1MSP", enrollment);
|
||||
wallet.put("admin", user);
|
||||
System.out.println("Successfully enrolled user \"admin\" and imported it into the wallet");
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,7 +10,10 @@ import java.util.Properties;
|
|||
import java.util.Set;
|
||||
|
||||
import org.hyperledger.fabric.gateway.Wallet;
|
||||
import org.hyperledger.fabric.gateway.Wallet.Identity;
|
||||
import org.hyperledger.fabric.gateway.Wallets;
|
||||
import org.hyperledger.fabric.gateway.Identities;
|
||||
import org.hyperledger.fabric.gateway.Identity;
|
||||
import org.hyperledger.fabric.gateway.X509Identity;
|
||||
import org.hyperledger.fabric.sdk.Enrollment;
|
||||
import org.hyperledger.fabric.sdk.User;
|
||||
import org.hyperledger.fabric.sdk.security.CryptoSuite;
|
||||
|
|
@ -36,22 +39,19 @@ public class RegisterUser {
|
|||
caClient.setCryptoSuite(cryptoSuite);
|
||||
|
||||
// Create a wallet for managing identities
|
||||
Wallet wallet = Wallet.createFileSystemWallet(Paths.get("wallet"));
|
||||
Wallet wallet = Wallets.newFileSystemWallet(Paths.get("wallet"));
|
||||
|
||||
// Check to see if we've already enrolled the user.
|
||||
boolean userExists = wallet.exists("appUser");
|
||||
if (userExists) {
|
||||
if (wallet.get("appUser") != null) {
|
||||
System.out.println("An identity for the user \"appUser\" already exists in the wallet");
|
||||
return;
|
||||
}
|
||||
|
||||
userExists = wallet.exists("admin");
|
||||
if (!userExists) {
|
||||
X509Identity adminIdentity = (X509Identity)wallet.get("admin");
|
||||
if (adminIdentity == null) {
|
||||
System.out.println("\"admin\" needs to be enrolled and added to the wallet first");
|
||||
return;
|
||||
}
|
||||
|
||||
Identity adminIdentity = wallet.get("admin");
|
||||
User admin = new User() {
|
||||
|
||||
@Override
|
||||
|
|
@ -85,7 +85,7 @@ public class RegisterUser {
|
|||
|
||||
@Override
|
||||
public String getCert() {
|
||||
return adminIdentity.getCertificate();
|
||||
return Identities.toPemString(adminIdentity.getCertificate());
|
||||
}
|
||||
};
|
||||
}
|
||||
|
|
@ -103,7 +103,7 @@ public class RegisterUser {
|
|||
registrationRequest.setEnrollmentID("appUser");
|
||||
String enrollmentSecret = caClient.register(registrationRequest, admin);
|
||||
Enrollment enrollment = caClient.enroll("appUser", enrollmentSecret);
|
||||
Identity user = Identity.createIdentity("Org1MSP", enrollment.getCert(), enrollment.getKey());
|
||||
Identity user = Identities.newX509Identity("Org1MSP", adminIdentity.getCertificate(), adminIdentity.getPrivateKey());
|
||||
wallet.put("appUser", user);
|
||||
System.out.println("Successfully enrolled user \"appUser\" and imported it into the wallet");
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue