app-mobile/app/src/main/java/monnethic/mobile/blockchain/client/ChannelClientWrapper.java
2018-10-19 09:47:49 +02:00

52 lines
1.7 KiB
Java

package monnethic.mobile.blockchain.client;
import org.hyperledger.fabric.sdk.ChaincodeID;
import org.hyperledger.fabric.sdk.Channel;
import org.hyperledger.fabric.sdk.ProposalResponse;
import org.hyperledger.fabric.sdk.QueryByChaincodeRequest;
import org.hyperledger.fabric.sdk.exception.InvalidArgumentException;
import org.hyperledger.fabric.sdk.exception.ProposalException;
import java.util.Collection;
import java.util.logging.Level;
import java.util.logging.Logger;
public class ChannelClientWrapper {
FabriClientWrapper fabriClientWrapper;
Channel channel;
String name;
public Channel getChannel() {
return channel;
}
public String getName() {
return name;
}
public FabriClientWrapper getFabriClientWrapper() {
return fabriClientWrapper;
}
public ChannelClientWrapper(String name, Channel channel, FabriClientWrapper fabriClientWrapper){
this.name=name;
this.channel=channel;
this.fabriClientWrapper=fabriClientWrapper;
}
public Collection<ProposalResponse> queryByChainCode(String chaincodeName, String functionName, String[] args) throws InvalidArgumentException, ProposalException {
Logger.getLogger(ChannelClientWrapper.class.getName()).log(Level.INFO, "Querying "+chaincodeName+" with "+functionName);
QueryByChaincodeRequest request = fabriClientWrapper.getHfClient().newQueryProposalRequest();
ChaincodeID chaincodeId = ChaincodeID.newBuilder().setName(chaincodeName).build();
request.setChaincodeID(chaincodeId);
request.setFcn(functionName);
if(args != null){
request.setArgs(args);
}
Collection<ProposalResponse> response = channel.queryByChaincode(request);
return response;
}
}