Author: veithen
Date: Tue Dec 19 23:07:25 2017
New Revision: 1818728

URL: http://svn.apache.org/viewvc?rev=1818728&view=rev
Log:
Let axis2-repo-maven-plugin generate the axis2.xml files for the JSON tests.

Added:
    
axis/axis2/java/core/trunk/modules/tool/axis2-repo-maven-plugin/src/main/java/org/apache/axis2/maven2/repo/Handler.java
   (with props)
Removed:
    axis/axis2/java/core/trunk/modules/json/test-repository/gson/axis2.xml
    axis/axis2/java/core/trunk/modules/json/test-repository/json/axis2.xml
Modified:
    axis/axis2/java/core/trunk/modules/json/pom.xml
    
axis/axis2/java/core/trunk/modules/tool/axis2-repo-maven-plugin/src/main/java/org/apache/axis2/maven2/repo/AbstractCreateRepositoryMojo.java
    
axis/axis2/java/core/trunk/modules/tool/axis2-repo-maven-plugin/src/main/java/org/apache/axis2/maven2/repo/GeneratedAxis2Xml.java

Modified: axis/axis2/java/core/trunk/modules/json/pom.xml
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/json/pom.xml?rev=1818728&r1=1818727&r2=1818728&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/json/pom.xml (original)
+++ axis/axis2/java/core/trunk/modules/json/pom.xml Tue Dec 19 23:07:25 2017
@@ -173,6 +173,36 @@
                         <configuration>
                             
<inputDirectory>test-repository/json</inputDirectory>
                             
<outputDirectory>${project.build.directory}/repo/json</outputDirectory>
+                            <generatedAxis2xml>
+                                <messageFormatters>
+                                    <messageFormatter>
+                                        
<contentType>application/json</contentType>
+                                        
<className>org.apache.axis2.json.JSONMessageFormatter</className>
+                                    </messageFormatter>
+                                    <messageFormatter>
+                                        
<contentType>application/json+badgerfish</contentType>
+                                        
<className>org.apache.axis2.json.JSONBadgerfishMessageFormatter</className>
+                                    </messageFormatter>
+                                    <messageFormatter>
+                                        
<contentType>text/javascript</contentType>
+                                        
<className>org.apache.axis2.json.JSONMessageFormatter</className>
+                                    </messageFormatter>
+                                </messageFormatters>
+                                <messageBuilders>
+                                    <messageBuilder>
+                                        
<contentType>application/json</contentType>
+                                        
<className>org.apache.axis2.json.JSONOMBuilder</className>
+                                    </messageBuilder>
+                                    <messageBuilder>
+                                        
<contentType>application/json+badgerfish</contentType>
+                                        
<className>org.apache.axis2.json.JSONBadgerfishOMBuilder</className>
+                                    </messageBuilder>
+                                    <messageBuilder>
+                                        
<contentType>text/javascript</contentType>
+                                        
<className>org.apache.axis2.json.JSONOMBuilder</className>
+                                    </messageBuilder>
+                                </messageBuilders>
+                            </generatedAxis2xml>
                         </configuration>
                     </execution>
                     <execution>
@@ -183,6 +213,34 @@
                         <configuration>
                             
<inputDirectory>test-repository/gson</inputDirectory>
                             
<outputDirectory>${project.build.directory}/repo/gson</outputDirectory>
+                            <generatedAxis2xml>
+                                <messageFormatters>
+                                    <messageFormatter>
+                                        
<contentType>application/json</contentType>
+                                        
<className>org.apache.axis2.json.gson.JsonFormatter</className>
+                                    </messageFormatter>
+                                </messageFormatters>
+                                <messageBuilders>
+                                    <messageBuilder>
+                                        
<contentType>application/json</contentType>
+                                        
<className>org.apache.axis2.json.gson.JsonBuilder</className>
+                                    </messageBuilder>
+                                </messageBuilders>
+                                <handlers>
+                                    <handler>
+                                        <flow>InFlow</flow>
+                                        <phase>Transport</phase>
+                                        
<name>RequestURIOperationDispatcher</name>
+                                        
<className>org.apache.axis2.dispatchers.RequestURIOperationDispatcher</className>
+                                    </handler>
+                                    <handler>
+                                        <flow>InFlow</flow>
+                                        <phase>Transport</phase>
+                                        <name>JSONMessageHandler</name>
+                                        
<className>org.apache.axis2.json.gson.JSONMessageHandler</className>
+                                    </handler>
+                                </handlers>
+                            </generatedAxis2xml>
                         </configuration>
                     </execution>
                 </executions>

Modified: 
axis/axis2/java/core/trunk/modules/tool/axis2-repo-maven-plugin/src/main/java/org/apache/axis2/maven2/repo/AbstractCreateRepositoryMojo.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/tool/axis2-repo-maven-plugin/src/main/java/org/apache/axis2/maven2/repo/AbstractCreateRepositoryMojo.java?rev=1818728&r1=1818727&r2=1818728&view=diff
==============================================================================
--- 
axis/axis2/java/core/trunk/modules/tool/axis2-repo-maven-plugin/src/main/java/org/apache/axis2/maven2/repo/AbstractCreateRepositoryMojo.java
 (original)
+++ 
axis/axis2/java/core/trunk/modules/tool/axis2-repo-maven-plugin/src/main/java/org/apache/axis2/maven2/repo/AbstractCreateRepositoryMojo.java
 Tue Dec 19 23:07:25 2017
@@ -421,6 +421,30 @@ public abstract class AbstractCreateRepo
                         }
                         addMessageHandlers(root, 
generatedAxis2xml.getMessageBuilders(), "messageBuilder");
                         addMessageHandlers(root, 
generatedAxis2xml.getMessageFormatters(), "messageFormatter");
+                        if (generatedAxis2xml.getHandlers() != null) {
+                            for (Handler handler : 
generatedAxis2xml.getHandlers()) {
+                                boolean handlerInserted = false;
+                                for (Iterator<OMElement> phaseOrderIterator = 
root.getChildrenWithLocalName("phaseOrder"); phaseOrderIterator.hasNext(); ) {
+                                    OMElement phaseOrder = 
phaseOrderIterator.next();
+                                    if (phaseOrder.getAttributeValue(new 
QName("type")).equals(handler.getFlow())) {
+                                        for (Iterator<OMElement> phaseIterator 
= phaseOrder.getChildrenWithLocalName("phase"); phaseIterator.hasNext(); ) {
+                                            OMElement phase = 
phaseIterator.next();
+                                            if (phase.getAttributeValue(new 
QName("name")).equals(handler.getPhase())) {
+                                                OMElement handlerElement = 
axis2xmlDoc.getOMFactory().createOMElement("handler", null, phase);
+                                                
handlerElement.addAttribute("name", handler.getName(), null);
+                                                
handlerElement.addAttribute("class", handler.getClassName(), null);
+                                                handlerInserted = true;
+                                                break;
+                                            }
+                                        }
+                                        break;
+                                    }
+                                }
+                                if (!handlerInserted) {
+                                    throw new MojoFailureException("Flow " + 
handler.getFlow() + " and phase " + handler.getPhase() + " not found");
+                                }
+                            }
+                        }
                         OutputStream out = new FileOutputStream(axis2xmlFile);
                         try {
                             axis2xmlDoc.serialize(out);

Modified: 
axis/axis2/java/core/trunk/modules/tool/axis2-repo-maven-plugin/src/main/java/org/apache/axis2/maven2/repo/GeneratedAxis2Xml.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/tool/axis2-repo-maven-plugin/src/main/java/org/apache/axis2/maven2/repo/GeneratedAxis2Xml.java?rev=1818728&r1=1818727&r2=1818728&view=diff
==============================================================================
--- 
axis/axis2/java/core/trunk/modules/tool/axis2-repo-maven-plugin/src/main/java/org/apache/axis2/maven2/repo/GeneratedAxis2Xml.java
 (original)
+++ 
axis/axis2/java/core/trunk/modules/tool/axis2-repo-maven-plugin/src/main/java/org/apache/axis2/maven2/repo/GeneratedAxis2Xml.java
 Tue Dec 19 23:07:25 2017
@@ -21,6 +21,7 @@ package org.apache.axis2.maven2.repo;
 public class GeneratedAxis2Xml {
     private MessageHandler[] messageBuilders;
     private MessageHandler[] messageFormatters;
+    private Handler[] handlers;
     
     public MessageHandler[] getMessageBuilders() {
         return messageBuilders;
@@ -37,4 +38,12 @@ public class GeneratedAxis2Xml {
     public void setMessageFormatters(MessageHandler[] messageFormatters) {
         this.messageFormatters = messageFormatters;
     }
+
+    public Handler[] getHandlers() {
+        return handlers;
+    }
+
+    public void setHandlers(Handler[] handlers) {
+        this.handlers = handlers;
+    }
 }

Added: 
axis/axis2/java/core/trunk/modules/tool/axis2-repo-maven-plugin/src/main/java/org/apache/axis2/maven2/repo/Handler.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/tool/axis2-repo-maven-plugin/src/main/java/org/apache/axis2/maven2/repo/Handler.java?rev=1818728&view=auto
==============================================================================
--- 
axis/axis2/java/core/trunk/modules/tool/axis2-repo-maven-plugin/src/main/java/org/apache/axis2/maven2/repo/Handler.java
 (added)
+++ 
axis/axis2/java/core/trunk/modules/tool/axis2-repo-maven-plugin/src/main/java/org/apache/axis2/maven2/repo/Handler.java
 Tue Dec 19 23:07:25 2017
@@ -0,0 +1,58 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.axis2.maven2.repo;
+
+public class Handler {
+    private String flow;
+    private String phase;
+    private String name;
+    private String className;
+
+    public String getFlow() {
+        return flow;
+    }
+
+    public void setFlow(String flow) {
+        this.flow = flow;
+    }
+
+    public String getPhase() {
+        return phase;
+    }
+
+    public void setPhase(String phase) {
+        this.phase = phase;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getClassName() {
+        return className;
+    }
+
+    public void setClassName(String className) {
+        this.className = className;
+    }
+}

Propchange: 
axis/axis2/java/core/trunk/modules/tool/axis2-repo-maven-plugin/src/main/java/org/apache/axis2/maven2/repo/Handler.java
------------------------------------------------------------------------------
    svn:eol-style = native


Reply via email to