You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commons-dev@ws.apache.org by ba...@apache.org on 2009/12/07 20:52:15 UTC

svn commit: r888109 - in /webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom: OMDocumentImpl.java OMSerializableImpl.java

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;
     }