<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE aspectwerkz PUBLIC "-//AspectWerkz//DTD//EN" "http://aspectwerkz.codehaus.org/dtd/aspectwerkz.dtd">
<aspectwerkz>
<system id="samples-xmldef">
<introduction-def name="provider" interface="org.globus.progtutorial.services.core.core_sd.impl.MathIF"
implementation="org.globus.progtutorial.services.core.core_sd.impl.MathService"
deployment-model="perInstance" attribute="provider"/>
<introduction-def name="callback" interface="org.globus.progtutorial.services.core.core_sd.impl.GlobusBaseConnector"
implementation="org.globus.progtutorial.services.core.core_sd.impl.CallBack"
deployment-model="perInstance" attribute="callback"/>
<introduction-def name="weavecontrol" interface="org.globus.progtutorial.services.core.weavecontrol.impl.WeaveControlIF"
implementation="org.globus.progtutorial.services.core.weavecontrol.impl.WeaveControl"
deployment-model="perInstance" attribute="weavecontrol"/>
<advice-def name="execlog" class="examples.xmldef.logging.LoggingAdvice"
attribute="execlog" deployment-model="perJVM">
<param value="10" name="timeout"/>
</advice-def>
<advice-def name="logging" class="org.globus.progtutorial.services.core.core_sd.impl.LoggingAdvice"
attribute="logging" deployment-model="perInstance">
<param value="10" name="timeout"/>
</advice-def>
<advice-def name="invoclog" class="examples.xmldef.logging.InvocationLoggingAdvice"
attribute="invoclog" deployment-model="perJVM">
<param value="10" name="timeout"/>
</advice-def>
<advice-def name="servicedata" class="org.globus.progtutorial.services.core.core_sd.impl.ServiceDataAspect"
attribute="servicedata" deployment-model="perJVM">
<param value="10" name="timeout"/>
</advice-def>
<advice-def name="operations" class="org.globus.progtutorial.services.core.core_sd.impl.OperationAdvice"
attribute="operations" deployment-model="perJVM">
<param value="10" name="timeout"/>
</advice-def>
<advice-def name="notify" class="org.globus.progtutorial.services.core.core_sd.impl.NotifyAdvice"
attribute="notify" deployment-model="perJVM">
<param value="10" name="timeout"/>
</advice-def>
<aspect name="weavecontrol">
<bind-introduction class="org.globus.progtutorial.services.core.weavecontrol.impl.WeaveProvider">
<introduction-ref name="weavecontrol"/>
</bind-introduction>
</aspect>
<aspect name="op_provider">
<bind-introduction class="org.globus.progtutorial.services.core.core_sd.impl.MathProvider">
<introduction-ref name="provider"/>
</bind-introduction>
</aspect>
<aspect name="life_cycle">
<bind-introduction class="org.globus.progtutorial.services.core.core_sd.impl.MathProvider">
<introduction-ref name="callback"/>
</bind-introduction>
</aspect>
<!--aspect name="service_data">
<pointcut-def pattern="void
org.globus.progtutorial.services.core.core_sd.impl.MathService.*(*)"
type="method" name="ops"/>
<pointcut-def pattern="void
org.globus.progtutorial.services.core.core_sd.impl.CallBack.preCreate(*)"
type="method" name="precreate"/>
<bind-advice pointcut="precreate">
<advice-ref name="servicedata"/>
</bind-advice>
<bind-advice pointcut="ops">
<advice-ref name="servicedata"/>
</bind-advice>
</aspect-->
<aspect name="notifications">
<pointcut-def pattern="void
org.globus.progtutorial.services.core.core_sd.impl.MathService.*(*)"
type="method" name="ops"/>
<pointcut-def pattern="void
org.globus.progtutorial.services.core.core_sd.impl.CallBack.preCreate(*)"
type="method" name="precreate"/>
<bind-advice pointcut="precreate">
<advice-ref name="notify"/>
<advice-ref name="servicedata"/>
</bind-advice>
<bind-advice pointcut="ops">
<advice-ref name="notify"/>
<advice-ref name="servicedata"/>
<advice-ref name="operations"/>
</bind-advice>
</aspect>
<aspect name="log">
<pointcut-def pattern="void
org.globus.progtutorial.services.core.core_sd.impl.CallBack.*(*)" type="method"
name="lifecycle"/>
<pointcut-def pattern="void
org.globus.progtutorial.services.core.core_sd.impl.MathService.*(*)"
type="method" name="ops"/>
<bind-advice pointcut="lifecycle">
<advice-ref name="logging"/>
</bind-advice>
<bind-advice pointcut="ops">
<advice-ref name="logging"/>
</bind-advice>
</aspect>
<aspect name="ops">
<pointcut-def pattern="void
org.globus.progtutorial.services.core.core_sd.impl.MathService.*(*)"
type="method" name="ops"/>
<!--bind-advice pointcut="ops">
<advice-ref name="operations"/>
</bind-advice-->
</aspect>
<aspect name="test">
<pointcut-def pattern="*
org.globus.ogsa.impl.ogsi.FactoryProvider.addServiceData()" type="method"
name="ops"/>
<bind-advice pointcut="ops">
<advice-ref name="logging"/>
</bind-advice>
</aspect>
</system>
</aspectwerkz>