Author: barrettj
Date: Mon Dec  7 19:52:14 2009
New Revision: 888109

URL: http://svn.apache.org/viewvc?rev=888109&view=rev
Log:
Override getOMFactory in OMDocumentImpl.  This allows OMDocumentImpl 
constructors that don't take an OMFactory parameter to return a valid OMFactory.

Revision 786706 refactored getOMFactory into superclass OMSerializableImpl.  
The other subclass, OMNodeImpl, always takes an OMFactory as a parameter to its 
constructors, so it doesn't have the same problem.  OMDocumentImpl has several 
constructors such as OMDocumentImpl(OMXMLParserWrapper) that do not take have a 
factory parameter so the value can not be set in the superclass during 
construction.  For those code paths, the factory needs to be gotten at a later 
time.

Modified:
    
webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMDocumentImpl.java
    
webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMSerializableImpl.java

Modified: 
webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMDocumentImpl.java
URL: 
http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMDocumentImpl.java?rev=888109&r1=888108&r2=888109&view=diff
==============================================================================
--- 
webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMDocumentImpl.java
 (original)
+++ 
webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMDocumentImpl.java
 Mon Dec  7 19:52:14 2009
@@ -112,6 +112,12 @@
         this.factory = factory;
     }
 
+    public OMFactory getOMFactory() {
+        if (factory == null) {
+            factory = this.getOMDocumentElement().getOMFactory();
+        }
+        return factory;
+    }
 
     /**
      * Method getDocumentElement.

Modified: 
webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMSerializableImpl.java
URL: 
http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMSerializableImpl.java?rev=888109&r1=888108&r2=888109&view=diff
==============================================================================
--- 
webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMSerializableImpl.java
 (original)
+++ 
webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMSerializableImpl.java
 Mon Dec  7 19:52:14 2009
@@ -48,7 +48,7 @@
 
     protected OMFactory factory;
 
-    public final OMFactory getOMFactory() {
+    public OMFactory getOMFactory() {
         return factory;
     }
 


Reply via email to