📄 modelreader.java
字号:
"previous definition(s)", module);
Debug.logWarning("WARNING: Entity " + entityName + " was found in " +
entityResourceHandler + ", but was already defined in " +
entityResourceHandlerMap.get(entityName).toString(), module);
}
// add entityName, entityFileName pair to entityResourceHandlerMap map
entityResourceHandlerMap.put(entityName, entityResourceHandler);
// utilTimer.timerString(" After entityEntityName -- " + i + " --");
// ModelEntity entity = createModelEntity(curEntity, docElement, utilTimer, docElementValues);
ModelEntity entity = null;
if (isEntity) {
entity = createModelEntity(curEntity, docElement, null, docElementValues);
} else {
entity = createModelViewEntity(curEntity, docElement, null, docElementValues);
// put the view entity in a list to get ready for the second pass to populate fields...
tempViewEntityList.add(entity);
}
// utilTimer.timerString(" After createModelEntity -- " + i + " --");
if (entity != null) {
entityCache.put(entityName, entity);
// utilTimer.timerString(" After entityCache.put -- " + i + " --");
if (isEntity) {
if (Debug.verboseOn()) Debug.logVerbose("-- [Entity]: #" + i + ": " + entityName, module);
} else {
if (Debug.verboseOn()) Debug.logVerbose("-- [ViewEntity]: #" + i + ": " + entityName, module);
}
} else {
Debug.logWarning("-- -- ENTITYGEN ERROR:getModelEntity: Could not create " +
"entity for entityName: " + entityName, module);
}
}
} while ((curChild = curChild.getNextSibling()) != null);
} else {
Debug.logWarning("No child nodes found.", module);
}
utilTimer.timerString("Finished " + entityResourceHandler.toString() + " - Total Entities: " + i + " FINISHED");
}
// do a pass on all of the view entities now that all of the entities have
// loaded and populate the fields
for (int velInd = 0; velInd < tempViewEntityList.size(); velInd++) {
ModelViewEntity curViewEntity = (ModelViewEntity) tempViewEntityList.get(velInd);
curViewEntity.populateFields(this);
}
Debug.log("FINISHED LOADING ENTITIES - ALL FILES; #Entities=" + numEntities + " #ViewEntities=" +
numViewEntities + " #Fields=" + numFields + " #Relationships=" + numRelations, module);
}
}
}
return entityCache;
}
/** rebuilds the resourceHandlerEntities Map of Collections based on the current
* entityResourceHandlerMap Map, must be done whenever a manual change is made to the
* entityResourceHandlerMap Map after the initial load to make them consistent again.
*/
public void rebuildResourceHandlerEntities() {
resourceHandlerEntities = new HashMap();
Iterator entityResourceIter = entityResourceHandlerMap.entrySet().iterator();
while (entityResourceIter.hasNext()) {
Map.Entry entry = (Map.Entry) entityResourceIter.next();
// add entityName to appropriate resourceHandlerEntities collection
Collection resourceHandlerEntityNames = (Collection) resourceHandlerEntities.get(entry.getValue());
if (resourceHandlerEntityNames == null) {
resourceHandlerEntityNames = new LinkedList();
resourceHandlerEntities.put(entry.getValue(), resourceHandlerEntityNames);
}
resourceHandlerEntityNames.add(entry.getKey());
}
}
public Iterator getResourceHandlerEntitiesKeyIterator() {
if (resourceHandlerEntities == null) return null;
return resourceHandlerEntities.keySet().iterator();
}
public Collection getResourceHandlerEntities(ResourceHandler resourceHandler) {
if (resourceHandlerEntities == null) return null;
return (Collection) resourceHandlerEntities.get(resourceHandler);
}
public void addEntityToResourceHandler(String entityName, String loaderName, String location) {
entityResourceHandlerMap.put(entityName, new MainResourceHandler(EntityConfigUtil.ENTITY_ENGINE_XML_FILENAME, loaderName, location));
}
public ResourceHandler getEntityResourceHandler(String entityName) {
return (ResourceHandler) entityResourceHandlerMap.get(entityName);
}
/** Gets an Entity object based on a definition from the specified XML Entity descriptor file.
* @param entityName The entityName of the Entity definition to use.
* @return An Entity object describing the specified entity of the specified descriptor file.
*/
public ModelEntity getModelEntity(String entityName) throws GenericEntityException {
Map ec = getEntityCache();
if (ec == null) {
throw new GenericEntityConfException("ERROR: Unable to load Entity Cache");
}
ModelEntity modelEntity = (ModelEntity) ec.get(entityName);
if (modelEntity == null) {
throw new GenericModelException("Could not find definition for entity name " + entityName);
}
return modelEntity;
}
public ModelEntity getModelEntityNoCheck(String entityName) {
Map ec = null;
try {
ec = getEntityCache();
} catch (GenericEntityException e) {
Debug.logError(e, "Error getting entity cache", module);
}
if (ec == null) {
return null;
}
ModelEntity modelEntity = (ModelEntity) ec.get(entityName);
return modelEntity;
}
/** Creates a Iterator with the entityName of each Entity defined in the specified XML Entity Descriptor file.
* @return A Iterator of entityName Strings
*/
public Iterator getEntityNamesIterator() throws GenericEntityException {
Collection collection = getEntityNames();
if (collection != null) {
return collection.iterator();
} else {
return null;
}
}
/** Creates a Collection with the entityName of each Entity defined in the specified XML Entity Descriptor file.
* @return A Collection of entityName Strings
*/
public Collection getEntityNames() throws GenericEntityException {
Map ec = getEntityCache();
if (ec == null) {
throw new GenericEntityConfException("ERROR: Unable to load Entity Cache");
}
return ec.keySet();
}
ModelEntity createModelEntity(Element entityElement, Element docElement, UtilTimer utilTimer, Hashtable docElementValues) {
if (entityElement == null) return null;
this.numEntities++;
ModelEntity entity = new ModelEntity(this, entityElement, docElement, utilTimer, docElementValues);
return entity;
}
ModelEntity createModelViewEntity(Element entityElement, Element docElement, UtilTimer utilTimer, Hashtable docElementValues) {
if (entityElement == null) return null;
this.numViewEntities++;
ModelViewEntity entity = new ModelViewEntity(this, entityElement, docElement, utilTimer, docElementValues);
return entity;
}
public ModelRelation createRelation(ModelEntity entity, Element relationElement) {
this.numRelations++;
ModelRelation relation = new ModelRelation(entity, relationElement);
return relation;
}
public ModelField findModelField(ModelEntity entity, String fieldName) {
for (int i = 0; i < entity.fields.size(); i++) {
ModelField field = (ModelField) entity.fields.get(i);
if (field.name.compareTo(fieldName) == 0) {
return field;
}
}
return null;
}
public ModelField createModelField(String name, String type, String colName, boolean isPk) {
this.numFields++;
ModelField field = new ModelField(name, type, colName, isPk);
return field;
}
public ModelField createModelField(Element fieldElement, Element docElement, Hashtable docElementValues) {
if (fieldElement == null) {
return null;
}
this.numFields++;
ModelField field = new ModelField(fieldElement);
return field;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -