in inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/master/web/handler/WebBrokerConfHandler.java [119:256]
public StringBuilder adminQueryBrokerConfInfo(HttpServletRequest req,
StringBuilder sBuffer,
ProcessResult result) {
BrokerConfEntity qryEntity = new BrokerConfEntity();
// get queried operation info, for createUser, modifyUser, dataVersionId
if (!WebParameterUtils.getQueriedOperateInfo(req, qryEntity, sBuffer, result)) {
WebParameterUtils.buildFailResult(sBuffer, result.getErrMsg());
return sBuffer;
}
// check and get brokerId field
if (!WebParameterUtils.getIntParamValue(req,
WebFieldDef.COMPSBROKERID, false, sBuffer, result)) {
WebParameterUtils.buildFailResult(sBuffer, result.getErrMsg());
return sBuffer;
}
final Set<Integer> brokerIds = (Set<Integer>) result.getRetData();
// get brokerIp info
if (!WebParameterUtils.getStringParamValue(req,
WebFieldDef.COMPBROKERIP, false, null, sBuffer, result)) {
WebParameterUtils.buildFailResult(sBuffer, result.getErrMsg());
return sBuffer;
}
final Set<String> brokerIpSet = (Set<String>) result.getRetData();
// get brokerPort field
if (!WebParameterUtils.getIntParamValue(req, WebFieldDef.BROKERPORT,
false, TBaseConstants.META_VALUE_UNDEFINED, 1, sBuffer, result)) {
WebParameterUtils.buildFailResult(sBuffer, result.getErrMsg());
return sBuffer;
}
final int brokerPort = (int) result.getRetData();
// get brokerTlsPort field
if (!WebParameterUtils.getIntParamValue(req, WebFieldDef.BROKERTLSPORT,
false, TBaseConstants.META_VALUE_UNDEFINED, 1, sBuffer, result)) {
WebParameterUtils.buildFailResult(sBuffer, result.getErrMsg());
return sBuffer;
}
final int brokerTlsPort = (int) result.getRetData();
// get brokerWebPort field
if (!WebParameterUtils.getIntParamValue(req, WebFieldDef.BROKERWEBPORT,
false, TBaseConstants.META_VALUE_UNDEFINED, 1, sBuffer, result)) {
WebParameterUtils.buildFailResult(sBuffer, result.getErrMsg());
return sBuffer;
}
final int brokerWebPort = (int) result.getRetData();
// get regionId field
if (!WebParameterUtils.getIntParamValue(req, WebFieldDef.REGIONID,
false, TBaseConstants.META_VALUE_UNDEFINED,
TServerConstants.BROKER_REGION_ID_MIN, sBuffer, result)) {
WebParameterUtils.buildFailResult(sBuffer, result.getErrMsg());
return sBuffer;
}
final int regionId = (int) result.getRetData();
// get groupId field
if (!WebParameterUtils.getIntParamValue(req, WebFieldDef.GROUPID,
false, TBaseConstants.META_VALUE_UNDEFINED,
TServerConstants.BROKER_GROUP_ID_MIN, sBuffer, result)) {
WebParameterUtils.buildFailResult(sBuffer, result.getErrMsg());
return sBuffer;
}
final int groupId = (int) result.getRetData();
// get and valid TopicPropGroup info
if (!WebParameterUtils.getTopicPropInfo(req,
null, sBuffer, result)) {
WebParameterUtils.buildFailResult(sBuffer, result.getErrMsg());
return sBuffer;
}
final TopicPropGroup brokerProps = (TopicPropGroup) result.getRetData();
// get and valid TopicStatusId info
if (!WebParameterUtils.getTopicStatusParamValue(req,
false, TopicStatus.STATUS_TOPIC_UNDEFINED, sBuffer, result)) {
WebParameterUtils.buildFailResult(sBuffer, result.getErrMsg());
return sBuffer;
}
TopicStatus topicStatus = (TopicStatus) result.getRetData();
// get and valid broker manage status info
if (!getManageStatusParamValue(req, sBuffer, result)) {
WebParameterUtils.buildFailResult(sBuffer, result.getErrMsg());
return sBuffer;
}
final ManageStatus mngStatus = (ManageStatus) result.getRetData();
// get topic info
if (!WebParameterUtils.getStringParamValue(req,
WebFieldDef.COMPSTOPICNAME, false, null, sBuffer, result)) {
WebParameterUtils.buildFailResult(sBuffer, result.getErrMsg());
return sBuffer;
}
Set<String> topicNameSet = (Set<String>) result.getRetData();
// get isInclude info
if (!WebParameterUtils.getBooleanParamValue(req,
WebFieldDef.ISINCLUDE, false, true, sBuffer, result)) {
WebParameterUtils.buildFailResult(sBuffer, result.getErrMsg());
return sBuffer;
}
Boolean isInclude = (Boolean) result.getRetData();
// get withTopic info
if (!WebParameterUtils.getBooleanParamValue(req,
WebFieldDef.WITHTOPIC, false, false, sBuffer, result)) {
WebParameterUtils.buildFailResult(sBuffer, result.getErrMsg());
return sBuffer;
}
Boolean withTopic = (Boolean) result.getRetData();
// fill query entity fields
qryEntity.updModifyInfo(qryEntity.getDataVerId(), brokerPort, brokerTlsPort,
brokerWebPort, regionId, groupId, mngStatus, brokerProps);
Map<Integer, BrokerConfEntity> qryResult =
defMetaDataService.getBrokerConfInfo(brokerIds, brokerIpSet, qryEntity);
// build query result
int totalCnt = 0;
boolean isConfUpdated;
boolean isConfLoaded;
Tuple2<Boolean, Boolean> syncTuple;
BrokerRunStatusInfo runStatusInfo;
BrokerRunManager brokerRunManager = master.getBrokerRunManager();
WebParameterUtils.buildSuccessWithDataRetBegin(sBuffer);
for (BrokerConfEntity entity : qryResult.values()) {
Map<String, TopicDeployEntity> topicConfEntityMap =
defMetaDataService.getBrokerTopicConfEntitySet(entity.getBrokerId());
if (!isValidRecord(topicNameSet, isInclude, topicStatus, topicConfEntityMap)) {
continue;
}
if (totalCnt++ > 0) {
sBuffer.append(",");
}
isConfUpdated = false;
isConfLoaded = false;
runStatusInfo = brokerRunManager.getBrokerRunStatusInfo(entity.getBrokerId());
if (runStatusInfo != null) {
syncTuple = runStatusInfo.getDataSyncStatus();
isConfUpdated = syncTuple.getF0();
isConfLoaded = syncTuple.getF1();
}
entity.toWebJsonStr(sBuffer, isConfUpdated, isConfLoaded, true, false);
addTopicInfo(withTopic, sBuffer, topicConfEntityMap);
sBuffer.append("}");
}
WebParameterUtils.buildSuccessWithDataRetEnd(sBuffer, totalCnt);
return sBuffer;
}