You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2012/04/03 02:09:11 UTC

svn commit: r1308629 - in /cxf/trunk/rt/transports/http-jetty: ./ src/main/java/org/apache/cxf/transport/http_jetty/blueprint/ src/main/resources/OSGI-INF/ src/main/resources/OSGI-INF/blueprint/

Author: dkulp
Date: Tue Apr  3 00:09:11 2012
New Revision: 1308629

URL: http://svn.apache.org/viewvc?rev=1308629&view=rev
Log:
[CXF-4083] Blueprint support for http-jetty
Pull from Johan Edstrom with major thanks!

Squashed commit of the following:

commit 85ad9e1874f1963a3297b21aca4058316b0633ff
Author: Johan Edstrom <je...@savoirtech.com>
Date:   Mon Apr 2 14:56:21 2012 -0600

    Fix bad compile

commit f916d3753ae18ac5e3e26f23d952468cfc614912
Author: Johan Edstrom <je...@savoirtech.com>
Date:   Mon Apr 2 14:30:20 2012 -0600

    Revert "Remove un-used spring beans"

    This reverts commit 1265fd4e1472bf25ef5a1d2b22188b8151fb3194.

commit 1265fd4e1472bf25ef5a1d2b22188b8151fb3194
Author: Johan Edstrom <je...@savoirtech.com>
Date:   Mon Apr 2 14:23:20 2012 -0600

    Remove un-used spring beans

commit 5b380aab3fd4b2f4a8a001937bcd26d860179072
Author: Johan Edstrom <je...@savoirtech.com>
Date:   Mon Apr 2 14:12:27 2012 -0600

    httpj:engine-factory

Added:
    cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/blueprint/
    cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/blueprint/HTTPJettyTransportNamespaceHandler.java   (with props)
    cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/blueprint/JettyHTTPServerEngineFactoryHolder.java   (with props)
    cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/blueprint/JettyServerEngineFactoryParser.java   (with props)
    cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/blueprint/JettyServerEngineParser.java   (with props)
    cxf/trunk/rt/transports/http-jetty/src/main/resources/OSGI-INF/
    cxf/trunk/rt/transports/http-jetty/src/main/resources/OSGI-INF/blueprint/
    cxf/trunk/rt/transports/http-jetty/src/main/resources/OSGI-INF/blueprint/httpj.xml   (with props)
Modified:
    cxf/trunk/rt/transports/http-jetty/pom.xml

Modified: cxf/trunk/rt/transports/http-jetty/pom.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/transports/http-jetty/pom.xml?rev=1308629&r1=1308628&r2=1308629&view=diff
==============================================================================
--- cxf/trunk/rt/transports/http-jetty/pom.xml (original)
+++ cxf/trunk/rt/transports/http-jetty/pom.xml Tue Apr  3 00:09:11 2012
@@ -44,6 +44,11 @@
     </properties>
     <dependencies>
         <dependency>
+            <groupId>org.apache.aries.blueprint</groupId>
+            <artifactId>org.apache.aries.blueprint.core</artifactId>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
             <groupId>org.osgi</groupId>
             <artifactId>org.osgi.core</artifactId>
             <scope>provided</scope>

Added: cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/blueprint/HTTPJettyTransportNamespaceHandler.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/blueprint/HTTPJettyTransportNamespaceHandler.java?rev=1308629&view=auto
==============================================================================
--- cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/blueprint/HTTPJettyTransportNamespaceHandler.java (added)
+++ cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/blueprint/HTTPJettyTransportNamespaceHandler.java Tue Apr  3 00:09:11 2012
@@ -0,0 +1,80 @@
+/**
+ * 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.cxf.transport.http_jetty.blueprint;
+
+import java.net.URL;
+import java.util.Set;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+
+import org.apache.aries.blueprint.NamespaceHandler;
+import org.apache.aries.blueprint.ParserContext;
+import org.apache.cxf.common.logging.LogUtils;
+import org.osgi.service.blueprint.reflect.ComponentMetadata;
+import org.osgi.service.blueprint.reflect.Metadata;
+
+public class HTTPJettyTransportNamespaceHandler implements NamespaceHandler {
+
+    public static final String JETTY_TRANSPORT = "http://cxf.apache.org/transports/http-jetty/configuration";
+
+    private static final String JETTY_ENGINE = "engine";
+
+    private static final String JETTY_ENGINE_FACTORY = "engine-factory";
+
+    private static final Logger LOG = LogUtils.getL7dLogger(HTTPJettyTransportNamespaceHandler.class);
+
+    public URL getSchemaLocation(String s) {
+        if (JETTY_TRANSPORT.equals(s)) {
+            return getClass().getClassLoader().
+                getResource("/schemas/configuration/http-jetty.xsd");
+        } else {
+            return null;
+        }
+    }
+
+    @SuppressWarnings("rawtypes")
+    public Set<Class> getManagedClasses() {
+        return null;
+    }
+
+    public Metadata parse(Element element, ParserContext parserContext) {
+        if (LOG.isLoggable(Level.FINE)) {
+            LOG.fine("Parsing element {{" + element.getNamespaceURI() + "}}{" + element.getLocalName() + "}");
+        }
+
+        if (JETTY_ENGINE.equals(element.getLocalName())) {
+            //This doesn't hit normal configs.
+            return new JettyServerEngineParser().parse(element, parserContext);
+        } else if (JETTY_ENGINE_FACTORY.equals(element.getLocalName())) {
+
+            return new JettyServerEngineFactoryParser().parse(element, parserContext);
+        }
+
+        return null;
+    }
+
+    public ComponentMetadata decorate(Node node, 
+                                      ComponentMetadata componentMetadata, 
+                                      ParserContext parserContext) {
+        LOG.info("Decorating node " + node + " " + componentMetadata);
+        return componentMetadata;
+    }
+}

Propchange: cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/blueprint/HTTPJettyTransportNamespaceHandler.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/blueprint/HTTPJettyTransportNamespaceHandler.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/blueprint/JettyHTTPServerEngineFactoryHolder.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/blueprint/JettyHTTPServerEngineFactoryHolder.java?rev=1308629&view=auto
==============================================================================
--- cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/blueprint/JettyHTTPServerEngineFactoryHolder.java (added)
+++ cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/blueprint/JettyHTTPServerEngineFactoryHolder.java Tue Apr  3 00:09:11 2012
@@ -0,0 +1,225 @@
+/**
+ * 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.cxf.transport.http_jetty.blueprint;
+
+import java.io.ByteArrayInputStream;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.TreeMap;
+import java.util.logging.Logger;
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.JAXBException;
+import javax.xml.bind.Unmarshaller;
+import javax.xml.parsers.DocumentBuilderFactory;
+import org.w3c.dom.Element;
+
+import org.apache.cxf.common.jaxb.JAXBContextCache;
+import org.apache.cxf.common.logging.LogUtils;
+import org.apache.cxf.common.util.PackageUtils;
+import org.apache.cxf.common.util.StringUtils;
+import org.apache.cxf.configuration.jsse.TLSServerParameters;
+import org.apache.cxf.configuration.jsse.spring.TLSServerParametersConfig;
+import org.apache.cxf.transport.http_jetty.JettyHTTPServerEngine;
+import org.apache.cxf.transport.http_jetty.JettyHTTPServerEngineFactory;
+import org.apache.cxf.transport.http_jetty.ThreadingParameters;
+import org.apache.cxf.transports.http_jetty.configuration.JettyHTTPServerEngineConfigType;
+import org.apache.cxf.transports.http_jetty.configuration.JettyHTTPServerEngineFactoryConfigType;
+import org.apache.cxf.transports.http_jetty.configuration.TLSServerParametersIdentifiedType;
+import org.apache.cxf.transports.http_jetty.configuration.ThreadingParametersIdentifiedType;
+import org.apache.cxf.transports.http_jetty.configuration.ThreadingParametersType;
+
+public class JettyHTTPServerEngineFactoryHolder {
+
+    private static final Logger LOG = LogUtils.getL7dLogger(JettyHTTPServerEngineFactoryHolder.class);
+
+    private String parsedElement;
+    private JettyHTTPServerEngineFactory factory;
+
+    private JAXBContext jaxbContext;
+    private Set<Class<?>> jaxbClasses;
+
+    public JettyHTTPServerEngineFactoryHolder() {
+    }
+
+    public void init() {
+        try {
+
+            DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
+            docFactory.setNamespaceAware(true);
+
+            Element element = docFactory.newDocumentBuilder()
+                .parse(new ByteArrayInputStream(parsedElement.getBytes())).getDocumentElement();
+
+            JettyHTTPServerEngineFactoryConfigType config 
+                = (JettyHTTPServerEngineFactoryConfigType) getJaxbObject(element,
+                    JettyHTTPServerEngineFactoryConfigType.class);
+
+            factory = new JettyHTTPServerEngineFactory();
+
+            Map<String, ThreadingParameters> threadingParametersMap 
+                = new TreeMap<String, ThreadingParameters>();
+
+            if (config.getIdentifiedThreadingParameters() != null) {
+                for (ThreadingParametersIdentifiedType threads : config.getIdentifiedThreadingParameters()) {
+                    ThreadingParameters rThreads = new ThreadingParameters();
+                    String id = threads.getId();
+                    rThreads.setMaxThreads(threads.getThreadingParameters().getMaxThreads());
+                    rThreads.setMinThreads(threads.getThreadingParameters().getMinThreads());
+                    threadingParametersMap.put(id, rThreads);
+                }
+
+                factory.setThreadingParametersMap(threadingParametersMap);
+            }
+
+            //SSL
+            Map<String, TLSServerParameters> sslMap = new TreeMap<String, TLSServerParameters>();
+            if (config.getIdentifiedTLSServerParameters() != null) {
+
+                for (TLSServerParametersIdentifiedType t : config.getIdentifiedTLSServerParameters()) {
+                    try {
+                        TLSServerParameters parameter 
+                            = new TLSServerParametersConfig(t.getTlsServerParameters());
+                        sslMap.put(t.getId(), parameter);
+                    } catch (Exception e) {
+                        throw new RuntimeException("Could not configure TLS for id " + t.getId(), e);
+                    }
+                }
+                factory.setTlsServerParametersMap(sslMap);
+            }
+            //Engines
+
+            List<JettyHTTPServerEngine> engineList = new ArrayList<JettyHTTPServerEngine>();
+            for (JettyHTTPServerEngineConfigType engine : config.getEngine()) {
+                JettyHTTPServerEngine eng = new JettyHTTPServerEngine();
+                //eng.setConnector(engine.getConnector());
+
+                if (engine.isContinuationsEnabled() != null) {
+                    eng.setContinuationsEnabled(engine.isContinuationsEnabled());
+                }
+                // eng.setHandlers(engine.getHandlers());
+
+                if (engine.getHost() != null && !StringUtils.isEmpty(engine.getHost())) {
+                    eng.setHost(engine.getHost());
+                }
+                if (engine.getMaxIdleTime() != null) {
+                    eng.setMaxIdleTime(engine.getMaxIdleTime());
+                }
+                if (engine.getPort() != null) {
+                    eng.setPort(engine.getPort());
+                }
+                if (engine.isReuseAddress() != null) {
+                    eng.setReuseAddress(engine.isReuseAddress());
+                }
+                if (engine.isSessionSupport() != null) {
+                    eng.setSessionSupport(engine.isSessionSupport());
+                }
+                if (engine.getThreadingParameters() != null) {
+                    ThreadingParametersType threads = engine.getThreadingParameters();
+                    ThreadingParameters rThreads = new ThreadingParameters();
+                    rThreads.setMaxThreads(threads.getMaxThreads());
+                    rThreads.setMinThreads(threads.getMinThreads());
+
+                    eng.setThreadingParameters(rThreads);
+                }
+
+                //eng.setServer(engine.getTlsServerParameters());
+                if (engine.getTlsServerParameters() != null) {
+                    TLSServerParameters parameter = null;
+                    try {
+                        parameter = new TLSServerParametersConfig(engine.getTlsServerParameters());
+                        eng.setTlsServerParameters(parameter);
+                    } catch (Exception e) {
+                        throw new RuntimeException("Could not configure TLS for engine on  " 
+                            + eng.getHost() + ":" + eng.getPort(), e);
+                    }
+                }
+                eng.finalizeConfig();
+
+                engineList.add(eng);
+            }
+            factory.setEnginesList(engineList);
+            //Unravel this completely.
+
+            factory.initComplete();
+        } catch (Exception e) {
+            throw new RuntimeException("Could not process configuration.", e);
+        }
+    }
+
+    public void destroy() {
+        factory.postShutdown();
+    }
+
+    public String getParsedElement() {
+        return parsedElement;
+    }
+
+    public void setParsedElement(String parsedElement) {
+        this.parsedElement = parsedElement;
+    }
+
+    protected Object getJaxbObject(Element parent, Class<?> c) {
+
+        try {
+            Unmarshaller umr = getContext(c).createUnmarshaller();
+            JAXBElement<?> ele = (JAXBElement<?>) umr.unmarshal(parent);
+
+            return ele.getValue();
+        } catch (JAXBException e) {
+            LOG.warning("Unable to parse property due to " + e);
+            return null;
+        }
+    }
+
+    protected synchronized JAXBContext getContext(Class<?> cls) {
+        if (jaxbContext == null || jaxbClasses == null || !jaxbClasses.contains(cls)) {
+            try {
+                Set<Class<?>> tmp = new HashSet<Class<?>>();
+                if (jaxbClasses != null) {
+                    tmp.addAll(jaxbClasses);
+                }
+                JAXBContextCache.addPackage(tmp, PackageUtils.getPackageName(cls), 
+                                            cls == null ? getClass().getClassLoader() : cls.getClassLoader());
+                if (cls != null) {
+                    boolean hasOf = false;
+                    for (Class<?> c : tmp) {
+                        if (c.getPackage() == cls.getPackage() && "ObjectFactory".equals(c.getSimpleName())) {
+                            hasOf = true;
+                        }
+                    }
+                    if (!hasOf) {
+                        tmp.add(cls);
+                    }
+                }
+                JAXBContextCache.scanPackages(tmp);
+                JAXBContextCache.CachedContextAndSchemas ccs 
+                    = JAXBContextCache.getCachedContextAndSchemas(tmp, null, null, null, false);
+                jaxbClasses = ccs.getClasses();
+                jaxbContext = ccs.getContext();
+            } catch (JAXBException e) {
+                throw new RuntimeException(e);
+            }
+        }
+        return jaxbContext;
+    }
+}

Propchange: cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/blueprint/JettyHTTPServerEngineFactoryHolder.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/blueprint/JettyHTTPServerEngineFactoryHolder.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/blueprint/JettyServerEngineFactoryParser.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/blueprint/JettyServerEngineFactoryParser.java?rev=1308629&view=auto
==============================================================================
--- cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/blueprint/JettyServerEngineFactoryParser.java (added)
+++ cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/blueprint/JettyServerEngineFactoryParser.java Tue Apr  3 00:09:11 2012
@@ -0,0 +1,93 @@
+/**
+ * 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.cxf.transport.http_jetty.blueprint;
+
+import java.io.StringWriter;
+import java.util.StringTokenizer;
+import java.util.UUID;
+import javax.xml.transform.OutputKeys;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
+import org.w3c.dom.Element;
+
+import org.apache.aries.blueprint.ParserContext;
+import org.apache.aries.blueprint.mutable.MutableBeanMetadata;
+import org.apache.cxf.common.util.StringUtils;
+import org.apache.cxf.configuration.blueprint.AbstractBPBeanDefinitionParser;
+import org.osgi.service.blueprint.reflect.ComponentMetadata;
+import org.osgi.service.blueprint.reflect.Metadata;
+
+public class JettyServerEngineFactoryParser extends AbstractBPBeanDefinitionParser {
+
+    public static final String JETTY_TRANSPORT = "http://cxf.apache.org/transports/http-jetty/configuration";
+
+    public static final String JETTY_THREADING = "http://cxf.apache.org/configuration/parameterized-types";
+
+    public static String getIdOrName(Element elem) {
+        String id = elem.getAttribute("id");
+
+        if (null == id || "".equals(id)) {
+            String names = elem.getAttribute("name");
+            if (null != names) {
+                StringTokenizer st = new StringTokenizer(names, ",");
+                if (st.countTokens() > 0) {
+                    id = st.nextToken();
+                }
+            }
+        }
+        return id;
+    }
+
+    public Metadata parse(Element element, ParserContext context) {
+
+        //Endpoint definition
+        MutableBeanMetadata ef = context.createMetadata(MutableBeanMetadata.class);
+        if (!StringUtils.isEmpty(getIdOrName(element))) {
+            ef.setId(getIdOrName(element));
+        } else {
+            ef.setId("jetty.engine.factory-holder-" + UUID.randomUUID().toString());
+        }
+        ef.setRuntimeClass(JettyHTTPServerEngineFactoryHolder.class);
+
+        try {
+
+            TransformerFactory transfac = TransformerFactory.newInstance();
+            Transformer trans = transfac.newTransformer();
+            trans.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "YES");
+            //trans.setOutputProperty(OutputKeys.INDENT, "yes");
+
+            // Print the DOM node
+
+            StringWriter sw = new StringWriter();
+            StreamResult result = new StreamResult(sw);
+            DOMSource source = new DOMSource(element);
+            trans.transform(source, result);
+            String xmlString = sw.toString();
+            ef.addProperty("parsedElement", createValue(context, xmlString));
+            ef.setInitMethod("init");
+            ef.setActivation(ComponentMetadata.ACTIVATION_EAGER);
+
+            return ef;
+        } catch (Exception e) {
+            throw new RuntimeException("Could not process configuration.", e);
+        }
+    }
+}

Propchange: cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/blueprint/JettyServerEngineFactoryParser.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/blueprint/JettyServerEngineFactoryParser.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/blueprint/JettyServerEngineParser.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/blueprint/JettyServerEngineParser.java?rev=1308629&view=auto
==============================================================================
--- cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/blueprint/JettyServerEngineParser.java (added)
+++ cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/blueprint/JettyServerEngineParser.java Tue Apr  3 00:09:11 2012
@@ -0,0 +1,32 @@
+/**
+ * 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.cxf.transport.http_jetty.blueprint;
+
+import org.w3c.dom.Element;
+
+import org.apache.aries.blueprint.ParserContext;
+import org.apache.cxf.configuration.blueprint.AbstractBPBeanDefinitionParser;
+import org.osgi.service.blueprint.reflect.Metadata;
+
+public class JettyServerEngineParser extends AbstractBPBeanDefinitionParser {
+
+    public Metadata parse(Element element, ParserContext context) {
+        return null;
+    }
+}

Propchange: cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/blueprint/JettyServerEngineParser.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/blueprint/JettyServerEngineParser.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: cxf/trunk/rt/transports/http-jetty/src/main/resources/OSGI-INF/blueprint/httpj.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/transports/http-jetty/src/main/resources/OSGI-INF/blueprint/httpj.xml?rev=1308629&view=auto
==============================================================================
--- cxf/trunk/rt/transports/http-jetty/src/main/resources/OSGI-INF/blueprint/httpj.xml (added)
+++ cxf/trunk/rt/transports/http-jetty/src/main/resources/OSGI-INF/blueprint/httpj.xml Tue Apr  3 00:09:11 2012
@@ -0,0 +1,29 @@
+<!--
+  ~ /**
+  ~  * 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.
+  ~  */
+  -->
+<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
+           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+           xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.0.0"
+           xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0 http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd">
+  <service interface="org.apache.aries.blueprint.NamespaceHandler">
+    <service-properties>
+      <entry key="osgi.service.blueprint.namespace" value="http://cxf.apache.org/transports/http-jetty/configuration"/>
+    </service-properties>
+    <bean class="org.apache.cxf.transport.http_jetty.blueprint.HTTPJettyTransportNamespaceHandler"/>
+  </service>
+</blueprint>
\ No newline at end of file

Propchange: cxf/trunk/rt/transports/http-jetty/src/main/resources/OSGI-INF/blueprint/httpj.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cxf/trunk/rt/transports/http-jetty/src/main/resources/OSGI-INF/blueprint/httpj.xml
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: cxf/trunk/rt/transports/http-jetty/src/main/resources/OSGI-INF/blueprint/httpj.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml