Author: jboynes
Date: Tue Mar 14 13:31:44 2006
New Revision: 385897

URL: http://svn.apache.org/viewcvs?rev=385897&view=rev
Log:
StAX loader for JSON-RPC binding

Added:
    
incubator/tuscany/java/sca/binding.jsonrpc/src/main/java/org/apache/tuscany/binding/jsonrpc/loader/JSONRPCBindingLoader.java
   (with props)
Modified:
    
incubator/tuscany/java/sca/binding.jsonrpc/src/main/resources/system.fragment

Added: 
incubator/tuscany/java/sca/binding.jsonrpc/src/main/java/org/apache/tuscany/binding/jsonrpc/loader/JSONRPCBindingLoader.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/binding.jsonrpc/src/main/java/org/apache/tuscany/binding/jsonrpc/loader/JSONRPCBindingLoader.java?rev=385897&view=auto
==============================================================================
--- 
incubator/tuscany/java/sca/binding.jsonrpc/src/main/java/org/apache/tuscany/binding/jsonrpc/loader/JSONRPCBindingLoader.java
 (added)
+++ 
incubator/tuscany/java/sca/binding.jsonrpc/src/main/java/org/apache/tuscany/binding/jsonrpc/loader/JSONRPCBindingLoader.java
 Tue Mar 14 13:31:44 2006
@@ -0,0 +1,75 @@
+/**
+ *
+ * Copyright 2006 The Apache Software Foundation
+ *
+ *  Licensed 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.tuscany.binding.jsonrpc.loader;
+
+import javax.xml.namespace.QName;
+import javax.xml.stream.XMLStreamReader;
+import javax.xml.stream.XMLStreamException;
+
+import org.osoa.sca.annotations.Scope;
+import org.osoa.sca.annotations.Init;
+import org.osoa.sca.annotations.Destroy;
+
+import org.apache.tuscany.core.loader.StAXElementLoader;
+import org.apache.tuscany.core.loader.StAXLoaderRegistry;
+import org.apache.tuscany.core.system.annotation.Autowire;
+import org.apache.tuscany.core.config.ConfigurationLoadException;
+import org.apache.tuscany.common.resource.ResourceLoader;
+import org.apache.tuscany.binding.jsonrpc.assembly.JSONRPCBinding;
+import org.apache.tuscany.binding.jsonrpc.assembly.JSONRPCAssemblyFactory;
+import 
org.apache.tuscany.binding.jsonrpc.assembly.impl.JSONRPCAssemblyFactoryImpl;
+
+/**
+ * @version $Rev$ $Date$
+ */
[EMAIL PROTECTED]("MODULE")
+public class JSONRPCBindingLoader implements StAXElementLoader<JSONRPCBinding> 
{
+    public static final QName BINDING_ISONRPC = new 
QName("http://org.apache.tuscany/xmlns/jsonrpc/0.9";, "binding.jsonrpc");
+
+    private static final JSONRPCAssemblyFactory jsonFactory = new 
JSONRPCAssemblyFactoryImpl();
+
+    protected StAXLoaderRegistry registry;
+
+    @Autowire
+    public void setRegistry(StAXLoaderRegistry registry) {
+        this.registry = registry;
+    }
+
+    @Init(eager = true)
+    public void start() {
+        registry.registerLoader(this);
+    }
+
+    @Destroy
+    public void stop() {
+        registry.unregisterLoader(this);
+    }
+
+    public QName getXMLType() {
+        return BINDING_ISONRPC;
+    }
+
+    public Class<JSONRPCBinding> getModelType() {
+        return JSONRPCBinding.class;
+    }
+
+    public JSONRPCBinding load(XMLStreamReader reader, ResourceLoader 
resourceLoader) throws XMLStreamException, ConfigurationLoadException {
+        JSONRPCBinding binding = jsonFactory.createJSONRPCBinding();
+        binding.setURI(reader.getAttributeValue(null, "uri"));
+        return binding;
+    }
+}

Propchange: 
incubator/tuscany/java/sca/binding.jsonrpc/src/main/java/org/apache/tuscany/binding/jsonrpc/loader/JSONRPCBindingLoader.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
incubator/tuscany/java/sca/binding.jsonrpc/src/main/java/org/apache/tuscany/binding/jsonrpc/loader/JSONRPCBindingLoader.java
------------------------------------------------------------------------------
    svn:keywords = Rev,Date

Modified: 
incubator/tuscany/java/sca/binding.jsonrpc/src/main/resources/system.fragment
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/binding.jsonrpc/src/main/resources/system.fragment?rev=385897&r1=385896&r2=385897&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/binding.jsonrpc/src/main/resources/system.fragment 
(original)
+++ 
incubator/tuscany/java/sca/binding.jsonrpc/src/main/resources/system.fragment 
Tue Mar 14 13:31:44 2006
@@ -26,4 +26,7 @@
         <system:implementation.system 
class="org.apache.tuscany.binding.jsonrpc.builder.JSONRPCEntryPointConfigurationBuilder"/>
     </component>
 
+    <component 
name="org.apache.tuscany.binding.jsonrpc.loader.JSONRPCBindingLoaderr">
+        <system:implementation.system 
class="org.apache.tuscany.binding.jsonrpc.loader.JSONRPCBindingLoader"/>
+    </component>
 </moduleFragment>


Reply via email to