Skip to content

Commit 3fadf20

Browse files
committed
chore: 修改名称
1 parent d9061fe commit 3fadf20

File tree

14 files changed

+221
-177
lines changed

14 files changed

+221
-177
lines changed
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
package tech.wetech.flexmodel;
2+
3+
4+
import tech.wetech.flexmodel.model.SchemaObject;
5+
import tech.wetech.flexmodel.session.AbstractSessionContext;
6+
7+
import java.util.List;
8+
import java.util.Set;
9+
10+
/**
11+
* 模型注册表
12+
* @author cjbi
13+
*/
14+
public interface ModelRegistry {
15+
16+
/**
17+
* 从数据库中加载模型
18+
*
19+
* @param sqlContext
20+
* @return
21+
*/
22+
List<SchemaObject> loadFromDatabase(AbstractSessionContext sqlContext);
23+
24+
/**
25+
* 从数据库中加载模型
26+
*
27+
* @param sqlContext
28+
* @param includes
29+
* @return
30+
*/
31+
List<SchemaObject> loadFromDatabase(AbstractSessionContext sqlContext, Set<String> includes);
32+
33+
/**
34+
* 获取所有已注册的模型
35+
*
36+
* @param schemaName
37+
* @return
38+
*/
39+
List<SchemaObject> getAllRegistered(String schemaName);
40+
41+
/**
42+
* 注销模型
43+
*
44+
* @param schemaName
45+
*/
46+
void unregister(String schemaName);
47+
48+
/**
49+
* 注销模型
50+
*
51+
* @param schemaName
52+
* @param modelName
53+
*/
54+
void unregister(String schemaName, String modelName);
55+
56+
/**
57+
* 注册模型
58+
*
59+
* @param schemaName
60+
* @param object
61+
*/
62+
void register(String schemaName, SchemaObject object);
63+
64+
/**
65+
* 获取已注册的模型
66+
*
67+
* @param schemaName
68+
* @param modelName
69+
* @return
70+
*/
71+
SchemaObject getRegistered(String schemaName, String modelName);
72+
73+
}

flexmodel-core/src/main/java/tech/wetech/flexmodel/ModelRepository.java

Lines changed: 0 additions & 29 deletions
This file was deleted.
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
package tech.wetech.flexmodel.cache;
2+
3+
import tech.wetech.flexmodel.ModelRegistry;
4+
import tech.wetech.flexmodel.model.SchemaObject;
5+
import tech.wetech.flexmodel.session.AbstractSessionContext;
6+
7+
import java.util.List;
8+
import java.util.Set;
9+
10+
/**
11+
* @author cjbi
12+
*/
13+
public class CachingModelRegistry implements ModelRegistry {
14+
15+
private final ModelRegistry delegate;
16+
private final Cache cache;
17+
18+
public CachingModelRegistry(ModelRegistry delegate, Cache cache) {
19+
this.delegate = delegate;
20+
this.cache = cache;
21+
}
22+
23+
@Override
24+
public List<SchemaObject> loadFromDatabase(AbstractSessionContext context) {
25+
cache.invalidateAll();
26+
return delegate.loadFromDatabase(context);
27+
}
28+
29+
@Override
30+
public List<SchemaObject> loadFromDatabase(AbstractSessionContext sqlContext, Set<String> includes) {
31+
cache.invalidateAll();
32+
return delegate.loadFromDatabase(sqlContext, includes);
33+
}
34+
35+
@Override
36+
public List<SchemaObject> getAllRegistered(String schemaName) {
37+
return delegate.getAllRegistered(schemaName);
38+
}
39+
40+
@Override
41+
public void unregister(String schemaName) {
42+
cache.invalidateAll();
43+
delegate.unregister(schemaName);
44+
}
45+
46+
@Override
47+
public void unregister(String schemaName, String modelName) {
48+
cache.invalidate(schemaName + ":" + modelName);
49+
delegate.unregister(schemaName, modelName);
50+
}
51+
52+
@Override
53+
public void register(String schemaName, SchemaObject object) {
54+
cache.put(schemaName + ":" + object.getName(), object);
55+
delegate.register(schemaName, object);
56+
}
57+
58+
@Override
59+
public SchemaObject getRegistered(String schemaName, String modelName) {
60+
return (SchemaObject) cache.retrieve(schemaName + ":" + modelName, () -> delegate.getRegistered(schemaName, modelName));
61+
}
62+
63+
public Cache getCache() {
64+
return cache;
65+
}
66+
}

flexmodel-core/src/main/java/tech/wetech/flexmodel/cache/CachingModelRepository.java

Lines changed: 0 additions & 66 deletions
This file was deleted.

flexmodel-core/src/main/java/tech/wetech/flexmodel/cache/InMemoryModelRepository.java renamed to flexmodel-core/src/main/java/tech/wetech/flexmodel/cache/InMemoryModelRegistry.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package tech.wetech.flexmodel.cache;
22

3-
import tech.wetech.flexmodel.ModelRepository;
3+
import tech.wetech.flexmodel.ModelRegistry;
44
import tech.wetech.flexmodel.model.SchemaObject;
55
import tech.wetech.flexmodel.session.AbstractSessionContext;
66

@@ -9,23 +9,23 @@
99
/**
1010
* @author cjbi
1111
*/
12-
public class InMemoryModelRepository implements ModelRepository {
12+
public class InMemoryModelRegistry implements ModelRegistry {
1313

1414
private final Map<String, Map<String, SchemaObject>> map = new HashMap<>();
1515

1616
@Override
17-
public List<SchemaObject> syncFromDatabase(AbstractSessionContext context) {
17+
public List<SchemaObject> loadFromDatabase(AbstractSessionContext context) {
1818
// ignore
1919
return Collections.emptyList();
2020
}
2121

2222
@Override
23-
public List<SchemaObject> syncFromDatabase(AbstractSessionContext sqlContext, Set<String> includes) {
23+
public List<SchemaObject> loadFromDatabase(AbstractSessionContext sqlContext, Set<String> includes) {
2424
return Collections.emptyList();
2525
}
2626

2727
@Override
28-
public List<SchemaObject> findAll(String schemaName) {
28+
public List<SchemaObject> getAllRegistered(String schemaName) {
2929
List<SchemaObject> result = new ArrayList<>();
3030

3131
// 从内存映射中获取
@@ -38,17 +38,17 @@ public List<SchemaObject> findAll(String schemaName) {
3838
}
3939

4040
@Override
41-
public void deleteAll(String schemaName) {
41+
public void unregister(String schemaName) {
4242
map.clear();
4343
}
4444

4545
@Override
46-
public void delete(String schemaName, String modelName) {
46+
public void unregister(String schemaName, String modelName) {
4747
map.get(schemaName).remove(modelName);
4848
}
4949

5050
@Override
51-
public void save(String schemaName, SchemaObject object) {
51+
public void register(String schemaName, SchemaObject object) {
5252
map.compute(schemaName, (key, value) -> {
5353
if (value == null) {
5454
value = new HashMap<>();
@@ -59,7 +59,7 @@ public void save(String schemaName, SchemaObject object) {
5959
}
6060

6161
@Override
62-
public SchemaObject find(String schemaName, String modelName) {
62+
public SchemaObject getRegistered(String schemaName, String modelName) {
6363
// 从内存映射中查找
6464
return map.getOrDefault(schemaName, Collections.emptyMap()).get(modelName);
6565
}

flexmodel-core/src/main/java/tech/wetech/flexmodel/mongodb/MongoContext.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import com.mongodb.client.MongoDatabase;
44
import tech.wetech.flexmodel.ExpressionCalculator;
55
import tech.wetech.flexmodel.JsonObjectConverter;
6-
import tech.wetech.flexmodel.ModelRepository;
6+
import tech.wetech.flexmodel.ModelRegistry;
77
import tech.wetech.flexmodel.model.field.ScalarType;
88
import tech.wetech.flexmodel.session.AbstractSessionContext;
99
import tech.wetech.flexmodel.session.SessionFactory;
@@ -21,8 +21,8 @@ public class MongoContext extends AbstractSessionContext {
2121
private ExpressionCalculator<String> conditionCalculator;
2222
private final Map<String, TypeHandler<?>> typeHandlerMap = new HashMap<>();
2323

24-
public MongoContext(String schemaName, MongoDatabase mongoDatabase, ModelRepository mappedModels, JsonObjectConverter jsonObjectConverter, SessionFactory factory) {
25-
super(schemaName, mappedModels, jsonObjectConverter, factory);
24+
public MongoContext(String schemaName, MongoDatabase mongoDatabase, ModelRegistry modelRegistry, JsonObjectConverter jsonObjectConverter, SessionFactory factory) {
25+
super(schemaName, modelRegistry, jsonObjectConverter, factory);
2626
this.mongoDatabase = mongoDatabase;
2727
this.conditionCalculator = new DefaultMongoExpressionCalculator();
2828

0 commit comments

Comments
 (0)