stack trace: PolicyValidation exception
---------------------------------------
Key: TUSCANY-2908
URL: https://issues.apache.org/jira/browse/TUSCANY-2908
Project: Tuscany
Issue Type: Test
Components: Java SCA Policy
Environment: windows xp using eclipse plug-in tool 1.3.2.
Reporter: Michael Sacauskis
(1) I've gained some insight into the issue. It seams there are a default set
of policies as well as some other classes that are loaded when I Do SCADomain
scaDomain = SCADomain.newInstance("helloworld.composite");. They are:
org.apache.tuscany.sca.policy.security.SecurityPolicyDefinitionsProvider
org.apache.tuscany.sca.binding.ws.axis2.WSBindingDefinitionsProvider
org.apache.tuscany.sca.binding.sca.SCABindingDefinitionsProvider
org.apache.tuscany.sca.policy.logging.LoggingPolicyDefinitionsProvider
This is done in the class
org.apache.tuscany.sca.definitions.imp.DefaultSCADefinitionsProviderExtensionPoint
and the method loadProviders. My composite file is as follows:
<?xml version="1.0" encoding="UTF-8"?>
<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
targetNamespace="http://helloworld"
xmlns:hw="http://helloworld.gdit.com."
xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0"
name="helloworld">
<component name="HelloWorldServiceComponent">
<implementation.java class="helloworld.HelloWorldImpl">
<operation name="sayWorld" requires="tuscany:logging"/>
</implementation.java>
<service name="HelloWorld">
<interface.java interface="helloworld.HelloWorld"></interface.java>
<binding.ws/>
</service>
<reference name="helloService" target="HelloComponent" />
<reference name="worldService" target="WorldComponent" />
</component>
<component name="HelloComponent">
<implementation.java class="helloworld.HelloServiceImpl"/>
</component>
<component name="WorldComponent">
<implementation.java class="helloworld.WorldServiceImpl">
</implementation.java>
</component>
</composite>
(2)The Composite file specifies thet <operations name="sayWorld"
requires="tuscany.logging"> which specifies that it the method sayWorld needs
to be logged. I have a definitions file associated with my test programs which
specifies the policy:
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.osoa.org/xmlns/sca/1.0"
targetNamespace="http://tuscany.apache.org/xmlns/sca/1.0"
xmlns:sca="http://www.osoa.org/xmlns/sca/1.0"
xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0"
xmlns:helloWorld="http://HelloWorld">
<!-- PolicySets -->
<policySet name="JDKLoggingPolicy" provides="tuscany:logging"
appliesTo="sca:implementation.java"
xmlns="http://www.osoa.org/xmlns/sca/1.0">
<!--tuscany:jdkLogger name="HelloWorld">
<logLevel>FINER</logLevel>
</tuscany:jdkLogger-->
</policySet>
</definitions
(3)My Understanding (and it may be wrong) is that the requires in the composite
file is supposed to map to <policySet name="JDKLoggingPolicy"
provides="tuscany:logging" appliesTo="sca:implementation.java"
xmlns="http://www.osoa.org/xmlns/sca/1.0"> line in the definitions.xml file and
somehow this is supposed to map to the implementation of the logger. This
apparently is not the case. I ran my test program without the definitions.xml
file associated with it and it still runs without error. What I found is that
the <operation name="sayWorld" requires="tuscany:logging"/> maps to the intent
for the logger which is in the definitions.xml file in the logger package. The
file is as follows:
<?xml version="1.0" encoding="ASCII"?>
<definitions xmlns="http://www.osoa.org/xmlns/sca/1.0"
targetNamespace="http://tuscany.apache.org/xmlns/sca/1.0"
xmlns:sca="http://www.osoa.org/xmlns/sca/1.0"
xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0">
<!-- Policy Intents Defined by the SCA Runtime -->
<intent name="logging"
constrains="sca:implementation.java">
<description>
All messages to and from this implementation must be
logged
</description>
</intent>
</definitions>
If I change the intent name="logging" to something I then get the Policy
violation error. So this leads me to the following questions and possible
issues:
1. Where does the list of polices that are being loaded as described in (1)
above come from?
2. Is there a way for me to add my policy to this list or somehow get it
resolved to my intent so that I can define my own policies?
3. Is the policy set the method of mapping a policy to an intent?
4. Is the definitions file associated with the composite app even used?
I have my own driver and will uploaded it to the jira when the SCA Policy
component is created.
-----Original Message-----
From: Luciano Resende [mailto:[email protected]]
Sent: Thursday, March 05, 2009 7:32 PM
To: [email protected]
Subject: Re: stack trace: PolicyValidation exception
Should your intent be <intent name="gdit:FooBarPolicy"
instead of <intent name="FooBarPolicy" ?
On Thu, Mar 5, 2009 at 5:23 PM, Sacauskis, Mike <[email protected]> wrote:
> <definitions xmlns="http://www.osoa.org/xmlns/sca/1.0"
>
>
> targetNamespace="http://gdit.com/"
>
>
> xmlns:sca="http://www.osoa.org/xmlns/sca/1.0"
>
> xmlns:gdit="http://gdit.com/">
>
>
>
> <!-- Policy Intents Defined by the SCA Runtime -->
>
> <intent name="FooBarPolicy"
--
Luciano Resende
Apache Tuscany, Apache PhotArk
http://people.apache.org/~lresende
http://lresende.blogspot.com/
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.