代码拉取完成,页面将自动刷新
/*
Copyright IBM Corp. 2017 All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package config
import (
"fmt"
"github.com/hyperledger/fabric/common/config/msp"
)
const (
// ApplicationGroupKey is the group name for the Application config
ApplicationGroupKey = "Application"
)
// ApplicationGroup represents the application config group
type ApplicationGroup struct {
*Proposer
*ApplicationConfig
mspConfig *msp.MSPConfigHandler
}
type ApplicationConfig struct {
*standardValues
applicationGroup *ApplicationGroup
applicationOrgs map[string]ApplicationOrg
}
// NewSharedConfigImpl creates a new SharedConfigImpl with the given CryptoHelper
func NewApplicationGroup(mspConfig *msp.MSPConfigHandler) *ApplicationGroup {
ag := &ApplicationGroup{
mspConfig: mspConfig,
}
ag.Proposer = NewProposer(ag)
return ag
}
func (ag *ApplicationGroup) NewGroup(name string) (ValueProposer, error) {
return NewApplicationOrgGroup(name, ag.mspConfig), nil
}
// Allocate returns a new instance of the ApplicationConfig
func (ag *ApplicationGroup) Allocate() Values {
return NewApplicationConfig(ag)
}
func NewApplicationConfig(ag *ApplicationGroup) *ApplicationConfig {
sv, err := NewStandardValues(&(struct{}{}))
if err != nil {
logger.Panicf("Programming error: %s", err)
}
return &ApplicationConfig{
applicationGroup: ag,
// Currently there are no config values
standardValues: sv,
}
}
func (ac *ApplicationConfig) Validate(tx interface{}, groups map[string]ValueProposer) error {
ac.applicationOrgs = make(map[string]ApplicationOrg)
var ok bool
for key, value := range groups {
ac.applicationOrgs[key], ok = value.(*ApplicationOrgGroup)
if !ok {
return fmt.Errorf("Application sub-group %s was not an ApplicationOrgGroup, actually %T", key, value)
}
}
return nil
}
func (ac *ApplicationConfig) Commit() {
ac.applicationGroup.ApplicationConfig = ac
}
// Organizations returns a map of org ID to ApplicationOrg
func (ac *ApplicationConfig) Organizations() map[string]ApplicationOrg {
return ac.applicationOrgs
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。