Author: jacopoc
Date: Wed Aug 21 06:20:42 2013
New Revision: 1516094
URL:
http://svn.apache.org/r1516094Log:
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);
}