You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ha...@apache.org on 2007/01/29 09:37:36 UTC
svn commit: r500967 - in /maven/sandbox/maven/enterprise: ./
enterprise-plexus-application/ enterprise-plexus-application/src/
enterprise-plexus-application/src/conf/ enterprise-runtime/
enterprise-runtime/src/ enterprise-runtime/src/conf/ enterprise-w...
Author: handyande
Date: Mon Jan 29 00:37:34 2007
New Revision: 500967
URL: http://svn.apache.org/viewvc?view=rev&rev=500967
Log:
Initial import of Maven Enterprise
Added:
maven/sandbox/maven/enterprise/ (with props)
maven/sandbox/maven/enterprise/README.txt
maven/sandbox/maven/enterprise/enterprise-plexus-application/ (with props)
maven/sandbox/maven/enterprise/enterprise-plexus-application/pom.xml
maven/sandbox/maven/enterprise/enterprise-plexus-application/src/
maven/sandbox/maven/enterprise/enterprise-plexus-application/src/conf/
maven/sandbox/maven/enterprise/enterprise-plexus-application/src/conf/application.xml
maven/sandbox/maven/enterprise/enterprise-plexus-application/src/conf/plexus.xml
maven/sandbox/maven/enterprise/enterprise-plexus-application/src/plexus.properties
maven/sandbox/maven/enterprise/enterprise-runtime/ (with props)
maven/sandbox/maven/enterprise/enterprise-runtime/pom.xml
maven/sandbox/maven/enterprise/enterprise-runtime/src/
maven/sandbox/maven/enterprise/enterprise-runtime/src/conf/
maven/sandbox/maven/enterprise/enterprise-runtime/src/conf/plexus.xml
maven/sandbox/maven/enterprise/enterprise-runtime/src/plexus.properties
maven/sandbox/maven/enterprise/enterprise-web/ (with props)
maven/sandbox/maven/enterprise/enterprise-web/pom.xml
maven/sandbox/maven/enterprise/enterprise-web/src/
maven/sandbox/maven/enterprise/enterprise-web/src/main/
maven/sandbox/maven/enterprise/enterprise-web/src/main/java/
maven/sandbox/maven/enterprise/enterprise-web/src/main/java/org/
maven/sandbox/maven/enterprise/enterprise-web/src/main/java/org/apache/
maven/sandbox/maven/enterprise/enterprise-web/src/main/java/org/apache/maven/
maven/sandbox/maven/enterprise/enterprise-web/src/main/java/org/apache/maven/enterprise/
maven/sandbox/maven/enterprise/enterprise-web/src/main/java/org/apache/maven/enterprise/web/
maven/sandbox/maven/enterprise/enterprise-web/src/main/java/org/apache/maven/enterprise/web/WebdavServlet.java
maven/sandbox/maven/enterprise/enterprise-web/src/main/resources/
maven/sandbox/maven/enterprise/enterprise-web/src/main/resources/META-INF/
maven/sandbox/maven/enterprise/enterprise-web/src/main/resources/META-INF/plexus/
maven/sandbox/maven/enterprise/enterprise-web/src/main/resources/META-INF/plexus/application.xml
maven/sandbox/maven/enterprise/enterprise-web/src/main/resources/org/
maven/sandbox/maven/enterprise/enterprise-web/src/main/resources/org/apache/
maven/sandbox/maven/enterprise/enterprise-web/src/main/resources/org/apache/maven/
maven/sandbox/maven/enterprise/enterprise-web/src/main/resources/org/apache/maven/enterprise/
maven/sandbox/maven/enterprise/enterprise-web/src/main/resources/org/apache/maven/enterprise/security.properties
maven/sandbox/maven/enterprise/enterprise-web/src/main/webapp/
maven/sandbox/maven/enterprise/enterprise-web/src/main/webapp/WEB-INF/
maven/sandbox/maven/enterprise/enterprise-web/src/main/webapp/WEB-INF/plexus.xml
maven/sandbox/maven/enterprise/enterprise-web/src/main/webapp/WEB-INF/web.xml
maven/sandbox/maven/enterprise/enterprise-web/src/main/webapp/css/
maven/sandbox/maven/enterprise/enterprise-web/src/main/webapp/css/enterprise.css
maven/sandbox/maven/enterprise/enterprise-web/src/main/webapp/index.jsp
maven/sandbox/maven/enterprise/enterprise-web/src/test/
maven/sandbox/maven/enterprise/enterprise-web/src/test/java/
maven/sandbox/maven/enterprise/enterprise-web/src/test/resources/
maven/sandbox/maven/enterprise/pom.xml
Propchange: maven/sandbox/maven/enterprise/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Mon Jan 29 00:37:34 2007
@@ -0,0 +1,4 @@
+target
+*.iml
+*.ipr
+*.iws
Added: maven/sandbox/maven/enterprise/README.txt
URL: http://svn.apache.org/viewvc/maven/sandbox/maven/enterprise/README.txt?view=auto&rev=500967
==============================================================================
--- maven/sandbox/maven/enterprise/README.txt (added)
+++ maven/sandbox/maven/enterprise/README.txt Mon Jan 29 00:37:34 2007
@@ -0,0 +1,13 @@
+Maven Enterprise
+================
+
+To build:
+
+mvn install continuum from maven trunk
+mvn install archiva from maven trunk
+mvn install enterprise (from this directory)
+
+to run:
+
+./enterprise-runtime/target/plexus-app-runtime/bin/plexus.sh
+
Propchange: maven/sandbox/maven/enterprise/enterprise-plexus-application/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Mon Jan 29 00:37:34 2007
@@ -0,0 +1,4 @@
+target
+*.iml
+*.ipr
+*.iws
Added: maven/sandbox/maven/enterprise/enterprise-plexus-application/pom.xml
URL: http://svn.apache.org/viewvc/maven/sandbox/maven/enterprise/enterprise-plexus-application/pom.xml?view=auto&rev=500967
==============================================================================
--- maven/sandbox/maven/enterprise/enterprise-plexus-application/pom.xml (added)
+++ maven/sandbox/maven/enterprise/enterprise-plexus-application/pom.xml Mon Jan 29 00:37:34 2007
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.maven.enterprise</groupId>
+ <artifactId>enterprise</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ </parent>
+ <artifactId>enterprise-plexus-application</artifactId>
+ <packaging>plexus-application</packaging>
+ <name>Maven Enterprise Application</name>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-appserver-maven-plugin</artifactId>
+ <version>2.0-alpha-7-SNAPSHOT</version>
+ <extensions>true</extensions>
+ <configuration>
+ <applicationConfiguration>src/conf/application.xml</applicationConfiguration>
+ <configurationsDirectory>src/conf</configurationsDirectory>
+ <configurationProperties>src/plexus.properties</configurationProperties>
+ <applicationName>enterprise</applicationName>
+ <runtimeConfiguration>src/conf/plexus.xml</runtimeConfiguration>
+ <runtimeConfigurationProperties>src/plexus.properties</runtimeConfigurationProperties>
+ <runtimePath>target/enterprise-webapp-runtime</runtimePath>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.enterprise</groupId>
+ <artifactId>enterprise-web</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <type>war</type>
+ </dependency>
+ </dependencies>
+
+ <properties>
+ <enterpriseVersion>${project.version}</enterpriseVersion>
+ </properties>
+</project>
Added: maven/sandbox/maven/enterprise/enterprise-plexus-application/src/conf/application.xml
URL: http://svn.apache.org/viewvc/maven/sandbox/maven/enterprise/enterprise-plexus-application/src/conf/application.xml?view=auto&rev=500967
==============================================================================
--- maven/sandbox/maven/enterprise/enterprise-plexus-application/src/conf/application.xml (added)
+++ maven/sandbox/maven/enterprise/enterprise-plexus-application/src/conf/application.xml Mon Jan 29 00:37:34 2007
@@ -0,0 +1,31 @@
+<application>
+
+ <services>
+ <service>
+ <id>jetty</id>
+ <configuration>
+ <webapps>
+ <webapp>
+ <file>${plexus.home}/lib/enterprise-web-@enterpriseVersion@.war</file>
+ <context>/</context>
+ <extraction-path>${plexus.home}/webapp</extraction-path>
+ <standardWebappClassloader>true</standardWebappClassloader>
+ <listeners>
+ <http-listener>
+ <port>8080</port>
+ </http-listener>
+ <!--
+ <proxy-http-listener>
+ <port>8090</port>
+ <proxy-host>localhost</proxy-host>
+ <proxy-port>80</proxy-port>
+ </proxy-http-listener>
+ -->
+ </listeners>
+ </webapp>
+ </webapps>
+ </configuration>
+ </service>
+ </services>
+
+</application>
Added: maven/sandbox/maven/enterprise/enterprise-plexus-application/src/conf/plexus.xml
URL: http://svn.apache.org/viewvc/maven/sandbox/maven/enterprise/enterprise-plexus-application/src/conf/plexus.xml?view=auto&rev=500967
==============================================================================
--- maven/sandbox/maven/enterprise/enterprise-plexus-application/src/conf/plexus.xml (added)
+++ maven/sandbox/maven/enterprise/enterprise-plexus-application/src/conf/plexus.xml Mon Jan 29 00:37:34 2007
@@ -0,0 +1,2 @@
+<plexus>
+</plexus>
Added: maven/sandbox/maven/enterprise/enterprise-plexus-application/src/plexus.properties
URL: http://svn.apache.org/viewvc/maven/sandbox/maven/enterprise/enterprise-plexus-application/src/plexus.properties?view=auto&rev=500967
==============================================================================
--- maven/sandbox/maven/enterprise/enterprise-plexus-application/src/plexus.properties (added)
+++ maven/sandbox/maven/enterprise/enterprise-plexus-application/src/plexus.properties Mon Jan 29 00:37:34 2007
@@ -0,0 +1,3 @@
+app.name = enterprise
+app.long.name = Maven Enterprise
+app.description = Maven Enterprise
Propchange: maven/sandbox/maven/enterprise/enterprise-runtime/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Mon Jan 29 00:37:34 2007
@@ -0,0 +1,4 @@
+target
+*.iml
+*.ipr
+*.iws
Added: maven/sandbox/maven/enterprise/enterprise-runtime/pom.xml
URL: http://svn.apache.org/viewvc/maven/sandbox/maven/enterprise/enterprise-runtime/pom.xml?view=auto&rev=500967
==============================================================================
--- maven/sandbox/maven/enterprise/enterprise-runtime/pom.xml (added)
+++ maven/sandbox/maven/enterprise/enterprise-runtime/pom.xml Mon Jan 29 00:37:34 2007
@@ -0,0 +1,145 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.maven.enterprise</groupId>
+ <artifactId>enterprise</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ </parent>
+ <artifactId>enterprise-runtime</artifactId>
+ <name>Maven Enterprise Runtime</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-component-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.4</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-appserver-host</artifactId>
+ <version>2.0-alpha-7-SNAPSHOT</version>
+ </dependency>
+
+ <!-- Applications -->
+ <dependency>
+ <groupId>org.apache.maven.enterprise</groupId>
+ <artifactId>enterprise-plexus-application</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <type>plexus-application</type>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.continuum</groupId>
+ <artifactId>continuum-plexus-application</artifactId>
+ <version>1.1-SNAPSHOT</version>
+ <type>plexus-application</type>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.archiva</groupId>
+ <artifactId>archiva-plexus-application</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <type>plexus-application</type>
+ </dependency>
+
+ <!-- Services -->
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-appserver-service-jetty</artifactId>
+ <version>2.0-alpha-7-SNAPSHOT</version>
+ <type>plexus-service</type>
+ </dependency>
+
+ <!-- Application Dependencies -->
+ <dependency>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ <version>1.2.8</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging-api</artifactId>
+ <version>1.0.4</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.derby</groupId>
+ <artifactId>derby</artifactId>
+ <version>10.1.3.1</version>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-naming</artifactId>
+ <version>1.0-alpha-3-SNAPSHOT</version>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>jpox</groupId>
+ <artifactId>jpox</artifactId>
+ <version>1.1.1</version>
+ <exclusions>
+ <exclusion>
+ <groupId>javax.sql</groupId>
+ <artifactId>jdbc-stdext</artifactId>
+ </exclusion>
+ </exclusions>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>javax.mail</groupId>
+ <artifactId>mail</artifactId>
+ <version>1.4</version>
+ <scope>runtime</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-appserver-maven-plugin</artifactId>
+ <extensions>true</extensions>
+ <executions>
+ <execution>
+ <goals>
+ <goal>assemble-runtime</goal>
+ <goal>add-services</goal>
+ <goal>add-apps</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <runtimeConfiguration>src/conf/plexus.xml</runtimeConfiguration>
+ <runtimeConfigurationProperties>src/plexus.properties</runtimeConfigurationProperties>
+ <runtimePath>target/plexus-app-runtime</runtimePath>
+ <additionalCoreArtifacts>
+ <additionalCoreArtifact>commons-logging:commons-logging-api</additionalCoreArtifact>
+ <additionalCoreArtifact>log4j:log4j</additionalCoreArtifact>
+ <additionalCoreArtifact>org.apache.derby:derby</additionalCoreArtifact>
+ <additionalCoreArtifact>org.codehaus.plexus:plexus-naming</additionalCoreArtifact>
+ <additionalCoreArtifact>commons-pool:commons-pool</additionalCoreArtifact>
+ <additionalCoreArtifact>commons-dbcp:commons-dbcp</additionalCoreArtifact>
+ <additionalCoreArtifact>commons-collections:commons-collections</additionalCoreArtifact>
+ <additionalCoreArtifact>directory-naming:naming-config</additionalCoreArtifact>
+ <additionalCoreArtifact>directory-naming:naming-core</additionalCoreArtifact>
+ <additionalCoreArtifact>directory-naming:naming-factory</additionalCoreArtifact>
+ <additionalCoreArtifact>directory-naming:naming-java</additionalCoreArtifact>
+ <additionalCoreArtifact>javax.mail:mail</additionalCoreArtifact>
+ <additionalCoreArtifact>javax.activation:activation</additionalCoreArtifact>
+
+
+ </additionalCoreArtifacts>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
Added: maven/sandbox/maven/enterprise/enterprise-runtime/src/conf/plexus.xml
URL: http://svn.apache.org/viewvc/maven/sandbox/maven/enterprise/enterprise-runtime/src/conf/plexus.xml?view=auto&rev=500967
==============================================================================
--- maven/sandbox/maven/enterprise/enterprise-runtime/src/conf/plexus.xml (added)
+++ maven/sandbox/maven/enterprise/enterprise-runtime/src/conf/plexus.xml Mon Jan 29 00:37:34 2007
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<plexus>
+ <load-on-start>
+ <!-- MUST come before agent (inserted by appserver plugin) since that will try and boot the services -->
+ <component>
+ <role>org.codehaus.plexus.naming.Naming</role>
+ <role-hint>dataSources</role-hint>
+ </component>
+ <component>
+ <role>org.codehaus.plexus.naming.Naming</role>
+ <role-hint>environments</role-hint>
+ </component>
+ </load-on-start>
+ <components>
+ <component>
+ <role>org.codehaus.plexus.naming.Naming</role>
+ <implementation>org.codehaus.plexus.naming.DefaultNaming</implementation>
+ <role-hint>environments</role-hint>
+ <configuration>
+ <environments>
+ <environment>
+ <name>enterpriseDataDir</name>
+ <type>java.lang.String</type>
+ <value>${plexus.home}/data</value>
+ </environment>
+ </environments>
+ </configuration>
+ </component>
+ <component>
+ <role>org.codehaus.plexus.naming.Naming</role>
+ <implementation>org.codehaus.plexus.naming.DefaultNaming</implementation>
+ <role-hint>dataSources</role-hint>
+ <configuration>
+ <resources>
+ <!--
+ Mail Session
+ -->
+ <resource>
+ <name>mail/Session</name>
+ <type>javax.mail.Session</type>
+ <properties>
+ <property>
+ <name>mail.smtp.host</name>
+ <value>localhost</value>
+ </property>
+ <property>
+ <name>mail.smtp.port</name>
+ <value>25</value>
+ </property>
+ </properties>
+ </resource>
+ <!--
+ Datasources
+ -->
+ <resource>
+ <name>jdbc/users</name>
+ <type>javax.sql.DataSource</type>
+ <properties>
+ <property>
+ <name>driverClassName</name>
+ <value>org.apache.derby.jdbc.EmbeddedDriver</value>
+ </property>
+ <property>
+ <name>url</name>
+ <value>jdbc:derby:${plexus.home}/data/users/database;create=true</value>
+ </property>
+ <property>
+ <name>username</name>
+ <value>sa</value>
+ </property>
+ <property>
+ <name>password</name>
+ <value></value>
+ </property>
+ </properties>
+ </resource>
+ <resource>
+ <name>jdbc/continuum</name>
+ <type>javax.sql.DataSource</type>
+ <properties>
+ <property>
+ <name>driverClassName</name>
+ <value>org.apache.derby.jdbc.EmbeddedDriver</value>
+ </property>
+ <property>
+ <name>url</name>
+ <value>jdbc:derby:${plexus.home}/data/continuum/database;create=true</value>
+ </property>
+ <property>
+ <name>username</name>
+ <value>sa</value>
+ </property>
+ <property>
+ <name>password</name>
+ <value></value>
+ </property>
+ </properties>
+ </resource>
+ </resources>
+ </configuration>
+ </component>
+ </components>
+</plexus>
+
Added: maven/sandbox/maven/enterprise/enterprise-runtime/src/plexus.properties
URL: http://svn.apache.org/viewvc/maven/sandbox/maven/enterprise/enterprise-runtime/src/plexus.properties?view=auto&rev=500967
==============================================================================
(empty)
Propchange: maven/sandbox/maven/enterprise/enterprise-web/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Mon Jan 29 00:37:34 2007
@@ -0,0 +1,4 @@
+target
+*.iml
+*.ipr
+*.iws
Added: maven/sandbox/maven/enterprise/enterprise-web/pom.xml
URL: http://svn.apache.org/viewvc/maven/sandbox/maven/enterprise/enterprise-web/pom.xml?view=auto&rev=500967
==============================================================================
--- maven/sandbox/maven/enterprise/enterprise-web/pom.xml (added)
+++ maven/sandbox/maven/enterprise/enterprise-web/pom.xml Mon Jan 29 00:37:34 2007
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.maven.enterprise</groupId>
+ <artifactId>enterprise</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ </parent>
+ <artifactId>enterprise-web</artifactId>
+ <name>Maven Enterprise Web</name>
+ <packaging>war</packaging>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus.webdav</groupId>
+ <artifactId>plexus-webdav-simple</artifactId>
+ <version>1.0-alpha-1-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-servlet</artifactId>
+ <version>1.0-beta-6-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus.security</groupId>
+ <artifactId>plexus-security-ui-web-integration</artifactId>
+ <version>1.0-alpha-10-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-xwork-integration</artifactId>
+ <version>1.0-alpha-5-SNAPSHOT</version>
+ </dependency>
+ </dependencies>
+</project>
Added: maven/sandbox/maven/enterprise/enterprise-web/src/main/java/org/apache/maven/enterprise/web/WebdavServlet.java
URL: http://svn.apache.org/viewvc/maven/sandbox/maven/enterprise/enterprise-web/src/main/java/org/apache/maven/enterprise/web/WebdavServlet.java?view=auto&rev=500967
==============================================================================
--- maven/sandbox/maven/enterprise/enterprise-web/src/main/java/org/apache/maven/enterprise/web/WebdavServlet.java (added)
+++ maven/sandbox/maven/enterprise/enterprise-web/src/main/java/org/apache/maven/enterprise/web/WebdavServlet.java Mon Jan 29 00:37:34 2007
@@ -0,0 +1,149 @@
+package org.apache.maven.enterprise.web;
+
+import org.codehaus.plexus.webdav.servlet.multiplexed.MultiplexedWebDavServlet;
+import org.codehaus.plexus.webdav.servlet.DavServerRequest;
+import org.codehaus.plexus.webdav.DavServerException;
+import org.codehaus.plexus.security.ui.web.filter.authentication.HttpAuthenticator;
+import org.codehaus.plexus.security.policy.AccountLockedException;
+import org.codehaus.plexus.security.policy.MustChangePasswordException;
+import org.codehaus.plexus.security.authentication.AuthenticationException;
+import org.codehaus.plexus.security.authentication.AuthenticationResult;
+
+import javax.servlet.ServletConfig;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpServletRequest;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+import java.io.File;
+import java.io.IOException;
+
+/**
+ * A simple webdav servlet for controlling some webdav collections
+ *
+ * @uthor: Andrew Williams
+ * @since: 1.0-SNAPSHOT
+ * @version: $Id$
+ */
+public class WebdavServlet
+ extends MultiplexedWebDavServlet
+{
+ private HttpAuthenticator httpAuth;
+
+ private File davRoot;
+
+ public void initComponents()
+ throws ServletException
+ {
+ setDebug(false); // TODO perhaps debug should be off by default?
+ super.initComponents();
+
+ httpAuth = (HttpAuthenticator) lookup( HttpAuthenticator.ROLE, "basic" );
+ }
+
+ public void initServers( ServletConfig servletConfig )
+ throws DavServerException
+ {
+ String plexusHome = "";
+ try
+ {
+ plexusHome = (String) (new InitialContext()).lookup( "java:comp/env/enterpriseDataDir" );
+ }
+ catch ( NamingException e )
+ {
+ /* default to the current directory */
+ }
+ davRoot = new File( plexusHome, "webdav" );
+
+ createWebdavServer( "idisk", servletConfig );
+ createWebdavServer( "repository", servletConfig );
+ createWebdavServer( "snapshot", servletConfig );
+ }
+
+ private void createWebdavServer( String name, ServletConfig servletConfig )
+ throws DavServerException
+ {
+ File serverRoot = new File( davRoot, name );
+
+ if ( serverRoot.exists() )
+ {
+ if ( !serverRoot.isDirectory() )
+ {
+ throw new DavServerException( "Unable to create webdav server, " + serverRoot.getAbsolutePath() +
+ " is not a directory ");
+ }
+ }
+ else
+ {
+ serverRoot.mkdirs();
+ }
+ createServer( name, serverRoot, servletConfig );
+ }
+
+ public boolean isAuthenticated( DavServerRequest davRequest, HttpServletResponse response )
+ throws ServletException, IOException
+ {
+ HttpServletRequest request = davRequest.getRequest();
+
+ try
+ {
+ AuthenticationResult result = httpAuth.getAuthenticationResult( request, response );
+
+ if ( ( result == null ) || !result.isAuthenticated() )
+ {
+ httpAuth.challenge( request, response, "Enterprise Repository",
+ new AuthenticationException( "User credentials are invalid" ) );
+ return false;
+ }
+
+ }
+ catch ( AuthenticationException e )
+ {
+ log( "Fatal Http Authentication Error.", e );
+ throw new ServletException( "Fatal Http Authentication Error.", e );
+ }
+ catch ( AccountLockedException e )
+ {
+ httpAuth.challenge( request, response, "Enterprise Repository",
+ new AuthenticationException( "User account is locked" ) );
+ }
+ catch ( MustChangePasswordException e )
+ {
+ httpAuth.challenge( request, response, "Enterprise Repository",
+ new AuthenticationException( "User account password expired" ) );
+ }
+ return true;
+ }
+
+ public boolean isAuthorized( DavServerRequest davRequest, HttpServletResponse response )
+ throws ServletException, IOException
+ {
+ if ( davRequest.getPrefix().equals("idisk") )
+ {
+ String resource = davRequest.getLogicalResource();
+ String user = httpAuth.getSessionUser().getUsername();
+
+ if ( resource.equals( "" ) || resource.equals( "/" ) ) {
+ return true;
+ }
+
+ if ( resource.equals( "/" + user ) || resource.startsWith( "/" + user + '/' ) )
+ {
+ File userHome = new File( new File( davRoot, "idisk" ), user );
+
+ if ( !userHome.exists() )
+ {
+ userHome.mkdir();
+ }
+
+ return true;
+ }
+
+ httpAuth.challenge( davRequest.getRequest(), response, "Enterprise Repository",
+ new AuthenticationException( "Access denied." ) );
+ return false;
+ }
+
+ return true;
+ }
+}
Added: maven/sandbox/maven/enterprise/enterprise-web/src/main/resources/META-INF/plexus/application.xml
URL: http://svn.apache.org/viewvc/maven/sandbox/maven/enterprise/enterprise-web/src/main/resources/META-INF/plexus/application.xml?view=auto&rev=500967
==============================================================================
--- maven/sandbox/maven/enterprise/enterprise-web/src/main/resources/META-INF/plexus/application.xml (added)
+++ maven/sandbox/maven/enterprise/enterprise-web/src/main/resources/META-INF/plexus/application.xml Mon Jan 29 00:37:34 2007
@@ -0,0 +1,63 @@
+<plexus>
+ <components>
+ <component>
+ <role>org.codehaus.plexus.security.configuration.UserConfiguration</role>
+ <implementation>org.codehaus.plexus.security.configuration.UserConfiguration</implementation>
+ <configuration>
+ <configs>
+ <config>${user.home}/.m2/security.properties</config>
+ <config>/org/apache/maven/enterprise/security.properties</config>
+ </configs>
+ </configuration>
+ </component>
+
+ <component>
+ <role>org.codehaus.plexus.jdo.JdoFactory</role>
+ <role-hint>users</role-hint>
+ <implementation>org.codehaus.plexus.jdo.DataSourceConfigurableJdoFactory</implementation>
+ <configuration>
+
+ <connectionFactoryName>java:comp/env/jdbc/users</connectionFactoryName>
+ <shutdownConnectionFactoryName>java:comp/env/jdbc/usersShutdown</shutdownConnectionFactoryName>
+
+ <!-- JPOX and JDO configuration -->
+ <persistenceManagerFactoryClass>org.jpox.PersistenceManagerFactoryImpl</persistenceManagerFactoryClass>
+ <otherProperties>
+ <property>
+ <name>org.jpox.autoCreateSchema</name>
+ <value>true</value>
+ </property>
+ <property>
+ <name>org.jpox.validateTables</name>
+ <value>false</value>
+ </property>
+ <property>
+ <name>org.jpox.validateConstraints</name>
+ <value>false</value>
+ </property>
+ <property>
+ <name>org.jpox.validateColumns</name>
+ <value>false</value>
+ </property>
+ <property>
+ <name>org.jpox.autoStartMechanism</name>
+ <value>None</value>
+ </property>
+ <property>
+ <name>org.jpox.transactionIsolation</name>
+ <value>READ_UNCOMMITTED</value>
+ </property>
+ <property>
+ <name>org.jpox.poid.transactionIsolation</name>
+ <value>READ_UNCOMMITTED</value>
+ </property>
+ <property>
+ <name>org.jpox.rdbms.dateTimezone</name>
+ <value>JDK_DEFAULT_TIMEZONE</value>
+ </property>
+ </otherProperties>
+ </configuration>
+ </component>
+
+ </components>
+</plexus>
Added: maven/sandbox/maven/enterprise/enterprise-web/src/main/resources/org/apache/maven/enterprise/security.properties
URL: http://svn.apache.org/viewvc/maven/sandbox/maven/enterprise/enterprise-web/src/main/resources/org/apache/maven/enterprise/security.properties?view=auto&rev=500967
==============================================================================
--- maven/sandbox/maven/enterprise/enterprise-web/src/main/resources/org/apache/maven/enterprise/security.properties (added)
+++ maven/sandbox/maven/enterprise/enterprise-web/src/main/resources/org/apache/maven/enterprise/security.properties Mon Jan 29 00:37:34 2007
@@ -0,0 +1,14 @@
+application.name=Maven sEnterprisea
+# NOTE: do not include trailing slash on application.url
+application.url=http://localhost
+application.timestamp=EEE d MMM yyyy HH:mm:ss Z
+# All emails sent by the system will be from the following user name (used in conjunction with address)
+email.from.address=enterprise@localhost
+email.from.name=Enterprise Administrator
+
+# The subject line for the email message.
+email.validation.subject=Welcome to Maven Enterprise
+
+security.signon.path=/
+security.rememberme.path=/
+
Added: maven/sandbox/maven/enterprise/enterprise-web/src/main/webapp/WEB-INF/plexus.xml
URL: http://svn.apache.org/viewvc/maven/sandbox/maven/enterprise/enterprise-web/src/main/webapp/WEB-INF/plexus.xml?view=auto&rev=500967
==============================================================================
--- maven/sandbox/maven/enterprise/enterprise-web/src/main/webapp/WEB-INF/plexus.xml (added)
+++ maven/sandbox/maven/enterprise/enterprise-web/src/main/webapp/WEB-INF/plexus.xml Mon Jan 29 00:37:34 2007
@@ -0,0 +1,2 @@
+<plexus>
+</plexus>
Added: maven/sandbox/maven/enterprise/enterprise-web/src/main/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/maven/sandbox/maven/enterprise/enterprise-web/src/main/webapp/WEB-INF/web.xml?view=auto&rev=500967
==============================================================================
--- maven/sandbox/maven/enterprise/enterprise-web/src/main/webapp/WEB-INF/web.xml (added)
+++ maven/sandbox/maven/enterprise/enterprise-web/src/main/webapp/WEB-INF/web.xml Mon Jan 29 00:37:34 2007
@@ -0,0 +1,25 @@
+<web-app xmlns="http://java.sun.com/xml/ns/j2ee" version="2.4"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
+
+ <display-name>Maven Enterprise</display-name>
+
+ <!--listener>
+ <listener-class>org.codehaus.plexus.servlet.PlexusServletContextListener</listener-class>
+ </listener-->
+ <listener>
+ <listener-class>org.codehaus.plexus.xwork.PlexusLifecycleListener</listener-class>
+ </listener>
+
+
+ <servlet>
+ <servlet-name>webdav</servlet-name>
+ <servlet-class>org.apache.maven.enterprise.web.WebdavServlet</servlet-class>
+ </servlet>
+
+ <servlet-mapping>
+ <servlet-name>webdav</servlet-name>
+ <url-pattern>/webdav/*</url-pattern>
+ </servlet-mapping>
+
+</web-app>
Added: maven/sandbox/maven/enterprise/enterprise-web/src/main/webapp/css/enterprise.css
URL: http://svn.apache.org/viewvc/maven/sandbox/maven/enterprise/enterprise-web/src/main/webapp/css/enterprise.css?view=auto&rev=500967
==============================================================================
--- maven/sandbox/maven/enterprise/enterprise-web/src/main/webapp/css/enterprise.css (added)
+++ maven/sandbox/maven/enterprise/enterprise-web/src/main/webapp/css/enterprise.css Mon Jan 29 00:37:34 2007
@@ -0,0 +1,34 @@
+body {
+ margin: 0;
+ background-color: #ffffcc;
+ font-family: helvetica, serif;
+}
+
+#body {
+ width: 740px;
+ margin-left: 50px;
+ margin-right: auto;
+}
+
+#header {
+ padding: 5px;
+ background-color: #333399;
+ color: #ffcc33;
+}
+
+#content {
+ padding: 5px;
+ background-color: #cccccc;
+ border-left: 2px solid #333399;
+ border-right: 2px solid #333399;
+}
+
+#footer {
+ clear: both;
+ padding: 5px;
+ background-color: #333399;
+}
+
+a {
+ color: #333399;
+}
\ No newline at end of file
Added: maven/sandbox/maven/enterprise/enterprise-web/src/main/webapp/index.jsp
URL: http://svn.apache.org/viewvc/maven/sandbox/maven/enterprise/enterprise-web/src/main/webapp/index.jsp?view=auto&rev=500967
==============================================================================
--- maven/sandbox/maven/enterprise/enterprise-web/src/main/webapp/index.jsp (added)
+++ maven/sandbox/maven/enterprise/enterprise-web/src/main/webapp/index.jsp Mon Jan 29 00:37:34 2007
@@ -0,0 +1,32 @@
+<html>
+ <head>
+ <title>Maven Enterprise</title>
+
+ <link rel="stylesheet" type="text/css" href="css/enterprise.css"/>
+ </head>
+
+ <body>
+ <div id="body">
+ <div id="header">
+ <h1>Maven Enterprise</h1>
+ </div>
+
+ <div id="content">
+ <p>This page is a placeholder for now - please visit one of the installed applications:</p>
+ <ul>
+ <li><a href="/archiva/">Maven Archiva</a> - Repository Management</li>
+ <li><a href="/continuum/">Maven Continuum</a> - Continuous Integration</li>
+ </ul>
+
+ <p>There are also some webdav collections:</p>
+ <ul>
+ <li><a href="/webdav/idisk/">/webdav/idisk</a></li>
+ <li><a href="/webdav/repository/">/webdav/repository</a></li>
+ <li><a href="/webdav/snapshot/">/webdav/snapshot</a></li>
+ </ul>
+ </div>
+ <div id="footer">
+ </div>
+ </div>
+ </body>
+</html>
Added: maven/sandbox/maven/enterprise/pom.xml
URL: http://svn.apache.org/viewvc/maven/sandbox/maven/enterprise/pom.xml?view=auto&rev=500967
==============================================================================
--- maven/sandbox/maven/enterprise/pom.xml (added)
+++ maven/sandbox/maven/enterprise/pom.xml Mon Jan 29 00:37:34 2007
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-parent</artifactId>
+ <version>4</version>
+ </parent>
+ <groupId>org.apache.maven.enterprise</groupId>
+ <artifactId>enterprise</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <name>Maven Enterprise</name>
+
+ <scm>
+ <connection>scm:svn:https://svn.apache.org/repos/asf/maven/sandbox/maven/enterprise</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/sandbox/maven/enterprise</developerConnection>
+ <url>http://svn.apache.org/viewvc/maven/sandbox/maven/enterprise</url>
+ </scm>
+
+ <modules>
+ <module>enterprise-web</module>
+ <module>enterprise-plexus-application</module>
+ <module>enterprise-runtime</module>
+ </modules>
+
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-component-api</artifactId>
+ <version>1.0-alpha-16</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-16</version>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+</project>