You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by dj...@apache.org on 2008/06/15 18:33:23 UTC

svn commit: r667970 [1/8] - in /geronimo/plugins/james: ./ branches/ log/ tags/ trunk/ trunk/geronimo-james/ trunk/geronimo-james/src/ trunk/geronimo-james/src/main/ trunk/geronimo-james/src/main/java/ trunk/geronimo-james/src/main/java/org/ trunk/gero...

Author: djencks
Date: Sun Jun 15 09:33:21 2008
New Revision: 667970

URL: http://svn.apache.org/viewvc?rev=667970&view=rev
Log:
GERONIMO-4117 JAMES plugin

Added:
    geronimo/plugins/james/
    geronimo/plugins/james/branches/
    geronimo/plugins/james/log/
    geronimo/plugins/james/log/james-server.log
    geronimo/plugins/james/tags/
    geronimo/plugins/james/trunk/
    geronimo/plugins/james/trunk/geronimo-james/
    geronimo/plugins/james/trunk/geronimo-james/pom.xml   (with props)
    geronimo/plugins/james/trunk/geronimo-james/src/
    geronimo/plugins/james/trunk/geronimo-james/src/main/
    geronimo/plugins/james/trunk/geronimo-james/src/main/java/
    geronimo/plugins/james/trunk/geronimo-james/src/main/java/org/
    geronimo/plugins/james/trunk/geronimo-james/src/main/java/org/apache/
    geronimo/plugins/james/trunk/geronimo-james/src/main/java/org/apache/geronimo/
    geronimo/plugins/james/trunk/geronimo-james/src/main/java/org/apache/geronimo/plugins/
    geronimo/plugins/james/trunk/geronimo-james/src/main/java/org/apache/geronimo/plugins/james/
    geronimo/plugins/james/trunk/geronimo-james/src/main/java/org/apache/geronimo/plugins/james/FileSystemBridge.java   (with props)
    geronimo/plugins/james/trunk/geronimo-james/src/main/java/org/apache/geronimo/plugins/james/JamesGBean.java   (with props)
    geronimo/plugins/james/trunk/geronimo-james/src/test/
    geronimo/plugins/james/trunk/geronimo-james/src/test/java/
    geronimo/plugins/james/trunk/geronimo-james/src/test/java/org/
    geronimo/plugins/james/trunk/geronimo-james/src/test/java/org/apache/
    geronimo/plugins/james/trunk/geronimo-james/src/test/java/org/apache/geronimo/
    geronimo/plugins/james/trunk/geronimo-james/src/test/java/org/apache/geronimo/plugins/
    geronimo/plugins/james/trunk/geronimo-james/src/test/java/org/apache/geronimo/plugins/james/
    geronimo/plugins/james/trunk/geronimo-james/src/test/java/org/apache/geronimo/plugins/james/JamesGBeanTest.java   (with props)
    geronimo/plugins/james/trunk/geronimo-james/src/test/java/org/apache/geronimo/plugins/james/TestFileSystemBridge.java   (with props)
    geronimo/plugins/james/trunk/geronimo-james/src/test/resources/
    geronimo/plugins/james/trunk/geronimo-james/src/test/resources/var/
    geronimo/plugins/james/trunk/geronimo-james/src/test/resources/var/james/
    geronimo/plugins/james/trunk/geronimo-james/src/test/resources/var/james/config/
    geronimo/plugins/james/trunk/geronimo-james/src/test/resources/var/james/config/README
    geronimo/plugins/james/trunk/geronimo-james/src/test/resources/var/james/config/james-assembly.xml   (with props)
    geronimo/plugins/james/trunk/geronimo-james/src/test/resources/var/james/config/james-config.xml   (with props)
    geronimo/plugins/james/trunk/geronimo-james/src/test/resources/var/james/config/james-fetchmail.xml   (with props)
    geronimo/plugins/james/trunk/geronimo-james/src/test/resources/var/james/config/james-jms.xml   (with props)
    geronimo/plugins/james/trunk/geronimo-james/src/test/resources/var/james/config/james-listmanager.xml   (with props)
    geronimo/plugins/james/trunk/geronimo-james/src/test/resources/var/james/config/james-liststores.xml   (with props)
    geronimo/plugins/james/trunk/geronimo-james/src/test/resources/var/james/config/james-smtphandlerchain.xml   (with props)
    geronimo/plugins/james/trunk/geronimo-james/src/test/resources/var/james/config/log4j.properties   (with props)
    geronimo/plugins/james/trunk/geronimo-james/src/test/resources/var/james/config/mailboxManagerSqlResources.xml   (with props)
    geronimo/plugins/james/trunk/geronimo-james/src/test/resources/var/james/config/miResources.xml   (with props)
    geronimo/plugins/james/trunk/geronimo-james/src/test/resources/var/james/config/spring-beans.xml   (with props)
    geronimo/plugins/james/trunk/geronimo-james/src/test/resources/var/james/config/sqlResources.xml   (with props)
    geronimo/plugins/james/trunk/james/
    geronimo/plugins/james/trunk/james-server/
    geronimo/plugins/james/trunk/james-server/pom.xml   (with props)
    geronimo/plugins/james/trunk/james-server/src/
    geronimo/plugins/james/trunk/james-server/src/main/
    geronimo/plugins/james/trunk/james-server/src/main/resources/
    geronimo/plugins/james/trunk/james/pom.xml   (with props)
    geronimo/plugins/james/trunk/james/src/
    geronimo/plugins/james/trunk/james/src/main/
    geronimo/plugins/james/trunk/james/src/main/plan/
    geronimo/plugins/james/trunk/james/src/main/plan/plan.xml   (with props)
    geronimo/plugins/james/trunk/james/src/main/resources/
    geronimo/plugins/james/trunk/james/src/main/resources/var/
    geronimo/plugins/james/trunk/james/src/main/resources/var/james/
    geronimo/plugins/james/trunk/james/src/main/resources/var/james/config/
    geronimo/plugins/james/trunk/james/src/main/resources/var/james/config/README
    geronimo/plugins/james/trunk/james/src/main/resources/var/james/config/james-assembly.xml   (with props)
    geronimo/plugins/james/trunk/james/src/main/resources/var/james/config/james-config.xml   (with props)
    geronimo/plugins/james/trunk/james/src/main/resources/var/james/config/james-fetchmail.xml   (with props)
    geronimo/plugins/james/trunk/james/src/main/resources/var/james/config/james-jms.xml   (with props)
    geronimo/plugins/james/trunk/james/src/main/resources/var/james/config/james-listmanager.xml   (with props)
    geronimo/plugins/james/trunk/james/src/main/resources/var/james/config/james-liststores.xml   (with props)
    geronimo/plugins/james/trunk/james/src/main/resources/var/james/config/james-smtphandlerchain.xml   (with props)
    geronimo/plugins/james/trunk/james/src/main/resources/var/james/config/log4j.properties   (with props)
    geronimo/plugins/james/trunk/james/src/main/resources/var/james/config/mailboxManagerSqlResources.xml   (with props)
    geronimo/plugins/james/trunk/james/src/main/resources/var/james/config/miResources.xml   (with props)
    geronimo/plugins/james/trunk/james/src/main/resources/var/james/config/spring-beans.xml   (with props)
    geronimo/plugins/james/trunk/james/src/main/resources/var/james/config/sqlResources.xml   (with props)
    geronimo/plugins/james/trunk/pom.xml   (with props)

Added: geronimo/plugins/james/log/james-server.log
URL: http://svn.apache.org/viewvc/geronimo/plugins/james/log/james-server.log?rev=667970&view=auto
==============================================================================
--- geronimo/plugins/james/log/james-server.log (added)
+++ geronimo/plugins/james/log/james-server.log Sun Jun 15 09:33:21 2008
@@ -0,0 +1 @@
+INFO  10:06:42,102 | org.apache.james.container.spring.beanfactory.AvalonApplicationContext | Refreshing org.apache.james.container.spring.beanfactory.AvalonApplicationContext@842e74: display name [org.apache.james.container.spring.beanfactory.AvalonApplicationContext@842e74]; startup date [Fri Jun 13 10:06:42 PDT 2008]; root of context hierarchy

Added: geronimo/plugins/james/trunk/geronimo-james/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/plugins/james/trunk/geronimo-james/pom.xml?rev=667970&view=auto
==============================================================================
--- geronimo/plugins/james/trunk/geronimo-james/pom.xml (added)
+++ geronimo/plugins/james/trunk/geronimo-james/pom.xml Sun Jun 15 09:33:21 2008
@@ -0,0 +1,95 @@
+<?xml version="1.0"?>
+<project>
+    <parent>
+        <artifactId>james-parent</artifactId>
+        <groupId>org.apache.geronimo.plugins</groupId>
+        <version>1.0-SNAPSHOT</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+    <artifactId>geronimo-james</artifactId>
+    <name>geronimo-james</name>
+    <version>1.0-SNAPSHOT</version>
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.geronimo.framework</groupId>
+            <artifactId>geronimo-system</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.james</groupId>
+            <artifactId>james-server-spring-deployment</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-log4j12</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.testng</groupId>
+            <artifactId>testng</artifactId>
+            <classifier>jdk15</classifier>
+        </dependency>
+        <!-- unstated transitive dependencies of james -->
+        <dependency>
+            <groupId>spice</groupId>
+            <artifactId>spice-configkit</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.james</groupId>
+            <artifactId>james-server-spoolmanager-function</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.james</groupId>
+            <artifactId>james-server-avalon-user-function</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.james</groupId>
+            <artifactId>james-server-phoenix-deployment</artifactId>
+        </dependency>
+
+
+        <dependency>
+            <groupId>org.apache.avalon.cornerstone.datasources</groupId>
+            <artifactId>cornerstone-datasources-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.avalon.cornerstone.datasources</groupId>
+            <artifactId>cornerstone-datasources-impl</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.avalon.cornerstone.sockets</groupId>
+            <artifactId>cornerstone-sockets-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.avalon.cornerstone.sockets</groupId>
+            <artifactId>cornerstone-sockets-impl</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.avalon.cornerstone.scheduler</groupId>
+            <artifactId>cornerstone-scheduler-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.avalon.cornerstone.scheduler</groupId>
+            <artifactId>cornerstone-scheduler-impl</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.avalon.cornerstone.threads</groupId>
+            <artifactId>cornerstone-threads-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.avalon.cornerstone.threads</groupId>
+            <artifactId>cornerstone-threads-impl</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>commons-lang</groupId>
+            <artifactId>commons-lang</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.geronimo.modules</groupId>
+            <artifactId>geronimo-derby</artifactId>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+</project>
\ No newline at end of file

Propchange: geronimo/plugins/james/trunk/geronimo-james/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/plugins/james/trunk/geronimo-james/pom.xml
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/plugins/james/trunk/geronimo-james/pom.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: geronimo/plugins/james/trunk/geronimo-james/src/main/java/org/apache/geronimo/plugins/james/FileSystemBridge.java
URL: http://svn.apache.org/viewvc/geronimo/plugins/james/trunk/geronimo-james/src/main/java/org/apache/geronimo/plugins/james/FileSystemBridge.java?rev=667970&view=auto
==============================================================================
--- geronimo/plugins/james/trunk/geronimo-james/src/main/java/org/apache/geronimo/plugins/james/FileSystemBridge.java (added)
+++ geronimo/plugins/james/trunk/geronimo-james/src/main/java/org/apache/geronimo/plugins/james/FileSystemBridge.java Sun Jun 15 09:33:21 2008
@@ -0,0 +1,104 @@
+/*
+ * 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.
+ */
+
+
+package org.apache.geronimo.plugins.james;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URI;
+import java.util.Collections;
+import java.util.Set;
+
+import org.apache.geronimo.gbean.AbstractName;
+import org.apache.geronimo.gbean.AbstractNameQuery;
+import org.apache.geronimo.kernel.GBeanNotFoundException;
+import org.apache.geronimo.kernel.Kernel;
+import org.apache.geronimo.kernel.KernelRegistry;
+import org.apache.geronimo.system.serverinfo.ServerInfo;
+import org.apache.james.services.FileSystem;
+
+/**
+ * @version $Rev:$ $Date:$
+ */
+public class FileSystemBridge implements FileSystem {
+
+    private static final AbstractNameQuery SERVER_INFO_QUERY = new AbstractNameQuery(null, Collections.EMPTY_MAP, ServerInfo.class.getName());
+    private final ServerInfo serverInfo;
+    private URI baseDir = URI.create("");
+    private static final String FILE = "file://";
+
+    public FileSystemBridge(ServerInfo serverInfo) {
+        this.serverInfo = serverInfo;
+    }
+
+    public FileSystemBridge() {
+        Kernel kernel = KernelRegistry.getSingleKernel();
+        Set<AbstractName> names = kernel.listGBeans(SERVER_INFO_QUERY);
+        if (names.size() != 1) {
+            throw new IllegalStateException("Wrong number of server infos found: " + names);
+        }
+        try {
+            serverInfo = (ServerInfo) kernel.getGBean(names.iterator().next());
+        } catch (GBeanNotFoundException e) {
+            throw new IllegalStateException("Could not find server info by its name", e);
+        }
+    }
+
+    public void setBaseDir(URI baseDir) {
+        this.baseDir = baseDir;
+    }
+
+    public InputStream getResource(String url) throws IOException {
+        if (url.startsWith("classpath:")) {
+            String resourceName = url.substring("classpath:".length());
+            InputStream resourceAsStream = getClass().getClassLoader().getResourceAsStream(resourceName);
+            if (resourceAsStream == null) {
+                throw new IOException("Resource '" + resourceName + "' not found in the classpath!");
+            }
+            return resourceAsStream;
+        }
+        return new FileInputStream(getFile(url));
+    }
+
+    public File getFile(String s) throws FileNotFoundException {
+        if (s.startsWith(FILE)) {
+            s = s.substring(FILE.length());
+        }
+        URI relative;
+        if (baseDir != null) {
+            relative = baseDir.resolve(s);
+        } else {
+            relative = URI.create(s);
+        }
+
+        File file = new File(serverInfo.resolveServer(relative));
+        if (!file.exists()) {
+            throw new FileNotFoundException("Could not locate file based on " + s + " at resolved location: " + file.getAbsolutePath());
+        }
+        return file;
+    }
+
+    public File getBasedir() throws FileNotFoundException {
+        return new File(serverInfo.resolveServer(baseDir));
+    }
+}

Propchange: geronimo/plugins/james/trunk/geronimo-james/src/main/java/org/apache/geronimo/plugins/james/FileSystemBridge.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/plugins/james/trunk/geronimo-james/src/main/java/org/apache/geronimo/plugins/james/FileSystemBridge.java
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/plugins/james/trunk/geronimo-james/src/main/java/org/apache/geronimo/plugins/james/FileSystemBridge.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/plugins/james/trunk/geronimo-james/src/main/java/org/apache/geronimo/plugins/james/JamesGBean.java
URL: http://svn.apache.org/viewvc/geronimo/plugins/james/trunk/geronimo-james/src/main/java/org/apache/geronimo/plugins/james/JamesGBean.java?rev=667970&view=auto
==============================================================================
--- geronimo/plugins/james/trunk/geronimo-james/src/main/java/org/apache/geronimo/plugins/james/JamesGBean.java (added)
+++ geronimo/plugins/james/trunk/geronimo-james/src/main/java/org/apache/geronimo/plugins/james/JamesGBean.java Sun Jun 15 09:33:21 2008
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+
+package org.apache.geronimo.plugins.james;
+
+import org.apache.geronimo.gbean.GBeanLifecycle;
+import org.apache.geronimo.gbean.annotation.GBean;
+import org.apache.geronimo.gbean.annotation.ParamAttribute;
+import org.apache.geronimo.gbean.annotation.ParamReference;
+import org.apache.geronimo.system.serverinfo.ServerInfo;
+import org.apache.james.container.spring.beanfactory.AvalonApplicationContext;
+import org.springframework.core.io.FileSystemResource;
+
+/**
+ * @version $Rev:$ $Date:$
+ */
+@GBean
+public class JamesGBean implements GBeanLifecycle {
+
+    private final AvalonApplicationContext jamesContext;
+
+    public JamesGBean(@ParamAttribute(name = "jamesSpringConfig")String jamesSpringConfig,
+                      @ParamAttribute(name = "jamesConfigFile")String jamesConfigFile,
+                      @ParamReference(name = "ServerInfo")ServerInfo serverInfo) {
+        FileSystemResource jamesConfigResource = new FileSystemResource(serverInfo.resolveServer(jamesConfigFile));
+        FileSystemResource jamesSpringConfigResource = new FileSystemResource(serverInfo.resolveServer(jamesSpringConfig));
+        jamesContext = new AvalonApplicationContext(jamesSpringConfigResource, jamesConfigResource);
+    }
+
+    public void doStart() throws Exception {
+    }
+
+    public void doStop() throws Exception {
+        jamesContext.close();
+    }
+
+    public void doFail() {
+        jamesContext.close();
+    }
+}

Propchange: geronimo/plugins/james/trunk/geronimo-james/src/main/java/org/apache/geronimo/plugins/james/JamesGBean.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/plugins/james/trunk/geronimo-james/src/main/java/org/apache/geronimo/plugins/james/JamesGBean.java
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/plugins/james/trunk/geronimo-james/src/main/java/org/apache/geronimo/plugins/james/JamesGBean.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/plugins/james/trunk/geronimo-james/src/test/java/org/apache/geronimo/plugins/james/JamesGBeanTest.java
URL: http://svn.apache.org/viewvc/geronimo/plugins/james/trunk/geronimo-james/src/test/java/org/apache/geronimo/plugins/james/JamesGBeanTest.java?rev=667970&view=auto
==============================================================================
--- geronimo/plugins/james/trunk/geronimo-james/src/test/java/org/apache/geronimo/plugins/james/JamesGBeanTest.java (added)
+++ geronimo/plugins/james/trunk/geronimo-james/src/test/java/org/apache/geronimo/plugins/james/JamesGBeanTest.java Sun Jun 15 09:33:21 2008
@@ -0,0 +1,49 @@
+/*
+ * 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.
+ */
+
+
+package org.apache.geronimo.plugins.james;
+
+import java.net.URL;
+
+import org.apache.geronimo.system.serverinfo.BasicServerInfo;
+import org.apache.geronimo.system.serverinfo.ServerInfo;
+import org.testng.annotations.Test;
+
+/**
+ * @version $Rev:$ $Date:$
+ */
+public class JamesGBeanTest {
+
+    @Test
+    public void testJamesGBean() throws Exception {
+        ClassLoader cl = this.getClass().getClassLoader();
+        URL configURL = cl.getResource("var/james/config/james-assembly.xml");
+        if (configURL == null) {
+            throw new Exception("Can't find config file on classpath");
+        }
+        String path = configURL.getPath();
+        path = path.substring(0, path.lastIndexOf("/"));
+        ServerInfo serverInfo = new BasicServerInfo(path);
+
+        TestFileSystemBridge.serverInfo = serverInfo;
+        JamesGBean jamesGBean = new JamesGBean("spring-beans.xml", "james-assembly.xml", serverInfo);
+        jamesGBean.doStop();
+    }
+}

Propchange: geronimo/plugins/james/trunk/geronimo-james/src/test/java/org/apache/geronimo/plugins/james/JamesGBeanTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/plugins/james/trunk/geronimo-james/src/test/java/org/apache/geronimo/plugins/james/JamesGBeanTest.java
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/plugins/james/trunk/geronimo-james/src/test/java/org/apache/geronimo/plugins/james/JamesGBeanTest.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/plugins/james/trunk/geronimo-james/src/test/java/org/apache/geronimo/plugins/james/TestFileSystemBridge.java
URL: http://svn.apache.org/viewvc/geronimo/plugins/james/trunk/geronimo-james/src/test/java/org/apache/geronimo/plugins/james/TestFileSystemBridge.java?rev=667970&view=auto
==============================================================================
--- geronimo/plugins/james/trunk/geronimo-james/src/test/java/org/apache/geronimo/plugins/james/TestFileSystemBridge.java (added)
+++ geronimo/plugins/james/trunk/geronimo-james/src/test/java/org/apache/geronimo/plugins/james/TestFileSystemBridge.java Sun Jun 15 09:33:21 2008
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+
+package org.apache.geronimo.plugins.james;
+
+import org.apache.geronimo.system.serverinfo.ServerInfo;
+
+/**
+ * @version $Rev:$ $Date:$
+ */
+public class TestFileSystemBridge extends FileSystemBridge {
+
+    static ServerInfo serverInfo;
+
+    public TestFileSystemBridge() {
+        super(serverInfo);
+    }
+    
+}

Propchange: geronimo/plugins/james/trunk/geronimo-james/src/test/java/org/apache/geronimo/plugins/james/TestFileSystemBridge.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/plugins/james/trunk/geronimo-james/src/test/java/org/apache/geronimo/plugins/james/TestFileSystemBridge.java
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/plugins/james/trunk/geronimo-james/src/test/java/org/apache/geronimo/plugins/james/TestFileSystemBridge.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/plugins/james/trunk/geronimo-james/src/test/resources/var/james/config/README
URL: http://svn.apache.org/viewvc/geronimo/plugins/james/trunk/geronimo-james/src/test/resources/var/james/config/README?rev=667970&view=auto
==============================================================================
--- geronimo/plugins/james/trunk/geronimo-james/src/test/resources/var/james/config/README (added)
+++ geronimo/plugins/james/trunk/geronimo-james/src/test/resources/var/james/config/README Sun Jun 15 09:33:21 2008
@@ -0,0 +1,2 @@
+The files in this directory are from
+https://svn.apache.org/repos/asf/james/server/trunk/spring-deployment/src/main/config/james
\ No newline at end of file

Added: geronimo/plugins/james/trunk/geronimo-james/src/test/resources/var/james/config/james-assembly.xml
URL: http://svn.apache.org/viewvc/geronimo/plugins/james/trunk/geronimo-james/src/test/resources/var/james/config/james-assembly.xml?rev=667970&view=auto
==============================================================================
--- geronimo/plugins/james/trunk/geronimo-james/src/test/resources/var/james/config/james-assembly.xml (added)
+++ geronimo/plugins/james/trunk/geronimo-james/src/test/resources/var/james/config/james-assembly.xml Sun Jun 15 09:33:21 2008
@@ -0,0 +1,343 @@
+<?xml version="1.0"?>
+<!--
+  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.                                           
+ -->
+<assembly>
+
+  <!-- The list of blocks being run in this Phoenix server. -->
+  <!-- -->
+  <!-- Each block element has a name attribute that is unique -->
+  <!-- among the blocks. It also has a class attribute that -->
+  <!-- specifies the class providing that block-->
+  <!-- -->
+  <!-- The block element may have one or more provide sub-elements. -->
+  <!-- Each provide element represents another block on which this -->
+  <!-- block depends.  Phoenix will calculate a dependency chain when it -->
+  <!-- reads this file, and will load and start the blocks in the order -->
+  <!-- specified by that chain.  Each provide element has a name attribute, -->
+  <!-- which matches the name of a block defined in this file.  It also -->
+  <!-- has a role attribute.  This attribute is the string by which the -->
+  <!-- enclosing block will identify the required block. -->
+  <!-- -->
+
+  <!-- The James block  -->
+  <block name="James" class="org.apache.james.James" >
+
+    <!-- Specify which components will provide the services required by this
+    block. The roles are specified in the code and the .xinfo file. The names
+    here must match the names specified for a Block in this xml file.   -->
+    <provide name="dnsserver" role="org.apache.james.services.DNSServer"/>
+    <provide name="mailstore" role="org.apache.avalon.cornerstone.services.store.Store"/>
+    <provide name="users-store" role="org.apache.james.services.UsersStore"/>
+    <provide name="localusersrepository" role="org.apache.james.services.UsersRepository"/>
+    <provide name="spoolrepository" role="org.apache.james.services.SpoolRepository"/>
+    <provide name="filesystem" role="org.apache.james.services.FileSystem" />
+    <provide name="domainlist" role="org.apache.james.services.DomainList" />
+    <provide name="sockets"
+             role="org.apache.avalon.cornerstone.services.sockets.SocketManager"/>
+    <provide name="scheduler"
+             role="org.apache.avalon.cornerstone.services.scheduler.TimeScheduler"/>
+    <provide name="database-connections"
+             role="org.apache.avalon.cornerstone.services.datasources.DataSourceSelector" />
+    <provide name="mailboxmanager"
+             role="org.apache.james.mailboxmanager.manager.MailboxManagerProvider" />         
+  </block>
+
+    
+  <block name="mailboxmanager" class="org.apache.james.mailboxmanager.impl.DefaultMailboxManagerProvider">
+      <provide name="filesystem" role="org.apache.james.services.FileSystem" />    
+  </block>  
+   
+  <!-- The James Spool Manager block  -->
+  <block name="spoolmanager" class="org.apache.james.transport.JamesSpoolManager" >
+    <provide name="spoolrepository" role="org.apache.james.services.SpoolRepository"/>
+    <provide name="matcherpackages" role="org.apache.james.services.MatcherLoader"/>
+    <provide name="mailetpackages" role="org.apache.james.services.MailetLoader"/>
+  </block>
+
+  <block name="matcherpackages" class="org.apache.james.transport.JamesMatcherLoader" >
+    <provide name="James" role="org.apache.mailet.MailetContext"/>
+    <provide name="filesystem" role="org.apache.james.services.FileSystem" />
+  </block>
+
+  <block name="mailetpackages" class="org.apache.james.transport.JamesMailetLoader" >
+    <provide name="James" role="org.apache.mailet.MailetContext"/>
+    <provide name="filesystem" role="org.apache.james.services.FileSystem" />
+  </block>
+
+  <block name="dnsserver" class="org.apache.james.dnsserver.DNSServer" />
+
+  <!-- The Spool Management block  -->
+  <block name="spoolmanagement" class="org.apache.james.management.SpoolManagement" >
+      <provide name="mailstore" role="org.apache.avalon.cornerstone.services.store.Store"/>
+  </block>
+  
+  <block name="processormanagement" class="org.apache.james.management.ProcessorManagement" >
+      <provide name="spoolmanager" role="org.apache.james.services.SpoolManager"/>
+  </block>
+
+  <block name="bayesiananalyzermanagement" class="org.apache.james.management.BayesianAnalyzerManagement" >
+      <provide name="database-connections"
+             role="org.apache.avalon.cornerstone.services.datasources.DataSourceSelector" />
+    <provide name="filesystem" role="org.apache.james.services.FileSystem" />
+  </block>
+
+  <block name="remotemanager" class="org.apache.james.remotemanager.RemoteManager" >
+    <provide name="mailstore" role="org.apache.avalon.cornerstone.services.store.Store"/>
+    <provide name="users-store" role="org.apache.james.services.UsersStore"/>
+    <provide name="localusersrepository" role="org.apache.james.services.UsersRepository"/>
+    <provide name="sockets"
+             role="org.apache.avalon.cornerstone.services.sockets.SocketManager"/>
+    <provide name="connections"
+             role="org.apache.james.services.JamesConnectionManager"/>
+    <provide name="James" role="org.apache.james.services.MailServer"/>
+    <provide name="thread-manager"
+             role="org.apache.avalon.cornerstone.services.threads.ThreadManager" />
+    <provide name="spoolmanagement" 
+             role="org.apache.james.services.SpoolManagementService"/>
+    <provide name="bayesiananalyzermanagement"
+             role="org.apache.james.services.BayesianAnalyzerManagementService"/>
+    <provide name="dnsserver" role="org.apache.james.services.DNSServer"/>
+    <provide name="processormanagement" role="org.apache.james.services.ProcessorManagementService"/>
+    <provide name="virtualusertablemanagement" role="org.apache.james.services.VirtualUserTableManagementService"/>
+    <provide name="domainlistmanagement" role="org.apache.james.services.DomainListManagementService"/>
+</block>
+
+  <!-- The User Management block  -->
+  <block name="usermanagement" class="org.apache.james.management.UserManagement" >
+    <provide name="localusersrepository" role="org.apache.james.services.UsersRepository"/>
+    <provide name="users-store" role="org.apache.james.services.UsersStore"/>
+  </block>
+    
+    <!-- IMAP Server -->
+  <block name="imap-connections"
+         class="org.apache.james.util.connection.SimpleConnectionManager" >
+    <provide name="thread-manager"
+             role="org.apache.avalon.cornerstone.services.threads.ThreadManager" />
+  </block>  
+    
+  <block name="imapserver" class="org.apache.james.imapserver.ImapServer" >
+    <provide name="localusersrepository" role="org.apache.james.services.UsersRepository"/>
+    <provide name="sockets"
+             role="org.apache.avalon.cornerstone.services.sockets.SocketManager"/>
+    <provide name="imap-connections"
+             role="org.apache.james.services.JamesConnectionManager"/>
+    <provide name="James" role="org.apache.james.services.MailServer"/>
+    <provide name="thread-manager"
+             role="org.apache.avalon.cornerstone.services.threads.ThreadManager" />
+    <provide name="mailboxmanager"
+             role="org.apache.james.mailboxmanager.manager.MailboxManagerProvider" />    
+    <provide name="dnsserver" role="org.apache.james.services.DNSServer"/>    
+  </block>      
+    
+  <!-- POP3 Server -->
+  <block name="pop3server" class="org.apache.james.pop3server.POP3Server" >
+    <provide name="localusersrepository" role="org.apache.james.services.UsersRepository"/>
+    <provide name="sockets"
+             role="org.apache.avalon.cornerstone.services.sockets.SocketManager"/>
+    <provide name="connections"
+             role="org.apache.james.services.JamesConnectionManager"/>
+    <provide name="James" role="org.apache.james.services.MailServer"/>
+    <provide name="thread-manager"
+             role="org.apache.avalon.cornerstone.services.threads.ThreadManager" />
+    <provide name="dnsserver" role="org.apache.james.services.DNSServer"/>
+  </block>
+
+  <!-- SMTP Server -->
+  <block name="smtpserver" class="org.apache.james.smtpserver.SMTPServer" >
+    <provide name="James" role="org.apache.mailet.MailetContext"/>
+    <provide name="localusersrepository" role="org.apache.james.services.UsersRepository"/>
+    <provide name="dnsserver" role="org.apache.james.services.DNSServer"/>
+    <provide name="sockets"
+             role="org.apache.avalon.cornerstone.services.sockets.SocketManager"/>
+    <provide name="connections"
+             role="org.apache.james.services.JamesConnectionManager"/>
+    <provide name="James" role="org.apache.james.services.MailServer"/>
+    <provide name="thread-manager"
+             role="org.apache.avalon.cornerstone.services.threads.ThreadManager" />
+    <provide name="database-connections"
+             role="org.apache.avalon.cornerstone.services.datasources.DataSourceSelector" />
+    <provide name="filesystem" role="org.apache.james.services.FileSystem" />
+    <provide name="defaultvirtualusertable"
+             role="org.apache.james.services.VirtualUserTable" />
+  </block>
+
+  <!-- NNTP Server -->
+  <block name="nntpserver" class="org.apache.james.nntpserver.NNTPServer" >
+    <provide name="localusersrepository" role="org.apache.james.services.UsersRepository"/>
+    <provide name="sockets"
+             role="org.apache.avalon.cornerstone.services.sockets.SocketManager"/>
+    <provide name="connections"
+             role="org.apache.james.services.JamesConnectionManager"/>
+    <provide name="nntp-repository"
+             role="org.apache.james.nntpserver.repository.NNTPRepository"/>
+    <provide name="thread-manager"
+             role="org.apache.avalon.cornerstone.services.threads.ThreadManager" />
+    <provide name="dnsserver" role="org.apache.james.services.DNSServer"/>
+    <provide name="James" role="org.apache.james.services.MailServer"/>
+  </block>
+
+  <!-- NNTP Repository -->
+  <block name="nntp-repository" class="org.apache.james.nntpserver.repository.NNTPRepositoryImpl">
+    <provide name="filesystem" role="org.apache.james.services.FileSystem" />
+  </block>
+
+  <!-- FetchMail Service -->
+  <block name="fetchmail" class="org.apache.james.fetchmail.FetchScheduler" >
+    <provide name="scheduler"
+             role="org.apache.avalon.cornerstone.services.scheduler.TimeScheduler"/> 
+    <provide name="James" role="org.apache.james.services.MailServer"/>      
+    <provide name="localusersrepository" role="org.apache.james.services.UsersRepository"/>
+    <provide name="dnsserver" role="org.apache.james.services.DNSServer"/>
+  </block>
+  
+  <!-- JMS Service 
+  EXPERIMENTAL JMS Service: uncomment before use
+  <block name="jms" class="org.apache.james.phoenix.jms.activemq.JMSService" >
+    <provide name="James" role="org.apache.james.services.MailServer"/>   
+  </block>
+  -->
+
+  <!-- The High Level Storage block -->
+    
+  <block name="mailstore" class="org.apache.james.core.AvalonMailStore" >
+    <provide name="database-connections"
+             role="org.apache.avalon.cornerstone.services.datasources.DataSourceSelector" />
+    <provide name="filesystem" role="org.apache.james.services.FileSystem" />     
+  </block>  
+        
+  <!-- The main SpoolRepository -->
+  <block name="spoolrepository" class="org.apache.james.mailrepository.MailStoreSpoolRepository" >
+    <provide name="mailstore"
+             role="org.apache.avalon.cornerstone.services.store.Store" />
+  </block>
+
+  <!-- The User Storage block -->
+  <block name="users-store" class="org.apache.james.core.AvalonUsersStore" >
+    <!-- Configure file based user store here, defaults should be fine -->
+    <provide name="mailstore"
+             role="org.apache.avalon.cornerstone.services.store.Store"/>
+    <provide name="database-connections"
+             role="org.apache.avalon.cornerstone.services.datasources.DataSourceSelector" />
+    <provide name="filesystem" role="org.apache.james.services.FileSystem" />
+  </block>
+
+  <!-- This is needed to link the smtpserver to the local user repository -->
+  <!-- LocalJamesUsersRepository is used for backward compatibility with James 2.3.0 -->
+  <!-- This is needed to support <usernames> configuraion inside James -->
+  <!-- If backward compatibility is not need the LocalUsersRepository implementaion -->
+  <!-- could be safely used -->
+  <block name="localusersrepository" class="org.apache.james.core.LocalJamesUsersRepository">
+    <provide name="users-store"
+             role="org.apache.james.services.UsersStore"/>
+  </block>
+
+  <!-- The context FileSystem implementation -->
+  <block name="filesystem" class="org.apache.james.context.AvalonFileSystem">
+  </block>
+  
+  <!-- The VirtualUserTable Management block  -->
+  <block name="virtualusertablemanagement" class="org.apache.james.management.VirtualUserTableManagement" >
+    <provide name="virtualusertable-store" role="org.apache.james.services.VirtualUserTableStore"/>
+    <provide name="defaultvirtualusertable" role="org.apache.james.services.VirtualUserTableManagement" />
+  </block>
+  
+  <!-- VirtualUserTable Store -->
+  <block name="virtualusertable-store" class="org.apache.james.core.AvalonVirtualUserTableStore">
+    <provide name="database-connections"
+             role="org.apache.avalon.cornerstone.services.datasources.DataSourceSelector"/>
+    <provide name="filesystem" role="org.apache.james.services.FileSystem"/>
+    <provide name="dnsserver" role="org.apache.james.services.DNSServer"/>
+  </block>
+  
+  <block name="defaultvirtualusertable" class="org.apache.james.core.DefaultVirtualUserTable">
+    <provide name="virtualusertable-store"
+             role="org.apache.james.services.VirtualUserTableStore"/>
+  </block>
+  
+  
+  <!-- ######################################################################## -->
+  <!-- The context domainlist implementation -->
+  <block name="domainlist" class="org.apache.james.domain.XMLDomainList">
+      <provide name="dnsserver" role="org.apache.james.services.DNSServer"/>
+  </block>
+  
+  <!--  JDBC implementation of the domainlist service-->
+  <!--
+  <block name="domainlist" class="org.apache.james.domain.JDBCDomainList">
+      <provide name="database-connections"
+             role="org.apache.avalon.cornerstone.services.datasources.DataSourceSelector"/>
+      <provide name="filesystem" role="org.apache.james.services.FileSystem"/>
+      <provide name="dnsserver" role="org.apache.james.services.DNSServer"/>
+  </block>
+  -->
+  
+  <!-- JDBC VirtualUserTable implementation of the domainlist service -->
+  <!--
+  <block name="domainlist" class="org.apache.james.vut.JDBCVirtualUserTable">
+    <provide name="database-connections"
+             role="org.apache.avalon.cornerstone.services.datasources.DataSourceSelector"/>
+    <provide name="filesystem" role="org.apache.james.services.FileSystem"/>
+    <provide name="dnsserver" role="org.apache.james.services.DNSServer"/>
+  </block>
+  -->
+  
+  <!-- XML VirtualUserTable implementation of the domainlist service -->
+  <!--
+  <block name="domainlist" class="org.apache.james.vut.XMLVirtualUserTable">
+      <provide name="dnsserver" role="org.apache.james.services.DNSServer"/>
+  </block>
+  -->
+  <!-- #################################################################### -->
+  
+  <block name="domainlistmanagement" class="org.apache.james.management.DomainListManagement">
+    <provide name="domainlist"
+             role="org.apache.james.services.DomainList"/>
+  </block>
+  
+  <!-- Configuration for Cornerstone Blocks only after here
+       NOTHING BELOW THIS SHOULD NEED CHANGING,
+       (unless you want secure sockets (TLS)) -->
+
+  <!-- The Connection Manager block -->
+  <block name="connections"
+         class="org.apache.james.util.connection.SimpleConnectionManager" >
+    <provide name="thread-manager"
+             role="org.apache.avalon.cornerstone.services.threads.ThreadManager" />
+  </block>
+
+  <!-- The Socket Manager block -->
+  <block name="sockets"
+         class="org.apache.avalon.cornerstone.blocks.sockets.DefaultSocketManager"/>
+
+  <!-- The Time Scheduler block -->
+  <block name="scheduler"
+         class="org.apache.avalon.cornerstone.blocks.scheduler.DefaultTimeScheduler" >
+    <provide name="thread-manager"
+             role="org.apache.avalon.cornerstone.services.threads.ThreadManager" />
+  </block>
+
+  <!-- The DataSourceSelector block -->
+  <block name="database-connections"
+         class="org.apache.avalon.cornerstone.blocks.datasources.DefaultDataSourceSelector" />
+
+  <!-- The ThreadManager block -->
+  <block name="thread-manager"
+         class="org.apache.avalon.cornerstone.blocks.threads.DefaultThreadManager" />
+
+</assembly>

Propchange: geronimo/plugins/james/trunk/geronimo-james/src/test/resources/var/james/config/james-assembly.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/plugins/james/trunk/geronimo-james/src/test/resources/var/james/config/james-assembly.xml
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/plugins/james/trunk/geronimo-james/src/test/resources/var/james/config/james-assembly.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml