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 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 response = channel.queryByChaincode(request); return response; } }