summaryrefslogtreecommitdiffstats
path: root/archiva-modules/archiva-web/archiva-webapp
diff options
context:
space:
mode:
Diffstat (limited to 'archiva-modules/archiva-web/archiva-webapp')
-rw-r--r--archiva-modules/archiva-web/archiva-webapp/pom.xml10
-rw-r--r--archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/applicationContext.xml42
-rw-r--r--archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/web.xml22
3 files changed, 74 insertions, 0 deletions
diff --git a/archiva-modules/archiva-web/archiva-webapp/pom.xml b/archiva-modules/archiva-web/archiva-webapp/pom.xml
index 30e2ab252..377bfdf98 100644
--- a/archiva-modules/archiva-web/archiva-webapp/pom.xml
+++ b/archiva-modules/archiva-web/archiva-webapp/pom.xml
@@ -226,6 +226,16 @@
<groupId>org.codehaus.redback</groupId>
<artifactId>redback-common-integrations</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.codehaus.redback</groupId>
+ <artifactId>redback-xmlrpc-services</artifactId>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.redback</groupId>
+ <artifactId>redback-xmlrpc-security</artifactId>
+ <scope>runtime</scope>
+ </dependency>
<!-- Other dependencies -->
<dependency>
<groupId>org.apache.archiva</groupId>
diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/applicationContext.xml b/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/applicationContext.xml
index 857c4d9ec..6a2d98c39 100644
--- a/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/applicationContext.xml
+++ b/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/applicationContext.xml
@@ -68,7 +68,33 @@
<constructor-arg ref="repositoryMerger#maven2"/>
<constructor-arg ref="auditListener#logging"/>
<constructor-arg ref="commons-configuration"/>
+ </bean>
+
+ <!-- Redback Web Services -->
+ <bean name="redbackRoleService" lazy-init="true" scope="singleton"
+ class="org.codehaus.redback.xmlrpc.service.RoleServiceImpl">
+ <constructor-arg ref="rBACManager#cached"/>
+ <constructor-arg ref="roleManager"/>
+ </bean>
+
+ <bean name="redbackOperationService" lazy-init="true" scope="singleton"
+ class="org.codehaus.redback.xmlrpc.service.OperationServiceImpl">
+ <constructor-arg ref="rBACManager#cached"/>
+ </bean>
+
+ <bean name="redbackPermissionService" lazy-init="true" scope="singleton"
+ class="org.codehaus.redback.xmlrpc.service.PermissionServiceImpl">
+ <constructor-arg ref="rBACManager#cached"/>
+ </bean>
+
+ <bean name="redbackResourceService" lazy-init="true" scope="singleton"
+ class="org.codehaus.redback.xmlrpc.service.ResourceServiceImpl">
+ <constructor-arg ref="rBACManager#cached"/>
+ </bean>
+ <bean name="redbackUserService" lazy-init="true" scope="singleton"
+ class="org.codehaus.redback.xmlrpc.service.UserServiceImpl">
+ <constructor-arg ref="userManager#cached"/>
</bean>
<bean name="xmlrpcServicesList" lazy-init="true" scope="singleton" class="java.util.ArrayList">
@@ -86,6 +112,22 @@
<constructor-arg ref="userRepositories"/>
</bean>
+ <bean name="redbackXmlrpcServicesList" class="java.util.ArrayList">
+ <constructor-arg>
+ <list>
+ <ref bean="redbackOperationService"/>
+ <ref bean="redbackPermissionService"/>
+ <ref bean="redbackResourceService"/>
+ <ref bean="redbackRoleService"/>
+ <ref bean="redbackUserService"/>
+ </list>
+ </constructor-arg>
+ </bean>
+
+ <bean name="redbackXmlRpcAuthenticator" class="org.codehaus.redback.xmlrpc.security.XmlRpcAuthenticator">
+ <constructor-arg ref="securitySystem"/>
+ </bean>
+
<bean id="mailSession" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:comp/env/mail/Session">
</property>
diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/web.xml b/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/web.xml
index 10ed5aaaf..7d24f88c0 100644
--- a/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/web.xml
+++ b/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/web.xml
@@ -122,6 +122,23 @@
<load-on-startup>1</load-on-startup>
</servlet>
+ <servlet>
+ <servlet-name>RedbackXmlRpcServlet</servlet-name>
+ <servlet-class>com.atlassian.xmlrpc.spring.BinderSpringXmlRpcServlet</servlet-class>
+ <init-param>
+ <param-name>serviceListBeanName</param-name>
+ <param-value>redbackXmlrpcServicesList</param-value>
+ </init-param>
+ <init-param>
+ <param-name>authHandlerBeanName</param-name>
+ <param-value>redbackXmlRpcAuthenticator</param-value>
+ </init-param>
+ <init-param>
+ <param-name>enabledForExtensions</param-name>
+ <param-value>true</param-value>
+ </init-param>
+ </servlet>
+
<servlet>
<servlet-name>RssFeedServlet</servlet-name>
<servlet-class>
@@ -144,6 +161,11 @@
<url-pattern>/xmlrpc</url-pattern>
</servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>RedbackXmlRpcServlet</servlet-name>
+ <url-pattern>/redback-xmlrpc</url-pattern>
+ </servlet-mapping>
+
<resource-ref>
<res-ref-name>jdbc/users</res-ref-name>
<res-type>javax.sql.DataSource</res-type>