class FabricTopicAdmin implements IEventTopic {

    @Override
    public boolean open(String topic, String channelName) throws BrokerException {
        log.info("open topic: {} channelName: {}", topic, channelName);

        ParamCheckUtils.validateTopicName(topic);
        validateChannelName(channelName);
        try {
            return fabricDelegate.getFabricMap().get(channelName).createTopic(topic);
        } catch (BrokerException e) {
            if (e.getCode() == ErrorCode.TOPIC_ALREADY_EXIST.getCode()) {
                return true;
            }
            throw e;
        }
    }

    public  FabricTopicAdmin(FabricDelegate fabricDelegate);

}