Skip to content

Commit

Permalink
Move common function to utils
Browse files Browse the repository at this point in the history
Signed-off-by: Deepika Karanji - d0k03k3 <Deepika.Karanji@walmartlabs.com>
  • Loading branch information
Deepika Karanji - d0k03k3 authored and Deepika Karanji - d0k03k3 committed Mar 21, 2024
1 parent b367d4c commit b5ded2d
Show file tree
Hide file tree
Showing 4 changed files with 29 additions and 41 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -279,7 +279,8 @@ private Configtx.ConfigGroup newChannelGroup(
}
channelGroupBuilder.setVersion(EMPTY_VERSION).setModPolicy(EMPTY_MOD_POLICY);
// add capabilities for V2_0 lifecycle chaincode support
channelGroupBuilder.putValues(VALUE_TAG_CAPABILITIES, getCapabilities(FABRIC_2_0));
channelGroupBuilder.putValues(
VALUE_TAG_CAPABILITIES, FabricChannelUtil.getCapabilities(FABRIC_2_0));
return channelGroupBuilder.build();
}

Expand All @@ -296,7 +297,8 @@ private Configtx.ConfigGroup newApplicationGroup(Map<String, MSPDTO> mspMap, boo
if (isWriteSet) {
addDefaultImplicitMetaPolicy(appGroupBuilder);
appGroupBuilder.setVersion(INIT_VERSION);
appGroupBuilder.putValues(VALUE_TAG_CAPABILITIES, getCapabilities(FABRIC_2_0));
appGroupBuilder.putValues(
VALUE_TAG_CAPABILITIES, FabricChannelUtil.getCapabilities(FABRIC_2_0));
}
for (Map.Entry<String, MSPDTO> entry : mspMap.entrySet()) {
if (entry.getValue() != null) {
Expand All @@ -309,23 +311,6 @@ private Configtx.ConfigGroup newApplicationGroup(Map<String, MSPDTO> mspMap, boo
return appGroupBuilder.build();
}

/**
* @param capabilities capabilities need to be added to config
* @return channel capabilities
*/
private Configtx.ConfigValue getCapabilities(String... capabilities) {
Configtx.ConfigValue.Builder valueBuilder = Configtx.ConfigValue.newBuilder();
valueBuilder.setModPolicy(DEFAULT_MOD_POLICY);
Configuration.Capabilities.Builder capabilitiesBuilder =
Configuration.Capabilities.newBuilder();
for (String capability : capabilities) {
capabilitiesBuilder.putCapabilities(
capability, Configuration.Capability.newBuilder().build());
}
valueBuilder.setValue(capabilitiesBuilder.build().toByteString());
return valueBuilder.build();
}

/**
* generate empty msp config group
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -399,6 +399,10 @@ public ResponseEntity<ClientResponseModel> addOrgToChannel(
UpdateChannelConfiguration updateChannelConfiguration = new UpdateChannelConfiguration();
updateChannelConfiguration.setUpdateChannelConfiguration(
configUpdate.toByteString().toByteArray());
System.out.println(user.getName());
System.out.println(user.getRoles());
System.out.println(user.getEnrollment());

selectedChannel.updateChannelConfiguration(
updateChannelConfiguration,
selectedChannel.getUpdateChannelConfigurationSignature(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,8 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.hyperledger.fabric.protos.common.Configtx;
import org.hyperledger.fabric.protos.common.Configtx.ConfigGroup;
import org.hyperledger.fabric.protos.common.Configtx.ConfigValue;
import org.hyperledger.fabric.protos.common.Configuration;
import org.hyperledger.fabric.protos.msp.MspConfigPackage.FabricCryptoConfig;
import org.hyperledger.fabric.protos.msp.MspConfigPackage.FabricMSPConfig;
import org.hyperledger.fabric.protos.msp.MspConfigPackage.FabricNodeOUs;
Expand All @@ -31,8 +29,6 @@ public class UpdateChannelImpl implements UpdateChannel {

private static final String FABRIC_2_0 = "V2_0";

private static final String DEFAULT_MOD_POLICY = "Admins";

@Override
public ConfigGroup buildWriteset(ConfigGroup readset, ChannelUpdateParamsDTO organizationDetails)
throws ServiceException {
Expand All @@ -47,7 +43,7 @@ public ConfigGroup buildWriteset(ConfigGroup readset, ChannelUpdateParamsDTO org
.setModPolicy(FabricClientConstants.CHANNEL_CONFIG_MOD_POLICY_ADMINS)
.putAllPolicies(FabricChannelUtil.setApplicationPolicies(readset))
.putGroups(newOrgMspId, setNewOrgGroup(newOrgMspId, organizationDetails))
.putValues(VALUE_TAG_CAPABILITIES,getCapabilities(FABRIC_2_0))
.putValues(VALUE_TAG_CAPABILITIES, FabricChannelUtil.getCapabilities(FABRIC_2_0))
// putAllGroups excludes new organization
.putAllGroups(existingOrganizations)
// Application group version
Expand Down Expand Up @@ -226,21 +222,4 @@ private FabricNodeOUs.Builder getFabricNodeOUs(
.setCertificate(ByteString.copyFrom(nodeCert)))
.setEnable(true);
}
/**
* @param capabilities capabilities need to be added to config
* @return channel capabilities
*/
private Configtx.ConfigValue getCapabilities(String... capabilities) {
Configtx.ConfigValue.Builder valueBuilder = Configtx.ConfigValue.newBuilder();
Configuration.Capabilities.Builder capabilitiesBuilder =
Configuration.Capabilities.newBuilder();
valueBuilder.setModPolicy(DEFAULT_MOD_POLICY);
valueBuilder.setVersion(0);
for (String capability : capabilities) {
capabilitiesBuilder.putCapabilities(
capability, Configuration.Capability.newBuilder().build());
}
valueBuilder.setValue(capabilitiesBuilder.build().toByteString());
return valueBuilder.build();
}
}
20 changes: 20 additions & 0 deletions src/main/java/hlf/java/rest/client/util/FabricChannelUtil.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,14 @@
import java.util.Map;
import lombok.experimental.UtilityClass;
import org.hyperledger.fabric.protos.common.Configtx;
import org.hyperledger.fabric.protos.common.Configuration;
import org.hyperledger.fabric.protos.common.MspPrincipal;
import org.hyperledger.fabric.protos.common.Policies;

@UtilityClass
public class FabricChannelUtil {
private final int DEFAULT_VERSION = 0;
private static final String DEFAULT_MOD_POLICY = "Admins";

/**
* get default configuration policy for organization that maps the roles. The policy type is
Expand Down Expand Up @@ -240,4 +242,22 @@ public Map<String, Configtx.ConfigPolicy> setApplicationPolicies(Configtx.Config
FabricClientConstants.CHANNEL_CONFIG_POLICY_TYPE_WRITERS, writerPolicy);
return applicationPoliciesMap;
}

/**
* @param capabilities capabilities need to be added to config
* @return channel capabilities
*/
public Configtx.ConfigValue getCapabilities(String... capabilities) {
Configtx.ConfigValue.Builder valueBuilder = Configtx.ConfigValue.newBuilder();
Configuration.Capabilities.Builder capabilitiesBuilder =
Configuration.Capabilities.newBuilder();
valueBuilder.setModPolicy(DEFAULT_MOD_POLICY);
valueBuilder.setVersion(0);
for (String capability : capabilities) {
capabilitiesBuilder.putCapabilities(
capability, Configuration.Capability.newBuilder().build());
}
valueBuilder.setValue(capabilitiesBuilder.build().toByteString());
return valueBuilder.build();
}
}

0 comments on commit b5ded2d

Please sign in to comment.