REQ-3540: move codes to precise location
This commit is contained in:
parent
736cb827f7
commit
7a00e9173f
@ -57,13 +57,13 @@ public class IndexManager {
|
|||||||
|
|
||||||
@BizTransactional
|
@BizTransactional
|
||||||
public IndexNode createDatabase(NodeCreate create) {
|
public IndexNode createDatabase(NodeCreate create) {
|
||||||
ensureChildNameNotUsed(create, IndexNodeType.DATABASE, true);
|
indexSupport.ensureChildNameNotUsed(create, IndexNodeType.DATABASE, true);
|
||||||
return indexSupport.createNode(create, IndexNodeType.DATABASE);
|
return indexSupport.createNode(create, IndexNodeType.DATABASE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@BizTransactional
|
@BizTransactional
|
||||||
public IndexNode createDir(NodeCreate create) {
|
public IndexNode createDir(NodeCreate create) {
|
||||||
ensureChildNameNotUsed(create, IndexNodeType.DIRECTORY, true);
|
indexSupport.ensureChildNameNotUsed(create, IndexNodeType.DIRECTORY, true);
|
||||||
return indexSupport.createNode(create, IndexNodeType.DIRECTORY);
|
return indexSupport.createNode(create, IndexNodeType.DIRECTORY);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -71,7 +71,7 @@ public class IndexManager {
|
|||||||
BizAssertions.assertTrue(format.creatable(), "无法创建: {}", format.readableName());
|
BizAssertions.assertTrue(format.creatable(), "无法创建: {}", format.readableName());
|
||||||
BizAssertions.assertFalse(TransactionSynchronizationManager.isActualTransactionActive(), "不能在事务中使用");
|
BizAssertions.assertFalse(TransactionSynchronizationManager.isActualTransactionActive(), "不能在事务中使用");
|
||||||
// check without lock
|
// check without lock
|
||||||
ensureChildNameNotUsed(create, IndexNodeType.FILE, false);
|
indexSupport.ensureChildNameNotUsed(create, IndexNodeType.FILE, false);
|
||||||
String fullFileName = String.format("%s.%s", create.name(), format.createFileExtension());
|
String fullFileName = String.format("%s.%s", create.name(), format.createFileExtension());
|
||||||
String emptyOssFileKey = format == FileFormat.WORD //
|
String emptyOssFileKey = format == FileFormat.WORD //
|
||||||
? docProps.getCreateFileOssFileKeyWord() //
|
? docProps.getCreateFileOssFileKeyWord() //
|
||||||
@ -107,7 +107,7 @@ public class IndexManager {
|
|||||||
return transaction.execute(unused -> {
|
return transaction.execute(unused -> {
|
||||||
try {
|
try {
|
||||||
// check with lock
|
// check with lock
|
||||||
ensureChildNameNotUsed(create, IndexNodeType.FILE, true);
|
indexSupport.ensureChildNameNotUsed(create, IndexNodeType.FILE, true);
|
||||||
}
|
}
|
||||||
catch (NameUsedException e) {
|
catch (NameUsedException e) {
|
||||||
deleteOssFile.set(true);
|
deleteOssFile.set(true);
|
||||||
@ -130,14 +130,6 @@ public class IndexManager {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ensureChildNameNotUsed(NodeCreate create, IndexNodeType nodeType, boolean withLock) {
|
|
||||||
if (indexSupport.childrenNameDuplicatable(create))
|
|
||||||
return;
|
|
||||||
if (withLock)
|
|
||||||
indexSupport.lockParentAndReleaseOnCommit(create);
|
|
||||||
indexSupport.ensureChildNameNotUsed(create, nodeType, create.name());
|
|
||||||
}
|
|
||||||
|
|
||||||
@BizTransactional
|
@BizTransactional
|
||||||
public void rename(String code, String newName) {
|
public void rename(String code, String newName) {
|
||||||
IndexNode indexNode = getOrThrow(code);
|
IndexNode indexNode = getOrThrow(code);
|
||||||
|
|||||||
@ -134,6 +134,14 @@ public class IndexSupport {
|
|||||||
indexNodeDao.rename(rename.getCode(), newName);
|
indexNodeDao.rename(rename.getCode(), newName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ensureChildNameNotUsed(NodeCreate create, IndexNodeType nodeType, boolean withLock) {
|
||||||
|
if (childrenNameDuplicatable(create))
|
||||||
|
return;
|
||||||
|
if (withLock)
|
||||||
|
lockParentAndReleaseOnCommit(create);
|
||||||
|
ensureChildNameNotUsed(create, nodeType, create.name());
|
||||||
|
}
|
||||||
|
|
||||||
void ensureChildNameNotUsed(IndexNodeParentScope parentScope, IndexNodeType nodeType, String childName) {
|
void ensureChildNameNotUsed(IndexNodeParentScope parentScope, IndexNodeType nodeType, String childName) {
|
||||||
IndexNode child = indexNodeDao.findValidChildByName(parentScope, nodeType, childName);
|
IndexNode child = indexNodeDao.findValidChildByName(parentScope, nodeType, childName);
|
||||||
// don't use BizAssertions.assertNull
|
// don't use BizAssertions.assertNull
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user