Author: jsdelfino
Date: Tue May 15 23:50:37 2007
New Revision: 538450
URL: http://svn.apache.org/viewvc?view=rev&rev=538450
Log:
Changed visibility of BaseArtifactProcessor to prevent that extensions
confuse it with an SPI.
Modified:
incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/BaseArtifactProcessor.java
incubator/tuscany/java/sca/modules/binding-rmi/src/main/java/org/apache/tuscany/sca/binding/rmi/xml/RMIBindingProcessor.java
incubator/tuscany/java/sca/modules/binding-ws-xml/src/main/java/org/apache/tuscany/sca/binding/ws/xml/WebServiceBindingProcessor.java
incubator/tuscany/java/sca/modules/implementation-java-xml/src/main/java/org/apache/tuscany/sca/implementation/java/xml/JavaImplementationProcessor.java
Modified:
incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/BaseArtifactProcessor.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/BaseArtifactProcessor.java?view=diff&rev=538450&r1=538449&r2=538450
==============================================================================
---
incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/BaseArtifactProcessor.java
(original)
+++
incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/BaseArtifactProcessor.java
Tue May 15 23:50:37 2007
@@ -72,7 +72,7 @@
*
* @version $Rev$ $Date$
*/
-public abstract class BaseArtifactProcessor implements Constants {
+abstract class BaseArtifactProcessor implements Constants {
protected AssemblyFactory assemblyFactory;
protected PolicyFactory policyFactory;
@@ -81,12 +81,6 @@
private static final DocumentBuilderFactory domFactory =
DocumentBuilderFactory.newInstance();
static {
domFactory.setNamespaceAware(true);
- }
-
- /**
- * Constructs a new BaseArtifactProcessor.
- */
- public BaseArtifactProcessor() {
}
/**
Modified:
incubator/tuscany/java/sca/modules/binding-rmi/src/main/java/org/apache/tuscany/sca/binding/rmi/xml/RMIBindingProcessor.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-rmi/src/main/java/org/apache/tuscany/sca/binding/rmi/xml/RMIBindingProcessor.java?view=diff&rev=538450&r1=538449&r2=538450
==============================================================================
---
incubator/tuscany/java/sca/modules/binding-rmi/src/main/java/org/apache/tuscany/sca/binding/rmi/xml/RMIBindingProcessor.java
(original)
+++
incubator/tuscany/java/sca/modules/binding-rmi/src/main/java/org/apache/tuscany/sca/binding/rmi/xml/RMIBindingProcessor.java
Tue May 15 23:50:37 2007
@@ -21,13 +21,15 @@
import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
+import java.util.List;
+import java.util.StringTokenizer;
+
import javax.xml.namespace.QName;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamReader;
import javax.xml.stream.XMLStreamWriter;
import org.apache.tuscany.sca.assembly.AssemblyFactory;
-import org.apache.tuscany.sca.assembly.xml.BaseArtifactProcessor;
import org.apache.tuscany.sca.assembly.xml.Constants;
import org.apache.tuscany.sca.binding.rmi.RMIBinding;
import org.apache.tuscany.sca.binding.rmi.RMIBindingConstants;
@@ -37,17 +39,21 @@
import
org.apache.tuscany.sca.contribution.service.ContributionReadException;
import
org.apache.tuscany.sca.contribution.service.ContributionResolveException;
import
org.apache.tuscany.sca.contribution.service.ContributionWriteException;
+import org.apache.tuscany.sca.policy.Intent;
import org.apache.tuscany.sca.policy.PolicyFactory;
+import org.apache.tuscany.sca.policy.PolicySet;
+import org.apache.tuscany.sca.policy.PolicySetAttachPoint;
-public class RMIBindingProcessor extends BaseArtifactProcessor implements
+public class RMIBindingProcessor implements
StAXArtifactProcessor<RMIBinding>, RMIBindingConstants {
private RMIBindingFactory rmiBindingFactory;
+ private PolicyFactory policyFactory;
public RMIBindingProcessor(AssemblyFactory assemblyFactory,
PolicyFactory policyFactory,
RMIBindingFactory rmiBindingFactory) {
- super(assemblyFactory, policyFactory, null);
+ this.policyFactory = policyFactory;
this.rmiBindingFactory = rmiBindingFactory;
}
@@ -59,9 +65,9 @@
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));
+ rmiBinding.setRmiHostName(reader.getAttributeValue(null,
RMI_HOST));
+ rmiBinding.setRmiPort(reader.getAttributeValue(null,
RMI_PORT));
+ rmiBinding.setRmiServiceName(reader.getAttributeValue(null,
RMI_SERVICE));
// Skip to end element
while (reader.hasNext()) {
@@ -109,4 +115,55 @@
public Class<RMIBinding> getModelType() {
return RMIBinding.class;
}
+
+ /**
+ * Reads policy intents and policy sets.
+ * @param attachPoint
+ * @param reader
+ */
+ private void readPolicies(PolicySetAttachPoint attachPoint,
XMLStreamReader reader) {
+ String value = reader.getAttributeValue(null, Constants.REQUIRES
);
+ if (value != null) {
+ List<Intent> requiredIntents = attachPoint.getRequiredIntents
();
+ for (StringTokenizer tokens = new StringTokenizer(value);
tokens.hasMoreTokens();) {
+ QName qname = getQNameValue(reader, tokens.nextToken());
+ Intent intent = policyFactory.createIntent();
+ intent.setName(qname);
+ requiredIntents.add(intent);
+ }
+ }
+
+ value = reader.getAttributeValue(null, Constants.POLICY_SETS);
+ if (value != null) {
+ List<PolicySet> policySets = attachPoint.getPolicySets();
+ for (StringTokenizer tokens = new StringTokenizer(value);
tokens.hasMoreTokens();) {
+ QName qname = getQNameValue(reader, tokens.nextToken());
+ PolicySet policySet = policyFactory.createPolicySet();
+ policySet.setName(qname);
+ policySets.add(policySet);
+ }
+ }
+ }
+
+ /**
+ * Returns a qname from a string.
+ * @param reader
+ * @param value
+ * @return
+ */
+ private QName getQNameValue(XMLStreamReader reader, String value) {
+ if (value != null) {
+ int index = value.indexOf(':');
+ String prefix = index == -1 ? "" : value.substring(0, index);
+ String localName = index == -1 ? value : value.substring(index
+ 1);
+ String ns = reader.getNamespaceContext
().getNamespaceURI(prefix);
+ if (ns == null) {
+ ns = "";
+ }
+ return new QName(ns, localName, prefix);
+ } else {
+ return null;
+ }
+ }
+
}
Modified:
incubator/tuscany/java/sca/modules/binding-ws-xml/src/main/java/org/apache/tuscany/sca/binding/ws/xml/WebServiceBindingProcessor.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-ws-xml/src/main/java/org/apache/tuscany/sca/binding/ws/xml/WebServiceBindingProcessor.java?view=diff&rev=538450&r1=538449&r2=538450
==============================================================================
---
incubator/tuscany/java/sca/modules/binding-ws-xml/src/main/java/org/apache/tuscany/sca/binding/ws/xml/WebServiceBindingProcessor.java
(original)
+++
incubator/tuscany/java/sca/modules/binding-ws-xml/src/main/java/org/apache/tuscany/sca/binding/ws/xml/WebServiceBindingProcessor.java
Tue May 15 23:50:37 2007
@@ -21,7 +21,9 @@
import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
+import java.util.List;
import java.util.Map;
+import java.util.StringTokenizer;
import javax.wsdl.Definition;
import javax.wsdl.Port;
@@ -33,7 +35,6 @@
import javax.xml.stream.XMLStreamWriter;
import org.apache.tuscany.sca.assembly.AssemblyFactory;
-import org.apache.tuscany.sca.assembly.xml.BaseArtifactProcessor;
import org.apache.tuscany.sca.assembly.xml.Constants;
import org.apache.tuscany.sca.binding.ws.WebServiceBinding;
import org.apache.tuscany.sca.binding.ws.WebServiceBindingFactory;
@@ -48,21 +49,25 @@
import org.apache.tuscany.sca.interfacedef.wsdl.WSDLInterface;
import org.apache.tuscany.sca.interfacedef.wsdl.WSDLInterfaceContract;
import
org.apache.tuscany.sca.interfacedef.wsdl.introspect.WSDLInterfaceIntrospector
;
+import org.apache.tuscany.sca.policy.Intent;
import org.apache.tuscany.sca.policy.PolicyFactory;
+import org.apache.tuscany.sca.policy.PolicySet;
+import org.apache.tuscany.sca.policy.PolicySetAttachPoint;
-public class WebServiceBindingProcessor extends BaseArtifactProcessor
implements
+public class WebServiceBindingProcessor implements
StAXArtifactProcessor<WebServiceBinding>, WebServiceConstants {
private WSDLFactory wsdlFactory;
private WSDLInterfaceIntrospector introspector;
private WebServiceBindingFactory wsFactory;
+ private PolicyFactory policyFactory;
public WebServiceBindingProcessor(AssemblyFactory assemblyFactory,
PolicyFactory policyFactory,
WebServiceBindingFactory wsFactory,
WSDLFactory wsdlFactory,
WSDLInterfaceIntrospector
introspector) {
- super(assemblyFactory, policyFactory, null);
+ this.policyFactory = policyFactory;
this.wsFactory = wsFactory;
this.introspector = introspector;
this.wsdlFactory = wsdlFactory;
@@ -275,4 +280,55 @@
public Class<WebServiceBinding> getModelType() {
return WebServiceBinding.class;
}
+
+ /**
+ * Reads policy intents and policy sets.
+ * @param attachPoint
+ * @param reader
+ */
+ private void readPolicies(PolicySetAttachPoint attachPoint,
XMLStreamReader reader) {
+ String value = reader.getAttributeValue(null, Constants.REQUIRES
);
+ if (value != null) {
+ List<Intent> requiredIntents = attachPoint.getRequiredIntents
();
+ for (StringTokenizer tokens = new StringTokenizer(value);
tokens.hasMoreTokens();) {
+ QName qname = getQNameValue(reader, tokens.nextToken());
+ Intent intent = policyFactory.createIntent();
+ intent.setName(qname);
+ requiredIntents.add(intent);
+ }
+ }
+
+ value = reader.getAttributeValue(null, Constants.POLICY_SETS);
+ if (value != null) {
+ List<PolicySet> policySets = attachPoint.getPolicySets();
+ for (StringTokenizer tokens = new StringTokenizer(value);
tokens.hasMoreTokens();) {
+ QName qname = getQNameValue(reader, tokens.nextToken());
+ PolicySet policySet = policyFactory.createPolicySet();
+ policySet.setName(qname);
+ policySets.add(policySet);
+ }
+ }
+ }
+
+ /**
+ * Returns a qname from a string.
+ * @param reader
+ * @param value
+ * @return
+ */
+ private QName getQNameValue(XMLStreamReader reader, String value) {
+ if (value != null) {
+ int index = value.indexOf(':');
+ String prefix = index == -1 ? "" : value.substring(0, index);
+ String localName = index == -1 ? value : value.substring(index
+ 1);
+ String ns = reader.getNamespaceContext
().getNamespaceURI(prefix);
+ if (ns == null) {
+ ns = "";
+ }
+ return new QName(ns, localName, prefix);
+ } else {
+ return null;
+ }
+ }
+
}
Modified:
incubator/tuscany/java/sca/modules/implementation-java-xml/src/main/java/org/apache/tuscany/sca/implementation/java/xml/JavaImplementationProcessor.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-java-xml/src/main/java/org/apache/tuscany/sca/implementation/java/xml/JavaImplementationProcessor.java?view=diff&rev=538450&r1=538449&r2=538450
==============================================================================
---
incubator/tuscany/java/sca/modules/implementation-java-xml/src/main/java/org/apache/tuscany/sca/implementation/java/xml/JavaImplementationProcessor.java
(original)
+++
incubator/tuscany/java/sca/modules/implementation-java-xml/src/main/java/org/apache/tuscany/sca/implementation/java/xml/JavaImplementationProcessor.java
Tue May 15 23:50:37 2007
@@ -21,13 +21,15 @@
import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
+import java.util.List;
+import java.util.StringTokenizer;
+
import javax.xml.namespace.QName;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamReader;
import javax.xml.stream.XMLStreamWriter;
import org.apache.tuscany.sca.assembly.AssemblyFactory;
-import org.apache.tuscany.sca.assembly.xml.BaseArtifactProcessor;
import org.apache.tuscany.sca.assembly.xml.Constants;
import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor
;
import org.apache.tuscany.sca.contribution.resolver.ClassReference;
@@ -39,19 +41,25 @@
import
org.apache.tuscany.sca.implementation.java.JavaImplementationFactory;
import
org.apache.tuscany.sca.implementation.java.introspect.IntrospectionException
;
import
org.apache.tuscany.sca.implementation.java.introspect.JavaClassIntrospector
;
+import org.apache.tuscany.sca.policy.Intent;
import org.apache.tuscany.sca.policy.PolicyFactory;
+import org.apache.tuscany.sca.policy.PolicySet;
+import org.apache.tuscany.sca.policy.PolicySetAttachPoint;
-public class JavaImplementationProcessor extends BaseArtifactProcessor
implements
+public class JavaImplementationProcessor implements
StAXArtifactProcessor<JavaImplementation>,
JavaImplementationConstants {
private JavaImplementationFactory javaFactory;
private JavaClassIntrospector introspector;
+ private AssemblyFactory assemblyFactory;
+ private PolicyFactory policyFactory;
public JavaImplementationProcessor(AssemblyFactory assemblyFactory,
PolicyFactory policyFactory,
JavaImplementationFactory
javaFactory,
JavaClassIntrospector
introspector) {
- super(assemblyFactory, policyFactory, null);
+ this.assemblyFactory = assemblyFactory;
+ this.policyFactory = policyFactory;
this.javaFactory = javaFactory;
this.introspector = introspector;
}
@@ -128,9 +136,53 @@
}
/**
- * @param javaFactory the javaFactory to set
+ * Reads policy intents and policy sets.
+ * @param attachPoint
+ * @param reader
*/
- public void setJavaFactory(JavaImplementationFactory javaFactory) {
- this.javaFactory = javaFactory;
+ private void readPolicies(PolicySetAttachPoint attachPoint,
XMLStreamReader reader) {
+ String value = reader.getAttributeValue(null, Constants.REQUIRES
);
+ if (value != null) {
+ List<Intent> requiredIntents = attachPoint.getRequiredIntents
();
+ for (StringTokenizer tokens = new StringTokenizer(value);
tokens.hasMoreTokens();) {
+ QName qname = getQNameValue(reader, tokens.nextToken());
+ Intent intent = policyFactory.createIntent();
+ intent.setName(qname);
+ requiredIntents.add(intent);
+ }
+ }
+
+ value = reader.getAttributeValue(null, Constants.POLICY_SETS);
+ if (value != null) {
+ List<PolicySet> policySets = attachPoint.getPolicySets();
+ for (StringTokenizer tokens = new StringTokenizer(value);
tokens.hasMoreTokens();) {
+ QName qname = getQNameValue(reader, tokens.nextToken());
+ PolicySet policySet = policyFactory.createPolicySet();
+ policySet.setName(qname);
+ policySets.add(policySet);
+ }
+ }
}
+
+ /**
+ * Returns a qname from a string.
+ * @param reader
+ * @param value
+ * @return
+ */
+ private QName getQNameValue(XMLStreamReader reader, String value) {
+ if (value != null) {
+ int index = value.indexOf(':');
+ String prefix = index == -1 ? "" : value.substring(0, index);
+ String localName = index == -1 ? value : value.substring(index
+ 1);
+ String ns = reader.getNamespaceContext
().getNamespaceURI(prefix);
+ if (ns == null) {
+ ns = "";
+ }
+ return new QName(ns, localName, prefix);
+ } else {
+ return null;
+ }
+ }
+
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]