Author: jacopoc Date: Wed Aug 21 06:20:42 2013 New Revision: 1516094 URL: http://svn.apache.org/r1516094 Log: Fixed bug introduced in rev 1490678 (removal of cached DOM tree code and refactoring for thread-safety): after that commit it was not possible to define entity data readers at runtime, this fix re-enables the feature.
Modified: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/EntityDataReader.java ofbiz/trunk/framework/entity/src/org/ofbiz/entity/util/EntityDataLoader.java Modified: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/EntityDataReader.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/EntityDataReader.java?rev=1516094&r1=1516093&r2=1516094&view=diff ============================================================================== --- ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/EntityDataReader.java (original) +++ ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/EntityDataReader.java Wed Aug 21 06:20:42 2013 @@ -39,6 +39,14 @@ public final class EntityDataReader { private final String name; // type = xs:string private final List<Resource> resourceList; // <resource> + public EntityDataReader(String name) throws GenericEntityConfException { + if (name == null || name.isEmpty()) { + throw new GenericEntityConfException("EntityDataReader name cannot be empty"); + } + this.name = name; + this.resourceList = Collections.emptyList(); + } + EntityDataReader(Element element) throws GenericEntityConfException { String lineNumberText = EntityConfigUtil.createConfigFileLineNumberText(element); String name = element.getAttribute("name").intern(); Modified: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/util/EntityDataLoader.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/entity/src/org/ofbiz/entity/util/EntityDataLoader.java?rev=1516094&r1=1516093&r2=1516094&view=diff ============================================================================== --- ofbiz/trunk/framework/entity/src/org/ofbiz/entity/util/EntityDataLoader.java (original) +++ ofbiz/trunk/framework/entity/src/org/ofbiz/entity/util/EntityDataLoader.java Wed Aug 21 06:20:42 2013 @@ -114,6 +114,11 @@ public class EntityDataLoader { EntityDataReader entityDataReaderInfo = null; try { entityDataReaderInfo = EntityConfigUtil.getEntityDataReader(readerName); + if (entityDataReaderInfo == null) { + // create a reader name defined at runtime + Debug.logInfo("Could not find entity-data-reader named: " + readerName + ". Creating a new reader with this name. ", module); + entityDataReaderInfo = new EntityDataReader(readerName); + } } catch (GenericEntityConfException e) { Debug.logWarning(e, "Exception thrown while getting entity data reader config: ", module); }