blob: 6c3c367bee21b31b7641a698d0342ef8babb3f9f [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ Licensed to the Apache Software Foundation (ASF) under one or more
~ contributor license agreements. See the NOTICE file distributed with
~ this work for additional information regarding copyright ownership.
~ The ASF licenses this file to You under the Apache License, Version 2.0
~ (the "License"); you may not use this file except in compliance with
~ the License. You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
<blueprint xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jaxrs="http://cxf.apache.org/blueprint/jaxrs"
xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0 http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
http://cxf.apache.org/blueprint/jaxrs http://cxf.apache.org/schemas/blueprint/jaxrs.xsd">
<bean id="cors-filter" class="org.apache.cxf.rs.security.cors.CrossOriginResourceSharingFilter"/>
<bean id="jacksonMapper" class="com.fasterxml.jackson.databind.ObjectMapper"/>
<bean id="json-provider" class="com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider">
<argument index="0" ref="jacksonMapper" type="com.fasterxml.jackson.databind.ObjectMapper"/>
</bean>
<bean id="jaas-filter" class="org.apache.cxf.jaxrs.security.JAASAuthenticationFilter">
<!-- Name of the JAAS Context -->
<property name="contextName" value="karaf"/>
<!-- Hint to the filter on how to have Principals representing users and roles separated
while initializing a SecurityContext -->
<property name="rolePrefix" value="ROLE_"/>
<property name="realmName" value="cxs"/>
</bean>
<jaxrs:server address="/importConfiguration" id="restImportConfigurationService">
<jaxrs:providers>
<ref component-id="json-provider"/>
<ref component-id="cors-filter"/>
<ref component-id="jaas-filter"/>
</jaxrs:providers>
<jaxrs:serviceBeans>
<ref component-id="importConfigurationServiceEndPoint"/>
</jaxrs:serviceBeans>
</jaxrs:server>
<jaxrs:server address="/exportConfiguration" id="restExportConfigurationService">
<jaxrs:providers>
<ref component-id="json-provider"/>
<ref component-id="cors-filter"/>
<ref component-id="jaas-filter"/>
</jaxrs:providers>
<jaxrs:serviceBeans>
<ref component-id="exportConfigurationServiceEndPoint"/>
</jaxrs:serviceBeans>
</jaxrs:server>
<reference id="importConfigurationService" interface="org.apache.unomi.router.api.services.ImportExportConfigurationService"
filter="(configDiscriminator=IMPORT)"/>
<reference id="exportConfigurationService" interface="org.apache.unomi.router.api.services.ImportExportConfigurationService"
filter="(configDiscriminator=EXPORT)"/>
<reference id="configSharingService" interface="org.apache.unomi.api.services.ConfigSharingService"/>
<bean id="importConfigurationServiceEndPoint" class="org.apache.unomi.router.rest.ImportConfigurationServiceEndPoint">
<property name="importConfigurationService" ref="importConfigurationService"/>
<property name="configSharingService" ref="configSharingService"/>
</bean>
<bean id="exportConfigurationServiceEndPoint" class="org.apache.unomi.router.rest.ExportConfigurationServiceEndPoint">
<property name="exportConfigurationService" ref="exportConfigurationService"/>
<property name="configSharingService" ref="configSharingService"/>
</bean>
</blueprint>