package foundation.dao;
|
|
import foundation.data.entity.Entity;
|
import foundation.data.entity.EntitySet;
|
import foundation.data.entity.Filter;
|
import foundation.data.entity.OrderBy;
|
import foundation.data.object.DataObject;
|
import foundation.server.Initializer;
|
|
public class JSONPackageLoader extends Initializer {
|
|
@Override
|
public void startUp() throws Exception {
|
load();
|
|
}
|
|
private void load() throws Exception {
|
DataObject dataObject = DataObject.getInstance("sys_json_package_detail");
|
EntitySet entitySet = dataObject.getBrowseEntitySet(new OrderBy("parent_dataname"));
|
String parent;
|
|
JSONPackageBucket jsonPackageBucket = JSONPackageBucket.getInstance();
|
for (Entity entity : entitySet) {
|
parent = entity.getString("parent_dataname");
|
JSONPackage jsonPackage = jsonPackageBucket.get(parent);
|
|
if (jsonPackage == null) {
|
jsonPackage = new JSONPackage(parent);
|
}
|
|
JSONMapping jsonMapping = loadJSONMapping(entity);
|
|
if ("Master".equals(jsonMapping.getTypeCode())) {
|
jsonPackage.setMasterMapping(jsonMapping);
|
}
|
else {
|
jsonPackage.addDetailMapping(jsonMapping);
|
}
|
|
jsonPackageBucket.loadOne(parent, jsonPackage);
|
}
|
|
}
|
|
private JSONMapping loadJSONMapping(Entity entity) throws Exception {
|
JSONMapping jsonMapping = new JSONMapping();
|
jsonMapping.load(entity);
|
|
//2. load field mapping
|
DataObject mappingObject = DataObject.getInstance("sys_field_mapping");
|
EntitySet fieldMappingSet = mappingObject.getTableEntitySet(new Filter("parent_id", jsonMapping.getId()));
|
jsonMapping.loadMappings(fieldMappingSet);
|
|
return jsonMapping;
|
}
|
|
@Override
|
public void shutDown() throws Exception {
|
|
}
|
|
|
}
|