You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ws.apache.org by ve...@apache.org on 2015/08/31 12:13:45 UTC

svn commit: r1700225 - in /webservices/axiom/trunk/implementations/fom-impl/src/main/java/org/apache/abdera/parser/stax: FOMFactory.java FOMMetaFactory.java

Author: veithen
Date: Mon Aug 31 10:13:45 2015
New Revision: 1700225

URL: http://svn.apache.org/r1700225
Log:
AXIOM-472: Cut the link between FOM(Meta)Factory and axiom-impl.

Modified:
    webservices/axiom/trunk/implementations/fom-impl/src/main/java/org/apache/abdera/parser/stax/FOMFactory.java
    webservices/axiom/trunk/implementations/fom-impl/src/main/java/org/apache/abdera/parser/stax/FOMMetaFactory.java

Modified: webservices/axiom/trunk/implementations/fom-impl/src/main/java/org/apache/abdera/parser/stax/FOMFactory.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/implementations/fom-impl/src/main/java/org/apache/abdera/parser/stax/FOMFactory.java?rev=1700225&r1=1700224&r2=1700225&view=diff
==============================================================================
--- webservices/axiom/trunk/implementations/fom-impl/src/main/java/org/apache/abdera/parser/stax/FOMFactory.java (original)
+++ webservices/axiom/trunk/implementations/fom-impl/src/main/java/org/apache/abdera/parser/stax/FOMFactory.java Mon Aug 31 10:13:45 2015
@@ -71,6 +71,7 @@ import org.apache.axiom.fom.AbderaFactor
 import org.apache.axiom.om.OMAbstractFactory;
 import org.apache.axiom.om.OMContainer;
 import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.om.OMNamespace;
 import org.apache.axiom.om.impl.common.AxiomAttribute;
 import org.apache.axiom.om.impl.common.AxiomCDATASection;
@@ -82,13 +83,13 @@ import org.apache.axiom.om.impl.common.A
 import org.apache.axiom.om.impl.common.AxiomEntityReference;
 import org.apache.axiom.om.impl.common.AxiomNamespaceDeclaration;
 import org.apache.axiom.om.impl.common.AxiomProcessingInstruction;
+import org.apache.axiom.om.impl.common.factory.AxiomNodeFactory;
 import org.apache.axiom.om.impl.llom.NamespaceDeclaration;
 import org.apache.axiom.om.impl.llom.OMDocTypeImpl;
 import org.apache.axiom.om.impl.llom.OMEntityReferenceImpl;
-import org.apache.axiom.om.impl.llom.factory.OMLinkedListImplFactory;
 
 @SuppressWarnings( {"unchecked", "deprecation"})
-public class FOMFactory extends OMLinkedListImplFactory implements AbderaFactory, Constants, ExtensionFactory {
+public class FOMFactory implements AbderaFactory, AxiomNodeFactory, Constants, ExtensionFactory {
     private static final Map<QName,Class<? extends FOMElement>> elementTypeMap;
     
     static {
@@ -147,6 +148,10 @@ public class FOMFactory extends OMLinked
         this.abdera = abdera;
     }
 
+    public OMMetaFactory getMetaFactory() {
+        return FOMMetaFactory.INSTANCE;
+    }
+
     public Parser newParser() {
         return new FOMParser(abdera);
     }
@@ -487,7 +492,6 @@ public class FOMFactory extends OMLinked
         return createElement(FOMDiv.class, DIV, (OMContainer)parent);
     }
 
-    @Override
     public <T extends CoreNode> T createNode(Class<T> type) {
         CoreNode node;
         if (type == CoreCDATASection.class || type == AxiomCDATASection.class || type == FOMCDATASection.class) {

Modified: webservices/axiom/trunk/implementations/fom-impl/src/main/java/org/apache/abdera/parser/stax/FOMMetaFactory.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/implementations/fom-impl/src/main/java/org/apache/abdera/parser/stax/FOMMetaFactory.java?rev=1700225&r1=1700224&r2=1700225&view=diff
==============================================================================
--- webservices/axiom/trunk/implementations/fom-impl/src/main/java/org/apache/abdera/parser/stax/FOMMetaFactory.java (original)
+++ webservices/axiom/trunk/implementations/fom-impl/src/main/java/org/apache/abdera/parser/stax/FOMMetaFactory.java Mon Aug 31 10:13:45 2015
@@ -18,12 +18,31 @@
 package org.apache.abdera.parser.stax;
 
 import org.apache.axiom.om.OMFactory;
-import org.apache.axiom.om.impl.llom.factory.OMLinkedListMetaFactory;
+import org.apache.axiom.om.impl.common.factory.AbstractOMMetaFactory;
+import org.apache.axiom.soap.SOAPFactory;
+import org.apache.axiom.soap.impl.common.AxiomSOAPMessage;
 
-public class FOMMetaFactory extends OMLinkedListMetaFactory {
+public final class FOMMetaFactory extends AbstractOMMetaFactory {
+    public static final FOMMetaFactory INSTANCE = new FOMMetaFactory();
+    
     private final OMFactory omFactory = new FOMFactory();
     
+    private FOMMetaFactory() {}
+    
     public OMFactory getOMFactory() {
         return omFactory;
     }
+
+    public SOAPFactory getSOAP11Factory() {
+        throw new UnsupportedOperationException();
+    }
+
+    public SOAPFactory getSOAP12Factory() {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public AxiomSOAPMessage createSOAPMessage() {
+        throw new UnsupportedOperationException();
+    }
 }