You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by sv...@apache.org on 2007/04/26 19:42:36 UTC
svn commit: r532815 - in
/incubator/tuscany/java/sca/modules/binding-rmi/src/main/java/org/apache/tuscany/binding/rmi/xml:
./ RMIBindingProcessor.java
Author: svkrish
Date: Thu Apr 26 10:42:35 2007
New Revision: 532815
URL: http://svn.apache.org/viewvc?view=rev&rev=532815
Log:
Reactivated Java RMI Binding
Added:
incubator/tuscany/java/sca/modules/binding-rmi/src/main/java/org/apache/tuscany/binding/rmi/xml/
incubator/tuscany/java/sca/modules/binding-rmi/src/main/java/org/apache/tuscany/binding/rmi/xml/RMIBindingProcessor.java
Added: incubator/tuscany/java/sca/modules/binding-rmi/src/main/java/org/apache/tuscany/binding/rmi/xml/RMIBindingProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-rmi/src/main/java/org/apache/tuscany/binding/rmi/xml/RMIBindingProcessor.java?view=auto&rev=532815
==============================================================================
--- incubator/tuscany/java/sca/modules/binding-rmi/src/main/java/org/apache/tuscany/binding/rmi/xml/RMIBindingProcessor.java (added)
+++ incubator/tuscany/java/sca/modules/binding-rmi/src/main/java/org/apache/tuscany/binding/rmi/xml/RMIBindingProcessor.java Thu Apr 26 10:42:35 2007
@@ -0,0 +1,126 @@
+/*
+ * 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.tuscany.binding.rmi.xml;
+
+import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
+
+import javax.xml.namespace.QName;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamReader;
+import javax.xml.stream.XMLStreamWriter;
+
+import org.apache.tuscany.assembly.AssemblyFactory;
+import org.apache.tuscany.assembly.impl.DefaultAssemblyFactory;
+import org.apache.tuscany.assembly.xml.BaseArtifactProcessor;
+import org.apache.tuscany.assembly.xml.Constants;
+import org.apache.tuscany.binding.rmi.RMIBinding;
+import org.apache.tuscany.binding.rmi.RMIBindingConstants;
+import org.apache.tuscany.binding.rmi.RMIBindingFactory;
+import org.apache.tuscany.binding.rmi.impl.DefaultRMIBindingFactory;
+import org.apache.tuscany.contribution.processor.StAXArtifactProcessorExtension;
+import org.apache.tuscany.contribution.resolver.ArtifactResolver;
+import org.apache.tuscany.contribution.service.ContributionReadException;
+import org.apache.tuscany.contribution.service.ContributionResolveException;
+import org.apache.tuscany.contribution.service.ContributionWireException;
+import org.apache.tuscany.contribution.service.ContributionWriteException;
+import org.apache.tuscany.policy.PolicyFactory;
+import org.apache.tuscany.policy.impl.DefaultPolicyFactory;
+
+public class RMIBindingProcessor extends BaseArtifactProcessor implements
+ StAXArtifactProcessorExtension<RMIBinding>, RMIBindingConstants {
+
+ private RMIBindingFactory rmiBindingFactory;
+
+ public RMIBindingProcessor(AssemblyFactory assemblyFactory,
+ PolicyFactory policyFactory,
+ RMIBindingFactory rmiBindingFactory) {
+ super(assemblyFactory, policyFactory, null);
+ this.rmiBindingFactory = rmiBindingFactory;
+ }
+
+ public RMIBindingProcessor() {
+ this(new DefaultAssemblyFactory(), new DefaultPolicyFactory(),
+ new DefaultRMIBindingFactory());
+
+ }
+
+ public RMIBinding read(XMLStreamReader reader) throws ContributionReadException {
+ try {
+ RMIBinding rmiBinding = rmiBindingFactory.createWebServiceBinding();
+ rmiBinding.setUnresolved(true);
+
+ //Read policies
+ readPolicies(rmiBinding, reader);
+
+ //Read host, port and service name
+ rmiBinding.setRmiHostName(getString(reader, RMI_HOST));
+ rmiBinding.setRmiPort(getString(reader, RMI_PORT));
+ rmiBinding.setRmiServiceName(getString(reader, RMI_SERVICE));
+
+ // Skip to end element
+ while (reader.hasNext()) {
+ if (reader.next() == END_ELEMENT && BINDING_RMI_QNAME.equals(reader.getName())) {
+ break;
+ }
+ }
+ return rmiBinding;
+
+ } catch (XMLStreamException e) {
+ throw new ContributionReadException(e);
+ }
+ }
+
+ public void write(RMIBinding rmiBinding, XMLStreamWriter writer) throws ContributionWriteException {
+ try {
+ // Write a <binding.ws>
+ writer.writeStartElement(Constants.SCA10_NS, BINDING_RMI);
+
+ if (rmiBinding.getRmiHostName() != null) {
+ writer.writeAttribute(RMIBindingConstants.RMI_HOST, rmiBinding.getRmiHostName());
+ }
+
+ if (rmiBinding.getRmiPort() != null) {
+ writer.writeAttribute(RMIBindingConstants.RMI_PORT, rmiBinding.getRmiPort());
+ }
+
+ if (rmiBinding.getRmiServiceName() != null) {
+ writer.writeAttribute(RMIBindingConstants.RMI_SERVICE, rmiBinding.getRmiServiceName());
+ }
+ writer.writeEndElement();
+
+ } catch (XMLStreamException e) {
+ throw new ContributionWriteException(e);
+ }
+ }
+
+ public void resolve(RMIBinding model, ArtifactResolver resolver) throws ContributionResolveException {
+ }
+
+ public void wire(RMIBinding model) throws ContributionWireException {
+ }
+
+ public QName getArtifactType() {
+ return RMIBindingConstants.BINDING_RMI_QNAME;
+ }
+
+ public Class<RMIBinding> getModelType() {
+ return RMIBinding.class;
+ }
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org