From b5ded2d575fc58ba7ebcfa1841406cded5554c02 Mon Sep 17 00:00:00 2001 From: Deepika Karanji - d0k03k3 Date: Thu, 21 Mar 2024 12:59:03 +0530 Subject: [PATCH] Move common function to utils Signed-off-by: Deepika Karanji - d0k03k3 --- .../service/impl/ChannelServiceImpl.java | 23 ++++--------------- .../service/impl/NetworkStatusImpl.java | 4 ++++ .../service/impl/UpdateChannelImpl.java | 23 +------------------ .../rest/client/util/FabricChannelUtil.java | 20 ++++++++++++++++ 4 files changed, 29 insertions(+), 41 deletions(-) diff --git a/src/main/java/hlf/java/rest/client/service/impl/ChannelServiceImpl.java b/src/main/java/hlf/java/rest/client/service/impl/ChannelServiceImpl.java index 738c4a5..c6cb833 100644 --- a/src/main/java/hlf/java/rest/client/service/impl/ChannelServiceImpl.java +++ b/src/main/java/hlf/java/rest/client/service/impl/ChannelServiceImpl.java @@ -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(); } @@ -296,7 +297,8 @@ private Configtx.ConfigGroup newApplicationGroup(Map 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 entry : mspMap.entrySet()) { if (entry.getValue() != null) { @@ -309,23 +311,6 @@ private Configtx.ConfigGroup newApplicationGroup(Map 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 * diff --git a/src/main/java/hlf/java/rest/client/service/impl/NetworkStatusImpl.java b/src/main/java/hlf/java/rest/client/service/impl/NetworkStatusImpl.java index 62a96ba..0afa5f6 100644 --- a/src/main/java/hlf/java/rest/client/service/impl/NetworkStatusImpl.java +++ b/src/main/java/hlf/java/rest/client/service/impl/NetworkStatusImpl.java @@ -399,6 +399,10 @@ public ResponseEntity 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( diff --git a/src/main/java/hlf/java/rest/client/service/impl/UpdateChannelImpl.java b/src/main/java/hlf/java/rest/client/service/impl/UpdateChannelImpl.java index 9358056..d46ed3f 100644 --- a/src/main/java/hlf/java/rest/client/service/impl/UpdateChannelImpl.java +++ b/src/main/java/hlf/java/rest/client/service/impl/UpdateChannelImpl.java @@ -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; @@ -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 { @@ -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 @@ -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(); - } } diff --git a/src/main/java/hlf/java/rest/client/util/FabricChannelUtil.java b/src/main/java/hlf/java/rest/client/util/FabricChannelUtil.java index a9aa86e..95f0a93 100644 --- a/src/main/java/hlf/java/rest/client/util/FabricChannelUtil.java +++ b/src/main/java/hlf/java/rest/client/util/FabricChannelUtil.java @@ -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 @@ -240,4 +242,22 @@ public Map 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(); + } }