package foundation.version_doc;
|
|
import foundation.dao.DataPackage;
|
import foundation.dao.Filter;
|
import foundation.dao.version.ApplyRelation;
|
import foundation.dao.version.ApplyRelationBucket;
|
import foundation.data.entity.Entity;
|
import foundation.data.entity.EntitySet;
|
import foundation.data.object.DataObject;
|
import foundation.server.Initializer;
|
|
public class VersionLoader extends Initializer {
|
|
@Override
|
public void startUp() throws Exception {
|
load();
|
}
|
|
@Override
|
public void shutDown() throws Exception {
|
|
}
|
|
public void load() throws Exception {
|
//1. 加载版本定义
|
loadVersionMetas();
|
|
//2. 加载版本定义
|
loadVersionApply();
|
|
//3. register version provider
|
registerVersionProvider();
|
}
|
|
private void loadVersionMetas() throws Exception {
|
VersionBucket bucket = VersionBucket.getInstance();
|
|
DataObject dataObject = DataObject.getInstance("sys_object_version");
|
EntitySet entitySet = dataObject.getTableEntitySet(new Filter("is_active", "T"));
|
|
for (Entity entity: entitySet) {
|
VersionMeta meta = new VersionMeta();
|
meta.load(entity);
|
|
bucket.loadOne(meta);
|
}
|
}
|
|
private void loadVersionApply() throws Exception {
|
ApplyRelationBucket bucket = ApplyRelationBucket.getInstance();
|
|
DataObject dataObject = DataObject.getInstance("sys_object_apply");
|
EntitySet entitySet = dataObject.getTableEntitySet();
|
|
for (Entity entity: entitySet) {
|
ApplyRelation relation = new ApplyRelation();
|
relation.load(entity);
|
|
bucket.loadOne(relation.getApplyDataName(),relation.getApplyTypeCode(), relation);
|
}
|
}
|
|
private void registerVersionProvider() {
|
VersionCenter versionCenter = VersionCenter.getInstance();
|
DataPackage.registerVersionProvider(versionCenter);
|
}
|
|
}
|