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/02/06 23:59:33 UTC
svn commit: r504356 - in /maven/sandbox/enterprise: ./ enterprise-core/
enterprise-core/src/ enterprise-core/src/main/
enterprise-core/src/main/java/ enterprise-core/src/main/java/org/
enterprise-core/src/main/java/org/apache/ enterprise-core/src/main/...
Author: handyande
Date: Tue Feb 6 14:59:31 2007
New Revision: 504356
URL: http://svn.apache.org/viewvc?view=rev&rev=504356
Log:
Start an enterprise model. Powers configuration for now.
And a wrapper to inject an instance of the model loaded from config.
Be kind - it is my first modello work
Added:
maven/sandbox/enterprise/enterprise-core/ (with props)
maven/sandbox/enterprise/enterprise-core/pom.xml
maven/sandbox/enterprise/enterprise-core/src/
maven/sandbox/enterprise/enterprise-core/src/main/
maven/sandbox/enterprise/enterprise-core/src/main/java/
maven/sandbox/enterprise/enterprise-core/src/main/java/org/
maven/sandbox/enterprise/enterprise-core/src/main/java/org/apache/
maven/sandbox/enterprise/enterprise-core/src/main/java/org/apache/maven/
maven/sandbox/enterprise/enterprise-core/src/main/java/org/apache/maven/enterprise/
maven/sandbox/enterprise/enterprise-core/src/main/java/org/apache/maven/enterprise/config/
maven/sandbox/enterprise/enterprise-core/src/main/java/org/apache/maven/enterprise/config/DefaultConfig.java
maven/sandbox/enterprise/enterprise-core/src/test/
maven/sandbox/enterprise/enterprise-core/src/test/resources/
maven/sandbox/enterprise/enterprise-model/ (with props)
maven/sandbox/enterprise/enterprise-model/pom.xml
maven/sandbox/enterprise/enterprise-model/src/
maven/sandbox/enterprise/enterprise-model/src/main/
maven/sandbox/enterprise/enterprise-model/src/main/mdo/
maven/sandbox/enterprise/enterprise-model/src/main/mdo/enterprise.xml
Modified:
maven/sandbox/enterprise/enterprise-web/pom.xml
maven/sandbox/enterprise/enterprise-web/src/main/java/org/apache/maven/enterprise/web/EnterpriseIDiskWebDavServlet.java
maven/sandbox/enterprise/enterprise-web/src/main/java/org/apache/maven/enterprise/web/EnterpriseWebDavServlet.java
maven/sandbox/enterprise/pom.xml
Propchange: maven/sandbox/enterprise/enterprise-core/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Tue Feb 6 14:59:31 2007
@@ -0,0 +1,4 @@
+target
+*.iml
+*.ipr
+*.iws
Added: maven/sandbox/enterprise/enterprise-core/pom.xml
URL: http://svn.apache.org/viewvc/maven/sandbox/enterprise/enterprise-core/pom.xml?view=auto&rev=504356
==============================================================================
--- maven/sandbox/enterprise/enterprise-core/pom.xml (added)
+++ maven/sandbox/enterprise/enterprise-core/pom.xml Tue Feb 6 14:59:31 2007
@@ -0,0 +1,48 @@
+<?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-core</artifactId>
+ <name>Maven Enterprise Core</name>
+ <packaging>jar</packaging>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.enterprise</groupId>
+ <artifactId>enterprise-model</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-component-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus.security</groupId>
+ <artifactId>plexus-security-ui-web-integration</artifactId>
+ <version>1.0-alpha-10-SNAPSHOT</version>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-maven-plugin</artifactId>
+ <version>1.3</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>descriptor</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
Added: maven/sandbox/enterprise/enterprise-core/src/main/java/org/apache/maven/enterprise/config/DefaultConfig.java
URL: http://svn.apache.org/viewvc/maven/sandbox/enterprise/enterprise-core/src/main/java/org/apache/maven/enterprise/config/DefaultConfig.java?view=auto&rev=504356
==============================================================================
--- maven/sandbox/enterprise/enterprise-core/src/main/java/org/apache/maven/enterprise/config/DefaultConfig.java (added)
+++ maven/sandbox/enterprise/enterprise-core/src/main/java/org/apache/maven/enterprise/config/DefaultConfig.java Tue Feb 6 14:59:31 2007
@@ -0,0 +1,99 @@
+package org.apache.maven.enterprise.config;
+
+import org.apache.maven.enterprise.model.EnterpriseConfig;
+import org.apache.maven.enterprise.model.EnterpriseWebdavConfig;
+import org.apache.maven.enterprise.model.io.xpp3.EnterpriseXpp3Reader;
+import org.apache.maven.enterprise.model.io.xpp3.EnterpriseXpp3Writer;
+import org.codehaus.plexus.personality.plexus.lifecycle.phase.Startable;
+import org.codehaus.plexus.personality.plexus.lifecycle.phase.StartingException;
+import org.codehaus.plexus.personality.plexus.lifecycle.phase.StoppingException;
+import org.codehaus.plexus.logging.LogEnabled;
+import org.codehaus.plexus.logging.Logger;
+
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+import java.io.File;
+import java.io.FileReader;
+import java.io.FileWriter;
+
+/**
+ * A wrapper for the Enterprise config for cdc and file monitoring
+ *
+ * @uthor: Andrew Williams
+ * @version: $Id$
+ *
+ * @plexus.component role="org.apache.maven.enterprise.model.EnterpriseConfig"
+ */
+public class DefaultConfig
+ extends EnterpriseConfig
+ implements Startable, LogEnabled
+{
+ EnterpriseConfig delegate;
+
+ EnterpriseXpp3Reader reader = new EnterpriseXpp3Reader();
+
+ EnterpriseXpp3Writer writer = new EnterpriseXpp3Writer();
+
+ File configFile;
+
+ Logger logger;
+
+ public void start()
+ throws StartingException
+ {
+ String plexusHome = "";
+ try
+ {
+ plexusHome = (String) (new InitialContext()).lookup( "java:comp/env/enterprise/dataDir" );
+ }
+ catch ( NamingException e )
+ {
+ /* default to the current directory */
+ }
+
+ configFile = new File( plexusHome, "config.xml" );
+ logger.debug( "Loading config from " + configFile.getAbsolutePath() );
+
+ try
+ {
+ delegate = reader.read( new FileReader( configFile ) );
+ }
+ catch (Exception e)
+ {
+ logger.warn( "Unable to read config, creating fresh" );
+ delegate = new EnterpriseConfig();
+ delegate.setWebdav( new EnterpriseWebdavConfig() );
+ }
+ }
+
+ public void stop()
+ throws StoppingException
+ {
+ try
+ {
+ writer.write( new FileWriter( configFile ), this );
+ }
+ catch (Exception e)
+ {
+ logger.error( "Failed writing config file " + configFile.getAbsolutePath() );
+ }
+ }
+
+ public void enableLogging( Logger logger )
+ {
+ this.logger = logger;
+ }
+
+ /* wrapped EnterpiseConfig methods */
+
+
+ public EnterpriseWebdavConfig getWebdav()
+ {
+ return delegate.getWebdav();
+ }
+
+ public void setWebdav( EnterpriseWebdavConfig webdav )
+ {
+ delegate.setWebdav( webdav ); //To change body of overridden methods use File | Settings | File Templates.
+ }
+}
Propchange: maven/sandbox/enterprise/enterprise-model/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Tue Feb 6 14:59:31 2007
@@ -0,0 +1,4 @@
+target
+*.iml
+*.ipr
+*.iws
Added: maven/sandbox/enterprise/enterprise-model/pom.xml
URL: http://svn.apache.org/viewvc/maven/sandbox/enterprise/enterprise-model/pom.xml?view=auto&rev=504356
==============================================================================
--- maven/sandbox/enterprise/enterprise-model/pom.xml (added)
+++ maven/sandbox/enterprise/enterprise-model/pom.xml Tue Feb 6 14:59:31 2007
@@ -0,0 +1,45 @@
+<?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-model</artifactId>
+ <packaging>jar</packaging>
+ <name>Maven Enterprise Model</name>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.modello</groupId>
+ <artifactId>modello-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>modello-continuum</id>
+ <goals>
+ <goal>java</goal>
+ <goal>xpp3-reader</goal>
+ <goal>xpp3-writer</goal>
+ </goals>
+ <configuration>
+ <model>src/main/mdo/enterprise.xml</model>
+ </configuration>
+ </execution>
+ </executions>
+ <configuration>
+ <version>1.1.0</version>
+ <packageWithVersion>false</packageWithVersion>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ </dependency>
+ </dependencies>
+</project>
Added: maven/sandbox/enterprise/enterprise-model/src/main/mdo/enterprise.xml
URL: http://svn.apache.org/viewvc/maven/sandbox/enterprise/enterprise-model/src/main/mdo/enterprise.xml?view=auto&rev=504356
==============================================================================
--- maven/sandbox/enterprise/enterprise-model/src/main/mdo/enterprise.xml (added)
+++ maven/sandbox/enterprise/enterprise-model/src/main/mdo/enterprise.xml Tue Feb 6 14:59:31 2007
@@ -0,0 +1,45 @@
+<model>
+ <id>enterprise</id>
+ <name>Enterprise</name>
+ <description>Maven Enterprise configuration model</description>
+ <defaults>
+ <default>
+ <key>package</key>
+ <value>org.apache.maven.enterprise.model</value>
+ </default>
+ </defaults>
+
+ <classes>
+ <class rootElement="true">
+ <name>EnterpriseConfig</name>
+ <version>1.1.0+</version>
+ <fields>
+ <field>
+ <name>webdav</name>
+ <version>1.1.0+</version>
+ <association>
+ <type>EnterpriseWebdavConfig</type>
+ </association>
+ </field>
+ </fields>
+ </class>
+ <class>
+ <name>EnterpriseWebdavConfig</name>
+ <version>1.1.0+</version>
+ <fields>
+ <field>
+ <name>publicRepositories</name>
+ <version>1.1.0+</version>
+ <type>boolean</type>
+ <defaultValue>true</defaultValue>
+ </field>
+ <field>
+ <name>publicIDisk</name>
+ <version>1.1.0+</version>
+ <type>boolean</type>
+ <defaultValue>false</defaultValue>
+ </field>
+ </fields>
+ </class>
+ </classes>
+</model>
Modified: maven/sandbox/enterprise/enterprise-web/pom.xml
URL: http://svn.apache.org/viewvc/maven/sandbox/enterprise/enterprise-web/pom.xml?view=diff&rev=504356&r1=504355&r2=504356
==============================================================================
--- maven/sandbox/enterprise/enterprise-web/pom.xml (original)
+++ maven/sandbox/enterprise/enterprise-web/pom.xml Tue Feb 6 14:59:31 2007
@@ -14,6 +14,11 @@
<dependencies>
<dependency>
+ <groupId>org.apache.maven.enterprise</groupId>
+ <artifactId>enterprise-core</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ </dependency>
+ <dependency>
<groupId>org.codehaus.plexus.webdav</groupId>
<artifactId>plexus-webdav-simple</artifactId>
<version>1.0-alpha-1-SNAPSHOT</version>
Modified: maven/sandbox/enterprise/enterprise-web/src/main/java/org/apache/maven/enterprise/web/EnterpriseIDiskWebDavServlet.java
URL: http://svn.apache.org/viewvc/maven/sandbox/enterprise/enterprise-web/src/main/java/org/apache/maven/enterprise/web/EnterpriseIDiskWebDavServlet.java?view=diff&rev=504356&r1=504355&r2=504356
==============================================================================
--- maven/sandbox/enterprise/enterprise-web/src/main/java/org/apache/maven/enterprise/web/EnterpriseIDiskWebDavServlet.java (original)
+++ maven/sandbox/enterprise/enterprise-web/src/main/java/org/apache/maven/enterprise/web/EnterpriseIDiskWebDavServlet.java Tue Feb 6 14:59:31 2007
@@ -23,8 +23,6 @@
public class EnterpriseIDiskWebDavServlet
extends EnterpriseWebDavServlet
{
- private boolean publicIDisk = false;
-
public File getRootDirectory( ServletConfig config )
throws ServletException
{
@@ -117,7 +115,7 @@
if ( isRead )
{
/* if the repositories are public we do not require authentication for non-idisk requests */
- if ( publicIDisk )
+ if ( config.getWebdav().isPublicIDisk() )
{
return true;
}
Modified: maven/sandbox/enterprise/enterprise-web/src/main/java/org/apache/maven/enterprise/web/EnterpriseWebDavServlet.java
URL: http://svn.apache.org/viewvc/maven/sandbox/enterprise/enterprise-web/src/main/java/org/apache/maven/enterprise/web/EnterpriseWebDavServlet.java?view=diff&rev=504356&r1=504355&r2=504356
==============================================================================
--- maven/sandbox/enterprise/enterprise-web/src/main/java/org/apache/maven/enterprise/web/EnterpriseWebDavServlet.java (original)
+++ maven/sandbox/enterprise/enterprise-web/src/main/java/org/apache/maven/enterprise/web/EnterpriseWebDavServlet.java Tue Feb 6 14:59:31 2007
@@ -9,6 +9,7 @@
import org.codehaus.plexus.security.policy.MustChangePasswordException;
import org.codehaus.plexus.security.ui.web.filter.authentication.HttpAuthenticator;
import org.codehaus.plexus.util.StringUtils;
+import org.apache.maven.enterprise.model.EnterpriseConfig;
import javax.naming.InitialContext;
import javax.naming.NamingException;
@@ -34,7 +35,7 @@
protected File enterpriseDavRoot;
- private boolean publicRepositories = true;
+ protected EnterpriseConfig config;
public File getRootDirectory( ServletConfig config )
throws ServletException
@@ -84,6 +85,8 @@
}
enterpriseDavRoot = new File( plexusHome, "webdav" );
+
+ config = (EnterpriseConfig) this.lookup( "org.apache.maven.enterprise.model.EnterpriseConfig" );
}
public boolean isAuthenticated( DavServerRequest davRequest, HttpServletResponse response )
@@ -154,7 +157,7 @@
if ( isRead )
{
/* if the repositories are public we do not require authentication for non-idisk requests */
- if ( publicRepositories )
+ if ( config.getWebdav().isPublicRepositories() )
{
return true;
}
Modified: maven/sandbox/enterprise/pom.xml
URL: http://svn.apache.org/viewvc/maven/sandbox/enterprise/pom.xml?view=diff&rev=504356&r1=504355&r2=504356
==============================================================================
--- maven/sandbox/enterprise/pom.xml (original)
+++ maven/sandbox/enterprise/pom.xml Tue Feb 6 14:59:31 2007
@@ -21,6 +21,8 @@
</scm>
<modules>
+ <module>enterprise-model</module>
+ <module>enterprise-core</module>
<module>enterprise-web</module>
<module>enterprise-plexus-application</module>
<module>enterprise-runtime</module>
@@ -46,6 +48,11 @@
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-container-default</artifactId>
<version>1.0-alpha-17</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.4</version>
</dependency>
</dependencies>
</dependencyManagement>