source: raptor-mua/trunk/src/main/config/mua-core.xml @ 733

Revision 733, 5.6 KB checked in by philsmart, 2 years ago (diff)
  • Property svn:mime-type set to text/plain
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<!--
3
4    Copyright (C) 2010 Cardiff University, Wales <smartp@cf.ac.uk>
5
6    Licensed under the Apache License, Version 2.0 (the "License");
7    you may not use this file except in compliance with the License.
8    You may obtain a copy of the License at
9
10            http://www.apache.org/licenses/LICENSE-2.0
11
12    Unless required by applicable law or agreed to in writing, software
13    distributed under the License is distributed on an "AS IS" BASIS,
14    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15    See the License for the specific language governing permissions and
16    limitations under the License.
17
18-->
19<beans xmlns="http://www.springframework.org/schema/beans"
20        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
21        xmlns:jaxws="http://cxf.apache.org/jaxws"
22        xsi:schemaLocation="
23        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
24        http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">
25
26
27    <import resource="classpath:META-INF/cxf/cxf.xml" />
28    <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
29    <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
30
31
32        <!--  WEB SERVICE ENDPOINT INTERFACE (SEI) SETUP -->
33        <jaxws:endpoint
34          id="muaEndpoint"
35          implementor="#muaEndpointInterface"
36          address="/MultiUnitAggregator" >
37                <jaxws:serviceFactory>
38                        <ref bean='jaxws-and-aegis-service-factory' />
39                </jaxws:serviceFactory>
40
41
42          </jaxws:endpoint>
43
44          <bean id="muaEndpointInterface" class="uk.ac.cardiff.raptormua.wsinterface.impl.MultiUnitAggregatorImpl">
45                <property name="processService">
46                        <ref bean="MUAProcess"></ref>
47                </property>
48        </bean>
49
50        <bean id="aegisBean" class="org.apache.cxf.aegis.databinding.AegisDatabinding"
51                scope="prototype" />
52        <bean id="jaxws-and-aegis-service-factory" class="org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean"
53                scope="prototype">
54                <property name="dataBinding" ref="aegisBean" />
55                <property name="properties">
56                        <map>
57                                <entry key="writeXsiType">
58                                        <value type="java.lang.Boolean">true</value>
59                                </entry>
60                                <entry key="overrideTypesList">
61                                        <list>
62                                        <!--  THIS LIST IS IMPORTANT, it exposes these classes to the aegis XSD creator
63                                        so we can output the generic Entry class in lists in the Collector Service Endpoint Class
64                                        but actually output any of its subclasses. Hence, this is a way of dealing with
65                                        inheritence in CXF and aegis -->
66                                                <value>uk.ac.cardiff.model.event.AuthenticationEvent</value>
67                                                <value>uk.ac.cardiff.model.event.ShibbolethIdpAuthenticationEvent</value>
68                                                <value>uk.ac.cardiff.model.event.EzproxyAuthenticationEvent</value>
69                                                <value>uk.ac.cardiff.model.event.OpenathenslaAuthenticationEvent</value>
70                                        </list>
71                                </entry>
72                        </map>
73                </property>
74        </bean>
75
76        <!--  DONE -->
77
78        <bean id="MUAProcess" class="uk.ac.cardiff.raptormua.service.impl.MUAProcessImpl">
79                <property name="engine">
80                        <ref bean="MUAEngine"></ref>
81                </property>
82        </bean>
83
84
85
86        <!--
87                this bean config kicks of the singleton engine instance which is then
88                used by all services of the MUA
89        -->
90        <bean id="MUAEngine" class="uk.ac.cardiff.raptormua.engine.MUAEngine">
91        <property name="eventReleaseClient"><ref bean="eventReleaseClient"></ref></property>
92                <property name="statisticsHandler"><ref bean="statisticalUnits"/></property>
93                <property name="storageEngine"><ref bean="storageEngine"></ref></property>
94                <property name="muaMetadata"><ref bean="MUAMetadata"></ref></property>
95                <property name="dataAccessRegister"><ref bean="dataAccessRegister"></ref></property>
96        </bean>
97
98
99
100        <!--  the event release client, for sending events to other MUA's -->
101
102         <bean id="eventReleaseClient" class="uk.ac.cardiff.raptor.remoting.client.impl.EventReleaseClientImpl">
103        <property name="endpointRegistry"><ref bean="endpointRegistry"/></property>
104        <property name="eventReleaseEngine"><ref bean="eventReleaseEngine"></ref></property>
105    </bean>
106
107    <bean id="eventReleaseEngine" class="uk.ac.cardiff.raptor.registry.EventReleaseEngine">
108        <property name="attributeFilterEngine"><ref bean="attributeFilterEngine"/></property>
109        <property name="serviceEndpointInterface"><ref bean="serviceEndpointInterface"/></property>
110    </bean>
111
112    <bean id="attributeFilterEngine" class="uk.ac.cardiff.raptor.attribute.filtering.AttrributeFilterEngine"/>
113
114    <bean id="serviceEndpointInterface" class="uk.ac.cardiff.raptor.remoting.client.sei.impl.CxfServiceEndpointClient"/>
115
116
117        <!-- MUA Metadata -->
118        <bean id="MUAMetadata" class="uk.ac.cardiff.model.ServerMetadata">
119                <property name="serverName"><value>Cardiff University's MUA</value></property>
120                <property name="organisationName"><value>Cardiff University</value></property>
121                <property name="contactEmail"><value>smartp@cf.ac.uk</value></property>
122        </bean>
123
124        <!-- Create the storage engine and entry handler -->
125        <bean name="storageEngine" class="uk.ac.cardiff.raptor.store.StorageEngine">
126        <property name="entryHandler"><ref bean="persistantEntryHandler"/></property>
127        <property name="attributeAssociationEngine"><ref bean="attributeAssociationEngine"></ref></property>
128        </bean>
129
130        <bean name="persistantEntryHandler" class="uk.ac.cardiff.raptor.store.impl.PersistantEntryHandler">
131                <constructor-arg index="0"><ref bean="dataConnectionImpl"></ref></constructor-arg>
132        </bean>
133
134        <!--  Load all other bean definitions -->
135
136          <import resource="dao-beans.xml"/>
137          <import resource="statistical-units.xml" />
138          <import resource="event-release.xml"/>
139          <import resource="users.xml" />
140          <import resource="attribute-association.xml"/>
141          <import resource="batch-parser.xml"/>
142
143</beans>
Note: See TracBrowser for help on using the repository browser.