You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by sa...@apache.org on 2006/09/29 10:48:44 UTC
svn commit: r451168 - in /webservices/axis2/trunk/java/modules:
codegen/src/org/apache/axis2/wsdl/codegen/emitter/
codegen/src/org/apache/axis2/wsdl/codegen/extension/
codegen/src/org/apache/axis2/wsdl/template/java/
kernel/src/org/apache/axis2/descrip...
Author: sanka
Date: Fri Sep 29 01:48:43 2006
New Revision: 451168
URL: http://svn.apache.org/viewvc?view=rev&rev=451168
Log:
(1) Modified InterfaceImplementationTemplate to use the new Neethi2 code
(2) Added the processing of Policies defined in an import of a WSDL
(3) Minor bug fixes
Modified:
webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/emitter/AxisServiceBasedMultiLanguageEmitter.java
webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/extension/PolicyEvaluator.java
webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/template/java/InterfaceImplementationTemplate.xsl
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/PolicyInclude.java
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/WSDL11ToAxisServiceBuilder.java
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/PolicyUtil.java
webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/ProtectionTokenBuilder.java
webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/Trust10.java
webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/Rampart.java
webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/policy/model/RampartConfig.java
Modified: webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/emitter/AxisServiceBasedMultiLanguageEmitter.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/emitter/AxisServiceBasedMultiLanguageEmitter.java?view=diff&rev=451168&r1=451167&r2=451168
==============================================================================
--- webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/emitter/AxisServiceBasedMultiLanguageEmitter.java (original)
+++ webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/emitter/AxisServiceBasedMultiLanguageEmitter.java Fri Sep 29 01:48:43 2006
@@ -547,6 +547,7 @@
if (servicePolicy != null) {
String policyString = PolicyUtil.policyComponentToString(servicePolicy);
+ policyString = PolicyUtil.getSafeString(policyString);
addAttribute(doc, "policy", policyString, rootElement);
}
@@ -1471,7 +1472,7 @@
if (policy != null) {
try {
addAttribute(doc, "policy",
- PolicyUtil.policyComponentToString(policy),
+ PolicyUtil.getSafeString(PolicyUtil.policyComponentToString(policy)),
methodElement);
} catch (Exception ex) {
throw new RuntimeException("can't serialize the policy ..");
Modified: webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/extension/PolicyEvaluator.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/extension/PolicyEvaluator.java?view=diff&rev=451168&r1=451167&r2=451168
==============================================================================
--- webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/extension/PolicyEvaluator.java (original)
+++ webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/extension/PolicyEvaluator.java Fri Sep 29 01:48:43 2006
@@ -155,7 +155,8 @@
List assertionList;
for (Iterator assertions = ((List) iterator.next()).iterator(); assertions.hasNext();) {
- assertion = (Assertion) iterator.next();
+
+ assertion = (Assertion) assertions.next();
targetNamesapce = assertion.getName().getNamespaceURI();
if ((assertionList = (List) map.get(targetNamesapce)) == null) {
Modified: webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/template/java/InterfaceImplementationTemplate.xsl
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/template/java/InterfaceImplementationTemplate.xsl?view=diff&rev=451168&r1=451167&r2=451168
==============================================================================
--- webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/template/java/InterfaceImplementationTemplate.xsl (original)
+++ webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/template/java/InterfaceImplementationTemplate.xsl Fri Sep 29 01:48:43 2006
@@ -44,20 +44,15 @@
private java.util.HashMap faultMessageMap = new java.util.HashMap();
- private void populateAxisService(){
+ private void populateAxisService() throws org.apache.axis2.AxisFault {
//creating the Service with a unique name
_service = new org.apache.axis2.description.AxisService("<xsl:value-of select="@servicename"/>" + this.hashCode());
- <xsl:if test="@policy">
- /*
- * setting the endpont policy
- */
+
+ <xsl:if test="@policy">
java.lang.String _service_policy_string = "<xsl:value-of select="@policy"/>";
- org.apache.axis2.description.PolicyInclude servicePolicyInclude
- = _service.getPolicyInclude();
- servicePolicyInclude.addPolicyElement(
- org.apache.axis2.description.PolicyInclude.SERVICE_POLICY,
- getPolicyFromString(_service_policy_string));
+ org.apache.neethi.Policy _endpoint_policy = getPolicy(_service_policy_string);
+ _service.applyPolicy(_endpoint_policy);
</xsl:if>
//creating the operations
@@ -82,12 +77,8 @@
<xsl:if test="@policy">
__operation_policy_string = "<xsl:value-of select="@policy"/>";
- org.apache.ws.policy.Policy __operation_policy
- = getPolicyFromString(__operation_policy_string);
- org.apache.axis2.description.PolicyInclude include
- = __operation.getPolicyInclude();
- include.addPolicyElement(org.apache.axis2.description.PolicyInclude.ANON_POLICY,
- __operation_policy);
+ org.apache.neethi.Policy __operation_policy = getPolicyFromString(__operation_policy_string);
+ __operation.applyPolicy(__operation_policy);
</xsl:if>
@@ -133,29 +124,6 @@
_serviceClient = new org.apache.axis2.client.ServiceClient(configurationContext,_service);
configurationContext = _serviceClient.getServiceContext().getConfigurationContext();
- <xsl:if test="//@policy">
-
- ////////////////////////////////////////////////////////////////////////
-
- org.apache.axis2.engine.AxisConfiguration axisConfiguration = configurationContext.getAxisConfiguration();
- java.util.Collection modules = axisConfiguration.getModules().values();
-
- for (java.util.Iterator iterator = modules.iterator(); iterator.hasNext();) {
- org.apache.axis2.description.AxisModule axisModule = (org.apache.axis2.description.AxisModule) iterator.next();
- java.lang.String[] namespaces = axisModule.getSupportedPolicyNamespaces();
-
- if (namespaces != null) {
- for (int i = 0; i < namespaces.length; i++) {
- ns2Modules.put(namespaces[i], axisModule);
- }
- }
- }
-
- ////////////////////////////////////////////////////////////////////////
-
- </xsl:if>
-
-
_serviceClient.getOptions().setTo(new org.apache.axis2.addressing.EndpointReference(
targetEndpoint));
<xsl:if test="$soapVersion='1.2'">
@@ -163,19 +131,6 @@
_serviceClient.getOptions().setSoapVersionURI(org.apache.axiom.soap.SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI);
</xsl:if>
- <xsl:if test="//@policy">
- ////////////////////////////////////////////////////////////////////////
-
- org.apache.axis2.description.AxisOperation axisOperation;
-
- for (java.util.Iterator iterator = _service.getChildren(); iterator.hasNext(); ){
- // Engaging the modules per AxisOperation
- axisOperation = (org.apache.axis2.description.AxisOperation) iterator.next();
- engage(axisOperation, configurationContext.getAxisConfiguration());
- }
-
- ///////////////////////////////////////////////////////////////////////
- </xsl:if>
}
/**
@@ -721,91 +676,14 @@
}
<xsl:if test="//@policy">
-
- /** */
- private java.util.HashMap ns2Modules = new java.util.HashMap();
-
////////////////////////////////////////////////////////////////////////
- private static org.apache.ws.policy.Policy getPolicyFromString (java.lang.String policyString) {
- org.apache.ws.policy.util.PolicyReader prdr
- = org.apache.ws.policy.util.PolicyFactory.getPolicyReader(
- org.apache.ws.policy.util.PolicyFactory.OM_POLICY_READER);
- try {
- if (policyString != null
- && !policyString.trim().equals("")) {
- return prdr.readPolicy(
- new java.io.ByteArrayInputStream(
- policyString.getBytes()));
- }
-
- } catch (Exception e) {
- throw new RuntimeException(
- "cannot convert "+ policyString + " to policy", e);
- }
- return null;
- }
-
- private static org.apache.ws.policy.Policy merge(java.lang.String policyString1,
- java.lang.String policyString2) {
- return (org.apache.ws.policy.Policy) getPolicyFromString(policyString1)
- .merge(getPolicyFromString(policyString2));
+ private static org.apache.neethi.Policy getPolicy (java.lang.String policyString) {
+ java.io.ByteArrayInputStream bais = new java.io.ByteArrayInputStream(policyString.getBytes());
+ return org.apache.neethi.PolicyEngine.getPolicy(bais);
}
-
- private java.util.ArrayList getModules(java.util.List termsList) {
- java.util.ArrayList arrayList = new java.util.ArrayList();
- java.util.Iterator iterator = termsList.iterator();
-
- org.apache.ws.policy.PrimitiveAssertion pa;
- java.lang.String namespace;
- org.apache.axis2.description.AxisModule axisModule;
-
- while (iterator.hasNext()) {
- pa = (org.apache.ws.policy.PrimitiveAssertion) iterator.next();
- namespace = pa.getName().getNamespaceURI();
- axisModule = (org.apache.axis2.description.AxisModule) ns2Modules.get(namespace);
-
- if (axisModule == null) {
- // TODO
- System.err.println("Warning: cannot find a module for process PrimitiveAssertion - " + pa.getName());
- }
- arrayList.add(axisModule);
- }
-
- return arrayList;
- }
- private void engage(org.apache.axis2.description.AxisDescription axisDescription, org.apache.axis2.engine.AxisConfiguration axisConfiguration) throws org.apache.axis2.AxisFault {
-
- org.apache.axis2.description.PolicyInclude policyInclude = axisDescription.getPolicyInclude();
- org.apache.ws.policy.Policy policy = policyInclude.getEffectivePolicy();
-
- if (policy == null) {
- return;
- }
-
- if (! policy.isNormalized()) {
- policy = (org.apache.ws.policy.Policy) policy.normalize();
- }
-
- org.apache.ws.policy.ExactlyOne xor = (org.apache.ws.policy.ExactlyOne) policy.getTerms().get(0);
- if (xor.isEmpty()) {
- // TODO
- throw new RuntimeException("No policy alternative found");
- }
- org.apache.ws.policy.All anAlternative = (org.apache.ws.policy.All) xor.getTerms().get(0);
- java.util.List moduleList = getModules(anAlternative.getTerms());
-
- if (axisDescription instanceof org.apache.axis2.description.AxisService) {
- for (java.util.Iterator iterator = moduleList.iterator(); iterator.hasNext();) {
- ((org.apache.axis2.description.AxisService) axisDescription).engageModule((org.apache.axis2.description.AxisModule) iterator.next(), axisConfiguration);
- }
- } else if (axisDescription instanceof org.apache.axis2.description.AxisOperation) {
- for (java.util.Iterator iterator = moduleList.iterator(); iterator.hasNext();) {
- ((org.apache.axis2.description.AxisOperation) axisDescription).engageModule((org.apache.axis2.description.AxisModule) iterator.next(), axisConfiguration);
- }
- }
- }
+ /////////////////////////////////////////////////////////////////////////
</xsl:if>
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/PolicyInclude.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/PolicyInclude.java?view=diff&rev=451168&r1=451167&r2=451168
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/PolicyInclude.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/PolicyInclude.java Fri Sep 29 01:48:43 2006
@@ -163,6 +163,7 @@
Policy p;
if (policyElement instanceof PolicyReference) {
+ PolicyRegistry r = getPolicyRegistry();
p = (Policy) ((PolicyReference) policyElement)
.normalize(getPolicyRegistry(), false);
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/WSDL11ToAxisServiceBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/WSDL11ToAxisServiceBuilder.java?view=diff&rev=451168&r1=451167&r2=451168
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/WSDL11ToAxisServiceBuilder.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/WSDL11ToAxisServiceBuilder.java Fri Sep 29 01:48:43 2006
@@ -185,6 +185,7 @@
if (wsdl4jDefinition == null) {
return null;
}
+
//setting target name space
axisService.setTargetNamespace(wsdl4jDefinition
.getTargetNamespace());
@@ -262,13 +263,16 @@
if (wsdl4jDefinition == null) {
return; // can't continue without wsdl
}
- // adding ns in the original WSDL
- processPoliciesInDefintion(wsdl4jDefinition);
-
+
// process the imports
//send an empty list as the processed namespace list since this
//is the first call
processImports(wsdl4jDefinition,new ArrayList());
+
+
+ // Adding the policies in the Definition to the the PolicyRegistry
+ processPoliciesInDefintion(wsdl4jDefinition);
+
// setup the schemaMap
schemaMap = populateSchemaMap(wsdl4jDefinition.getTypes());
@@ -1452,6 +1456,9 @@
//add services
Map serviceMap = importedDef.getServices();
wsdl4JDefinition.getServices().putAll(serviceMap);
+
+ List extElementList = importedDef.getExtensibilityElements();
+ wsdl4JDefinition.getExtensibilityElements().addAll(extElementList);
}
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/PolicyUtil.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/PolicyUtil.java?view=diff&rev=451168&r1=451167&r2=451168
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/PolicyUtil.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/PolicyUtil.java Fri Sep 29 01:48:43 2006
@@ -38,7 +38,7 @@
public class PolicyUtil {
- private static String getSafeString(String unsafeString) {
+ public static String getSafeString(String unsafeString) {
StringBuffer sbuf = new StringBuffer();
char[] chars = unsafeString.toCharArray();
Modified: webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/ProtectionTokenBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/ProtectionTokenBuilder.java?view=diff&rev=451168&r1=451167&r2=451168
==============================================================================
--- webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/ProtectionTokenBuilder.java (original)
+++ webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/ProtectionTokenBuilder.java Fri Sep 29 01:48:43 2006
@@ -51,7 +51,10 @@
}
private void processAlternative(List assertions, ProtectionToken parent) {
- Token token = (Token) assertions.get(0);
- parent.setToken(token);
+ Object token = assertions.get(0);
+
+ if (token instanceof Token) {
+ parent.setToken((Token) token);
+ }
}
}
Modified: webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/Trust10.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/Trust10.java?view=diff&rev=451168&r1=451167&r2=451168
==============================================================================
--- webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/Trust10.java (original)
+++ webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/Trust10.java Fri Sep 29 01:48:43 2006
@@ -124,8 +124,7 @@
}
public void serialize(XMLStreamWriter writer) throws XMLStreamException {
- // TODO TODO Sanka
- throw new UnsupportedOperationException("TODO Sanka");
+
}
public short getType() {
Modified: webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/Rampart.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/Rampart.java?view=diff&rev=451168&r1=451167&r2=451168
==============================================================================
--- webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/Rampart.java (original)
+++ webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/Rampart.java Fri Sep 29 01:48:43 2006
@@ -49,11 +49,11 @@
}
public void applyPolicy(Policy policy, AxisDescription axisDescription) throws AxisFault {
- // TODO
+ // TODO Ruchith
}
public boolean canSupportAssertion(Assertion assertion) {
- // TODO
+ // TODO Ruchith
return true;
}
}
Modified: webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/policy/model/RampartConfig.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/policy/model/RampartConfig.java?view=diff&rev=451168&r1=451167&r2=451168
==============================================================================
--- webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/policy/model/RampartConfig.java (original)
+++ webservices/axis2/trunk/java/modules/security/src/org/apache/rampart/policy/model/RampartConfig.java Fri Sep 29 01:48:43 2006
@@ -240,9 +240,6 @@
writer.writeEndElement();
}
-
-
-
writer.writeEndElement();
}
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org