summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwangwei <[email protected]>2023-02-28 15:32:45 +0800
committerwangwei <[email protected]>2023-03-15 14:03:14 +0800
commit91ff7cdde0d38b44e3c91b271267a8c3ac962fbd (patch)
treea3a44cdbbb6fe571e972e122d46dbd3cf9680a9a
parent40ea672f9d14e22e66a8b4a8099c886b6a3f9a7c (diff)
fix(knowledge): 取消删除接口LATEST的限制
-rw-r--r--src/main/java/com/mesalab/services/service/impl/KnowledgeBaseServiceImpl.java19
1 files changed, 8 insertions, 11 deletions
diff --git a/src/main/java/com/mesalab/services/service/impl/KnowledgeBaseServiceImpl.java b/src/main/java/com/mesalab/services/service/impl/KnowledgeBaseServiceImpl.java
index 3730188c..428664af 100644
--- a/src/main/java/com/mesalab/services/service/impl/KnowledgeBaseServiceImpl.java
+++ b/src/main/java/com/mesalab/services/service/impl/KnowledgeBaseServiceImpl.java
@@ -137,24 +137,21 @@ public class KnowledgeBaseServiceImpl implements KnowledgeBaseService {
@Override
public BaseResult deleteKnowledge(String id) throws Exception {
-
-
- boolean isExist = false;
KnowledgeBase knowledgeBase = null;
InterProcessMutex lock = new InterProcessMutex(client, ZK_LOCK_PATH);
try {
if (lock.acquire(10000, TimeUnit.SECONDS)) {
List<KnowledgeBase> knowledgeBaseList = queryKnowledgeBaseList();
- for (int i = 0; i < knowledgeBaseList.size(); i++) {
- knowledgeBase = knowledgeBaseList.get(i);
- if (StringUtil.equals(id, knowledgeBase.getId()) && !StringUtil.equals(knowledgeBase.getVersion(), KnowledgeConstant.LATEST)) {
- knowledgeBaseList.remove(i);
- saveKnowledgeBaseList(knowledgeBaseList);
- isExist = true;
- break;
+ int originalSize = knowledgeBaseList.size();
+ Iterator<KnowledgeBase> iterator = knowledgeBaseList.iterator();
+ while (iterator.hasNext()) {
+ knowledgeBase = iterator.next();
+ if (StringUtil.equals(id, knowledgeBase.getId())) {
+ iterator.remove();
}
}
- if (isExist) {
+ if (originalSize > knowledgeBaseList.size()) {
+ saveKnowledgeBaseList(knowledgeBaseList);
String path = knowledgeBase.getPath();
Header header = new BasicHeader(KnowledgeConstant.TOKEN, hosConfig.getToken());
httpClientService.httpDelete(path, httpConfig.getServerResponseTimeOut(), header);