JBossWS SVN: r13188 - common/trunk/src/main/java/org/jboss/wsf/common/serviceref.
by jbossws-commits@lists.jboss.org
Author: richard.opalka(a)jboss.com
Date: 2010-10-26 08:46:45 -0400 (Tue, 26 Oct 2010)
New Revision: 13188
Modified:
common/trunk/src/main/java/org/jboss/wsf/common/serviceref/AbstractServiceObjectFactoryJAXWS.java
common/trunk/src/main/java/org/jboss/wsf/common/serviceref/AbstractServiceRefBinderJAXWS.java
common/trunk/src/main/java/org/jboss/wsf/common/serviceref/AbstractServiceReferenceableJAXWS.java
common/trunk/src/main/java/org/jboss/wsf/common/serviceref/ServiceRefSerializer.java
Log:
refactoring
Modified: common/trunk/src/main/java/org/jboss/wsf/common/serviceref/AbstractServiceObjectFactoryJAXWS.java
===================================================================
--- common/trunk/src/main/java/org/jboss/wsf/common/serviceref/AbstractServiceObjectFactoryJAXWS.java 2010-10-25 17:29:29 UTC (rev 13187)
+++ common/trunk/src/main/java/org/jboss/wsf/common/serviceref/AbstractServiceObjectFactoryJAXWS.java 2010-10-26 12:46:45 UTC (rev 13188)
@@ -84,8 +84,8 @@
final byte[] binaryData = (byte[]) ref.get(ServiceRefSerializer.SERVICE_REF_META_DATA).getContent();
final UnifiedServiceRefMetaData serviceRef = ServiceRefSerializer.unmarshall(binaryData);
// class names
- final String serviceImplClass = this.getServiceClassName(ref, serviceRef);
- final String targetClassName = this.getTargetClassName(ref, serviceRef, serviceImplClass);
+ final String serviceImplClass = this.getServiceClassName(serviceRef);
+ final String targetClassName = this.getTargetClassName(serviceRef);
// class instances
final Class<?> serviceClass = this.getClass(serviceImplClass);
final Class<?> targetClass = this.getClass(targetClassName);
@@ -156,24 +156,17 @@
return null;
}
- private String getServiceClassName(final Reference ref, final UnifiedServiceRefMetaData serviceRefMD)
+ private String getServiceClassName(final UnifiedServiceRefMetaData serviceRefMD)
{
- String serviceClassName = serviceRefMD.getServiceImplClass();
- if (serviceClassName == null)
- serviceClassName = (String) ref.get(ServiceRefSerializer.SERVICE_IMPL_CLASS).getContent();
-
- return serviceClassName;
+ return serviceRefMD.getServiceImplClass();
}
- private String getTargetClassName(final Reference ref, final UnifiedServiceRefMetaData serviceRefMD,
- final String serviceImplClass)
+ private String getTargetClassName(final UnifiedServiceRefMetaData serviceRefMD)
{
String targetClassName = serviceRefMD.getServiceRefType();
- if (targetClassName == null)
- targetClassName = (String) ref.get(ServiceRefSerializer.TARGET_CLASS_NAME).getContent();
if (Service.class.getName().equals(targetClassName))
- targetClassName = serviceImplClass;
+ targetClassName = serviceRefMD.getServiceImplClass();
return targetClassName;
}
Modified: common/trunk/src/main/java/org/jboss/wsf/common/serviceref/AbstractServiceRefBinderJAXWS.java
===================================================================
--- common/trunk/src/main/java/org/jboss/wsf/common/serviceref/AbstractServiceRefBinderJAXWS.java 2010-10-25 17:29:29 UTC (rev 13187)
+++ common/trunk/src/main/java/org/jboss/wsf/common/serviceref/AbstractServiceRefBinderJAXWS.java 2010-10-26 12:46:45 UTC (rev 13188)
@@ -65,7 +65,11 @@
this.processWsdlOverride(serviceRef, serviceRefAnnotation, loader, serviceImplClassName);
- return this.createJAXWSReferenceable(serviceImplClassName, targetClassName, serviceRef);
+ // TODO: refactor these two lines of code higher
+ serviceRef.setServiceImplClass(serviceImplClassName);
+ serviceRef.setServiceInterface(targetClassName);
+
+ return this.createJAXWSReferenceable(serviceRef);
}
/**
@@ -76,8 +80,7 @@
* @param serviceRef service reference UMDM
* @return stack specific JAXWS JNDI referenceable
*/
- protected abstract Referenceable createJAXWSReferenceable(final String serviceImplClass,
- final String targetClassName, final UnifiedServiceRefMetaData serviceRefMD);
+ protected abstract Referenceable createJAXWSReferenceable(final UnifiedServiceRefMetaData serviceRefMD);
private void processAddressingAnnotation(final UnifiedServiceRefMetaData serviceRefMD)
{
Modified: common/trunk/src/main/java/org/jboss/wsf/common/serviceref/AbstractServiceReferenceableJAXWS.java
===================================================================
--- common/trunk/src/main/java/org/jboss/wsf/common/serviceref/AbstractServiceReferenceableJAXWS.java 2010-10-25 17:29:29 UTC (rev 13187)
+++ common/trunk/src/main/java/org/jboss/wsf/common/serviceref/AbstractServiceReferenceableJAXWS.java 2010-10-26 12:46:45 UTC (rev 13188)
@@ -25,7 +25,6 @@
import javax.naming.NamingException;
import javax.naming.Reference;
import javax.naming.Referenceable;
-import javax.naming.StringRefAddr;
import javax.naming.spi.ObjectFactory;
import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedServiceRefMetaData;
@@ -42,30 +41,21 @@
*/
public abstract class AbstractServiceReferenceableJAXWS<T extends ObjectFactory> implements Referenceable
{
- private final String serviceImplClass;
-
- private final String targetClassName;
-
private final UnifiedServiceRefMetaData serviceRef;
- public AbstractServiceReferenceableJAXWS(final String serviceImplClass, final String targetClassName,
- final UnifiedServiceRefMetaData serviceRef)
+ public AbstractServiceReferenceableJAXWS(final UnifiedServiceRefMetaData serviceRef)
{
- this.serviceImplClass = serviceImplClass;
- this.targetClassName = targetClassName;
this.serviceRef = serviceRef;
}
public final Reference getReference() throws NamingException
{
- final Reference myRef = new Reference(getClass().getName(), this.getObjectFactory().getName(), null);
+ final Reference reference = new Reference(getClass().getName(), this.getObjectFactory().getName(), null);
+ final byte[] data = ServiceRefSerializer.marshall(this.serviceRef);
- myRef.add(new StringRefAddr(ServiceRefSerializer.SERVICE_IMPL_CLASS, this.serviceImplClass));
- myRef.add(new StringRefAddr(ServiceRefSerializer.TARGET_CLASS_NAME, this.targetClassName));
- myRef.add(new BinaryRefAddr(ServiceRefSerializer.SERVICE_REF_META_DATA, ServiceRefSerializer
- .marshall(this.serviceRef)));
+ reference.add(new BinaryRefAddr(ServiceRefSerializer.SERVICE_REF_META_DATA, data));
- return myRef;
+ return reference;
}
/**
@@ -74,16 +64,4 @@
* @return JNDI object factory
*/
protected abstract Class<T> getObjectFactory();
-
- public final String toString()
- {
- final StringBuilder sb = new StringBuilder();
-
- sb.append("\n").append(getClass().getName());
- sb.append("\n serviceImplClass=" + serviceImplClass);
- sb.append("\n targetClassName=" + targetClassName);
- sb.append("\n serviceRef=" + this.serviceRef);
-
- return sb.toString();
- }
}
Modified: common/trunk/src/main/java/org/jboss/wsf/common/serviceref/ServiceRefSerializer.java
===================================================================
--- common/trunk/src/main/java/org/jboss/wsf/common/serviceref/ServiceRefSerializer.java 2010-10-25 17:29:29 UTC (rev 13187)
+++ common/trunk/src/main/java/org/jboss/wsf/common/serviceref/ServiceRefSerializer.java 2010-10-26 12:46:45 UTC (rev 13188)
@@ -40,10 +40,6 @@
{
public static final String SERVICE_REF_META_DATA = "SERVICE_REF_META_DATA";
- public static final String SERVICE_IMPL_CLASS = "SERVICE_CLASS_NAME";
-
- public static final String TARGET_CLASS_NAME = "TARGET_CLASS_NAME";
-
private ServiceRefSerializer()
{
// forbidden constructor
14 years, 2 months
JBossWS SVN: r13187 - in projects: magnolia2docbook and 5 other directories.
by jbossws-commits@lists.jboss.org
Author: alessio.soldano(a)jboss.com
Date: 2010-10-25 13:29:29 -0400 (Mon, 25 Oct 2010)
New Revision: 13187
Added:
projects/magnolia2docbook/
projects/magnolia2docbook/README
projects/magnolia2docbook/src/
projects/magnolia2docbook/src/org/
projects/magnolia2docbook/src/org/jboss/
projects/magnolia2docbook/src/org/jboss/util/
projects/magnolia2docbook/src/org/jboss/util/magnolia2docbook/
projects/magnolia2docbook/src/org/jboss/util/magnolia2docbook/Converter.java
projects/magnolia2docbook/src/org/jboss/util/magnolia2docbook/DocBookPage.java
projects/magnolia2docbook/src/org/jboss/util/magnolia2docbook/FilteredURLException.java
projects/magnolia2docbook/src/org/jboss/util/magnolia2docbook/JBossWSLinkFilter.java
projects/magnolia2docbook/src/org/jboss/util/magnolia2docbook/LinkFilter.java
projects/magnolia2docbook/src/org/jboss/util/magnolia2docbook/Magnolia2DocBook.java
projects/magnolia2docbook/src/org/jboss/util/magnolia2docbook/Page.java
projects/magnolia2docbook/src/org/jboss/util/magnolia2docbook/Registry.java
projects/magnolia2docbook/src/org/jboss/util/magnolia2docbook/XHTMLPage.java
projects/magnolia2docbook/src/org/jboss/util/magnolia2docbook/xhtml2docbook.xsl
Log:
Adding prototype application for automatically generating docbook files from JBoss.org Magnolia "wiki"
Added: projects/magnolia2docbook/README
===================================================================
--- projects/magnolia2docbook/README (rev 0)
+++ projects/magnolia2docbook/README 2010-10-25 17:29:29 UTC (rev 13187)
@@ -0,0 +1,15 @@
+For now, you can simply compile the app classes with JDK6
+> javac org/jboss/util/magnolia2docbook/*
+
+then run the app with
+> java org.jboss.util.magnolia2docbook.Magnolia2DocBook <url>
+
+By default the app filters urls not starting with "JBossWS", "wsconsume" or "wsprovide".
+Custom filters can be provided, still need to become configurable.
+
+Once the docbook xml files are generated (currently in output_docbook), a simple
+frontend page can be manually created importing all files as preferred (each file
+defines a chapter).
+
+All links referencing object/section/chapter in the generated files use <link> for
+resolving without going over the network.
Added: projects/magnolia2docbook/src/org/jboss/util/magnolia2docbook/Converter.java
===================================================================
--- projects/magnolia2docbook/src/org/jboss/util/magnolia2docbook/Converter.java (rev 0)
+++ projects/magnolia2docbook/src/org/jboss/util/magnolia2docbook/Converter.java 2010-10-25 17:29:29 UTC (rev 13187)
@@ -0,0 +1,94 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2010, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.util.magnolia2docbook;
+
+import java.io.ByteArrayInputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.net.URL;
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.xml.parsers.SAXParserFactory;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.sax.SAXSource;
+import javax.xml.transform.stream.StreamResult;
+import javax.xml.transform.stream.StreamSource;
+
+import org.xml.sax.InputSource;
+import org.xml.sax.XMLReader;
+
+public class Converter
+{
+ private static TransformerFactory tFactory = TransformerFactory.newInstance();
+ private static URL xhtml2docbookXsl = Converter.class.getResource("xhtml2docbook.xsl");
+
+ public static synchronized DocBookPage convert(XHTMLPage page, String outputDir) throws Exception
+ {
+ page.update();
+ String content = page.getContent();
+
+ Map<String, String> params = new HashMap<String, String>();
+ params.put("filename", page.getName()); //consumed by the xsl for generating chapter ids
+
+ DocBookPage docBookPage = new DocBookPage(page.getName(), page.getOutgoingLinks(), outputDir);
+ applyTransformation(xhtml2docbookXsl, new ByteArrayInputStream(content.getBytes()), docBookPage.getOutputStream(), params);
+
+ return docBookPage;
+ }
+
+ public static synchronized void applyTransformation(URL xsl, InputStream content, OutputStream result) throws Exception
+ {
+ applyTransformation(xsl, content, result, null);
+ }
+
+ public static synchronized void applyTransformation(URL xsl, InputStream content, OutputStream result, Map<String, String> params) throws Exception
+ {
+ SAXParserFactory spf = SAXParserFactory.newInstance();
+ spf.setNamespaceAware(true); spf.setValidating(false); // Turn off validation
+ spf.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false);
+ XMLReader rdr = spf.newSAXParser().getXMLReader();
+
+ Transformer trans = tFactory.newTransformer(new StreamSource(new File(xsl.toURI())));
+ if (params != null)
+ {
+ for (String k : params.keySet())
+ {
+ trans.setParameter(k, params.get(k));
+ }
+ }
+ trans.transform(new SAXSource(rdr, new InputSource(content)), new StreamResult(result));
+ }
+
+ public static void main(String[] args) throws Exception
+ {
+ FileInputStream is = new FileInputStream(args[1]);
+ FileOutputStream os = new FileOutputStream(args[2]);
+ applyTransformation(new File(args[0]).toURI().toURL(), is, os);
+ os.close();
+ is.close();
+ }
+}
Added: projects/magnolia2docbook/src/org/jboss/util/magnolia2docbook/DocBookPage.java
===================================================================
--- projects/magnolia2docbook/src/org/jboss/util/magnolia2docbook/DocBookPage.java (rev 0)
+++ projects/magnolia2docbook/src/org/jboss/util/magnolia2docbook/DocBookPage.java 2010-10-25 17:29:29 UTC (rev 13187)
@@ -0,0 +1,77 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2010, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.util.magnolia2docbook;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.net.URL;
+import java.util.Set;
+
+public class DocBookPage implements Page
+{
+ private OutputStream os;
+ private String name;
+ private Set<URL> links;
+ private String outputDir;
+
+ public DocBookPage(String name, Set<URL> links, String outputDir)
+ {
+ this.name = name;
+ this.links = links;
+ this.outputDir = outputDir;
+ }
+
+ @Override
+ public Set<URL> getOutgoingLinks()
+ {
+ return links;
+ }
+
+ @Override
+ public void write() throws IOException
+ {
+ os.flush();
+ os.close();
+ os = null;
+ }
+
+ public OutputStream getOutputStream() throws Exception
+ {
+ if (os == null)
+ {
+ File dir = new File(outputDir);
+ if (!dir.exists())
+ {
+ dir.mkdir();
+ }
+ os = new FileOutputStream(new File(dir, getFilename()));
+ }
+ return os;
+ }
+
+ private String getFilename()
+ {
+ return name + ".xml";
+ }
+}
Added: projects/magnolia2docbook/src/org/jboss/util/magnolia2docbook/FilteredURLException.java
===================================================================
--- projects/magnolia2docbook/src/org/jboss/util/magnolia2docbook/FilteredURLException.java (rev 0)
+++ projects/magnolia2docbook/src/org/jboss/util/magnolia2docbook/FilteredURLException.java 2010-10-25 17:29:29 UTC (rev 13187)
@@ -0,0 +1,32 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2010, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.util.magnolia2docbook;
+
+public class FilteredURLException extends Exception
+{
+ private static final long serialVersionUID = 5181162966146479113L;
+
+ public FilteredURLException()
+ {
+ super();
+ }
+}
Added: projects/magnolia2docbook/src/org/jboss/util/magnolia2docbook/JBossWSLinkFilter.java
===================================================================
--- projects/magnolia2docbook/src/org/jboss/util/magnolia2docbook/JBossWSLinkFilter.java (rev 0)
+++ projects/magnolia2docbook/src/org/jboss/util/magnolia2docbook/JBossWSLinkFilter.java 2010-10-25 17:29:29 UTC (rev 13187)
@@ -0,0 +1,36 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2010, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.util.magnolia2docbook;
+
+import java.net.URL;
+
+public class JBossWSLinkFilter implements LinkFilter
+{
+
+ @Override
+ public boolean accept(URL url)
+ {
+ String path = url.getPath() != null ? url.getPath().toLowerCase() : "";
+ return (path.contains("jbossws") || path.contains("jbws") || path.contains("wsconsume") || path.contains("wsprovide"));
+ }
+
+}
Added: projects/magnolia2docbook/src/org/jboss/util/magnolia2docbook/LinkFilter.java
===================================================================
--- projects/magnolia2docbook/src/org/jboss/util/magnolia2docbook/LinkFilter.java (rev 0)
+++ projects/magnolia2docbook/src/org/jboss/util/magnolia2docbook/LinkFilter.java 2010-10-25 17:29:29 UTC (rev 13187)
@@ -0,0 +1,29 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2010, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.util.magnolia2docbook;
+
+import java.net.URL;
+
+public interface LinkFilter
+{
+ public boolean accept(URL url);
+}
Added: projects/magnolia2docbook/src/org/jboss/util/magnolia2docbook/Magnolia2DocBook.java
===================================================================
--- projects/magnolia2docbook/src/org/jboss/util/magnolia2docbook/Magnolia2DocBook.java (rev 0)
+++ projects/magnolia2docbook/src/org/jboss/util/magnolia2docbook/Magnolia2DocBook.java 2010-10-25 17:29:29 UTC (rev 13187)
@@ -0,0 +1,113 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2010, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.util.magnolia2docbook;
+
+import java.net.URL;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Set;
+
+public class Magnolia2DocBook
+{
+
+ /**
+ * @param args
+ */
+ public static void main(String[] args) throws Exception
+ {
+ String startPage = args[0];
+ LinkFilter filter = new JBossWSLinkFilter(); //TODO read from args
+ Magnolia2DocBook m2d = new Magnolia2DocBook();
+ m2d.run(new URL(startPage), false, "output", filter);
+
+ }
+
+ public void run(URL pageUrl, boolean recursive, String outputDir, LinkFilter filter) throws Exception
+ {
+ List<XHTMLPage> xhtmlPages = new LinkedList<XHTMLPage>();
+ Registry registry = new Registry();
+ xhtmlPages.add(XHTMLPage.newInstance(pageUrl, registry, outputDir));
+ Set<URL> todo = getTodo(xhtmlPages, registry);
+ System.out.println("-> Outgoing links to process: " + todo.size());
+ while (!todo.isEmpty())
+ {
+ List<XHTMLPage> addedPages = new LinkedList<XHTMLPage>();
+ for (URL url : todo)
+ {
+ try
+ {
+ addedPages.add(XHTMLPage.newInstance(url, registry, outputDir, filter));
+ }
+ catch (FilteredURLException e)
+ {
+ System.out.println("* Skipped filtered page: " + url);
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ }
+ }
+ xhtmlPages.addAll(addedPages);
+ todo = getTodo(addedPages, registry);
+ System.out.println("-> Outgoing links to process: " + todo.size());
+ }
+ //Convert
+ System.out.println("*** Convert Phase ***");
+ for (XHTMLPage xhtmlPage : xhtmlPages)
+ {
+// xhtmlPage.update();
+// xhtmlPage.write();
+
+ try
+ {
+ DocBookPage docBookPage = Converter.convert(xhtmlPage, outputDir + "_docbook");
+ xhtmlPage.write();
+ docBookPage.write();
+ System.out.println("Conversion of " + xhtmlPage.getName() + " OK");
+ }
+ catch (Throwable t)
+ {
+ System.out.println("Conversion of " + xhtmlPage.getName() + " FAILED!");
+ t.printStackTrace();
+ }
+ }
+ }
+
+ private <T extends Page> Set<URL> getTodo(Collection<T> pages, Registry registry)
+ {
+ Set<URL> result = new HashSet<URL>();
+ for (Page page : pages)
+ {
+ for (URL link : page.getOutgoingLinks())
+ {
+ if (!registry.hasReference(link))
+ {
+ result.add(link);
+ }
+ }
+ }
+ return result;
+ }
+
+}
Added: projects/magnolia2docbook/src/org/jboss/util/magnolia2docbook/Page.java
===================================================================
--- projects/magnolia2docbook/src/org/jboss/util/magnolia2docbook/Page.java (rev 0)
+++ projects/magnolia2docbook/src/org/jboss/util/magnolia2docbook/Page.java 2010-10-25 17:29:29 UTC (rev 13187)
@@ -0,0 +1,34 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2010, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.util.magnolia2docbook;
+
+import java.io.IOException;
+import java.net.URL;
+import java.util.Set;
+
+public interface Page
+{
+ public Set<URL> getOutgoingLinks();
+
+ public void write() throws IOException;
+
+}
Added: projects/magnolia2docbook/src/org/jboss/util/magnolia2docbook/Registry.java
===================================================================
--- projects/magnolia2docbook/src/org/jboss/util/magnolia2docbook/Registry.java (rev 0)
+++ projects/magnolia2docbook/src/org/jboss/util/magnolia2docbook/Registry.java 2010-10-25 17:29:29 UTC (rev 13187)
@@ -0,0 +1,83 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2010, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.util.magnolia2docbook;
+
+import java.net.URL;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+public class Registry
+{
+ private Map<String, String> locations;
+ private Set<String> names;
+
+ public Registry()
+ {
+ locations = new HashMap<String, String>();
+ names = new HashSet<String>();
+ }
+
+ public void addReference(URL reference, String name)
+ {
+ String key = getKey(reference);
+// System.out.println("Mapping " + key + " to " + name);
+ locations.put(key, name);
+ names.add(name);
+ }
+
+ public boolean hasReference(URL reference)
+ {
+ return getReference(reference) != null;
+ }
+
+ public String getReference(URL reference)
+ {
+ String key = getKey(reference);
+ return locations.get(key);
+ }
+
+ public boolean isReferenced(String name)
+ {
+ return names.contains(name);
+ }
+
+ private String getKey(URL url)
+ {
+ String protocol = url.getProtocol();
+ if (!protocol.toLowerCase().startsWith("http"))
+ {
+ throw new RuntimeException("Unsupported protocol for url " + url);
+ }
+ String path = url.getPath();
+ if (path.endsWith("/"))
+ {
+ path = path.substring(0, path.length() - 1);
+ }
+ return path;
+
+// String query = url.getQuery();
+// return path != null ? path : "" + query != null ? query : "";
+ }
+
+}
Added: projects/magnolia2docbook/src/org/jboss/util/magnolia2docbook/XHTMLPage.java
===================================================================
--- projects/magnolia2docbook/src/org/jboss/util/magnolia2docbook/XHTMLPage.java (rev 0)
+++ projects/magnolia2docbook/src/org/jboss/util/magnolia2docbook/XHTMLPage.java 2010-10-25 17:29:29 UTC (rev 13187)
@@ -0,0 +1,536 @@
+package org.jboss.util.magnolia2docbook;
+
+import java.io.BufferedReader;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.net.HttpURLConnection;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.net.URLEncoder;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import javax.xml.namespace.QName;
+import javax.xml.stream.XMLInputFactory;
+import javax.xml.stream.XMLOutputFactory;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamReader;
+import javax.xml.stream.XMLStreamWriter;
+import javax.xml.stream.events.XMLEvent;
+
+public class XHTMLPage implements Page
+{
+ private static final String WIKI_LINK_CLASS = "jive-link-wiki";
+ private static final String DOCUMENT_BODY_START = "[DocumentBodyStart:";
+ private static final String DOCUMENT_BODY_END = "[DocumentBodyEnd:";
+
+ private static final String XHTML_NS = "http://www.w3.org/1999/xhtml";
+ private static final QName A = new QName(XHTML_NS, "a");
+ private static final QName BODY = new QName(XHTML_NS, "body");
+ private static final QName BR = new QName(XHTML_NS, "br");
+ private static final QName CODE = new QName(XHTML_NS, "code");
+ private static final QName DIV = new QName(XHTML_NS, "div");
+ private static final QName TBODY = new QName(XHTML_NS, "tbody");
+ private static final QName THEAD = new QName(XHTML_NS, "thead");
+ private static final QName TFOOT = new QName(XHTML_NS, "tfoot");
+ private static final QName HTML = new QName(XHTML_NS, "html");
+ private static final String CLASS = "class";
+ private static final String HREF = "href";
+ private static final String ID = "id";
+ private static final String SECTION = "section";
+ private static final String LOCATION_HEADER = "Location";
+ private static final int BASE_H_LEVEL = 0;
+
+ private URL url;
+ private URL actualUrl;
+ private String name;
+ private String content;
+ private Set<URL> links;
+ private Registry registry;
+ private String outputDir;
+
+ public static XHTMLPage newInstance(URL url, Registry registry, String outputDir, LinkFilter filter) throws IOException, MalformedURLException, FilteredURLException
+ {
+ return new XHTMLPage(url, registry, outputDir, filter);
+ }
+
+ public static XHTMLPage newInstance(URL url, Registry registry, String outputDir) throws IOException, MalformedURLException, FilteredURLException
+ {
+ return new XHTMLPage(url, registry, outputDir, null);
+ }
+
+ private XHTMLPage(URL url, Registry registry, String outputDir, LinkFilter filter) throws IOException, MalformedURLException, FilteredURLException
+ {
+ this.url = url;
+ this.links = new HashSet<URL>();
+ this.registry = registry;
+ this.outputDir = outputDir;
+ processContent(filter);
+ processLinks();
+ }
+
+ public URL getUrl()
+ {
+ return url;
+ }
+ public String getName()
+ {
+ return name;
+ }
+
+ private void setName(URL url)
+ {
+ name = getNameFromUrl(url);
+ }
+
+ @SuppressWarnings("deprecation")
+ private static String getNameFromUrl(URL url)
+ {
+ String path = url.getPath();
+ if (path.endsWith("/"))
+ {
+ path = path.substring(0, path.length() - 1);
+ }
+ String result = path.substring(path.lastIndexOf("/") + 1);
+// if (url.getQuery() != null)
+// {
+// result = result + url.getQuery();
+// }
+ result = URLEncoder.encode(result);
+ return result;
+ }
+
+ private void processContent(LinkFilter filter) throws IOException, MalformedURLException, FilteredURLException
+ {
+ this.actualUrl = this.url;
+ HttpURLConnection con = (HttpURLConnection)appendDecoratorQuery(actualUrl).openConnection();
+
+ con.setInstanceFollowRedirects(false);
+ con.connect();
+ boolean passFilter = filter == null || filter.accept(actualUrl);
+ int responseCode = con.getResponseCode();
+// System.out.println("pass="+passFilter+" code="+responseCode);
+ while (responseCode == HttpURLConnection.HTTP_MOVED_TEMP || responseCode == HttpURLConnection.HTTP_MOVED_PERM)
+ {
+ String location = con.getHeaderField(LOCATION_HEADER);
+ actualUrl = location.startsWith("http") ? new URL(location) : new URL(actualUrl.getProtocol(), actualUrl.getHost(), actualUrl.getPort(), location);
+ passFilter = passFilter || filter.accept(actualUrl);
+// System.out.println("actualUrl="+actualUrl+" pass="+passFilter);
+ con.disconnect();
+ con = (HttpURLConnection)actualUrl.openConnection();
+ con.setInstanceFollowRedirects(false);
+ con.connect();
+ responseCode = con.getResponseCode();
+ }
+ if (responseCode != HttpURLConnection.HTTP_OK)
+ {
+ con.disconnect();
+ throw new IOException("Response code " + responseCode + " received connecting to URL " + actualUrl);
+ }
+ if (!passFilter)
+ {
+ con.disconnect();
+ throw new FilteredURLException();
+ }
+ setName(actualUrl);
+ System.out.println("** Creating XHTMLPage '" + name + "' from URL: " + url);
+ registry.addReference(url, name);
+ if (!((Object)actualUrl).equals((Object)url))
+ {
+ registry.addReference(actualUrl, name);
+ }
+
+ BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
+ StringBuilder sb = new StringBuilder();
+ sb.append("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n");
+ sb.append("<" + HTML.getLocalPart() + " xmlns=\"" + HTML.getNamespaceURI() + "\" xml:lang=\"en\" lang=\"en\">\n");
+ sb.append("<head><title>");
+ sb.append(name);
+ sb.append("</title></head>\n");
+ sb.append("<body>");
+ String line;
+ boolean startReached = false;
+ boolean stopReached = false;
+ while ((line = in.readLine()) != null)
+ {
+ if (!stopReached)
+ {
+ if (!startReached)
+ {
+ if (line.contains(DOCUMENT_BODY_START))
+ {
+ startReached = true;
+ }
+ }
+ if (startReached)
+ {
+ if (line.contains(DOCUMENT_BODY_END))
+ {
+ stopReached = true;
+ }
+ sb.append(line);
+ sb.append("\n");
+ }
+
+ }
+ }
+ sb.append("</body>\n");
+ sb.append("</html>");
+ content = sb.toString();
+
+ con.disconnect();
+ }
+
+ private void processLinks()
+ {
+ try
+ {
+ XMLInputFactory xmlif = null;
+ xmlif = XMLInputFactory.newInstance();
+ xmlif.setProperty(XMLInputFactory.IS_REPLACING_ENTITY_REFERENCES, Boolean.TRUE);
+ xmlif.setProperty(XMLInputFactory.IS_SUPPORTING_EXTERNAL_ENTITIES, Boolean.FALSE);
+ xmlif.setProperty(XMLInputFactory.IS_NAMESPACE_AWARE, Boolean.TRUE);
+ xmlif.setProperty(XMLInputFactory.IS_VALIDATING, Boolean.FALSE);
+ xmlif.setProperty(XMLInputFactory.IS_COALESCING, Boolean.TRUE);
+ XMLStreamReader xmlr = xmlif.createXMLStreamReader(new ByteArrayInputStream(content.getBytes()));
+ int eventType = xmlr.getEventType();
+ while (xmlr.hasNext())
+ {
+ eventType = xmlr.next();
+ switch (eventType)
+ {
+ case XMLEvent.START_ELEMENT:
+ if (A.equals(xmlr.getName()))
+ {
+ String clazz = xmlr.getAttributeValue(null, CLASS);
+ if (clazz != null && clazz.startsWith(WIKI_LINK_CLASS))
+ {
+ String value = xmlr.getAttributeValue(null, HREF);
+ //links.add(value.startsWith("http") ? new URL(value) : new URL(actualUrl, value));
+ links.add(value.startsWith("http") ? new URL(value) : composeURL(actualUrl, value));
+ }
+ }
+ break;
+ }
+ }
+ }
+ catch (Exception e)
+ {
+ throw new RuntimeException(e);
+ }
+ }
+
+ private static URL composeURL(URL base, String location) throws MalformedURLException
+ {
+ URL url = new URL(base, location);
+ String path = url.getPath();
+// System.out.println("path ->> "+path);
+ while (path.startsWith("/..")) //swallow trailing .. in the path, as that's not possible
+ {
+ path = path.substring(3);
+ url = new URL(url.getProtocol(), url.getHost(), url.getPort(), path);
+ }
+ return url;
+ }
+
+ public void update()
+ {
+ try
+ {
+ ByteArrayOutputStream bos = new ByteArrayOutputStream(); //TODO evaluate streaming for performance reasons...
+ XMLOutputFactory xof = XMLOutputFactory.newInstance();
+ XMLStreamWriter xtw = xof.createXMLStreamWriter(bos);
+
+ XMLInputFactory xmlif = null;
+ xmlif = XMLInputFactory.newInstance();
+ xmlif.setProperty(XMLInputFactory.IS_REPLACING_ENTITY_REFERENCES, Boolean.TRUE);
+ xmlif.setProperty(XMLInputFactory.IS_SUPPORTING_EXTERNAL_ENTITIES, Boolean.FALSE);
+ xmlif.setProperty(XMLInputFactory.IS_NAMESPACE_AWARE, Boolean.TRUE);
+ xmlif.setProperty(XMLInputFactory.IS_VALIDATING, Boolean.FALSE);
+ xmlif.setProperty(XMLInputFactory.IS_COALESCING, Boolean.TRUE);
+ XMLStreamReader xmlr = xmlif.createXMLStreamReader(new ByteArrayInputStream(content.getBytes()));
+ int eventType = xmlr.getEventType();
+
+ boolean insideCode = false;
+ int nestedSectionLevel = BASE_H_LEVEL;
+ int lowerNestedSectionLevel = BASE_H_LEVEL;
+
+ while (xmlr.hasNext())
+ {
+ eventType = xmlr.next();
+ switch (eventType)
+ {
+ case XMLEvent.START_ELEMENT : {
+ QName elName = xmlr.getName();
+ if (TBODY.equals(elName) || THEAD.equals(elName) || TFOOT.equals(elName))
+ {
+ //completely ignore and flatten the table joining head, body and foot
+ //(as tbody / thead / tfoot tags break the xhtml2docbook xsl conversion)
+ break;
+ }
+ else if (A.equals(elName))
+ {
+ String clazz = xmlr.getAttributeValue(null, CLASS);
+ if (clazz != null && clazz.startsWith(WIKI_LINK_CLASS))
+ {
+ updateLink(xmlr, xtw);
+ break;
+ }
+ else
+ {
+ xtw.writeStartElement(xmlr.getPrefix(), xmlr.getLocalName(), xmlr.getNamespaceURI());
+ }
+ }
+ else if (insideCode && BR.equals(elName))
+ {
+ //replace with new line to prevent messing up with java code blocks
+ xtw.writeCharacters("\n");
+ }
+ else if (CODE.equals(elName))
+ {
+ insideCode = true;
+ break;
+ }
+ else if (elName.getLocalPart().startsWith("h") && elName.getLocalPart().length() == 2 && XHTML_NS.equals(elName.getNamespaceURI()))
+ {
+ int hLevel = Integer.valueOf(elName.getLocalPart().substring(1));
+// System.out.println("cur lev: " + nestedSectionLevel + ", found h"+hLevel);
+ if (hLevel == nestedSectionLevel + 1)
+ {
+ nestedSectionLevel++;
+ startSection(xmlr, xtw);
+ break;
+ }
+ else if (hLevel == nestedSectionLevel)
+ {
+ xtw.writeEndElement();
+ xtw.writeCharacters("\n");
+ startSection(xmlr, xtw);
+ break;
+ }
+ else if (hLevel < nestedSectionLevel)
+ {
+ int nestDiff = nestedSectionLevel - hLevel;
+ for (int i = 0; i < nestDiff + 1; i++)
+ {
+ xtw.writeEndElement();
+ xtw.writeCharacters("\n");
+ }
+ nestedSectionLevel = hLevel;
+ startSection(xmlr, xtw);
+ break;
+ }
+ else if (hLevel > nestedSectionLevel && nestedSectionLevel == lowerNestedSectionLevel && lowerNestedSectionLevel == BASE_H_LEVEL)
+ {
+ //when -for instance- the page does not use anything below h4
+ nestedSectionLevel = hLevel;
+ lowerNestedSectionLevel = hLevel - 1;
+ startSection(xmlr, xtw);
+ break;
+ }
+ else
+ {
+ System.out.println("WARNING: unsupported Hx tags sequence found");
+ xtw.writeStartElement(xmlr.getPrefix(), xmlr.getLocalName(), xmlr.getNamespaceURI());
+ }
+ }
+ else
+ {
+ xtw.writeStartElement(xmlr.getPrefix(), xmlr.getLocalName(), xmlr.getNamespaceURI());
+ if (HTML.equals(elName))
+ {
+ xtw.writeNamespace(xmlr.getPrefix(), xmlr.getNamespaceURI());
+ }
+ }
+ copyElementAttributes(xmlr, xtw);
+ break;
+ }
+ case XMLEvent.END_ELEMENT: {
+ QName elName = xmlr.getName();
+ if (TBODY.equals(elName) || THEAD.equals(elName) || TFOOT.equals(elName))
+ {
+ //ignore
+ }
+ else if (CODE.equals(elName))
+ {
+ insideCode = false;
+ }
+ else if (insideCode && BR.equals(elName))
+ {
+ //ignore
+ }
+ else
+ {
+ if (BODY.equals(elName) && nestedSectionLevel > lowerNestedSectionLevel)
+ {
+ for (int i = 0; i < nestedSectionLevel - lowerNestedSectionLevel; i++)
+ {
+ xtw.writeEndElement();
+ }
+ nestedSectionLevel = 0;
+ }
+ xtw.writeEndElement();
+ }
+ break;
+ }
+ case XMLEvent.ATTRIBUTE: {
+ //ignore
+ break;
+ }
+ case XMLEvent.PROCESSING_INSTRUCTION: {
+ xtw.writeProcessingInstruction(xmlr.getPITarget(), xmlr.getPIData());
+ break;
+ }
+ case XMLEvent.CHARACTERS: {
+ xtw.writeCharacters(xmlr.getText());
+ break;
+ }
+ case XMLEvent.COMMENT: {
+ xtw.writeComment(xmlr.getText());
+ break;
+ }
+ case XMLEvent.START_DOCUMENT: {
+ xtw.writeStartDocument(xmlr.getEncoding(), xmlr.getVersion());
+ break;
+ }
+ case XMLEvent.END_DOCUMENT: {
+ xtw.writeEndDocument();
+ break;
+ }
+ case XMLEvent.ENTITY_REFERENCE: {
+ String t = xmlr.getText();
+ if (t == null)
+ {
+ System.out.println("WARNING: Unable to copy entity reference: " + xmlr.getLocalName());
+ }
+ else
+ {
+ xtw.writeEntityRef(t);
+ }
+ break;
+ }
+ case XMLEvent.DTD: {
+ xtw.writeDTD("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">");
+ break;
+ }
+ case XMLEvent.SPACE: {
+ xtw.writeCharacters(xmlr.getText());
+ break;
+ }
+ case XMLEvent.CDATA: {
+ xtw.writeCData(xmlr.getText());
+ break;
+ }
+ }
+ }
+ xtw.flush();
+ xtw.close();
+ content = bos.toString();
+ }
+ catch (Exception e)
+ {
+ throw new RuntimeException(e);
+ }
+ }
+
+ private static void startSection(XMLStreamReader xmlr, XMLStreamWriter xtw) throws XMLStreamException
+ {
+ xtw.writeStartElement("", DIV.getLocalPart(), DIV.getNamespaceURI());
+ xtw.writeAttribute(CLASS, SECTION);
+ String id = xmlr.getAttributeValue(null, ID);
+ if (id != null)
+ {
+ xtw.writeAttribute(ID, id);
+ }
+ xtw.writeStartElement(xmlr.getPrefix(), xmlr.getLocalName(), xmlr.getNamespaceURI());
+ copyElementAttributes(xmlr, xtw, ID);
+ }
+
+ private void updateLink(XMLStreamReader xmlr, XMLStreamWriter xtw) throws XMLStreamException, MalformedURLException
+ {
+ xtw.writeStartElement(xmlr.getPrefix(), xmlr.getLocalName(), xmlr.getNamespaceURI());
+ String linkString = xmlr.getAttributeValue(null, HREF);
+ URL link = linkString.startsWith("http") ? new URL(linkString) : composeURL(actualUrl, linkString);
+ String newLink = registry.getReference(link);
+ if (newLink != null)
+ {
+ xtw.writeAttribute(HREF, newLink);
+ copyElementAttributes(xmlr, xtw, HREF);
+// System.out.println("Rewritten link to: " + link + "(" + newLink + ")");
+ }
+ else
+ {
+ System.out.println("Failed to rewrite link to: " + link);
+ copyElementAttributes(xmlr, xtw);
+ }
+ }
+
+ private static void copyElementAttributes(XMLStreamReader xmlr, XMLStreamWriter xtw, String... localNameExclusions) throws XMLStreamException
+ {
+ List<String> ex = Arrays.asList(localNameExclusions);
+ int attrCount = xmlr.getAttributeCount();
+ for (int i = 0; i < attrCount; i++)
+ {
+ if (xmlr.getAttributeNamespace(i) == null)
+ {
+ String n = xmlr.getAttributeLocalName(i);
+ if (!ex.contains(n))
+ {
+ xtw.writeAttribute(n, xmlr.getAttributeValue(i));
+ }
+ }
+ else
+ {
+ String n = xmlr.getAttributeLocalName(i);
+ if (!ex.contains(n))
+ {
+ xtw.writeAttribute(xmlr.getAttributePrefix(i), xmlr.getAttributeNamespace(i), n,
+ xmlr.getAttributeValue(i));
+ }
+ }
+ }
+ }
+
+ private URL appendDecoratorQuery(URL url) throws MalformedURLException
+ {
+ URL u = new URL(url.toString() + (url.getQuery() == null ? "?" : "&") + "decorator=print");
+// System.out.println("trying with... " + u);
+ return u;
+ }
+
+ public String getContent()
+ {
+ return content;
+ }
+
+ @Override
+ public Set<URL> getOutgoingLinks()
+ {
+ return links;
+ }
+
+ @Override
+ public void write() throws IOException
+ {
+ File dir = new File(outputDir);
+ if (!dir.exists())
+ {
+ dir.mkdir();
+ }
+ FileWriter fw = new FileWriter(new File(dir, getFilename()));
+ fw.write(content);
+ fw.close();
+ }
+
+ private String getFilename()
+ {
+ return name + ".xhtml";
+ }
+
+}
Added: projects/magnolia2docbook/src/org/jboss/util/magnolia2docbook/xhtml2docbook.xsl
===================================================================
--- projects/magnolia2docbook/src/org/jboss/util/magnolia2docbook/xhtml2docbook.xsl (rev 0)
+++ projects/magnolia2docbook/src/org/jboss/util/magnolia2docbook/xhtml2docbook.xsl 2010-10-25 17:29:29 UTC (rev 13187)
@@ -0,0 +1,615 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ This is a modified version of the style sheet available at http://wiki.docbook.org/topic/Html2DocBook.
+ It basically comes with some customizations for getting docbook files similar to what's used for
+ nowadays for JBoss AS documentation, as well as for coping with minor details due to the conversion
+ from Magnolia-generated XHTML.
+-->
+<xsl:stylesheet version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:fo="http://www.w3.org/1999/XSL/Format"
+ xmlns:html="http://www.w3.org/1999/xhtml"
+ xmlns:saxon="http://icl.com/saxon"
+ exclude-result-prefixes="xsl fo html saxon">
+
+<xsl:output method="xml" indent="no"/>
+<xsl:param name="filename"></xsl:param>
+<xsl:param name="prefix">wb</xsl:param>
+<xsl:param name="graphics_location">images/</xsl:param>
+
+<!-- Main block-level conversions -->
+<xsl:template match="html:html">
+ <xsl:apply-templates select="html:body"/>
+</xsl:template>
+
+<!-- This template converts each HTML file encountered into a DocBook
+ section. For a title, it selects the first h1 element -->
+<xsl:template match="html:body">
+ <chapter>
+ <xsl:if test="$filename != ''">
+ <xsl:attribute name="id">
+ <xsl:value-of select="$prefix"/>
+ <xsl:text>_</xsl:text>
+ <xsl:value-of select="translate($filename,' ()','__')"/>
+ </xsl:attribute>
+ </xsl:if>
+ <title>
+ <!-- <xsl:value-of select=".//html:h1[1]
+ |.//html:h2[1]
+ |.//html:h3[1]"/> -->
+ <xsl:value-of select="parent::node()/html:head/html:title"/>
+ </title>
+ <xsl:apply-templates select="*"/>
+ </chapter>
+</xsl:template>
+
+<!-- This template matches on all HTML header items and makes them into
+ bridgeheads. It attempts to assign an ID to each bridgehead by looking
+ for an id attribute or for a named anchor as a child of the header or
+ as the immediate preceding or following sibling -->
+<xsl:template match="html:h1
+ |html:h2
+ |html:h3
+ |html:h4
+ |html:h5
+ |html:h6">
+ <bridgehead>
+ <xsl:choose>
+ <xsl:when test="@id">
+ <xsl:attribute name="id">
+ <xsl:value-of select="@id"/>
+ </xsl:attribute>
+ </xsl:when>
+ <xsl:when test="count(html:a/@name)">
+ <xsl:attribute name="id">
+ <xsl:value-of select="html:a/@name"/>
+ </xsl:attribute>
+ </xsl:when>
+ <xsl:when test="preceding-sibling::* = preceding-sibling::html:a[@name != '']">
+ <xsl:attribute name="id">
+ <xsl:value-of select="concat($prefix,preceding-sibling::html:a[1]/@name)"/>
+ </xsl:attribute>
+ </xsl:when>
+ <xsl:when test="following-sibling::* = following-sibling::html:a[@name != '']">
+ <xsl:attribute name="id">
+ <xsl:value-of select="concat($prefix,following-sibling::html:a[1]/@name)"/>
+ </xsl:attribute>
+ </xsl:when>
+ </xsl:choose>
+ <xsl:apply-templates/>
+ </bridgehead>
+</xsl:template>
+
+<!-- These templates perform one-to-one conversions of HTML elements into
+ DocBook elements -->
+<xsl:template match="html:p">
+<!-- if the paragraph has no text (perhaps only a child <img>), don't
+ make it a para -->
+ <xsl:choose>
+ <xsl:when test="normalize-space(.) = ''">
+ <xsl:apply-templates/>
+ </xsl:when>
+ <xsl:otherwise>
+ <para>
+ <xsl:apply-templates/>
+ </para>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+<xsl:template match="html:pre">
+ <screen xml:space="preserve"><xsl:apply-templates/></screen>
+</xsl:template>
+<xsl:template match="html:tt">
+ <computeroutput><xsl:apply-templates/></computeroutput>
+</xsl:template>
+
+<!-- Hyperlinks -->
+<xsl:template match="html:a[contains(@href,'http://')]" priority="1.5">
+ <ulink>
+ <xsl:attribute name="url">
+ <xsl:value-of select="normalize-space(@href)"/>
+ </xsl:attribute>
+ <xsl:apply-templates/>
+ </ulink>
+</xsl:template>
+<xsl:template match="html:a[contains(@href,'https://')]" priority="1.5">
+ <ulink>
+ <xsl:attribute name="url">
+ <xsl:value-of select="normalize-space(@href)"/>
+ </xsl:attribute>
+ <xsl:apply-templates/>
+ </ulink>
+</xsl:template>
+<xsl:template match="html:a[contains(@href,'ftp://')]" priority="1.5">
+ <ulink>
+ <xsl:attribute name="url">
+ <xsl:value-of select="normalize-space(@href)"/>
+ </xsl:attribute>
+ <xsl:apply-templates/>
+ </ulink>
+</xsl:template>
+<xsl:template match="html:a[contains(@href,'mailto:')]" priority="1.5">
+ <ulink>
+ <xsl:attribute name="url">
+ <xsl:value-of select="normalize-space(@href)"/>
+ </xsl:attribute>
+ <xsl:apply-templates/>
+ </ulink>
+</xsl:template>
+
+<xsl:template match="html:a[contains(@href,'#')]" priority="0.6">
+ <link>
+ <xsl:attribute name="linkend">
+ <xsl:call-template name="make_id">
+ <xsl:with-param name="string" select="substring-after(@href,'#')"/>
+ </xsl:call-template>
+ </xsl:attribute>
+ <xsl:apply-templates/>
+ </link>
+</xsl:template>
+<xsl:template match="html:a[@name != '']" priority="0.6">
+ <anchor>
+ <xsl:attribute name="id">
+ <xsl:call-template name="make_id">
+ <xsl:with-param name="string" select="@name"/>
+ </xsl:call-template>
+ </xsl:attribute>
+ <xsl:apply-templates/>
+ </anchor>
+</xsl:template>
+
+<xsl:template match="html:a[@href != '']">
+ <link>
+ <xsl:attribute name="linkend">
+ <xsl:value-of select="$prefix"/>
+ <xsl:text>_</xsl:text>
+ <xsl:call-template name="make_id">
+ <xsl:with-param name="string" select="@href"/>
+ </xsl:call-template>
+ </xsl:attribute>
+ <xsl:apply-templates/>
+ </link>
+</xsl:template>
+
+<!-- Need to come up with good template for converting filenames into ID's -->
+<xsl:template name="make_id">
+ <xsl:param name="string" select="''"/>
+ <xsl:variable name="fixedname">
+ <xsl:call-template name="get_filename">
+ <xsl:with-param name="path" select="translate($string,' \()','_/_')"/>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:choose>
+ <xsl:when test="contains($fixedname,'.htm')">
+ <xsl:value-of select="substring-before($fixedname,'.htm')"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$fixedname"/>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<xsl:template name="string.subst">
+ <xsl:param name="string" select="''"/>
+ <xsl:param name="substitute" select="''"/>
+ <xsl:param name="with" select="''"/>
+ <xsl:choose>
+ <xsl:when test="contains($string,$substitute)">
+ <xsl:variable name="pre" select="substring-before($string,$substitute)"/>
+ <xsl:variable name="post" select="substring-after($string,$substitute)"/>
+ <xsl:call-template name="string.subst">
+ <xsl:with-param name="string" select="concat($pre,$with,$post)"/>
+ <xsl:with-param name="substitute" select="$substitute"/>
+ <xsl:with-param name="with" select="$with"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$string"/>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<!-- Images -->
+<!-- Images and image maps -->
+<xsl:template match="html:img">
+ <xsl:variable name="tag_name">
+ <xsl:choose>
+ <xsl:when test="boolean(parent::html:p) and
+ boolean(normalize-space(parent::html:p/text()))">
+ <xsl:text>inlinemediaobject</xsl:text>
+ </xsl:when>
+ <xsl:otherwise>mediaobject</xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+ <xsl:element name="{$tag_name}">
+ <imageobject>
+ <xsl:call-template name="process.image"/>
+ </imageobject>
+ </xsl:element>
+</xsl:template>
+
+<xsl:template name="process.image">
+ <imagedata>
+<xsl:attribute name="fileref">
+ <xsl:call-template name="make_absolute">
+ <xsl:with-param name="filename" select="@src"/>
+ </xsl:call-template>
+</xsl:attribute>
+<xsl:if test="@height != ''">
+ <xsl:attribute name="depth">
+ <xsl:value-of select="@height"/>
+ </xsl:attribute>
+</xsl:if>
+<xsl:if test="@width != ''">
+ <xsl:attribute name="width">
+ <xsl:value-of select="@width"/>
+ </xsl:attribute>
+</xsl:if>
+ </imagedata>
+</xsl:template>
+
+<xsl:template name="make_absolute">
+ <xsl:param name="filename"/>
+ <xsl:variable name="name_only">
+ <xsl:call-template name="get_filename">
+ <xsl:with-param name="path" select="$filename"/>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:value-of select="$graphics_location"/><xsl:value-of select="$name_only"/>
+</xsl:template>
+
+<xsl:template match="html:ul[count(*) = 0]">
+ <xsl:message>Matched</xsl:message>
+ <blockquote>
+ <xsl:apply-templates/>
+ </blockquote>
+</xsl:template>
+
+<xsl:template name="get_filename">
+ <xsl:param name="path"/>
+ <xsl:choose>
+ <xsl:when test="contains($path,'/')">
+ <xsl:call-template name="get_filename">
+ <xsl:with-param name="path" select="substring-after($path,'/')"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$path"/>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<!-- LIST ELEMENTS -->
+<xsl:template match="html:ul">
+ <itemizedlist>
+ <xsl:apply-templates/>
+ </itemizedlist>
+</xsl:template>
+
+<xsl:template match="html:ol">
+ <orderedlist>
+ <xsl:apply-templates/>
+ </orderedlist>
+</xsl:template>
+
+<!-- This template makes a DocBook variablelist out of an HTML definition list -->
+<xsl:template match="html:dl">
+ <variablelist>
+ <xsl:for-each select="html:dt">
+ <varlistentry>
+ <term>
+ <xsl:apply-templates/>
+ </term>
+ <listitem>
+ <xsl:apply-templates select="following-sibling::html:dd[1]"/>
+ </listitem>
+ </varlistentry>
+ </xsl:for-each>
+ </variablelist>
+</xsl:template>
+
+<xsl:template match="html:dd">
+ <xsl:choose>
+ <xsl:when test="boolean(html:p)">
+ <xsl:apply-templates/>
+ </xsl:when>
+ <xsl:otherwise>
+ <para>
+ <xsl:apply-templates/>
+ </para>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<xsl:template match="html:li">
+ <listitem>
+ <xsl:choose>
+ <xsl:when test="count(html:p) = 0">
+ <para>
+ <xsl:apply-templates/>
+ </para>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:apply-templates/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </listitem>
+</xsl:template>
+
+<xsl:template match="*">
+ <xsl:message>No template for <xsl:value-of select="name()"/>
+ </xsl:message>
+ <xsl:apply-templates/>
+</xsl:template>
+
+<xsl:template match="@*">
+ <xsl:message>No template for <xsl:value-of select="name()"/>
+ </xsl:message>
+ <xsl:apply-templates/>
+</xsl:template>
+<!-- unsupported tags -->
+<xsl:template match="html:code">
+ <xsl:apply-templates/>
+</xsl:template>
+<xsl:template match="html:font">
+ <xsl:apply-templates/>
+</xsl:template>
+<xsl:template match="html:span">
+ <xsl:apply-templates/>
+</xsl:template>
+<xsl:template match="html:div" priority="0.1">
+ <xsl:apply-templates/>
+</xsl:template>
+
+<!-- inline formatting -->
+<xsl:template match="html:b">
+ <emphasis role="bold">
+ <xsl:apply-templates/>
+ </emphasis>
+</xsl:template>
+<xsl:template match="html:strong">
+ <emphasis role="bold">
+ <xsl:apply-templates/>
+ </emphasis>
+</xsl:template>
+<xsl:template match="html:i">
+ <emphasis>
+ <xsl:apply-templates/>
+ </emphasis>
+</xsl:template>
+<xsl:template match="html:em">
+ <emphasis>
+ <xsl:apply-templates/>
+ </emphasis>
+</xsl:template>
+<xsl:template match="html:u">
+ <citetitle>
+ <xsl:apply-templates/>
+ </citetitle>
+</xsl:template>
+
+<!-- JBossWS customizations -->
+<xsl:template match="html:div[@class = 'section']">
+ <section>
+ <xsl:attribute name="id">
+ <xsl:value-of select="@id"/>
+ </xsl:attribute>
+ <title><xsl:value-of select="child::node()[1]"/></title>
+ <xsl:apply-templates select="child::node()[position() != 1]"/>
+ </section>
+</xsl:template>
+<xsl:template match="html:div[@class = 'note']">
+ <note>
+ <para>
+ <xsl:apply-templates/>
+ </para>
+ </note>
+</xsl:template>
+<xsl:template match="html:div[@class = 'toc']"/>
+
+<!-- Ignored elements -->
+<xsl:template match="html:hr"/>
+<xsl:template match="html:h1[1]|html:h2[1]|html:h3[1]" priority="1"/>
+<xsl:template match="html:br"/>
+<xsl:template match="html:p[normalize-space(.) = '' and count(*) = 0]"/>
+<xsl:template match="text()">
+ <xsl:choose>
+ <xsl:when test="normalize-space(.) = '' and string-length() > 1"></xsl:when>
+ <xsl:otherwise><xsl:copy/></xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<!-- Workbench Hacks -->
+<xsl:template match="html:div[contains(@style,'margin-left: 2em')]">
+ <blockquote><para>
+ <xsl:apply-templates/></para>
+ </blockquote>
+</xsl:template>
+
+<xsl:template match="html:a[@href != ''
+ and not(boolean(ancestor::html:p|ancestor::html:li))]"
+ priority="1">
+ <para>
+ <link>
+ <xsl:attribute name="linkend">
+ <xsl:value-of select="$prefix"/>
+ <xsl:text>_</xsl:text>
+ <xsl:call-template name="make_id">
+ <xsl:with-param name="string" select="@href"/>
+ </xsl:call-template>
+ </xsl:attribute>
+ <xsl:apply-templates/>
+ </link>
+ </para>
+</xsl:template>
+
+<xsl:template match="html:a[contains(@href,'#')
+ and not(boolean(ancestor::html:p|ancestor::html:li))]"
+ priority="1.1">
+ <para>
+ <link>
+ <xsl:attribute name="linkend">
+ <xsl:value-of select="$prefix"/>
+ <xsl:text>_</xsl:text>
+ <xsl:call-template name="make_id">
+ <xsl:with-param name="string" select="substring-after(@href,'#')"/>
+ </xsl:call-template>
+ </xsl:attribute>
+ <xsl:apply-templates/>
+ </link>
+ </para>
+</xsl:template>
+
+<!-- Table conversion -->
+<xsl:template match="html:table">
+<!-- <xsl:variable name="column_count"
+ select="saxon:max(.//html:tr,saxon:expression('count(html:td)'))"/> -->
+ <xsl:variable name="column_count">
+ <xsl:call-template name="count_columns">
+ <xsl:with-param name="table" select="."/>
+ </xsl:call-template>
+ </xsl:variable>
+ <informaltable>
+ <tgroup>
+ <xsl:attribute name="cols">
+ <xsl:value-of select="$column_count"/>
+ </xsl:attribute>
+ <xsl:call-template name="generate-colspecs">
+ <xsl:with-param name="count" select="$column_count"/>
+ </xsl:call-template>
+ <thead>
+ <xsl:apply-templates select="html:tr[1]"/>
+ </thead>
+ <tbody>
+ <xsl:apply-templates select="html:tr[position() != 1]"/>
+ </tbody>
+ </tgroup>
+ </informaltable>
+</xsl:template>
+
+<xsl:template name="generate-colspecs">
+ <xsl:param name="count" select="0"/>
+ <xsl:param name="number" select="1"/>
+ <xsl:choose>
+ <xsl:when test="$count < $number"/>
+ <xsl:otherwise>
+ <colspec>
+ <xsl:attribute name="colnum">
+ <xsl:value-of select="$number"/>
+ </xsl:attribute>
+ <xsl:attribute name="colname">
+ <xsl:value-of select="concat('col',$number)"/>
+ </xsl:attribute>
+ </colspec>
+ <xsl:call-template name="generate-colspecs">
+ <xsl:with-param name="count" select="$count"/>
+ <xsl:with-param name="number" select="$number + 1"/>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<xsl:template match="html:tr">
+ <row>
+ <xsl:apply-templates/>
+ </row>
+</xsl:template>
+
+<xsl:template match="html:th|html:td">
+ <xsl:variable name="position" select="count(preceding-sibling::*) + 1"/>
+ <entry>
+ <xsl:if test="@colspan > 1">
+ <xsl:attribute name="namest">
+ <xsl:value-of select="concat('col',$position)"/>
+ </xsl:attribute>
+ <xsl:attribute name="nameend">
+ <xsl:value-of select="concat('col',$position + number(@colspan) - 1)"/>
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@rowspan > 1">
+ <xsl:attribute name="morerows">
+ <xsl:value-of select="number(@rowspan) - 1"/>
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:apply-templates/>
+ </entry>
+</xsl:template>
+
+<xsl:template match="html:td_null">
+ <xsl:apply-templates/>
+</xsl:template>
+
+<xsl:template name="count_columns">
+ <xsl:param name="table" select="."/>
+ <xsl:param name="row" select="$table/html:tr[1]"/>
+ <xsl:param name="max" select="0"/>
+ <xsl:choose>
+ <xsl:when test="local-name($table) != 'table'">
+ <xsl:message>Attempting to count columns on a non-table element</xsl:message>
+ </xsl:when>
+ <xsl:when test="local-name($row) != 'tr'">
+ <xsl:message>Row parameter is not a valid row</xsl:message>
+ </xsl:when>
+ <xsl:otherwise>
+ <!-- Count cells in the current row -->
+ <xsl:variable name="current_count">
+ <xsl:call-template name="count_cells">
+ <xsl:with-param name="cell" select="$row/html:td[1]|$row/html:th[1]"/>
+ </xsl:call-template>
+ </xsl:variable>
+ <!-- Check for the maximum value of $current_count and $max -->
+ <xsl:variable name="new_max">
+ <xsl:choose>
+ <xsl:when test="$current_count > $max">
+ <xsl:value-of select="number($current_count)"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="number($max)"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+ <!-- If this is the last row, return $max, otherwise continue -->
+ <xsl:choose>
+ <xsl:when test="count($row/following-sibling::html:tr) = 0">
+ <xsl:value-of select="$new_max"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="count_columns">
+ <xsl:with-param name="table" select="$table"/>
+ <xsl:with-param name="row" select="$row/following-sibling::html:tr"/>
+ <xsl:with-param name="max" select="$new_max"/>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<xsl:template name="count_cells">
+ <xsl:param name="cell"/>
+ <xsl:param name="count" select="0"/>
+ <xsl:variable name="new_count">
+ <xsl:choose>
+ <xsl:when test="$cell/@colspan > 1">
+ <xsl:value-of select="number($cell/@colspan) + number($count)"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="number('1') + number($count)"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+ <xsl:choose>
+ <xsl:when test="count($cell/following-sibling::*) > 0">
+ <xsl:call-template name="count_cells">
+ <xsl:with-param name="cell"
+ select="$cell/following-sibling::*[1]"/>
+ <xsl:with-param name="count" select="$new_count"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$new_count"/>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+</xsl:stylesheet>
14 years, 2 months
JBossWS SVN: r13186 - stack/native/trunk/modules/core/src/main/java/org/jboss/ws/metadata/umdm.
by jbossws-commits@lists.jboss.org
Author: richard.opalka(a)jboss.com
Date: 2010-10-23 09:16:13 -0400 (Sat, 23 Oct 2010)
New Revision: 13186
Modified:
stack/native/trunk/modules/core/src/main/java/org/jboss/ws/metadata/umdm/EndpointMetaData.java
Log:
improving log message
Modified: stack/native/trunk/modules/core/src/main/java/org/jboss/ws/metadata/umdm/EndpointMetaData.java
===================================================================
--- stack/native/trunk/modules/core/src/main/java/org/jboss/ws/metadata/umdm/EndpointMetaData.java 2010-10-22 06:43:36 UTC (rev 13185)
+++ stack/native/trunk/modules/core/src/main/java/org/jboss/ws/metadata/umdm/EndpointMetaData.java 2010-10-23 13:16:13 UTC (rev 13186)
@@ -235,7 +235,7 @@
if (wsMetaData.isEagerInitialized())
{
if (UnifiedMetaData.isFinalRelease() == false)
- log.warn("Set SEI name after eager initialization", new IllegalStateException());
+ log.warn("Set SEI name after eager initialization");
// reinitialize
initializeInternal();
14 years, 2 months
JBossWS SVN: r13185 - framework/trunk.
by jbossws-commits@lists.jboss.org
Author: richard.opalka(a)jboss.com
Date: 2010-10-22 02:43:36 -0400 (Fri, 22 Oct 2010)
New Revision: 13185
Modified:
framework/trunk/pom.xml
Log:
[JBWS-2928] Use .Final instead of .Beta1 artifacts
Modified: framework/trunk/pom.xml
===================================================================
--- framework/trunk/pom.xml 2010-10-22 06:37:04 UTC (rev 13184)
+++ framework/trunk/pom.xml 2010-10-22 06:43:36 UTC (rev 13185)
@@ -27,9 +27,9 @@
<properties>
<jbossws.spi.version>1.4.0-SNAPSHOT</jbossws.spi.version>
<jbossws.common.version>1.4.0-SNAPSHOT</jbossws.common.version>
- <jaxrpc.api.version>1.1</jaxrpc.api.version>
- <jaxws.api.version>2.2</jaxws.api.version>
- <jboss.web.version>2.1.3.GA</jboss.web.version>
+ <jaxrpc.api.version>1.0.0.Final</jaxrpc.api.version>
+ <jaxws.api.version>1.0.0.Final</jaxws.api.version>
+ <servlet.api.version>1.0.0.Final</servlet.api.version>
<jbossxb.version>2.0.1.GA</jbossxb.version>
</properties>
@@ -50,20 +50,20 @@
<!-- provided apis -->
<dependency>
- <groupId>jboss.web</groupId>
- <artifactId>servlet-api</artifactId>
- <version>${jboss.web.version}</version>
+ <groupId>org.jboss.spec.javax.servlet</groupId>
+ <artifactId>jboss-servlet-api_3.0_spec</artifactId>
+ <version>${servlet.api.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
- <groupId>javax.xml</groupId>
- <artifactId>jaxrpc-api</artifactId>
+ <groupId>org.jboss.spec.javax.xml.rpc</groupId>
+ <artifactId>jboss-jaxrpc-api_1.1_spec</artifactId>
<version>${jaxrpc.api.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
- <groupId>javax.xml.ws</groupId>
- <artifactId>jaxws-api</artifactId>
+ <groupId>org.jboss.spec.javax.xml.ws</groupId>
+ <artifactId>jboss-jaxws-api_2.2_spec</artifactId>
<version>${jaxws.api.version}</version>
<scope>provided</scope>
</dependency>
14 years, 2 months
JBossWS SVN: r13184 - common/trunk.
by jbossws-commits@lists.jboss.org
Author: richard.opalka(a)jboss.com
Date: 2010-10-22 02:37:04 -0400 (Fri, 22 Oct 2010)
New Revision: 13184
Modified:
common/trunk/pom.xml
Log:
[JBWS-2928] Use .Final instead of .Beta1 artifacts
Modified: common/trunk/pom.xml
===================================================================
--- common/trunk/pom.xml 2010-10-22 06:33:41 UTC (rev 13183)
+++ common/trunk/pom.xml 2010-10-22 06:37:04 UTC (rev 13184)
@@ -27,17 +27,16 @@
<!-- Properties -->
<properties>
+ <jbossws.spi.version>1.4.0-SNAPSHOT</jbossws.spi.version>
<jboss.jaxbintros.version>1.0.2.GA</jboss.jaxbintros.version>
- <jaxws.api.version>2.2</jaxws.api.version>
<jboss.common.core.version>2.2.14.GA</jboss.common.core.version>
<jboss.ejb.api.version>3.0.0.GA</jboss.ejb.api.version>
<jboss.microcontainer.version>2.0.8.GA</jboss.microcontainer.version>
- <jboss.web.version>2.1.3.GA</jboss.web.version>
- <jbossws.spi.version>1.4.0-SNAPSHOT</jbossws.spi.version>
<junit.version>3.8.2</junit.version>
<wsdl4j.version>1.6.2</wsdl4j.version>
- <jms.api.version>1.1</jms.api.version>
+ <jms.api.version>1.0.0.Final</jms.api.version>
<jaxws.api.version>1.0.0.Final</jaxws.api.version>
+ <servlet.api.version>1.0.0.Final</servlet.api.version>
</properties>
<!-- Dependencies -->
@@ -90,14 +89,14 @@
<scope>provided</scope>
</dependency>
<dependency>
- <groupId>jboss.web</groupId>
- <artifactId>servlet-api</artifactId>
- <version>${jboss.web.version}</version>
+ <groupId>org.jboss.spec.javax.servlet</groupId>
+ <artifactId>jboss-servlet-api_3.0_spec</artifactId>
+ <version>${servlet.api.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
- <groupId>javax.jms</groupId>
- <artifactId>jms</artifactId>
+ <groupId>org.jboss.spec.javax.jms</groupId>
+ <artifactId>jboss-jms-api_1.1_spec</artifactId>
<version>${jms.api.version}</version>
<scope>provided</scope>
</dependency>
14 years, 2 months
JBossWS SVN: r13183 - common/trunk.
by jbossws-commits@lists.jboss.org
Author: richard.opalka(a)jboss.com
Date: 2010-10-22 02:33:41 -0400 (Fri, 22 Oct 2010)
New Revision: 13183
Modified:
common/trunk/pom.xml
Log:
[JBWS-2928] Use .Final instead of .Beta1 artifacts
Modified: common/trunk/pom.xml
===================================================================
--- common/trunk/pom.xml 2010-10-22 06:30:54 UTC (rev 13182)
+++ common/trunk/pom.xml 2010-10-22 06:33:41 UTC (rev 13183)
@@ -37,7 +37,7 @@
<junit.version>3.8.2</junit.version>
<wsdl4j.version>1.6.2</wsdl4j.version>
<jms.api.version>1.1</jms.api.version>
- <jaxws.api.version>1.0.0.Beta1</jaxws.api.version>
+ <jaxws.api.version>1.0.0.Final</jaxws.api.version>
</properties>
<!-- Dependencies -->
14 years, 2 months
JBossWS SVN: r13182 - spi/trunk.
by jbossws-commits@lists.jboss.org
Author: richard.opalka(a)jboss.com
Date: 2010-10-22 02:30:54 -0400 (Fri, 22 Oct 2010)
New Revision: 13182
Modified:
spi/trunk/pom.xml
Log:
[JBWS-2928] Use .Final instead of .Beta1 artifacts
Modified: spi/trunk/pom.xml
===================================================================
--- spi/trunk/pom.xml 2010-10-22 06:28:38 UTC (rev 13181)
+++ spi/trunk/pom.xml 2010-10-22 06:30:54 UTC (rev 13182)
@@ -28,13 +28,13 @@
<ant.version>1.7.1</ant.version>
<dom4j.version>1.6.1</dom4j.version>
<getopt.version>1.0.13</getopt.version>
- <jaxb.api.version>1.0.0.Beta1</jaxb.api.version>
- <jaxws.api.version>1.0.0.Beta1</jaxws.api.version>
- <jms.api.version>1.0.0.Beta1</jms.api.version>
+ <jaxb.api.version>1.0.0.Final</jaxb.api.version>
+ <jaxws.api.version>1.0.0.Final</jaxws.api.version>
+ <jms.api.version>1.0.0.Final</jms.api.version>
<jboss.microcontainer.version>2.0.8.GA</jboss.microcontainer.version>
<jbossxb.version>2.0.1.GA</jbossxb.version>
<jboss-logging-spi.version>2.0.5.GA</jboss-logging-spi.version>
- <servlet.api.version>1.0.0.Beta2</servlet.api.version>
+ <servlet.api.version>1.0.0.Final</servlet.api.version>
<junit.version>3.8.2</junit.version>
<log4j.version>1.2.14</log4j.version>
</properties>
14 years, 2 months
JBossWS SVN: r13181 - stack/cxf/trunk.
by jbossws-commits@lists.jboss.org
Author: richard.opalka(a)jboss.com
Date: 2010-10-22 02:28:38 -0400 (Fri, 22 Oct 2010)
New Revision: 13181
Modified:
stack/cxf/trunk/pom.xml
Log:
[JBWS-2928] Use .Final instead of .Beta1 artifacts
Modified: stack/cxf/trunk/pom.xml
===================================================================
--- stack/cxf/trunk/pom.xml 2010-10-22 06:26:34 UTC (rev 13180)
+++ stack/cxf/trunk/pom.xml 2010-10-22 06:28:38 UTC (rev 13181)
@@ -70,10 +70,10 @@
<jboss.xb.version>2.0.2.Beta7</jboss.xb.version>
<picketbox.version>3.0.0.Beta5</picketbox.version>
<jaxws-httpserver-httpspi.version>1.0.0.GA</jaxws-httpserver-httpspi.version>
- <jaxb.api.version>1.0.0.Beta1</jaxb.api.version>
+ <jaxb.api.version>1.0.0.Final</jaxb.api.version>
<jaxb.impl.version>2.2</jaxb.impl.version>
- <jaxrpc.api.version>1.0.0.Beta1</jaxrpc.api.version>
- <jaxws.api.version>1.0.0.Beta1</jaxws.api.version>
+ <jaxrpc.api.version>1.0.0.Final</jaxrpc.api.version>
+ <jaxws.api.version>1.0.0.Final</jaxws.api.version>
<jboss.jaxr.version>2.0.1</jboss.jaxr.version>
<jsr181.api.version>1.0-MR1</jsr181.api.version>
<apache.scout.version>1.1.1</apache.scout.version>
@@ -83,8 +83,8 @@
<commons.logging.version>1.1.1</commons.logging.version>
<log4j.version>1.2.14</log4j.version>
<mail.version>1.4.2</mail.version>
- <saaj.api.version>1.0.0.Beta1</saaj.api.version>
- <jms.api.version>1.0.0.Beta1</jms.api.version>
+ <saaj.api.version>1.0.0.Final</saaj.api.version>
+ <jms.api.version>1.0.0.Final</jms.api.version>
<velocity.version>1.5</velocity.version>
<xerces.version>2.9.1</xerces.version>
<xmlsec.version>1.4.3</xmlsec.version>
14 years, 2 months
JBossWS SVN: r13180 - stack/native/trunk.
by jbossws-commits@lists.jboss.org
Author: richard.opalka(a)jboss.com
Date: 2010-10-22 02:26:34 -0400 (Fri, 22 Oct 2010)
New Revision: 13180
Modified:
stack/native/trunk/pom.xml
Log:
[JBWS-2928] Use .Final instead of .Beta1 artifacts
Modified: stack/native/trunk/pom.xml
===================================================================
--- stack/native/trunk/pom.xml 2010-10-20 14:50:19 UTC (rev 13179)
+++ stack/native/trunk/pom.xml 2010-10-22 06:26:34 UTC (rev 13180)
@@ -61,11 +61,11 @@
<codehaus.jettison.version>1.0-RC2</codehaus.jettison.version>
<commons.logging.version>1.1.1</commons.logging.version>
<javassist.version>3.12.1.GA</javassist.version>
- <jaxws.api.version>1.0.0.Beta1</jaxws.api.version>
- <jaxrpc.api.version>1.0.0.Beta1</jaxrpc.api.version>
- <saaj.api.version>1.0.0.Beta1</saaj.api.version>
+ <jaxws.api.version>1.0.0.Final</jaxws.api.version>
+ <jaxrpc.api.version>1.0.0.Final</jaxrpc.api.version>
+ <saaj.api.version>1.0.0.Final</saaj.api.version>
<jsr181.api.version>1.0-MR1</jsr181.api.version>
- <jaxb.api.version>1.0.0.Beta1</jaxb.api.version>
+ <jaxb.api.version>1.0.0.Final</jaxb.api.version>
<jaxb.impl.version>2.2</jaxb.impl.version>
<jboss.logging.version>2.2.0.CR1</jboss.logging.version>
<jboss.jaxr.version>2.0.1</jboss.jaxr.version>
14 years, 2 months
JBossWS SVN: r13179 - in stack/cxf/trunk: modules/addons and 11 other directories.
by jbossws-commits@lists.jboss.org
Author: richard.opalka(a)jboss.com
Date: 2010-10-20 10:50:19 -0400 (Wed, 20 Oct 2010)
New Revision: 13179
Added:
stack/cxf/trunk/modules/client/src/main/resources/META-INF/services/javax.xml.soap.SOAPConnectionFactory
Modified:
stack/cxf/trunk/modules/addons/pom.xml
stack/cxf/trunk/modules/addons/transports/http/httpserver/pom.xml
stack/cxf/trunk/modules/client/pom.xml
stack/cxf/trunk/modules/endorsed/pom.xml
stack/cxf/trunk/modules/management/pom.xml
stack/cxf/trunk/modules/resources/pom.xml
stack/cxf/trunk/modules/server/pom.xml
stack/cxf/trunk/modules/testsuite/cxf-spring-tests/pom.xml
stack/cxf/trunk/modules/testsuite/cxf-tests/pom.xml
stack/cxf/trunk/modules/testsuite/framework-tests/pom.xml
stack/cxf/trunk/modules/testsuite/pom.xml
stack/cxf/trunk/pom.xml
Log:
prepare for next dev. cycle
Modified: stack/cxf/trunk/modules/addons/pom.xml
===================================================================
--- stack/cxf/trunk/modules/addons/pom.xml 2010-10-20 14:44:41 UTC (rev 13178)
+++ stack/cxf/trunk/modules/addons/pom.xml 2010-10-20 14:50:19 UTC (rev 13179)
@@ -10,7 +10,7 @@
<parent>
<groupId>org.jboss.ws.cxf</groupId>
<artifactId>jbossws-cxf</artifactId>
- <version>3.4.0.CR2</version>
+ <version>3.4.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
Modified: stack/cxf/trunk/modules/addons/transports/http/httpserver/pom.xml
===================================================================
--- stack/cxf/trunk/modules/addons/transports/http/httpserver/pom.xml 2010-10-20 14:44:41 UTC (rev 13178)
+++ stack/cxf/trunk/modules/addons/transports/http/httpserver/pom.xml 2010-10-20 14:50:19 UTC (rev 13179)
@@ -8,7 +8,7 @@
<parent>
<groupId>org.jboss.ws.cxf</groupId>
<artifactId>jbossws-cxf-addons</artifactId>
- <version>3.4.0.CR2</version>
+ <version>3.4.0-SNAPSHOT</version>
<relativePath>../../../pom.xml</relativePath>
</parent>
Modified: stack/cxf/trunk/modules/client/pom.xml
===================================================================
--- stack/cxf/trunk/modules/client/pom.xml 2010-10-20 14:44:41 UTC (rev 13178)
+++ stack/cxf/trunk/modules/client/pom.xml 2010-10-20 14:50:19 UTC (rev 13179)
@@ -8,7 +8,7 @@
<parent>
<groupId>org.jboss.ws.cxf</groupId>
<artifactId>jbossws-cxf</artifactId>
- <version>3.4.0.CR2</version>
+ <version>3.4.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
Copied: stack/cxf/trunk/modules/client/src/main/resources/META-INF/services/javax.xml.soap.SOAPConnectionFactory (from rev 13176, stack/cxf/trunk/modules/client/src/main/resources/META-INF/services/javax.xml.soap.SOAPConnectionFactory)
===================================================================
--- stack/cxf/trunk/modules/client/src/main/resources/META-INF/services/javax.xml.soap.SOAPConnectionFactory (rev 0)
+++ stack/cxf/trunk/modules/client/src/main/resources/META-INF/services/javax.xml.soap.SOAPConnectionFactory 2010-10-20 14:50:19 UTC (rev 13179)
@@ -0,0 +1 @@
+org.jboss.wsf.stack.cxf.saaj.SOAPConnectionFactoryImpl
Modified: stack/cxf/trunk/modules/endorsed/pom.xml
===================================================================
--- stack/cxf/trunk/modules/endorsed/pom.xml 2010-10-20 14:44:41 UTC (rev 13178)
+++ stack/cxf/trunk/modules/endorsed/pom.xml 2010-10-20 14:50:19 UTC (rev 13179)
@@ -9,7 +9,7 @@
<parent>
<groupId>org.jboss.ws.cxf</groupId>
<artifactId>jbossws-cxf</artifactId>
- <version>3.4.0.CR2</version>
+ <version>3.4.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
Modified: stack/cxf/trunk/modules/management/pom.xml
===================================================================
--- stack/cxf/trunk/modules/management/pom.xml 2010-10-20 14:44:41 UTC (rev 13178)
+++ stack/cxf/trunk/modules/management/pom.xml 2010-10-20 14:50:19 UTC (rev 13179)
@@ -8,7 +8,7 @@
<parent>
<groupId>org.jboss.ws.cxf</groupId>
<artifactId>jbossws-cxf</artifactId>
- <version>3.4.0.CR2</version>
+ <version>3.4.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
Modified: stack/cxf/trunk/modules/resources/pom.xml
===================================================================
--- stack/cxf/trunk/modules/resources/pom.xml 2010-10-20 14:44:41 UTC (rev 13178)
+++ stack/cxf/trunk/modules/resources/pom.xml 2010-10-20 14:50:19 UTC (rev 13179)
@@ -9,7 +9,7 @@
<parent>
<groupId>org.jboss.ws.cxf</groupId>
<artifactId>jbossws-cxf</artifactId>
- <version>3.4.0.CR2</version>
+ <version>3.4.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
Modified: stack/cxf/trunk/modules/server/pom.xml
===================================================================
--- stack/cxf/trunk/modules/server/pom.xml 2010-10-20 14:44:41 UTC (rev 13178)
+++ stack/cxf/trunk/modules/server/pom.xml 2010-10-20 14:50:19 UTC (rev 13179)
@@ -9,7 +9,7 @@
<parent>
<groupId>org.jboss.ws.cxf</groupId>
<artifactId>jbossws-cxf</artifactId>
- <version>3.4.0.CR2</version>
+ <version>3.4.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
Modified: stack/cxf/trunk/modules/testsuite/cxf-spring-tests/pom.xml
===================================================================
--- stack/cxf/trunk/modules/testsuite/cxf-spring-tests/pom.xml 2010-10-20 14:44:41 UTC (rev 13178)
+++ stack/cxf/trunk/modules/testsuite/cxf-spring-tests/pom.xml 2010-10-20 14:50:19 UTC (rev 13179)
@@ -10,7 +10,7 @@
<parent>
<groupId>org.jboss.ws.cxf</groupId>
<artifactId>jbossws-cxf-testsuite</artifactId>
- <version>3.4.0.CR2</version>
+ <version>3.4.0-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
Modified: stack/cxf/trunk/modules/testsuite/cxf-tests/pom.xml
===================================================================
--- stack/cxf/trunk/modules/testsuite/cxf-tests/pom.xml 2010-10-20 14:44:41 UTC (rev 13178)
+++ stack/cxf/trunk/modules/testsuite/cxf-tests/pom.xml 2010-10-20 14:50:19 UTC (rev 13179)
@@ -10,7 +10,7 @@
<parent>
<groupId>org.jboss.ws.cxf</groupId>
<artifactId>jbossws-cxf-testsuite</artifactId>
- <version>3.4.0.CR2</version>
+ <version>3.4.0-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
Modified: stack/cxf/trunk/modules/testsuite/framework-tests/pom.xml
===================================================================
--- stack/cxf/trunk/modules/testsuite/framework-tests/pom.xml 2010-10-20 14:44:41 UTC (rev 13178)
+++ stack/cxf/trunk/modules/testsuite/framework-tests/pom.xml 2010-10-20 14:50:19 UTC (rev 13179)
@@ -10,7 +10,7 @@
<parent>
<groupId>org.jboss.ws.cxf</groupId>
<artifactId>jbossws-cxf-testsuite</artifactId>
- <version>3.4.0.CR2</version>
+ <version>3.4.0-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
Modified: stack/cxf/trunk/modules/testsuite/pom.xml
===================================================================
--- stack/cxf/trunk/modules/testsuite/pom.xml 2010-10-20 14:44:41 UTC (rev 13178)
+++ stack/cxf/trunk/modules/testsuite/pom.xml 2010-10-20 14:50:19 UTC (rev 13179)
@@ -10,7 +10,7 @@
<parent>
<groupId>org.jboss.ws.cxf</groupId>
<artifactId>jbossws-cxf</artifactId>
- <version>3.4.0.CR2</version>
+ <version>3.4.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
Modified: stack/cxf/trunk/pom.xml
===================================================================
--- stack/cxf/trunk/pom.xml 2010-10-20 14:44:41 UTC (rev 13178)
+++ stack/cxf/trunk/pom.xml 2010-10-20 14:50:19 UTC (rev 13179)
@@ -18,7 +18,7 @@
<packaging>pom</packaging>
<description>JBossWS CXF stack</description>
- <version>3.4.0.CR2</version>
+ <version>3.4.0-SNAPSHOT</version>
<!-- Parent -->
<parent>
@@ -29,9 +29,9 @@
<!-- Source Control Management -->
<scm>
- <connection>scm:svn:http://anonsvn.jboss.org/repos/jbossws/stack/cxf/tags/jbossws-cxf...</connection>
- <developerConnection>scm:svn:https://svn.jboss.org/repos/jbossws/stack/cxf/tags/jbossws-cxf-3....</developerConnection>
- <url>http://fisheye.jboss.com/viewrep/JBossWS/stack/cxf/tags/jbossws-cxf-3.4.0...</url>
+ <connection>scm:svn:http://anonsvn.jboss.org/repos/jbossws/stack/cxf/trunk</connection>
+ <developerConnection>scm:svn:https://svn.jboss.org/repos/jbossws/stack/cxf/trunk</developerConnection>
+ <url>http://fisheye.jboss.com/viewrep/JBossWS/stack/cxf/trunk</url>
</scm>
<!-- Modules -->
@@ -46,19 +46,19 @@
<!-- Properties -->
<properties>
- <jbossws.spi.version>1.4.0.CR2</jbossws.spi.version>
- <jbossws.common.version>1.4.0.CR2</jbossws.common.version>
- <jbossws.framework.version>3.4.0.CR2</jbossws.framework.version>
- <jbossws.jboss501.version>3.4.0.Beta2</jbossws.jboss501.version>
- <jbossws.jboss510.version>3.4.0.Beta2</jbossws.jboss510.version>
- <jbossws.jboss600M5.version>3.4.0.CR1</jbossws.jboss600M5.version>
+ <jbossws.spi.version>1.4.0-SNAPSHOT</jbossws.spi.version>
+ <jbossws.common.version>1.4.0-SNAPSHOT</jbossws.common.version>
+ <jbossws.framework.version>3.4.0-SNAPSHOT</jbossws.framework.version>
+ <jbossws.jboss501.version>3.4.0-SNAPSHOT</jbossws.jboss501.version>
+ <jbossws.jboss510.version>3.4.0-SNAPSHOT</jbossws.jboss510.version>
+ <jbossws.jboss600M5.version>3.4.0-SNAPSHOT</jbossws.jboss600M5.version>
<!-- JBWS-2505 -->
<!-- START -->
<!--
<jbossws.jboss601.version>3.2.1.GA</jbossws.jboss601.version>
-->
<!-- END -->
- <cxf.version>2.3.0</cxf.version>
+ <cxf.version>2.3.1-SNAPSHOT</cxf.version>
<cxf.stax.version>1.0.1</cxf.stax.version>
<cxf.asm.version>2.2.3</cxf.asm.version>
<cxf.xjcplugins.version>2.3.0</cxf.xjcplugins.version>
14 years, 2 months