52 lines
1.7 KiB
Java
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;
|
|
}
|
|
}
|