You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by rd...@apache.org on 2011/04/26 13:07:08 UTC
svn commit: r1096723 - in
/james/mailet/ai/trunk/classic/src/main/java/org/apache/james/ai/classic:
BayesianAnalysis.java BayesianAnalysisFeeder.java JDBCBayesianAnalyzer.java
SystemContext.java
Author: rdonkin
Date: Tue Apr 26 11:07:07 2011
New Revision: 1096723
URL: http://svn.apache.org/viewvc?rev=1096723&view=rev
Log:
JAMES-1228 Decouple FileSystem dependency using mediary interface.
Added:
james/mailet/ai/trunk/classic/src/main/java/org/apache/james/ai/classic/SystemContext.java (with props)
Modified:
james/mailet/ai/trunk/classic/src/main/java/org/apache/james/ai/classic/BayesianAnalysis.java
james/mailet/ai/trunk/classic/src/main/java/org/apache/james/ai/classic/BayesianAnalysisFeeder.java
james/mailet/ai/trunk/classic/src/main/java/org/apache/james/ai/classic/JDBCBayesianAnalyzer.java
Modified: james/mailet/ai/trunk/classic/src/main/java/org/apache/james/ai/classic/BayesianAnalysis.java
URL: http://svn.apache.org/viewvc/james/mailet/ai/trunk/classic/src/main/java/org/apache/james/ai/classic/BayesianAnalysis.java?rev=1096723&r1=1096722&r2=1096723&view=diff
==============================================================================
--- james/mailet/ai/trunk/classic/src/main/java/org/apache/james/ai/classic/BayesianAnalysis.java (original)
+++ james/mailet/ai/trunk/classic/src/main/java/org/apache/james/ai/classic/BayesianAnalysis.java Tue Apr 26 11:07:07 2011
@@ -32,7 +32,6 @@ import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import javax.sql.DataSource;
-import org.apache.james.filesystem.api.FileSystem;
import org.apache.mailet.Mail;
import org.apache.mailet.MailAddress;
import org.apache.mailet.base.GenericMailet;
@@ -169,7 +168,7 @@ public class BayesianAnalysis extends Ge
*/
private long lastCorpusLoadTime;
- private FileSystem fs;
+ private SystemContext fs;
/**
* Getter for property maxSize.
@@ -208,7 +207,7 @@ public class BayesianAnalysis extends Ge
}
@Resource(name = "filesystem")
- public void setFileSystem(FileSystem fs) {
+ public void setFileSystem(SystemContext fs) {
this.fs = fs;
}
@@ -265,7 +264,7 @@ public class BayesianAnalysis extends Ge
private void initDb() throws MessagingException {
try {
- analyzer.initSqlQueries(datasource.getConnection(), fs.getFile("file://conf/sqlResources.xml"));
+ analyzer.initSqlQueries(datasource.getConnection(), fs.readXml("sqlResources.xml"));
} catch (Exception e) {
throw new MessagingException("Exception initializing queries", e);
}
Modified: james/mailet/ai/trunk/classic/src/main/java/org/apache/james/ai/classic/BayesianAnalysisFeeder.java
URL: http://svn.apache.org/viewvc/james/mailet/ai/trunk/classic/src/main/java/org/apache/james/ai/classic/BayesianAnalysisFeeder.java?rev=1096723&r1=1096722&r2=1096723&view=diff
==============================================================================
--- james/mailet/ai/trunk/classic/src/main/java/org/apache/james/ai/classic/BayesianAnalysisFeeder.java (original)
+++ james/mailet/ai/trunk/classic/src/main/java/org/apache/james/ai/classic/BayesianAnalysisFeeder.java Tue Apr 26 11:07:07 2011
@@ -31,7 +31,6 @@ import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import javax.sql.DataSource;
-import org.apache.james.filesystem.api.FileSystem;
import org.apache.mailet.Mail;
import org.apache.mailet.base.GenericMailet;
@@ -163,7 +162,7 @@ public class BayesianAnalysisFeeder exte
*/
private int maxSize = 100000;
- private FileSystem fs;
+ private SystemContext fs;
/**
* Getter for property maxSize.
@@ -192,7 +191,7 @@ public class BayesianAnalysisFeeder exte
}
@Resource(name = "filesystem")
- public void setFileSystem(FileSystem fs) {
+ public void setFileSystem(SystemContext fs) {
this.fs = fs;
}
@@ -227,7 +226,7 @@ public class BayesianAnalysisFeeder exte
private void initDb() throws MessagingException {
try {
- analyzer.initSqlQueries(datasource.getConnection(), fs.getFile("file://conf/sqlResources.xml"));
+ analyzer.initSqlQueries(datasource.getConnection(), fs.readXml("sqlResources.xml"));
} catch (Exception e) {
throw new MessagingException("Exception initializing queries", e);
}
Modified: james/mailet/ai/trunk/classic/src/main/java/org/apache/james/ai/classic/JDBCBayesianAnalyzer.java
URL: http://svn.apache.org/viewvc/james/mailet/ai/trunk/classic/src/main/java/org/apache/james/ai/classic/JDBCBayesianAnalyzer.java?rev=1096723&r1=1096722&r2=1096723&view=diff
==============================================================================
--- james/mailet/ai/trunk/classic/src/main/java/org/apache/james/ai/classic/JDBCBayesianAnalyzer.java (original)
+++ james/mailet/ai/trunk/classic/src/main/java/org/apache/james/ai/classic/JDBCBayesianAnalyzer.java Tue Apr 26 11:07:07 2011
@@ -20,16 +20,15 @@
package org.apache.james.ai.classic;
-import java.util.HashMap;
-import java.util.Map;
-
-import java.io.File;
-
import java.sql.Connection;
+import java.sql.DatabaseMetaData;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
-import java.sql.DatabaseMetaData;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.w3c.dom.Document;
/**
* Manages the persistence of the spam bayesian analysis corpus using a JDBC
@@ -358,13 +357,13 @@ abstract public class JDBCBayesianAnalyz
* @throws Exception
* If any error occurs
*/
- public void initSqlQueries(Connection conn, File sqlFile) throws Exception {
+ public void initSqlQueries(Connection conn, Document sqlConfiguration) throws Exception {
try {
if (conn.getAutoCommit()) {
conn.setAutoCommit(false);
}
- sqlQueries.init(sqlFile, JDBCBayesianAnalyzer.class.getName(), conn, getSqlParameters());
+ sqlQueries.init(sqlConfiguration, JDBCBayesianAnalyzer.class.getName(), conn, getSqlParameters());
checkTables(conn);
} finally {
Added: james/mailet/ai/trunk/classic/src/main/java/org/apache/james/ai/classic/SystemContext.java
URL: http://svn.apache.org/viewvc/james/mailet/ai/trunk/classic/src/main/java/org/apache/james/ai/classic/SystemContext.java?rev=1096723&view=auto
==============================================================================
--- james/mailet/ai/trunk/classic/src/main/java/org/apache/james/ai/classic/SystemContext.java (added)
+++ james/mailet/ai/trunk/classic/src/main/java/org/apache/james/ai/classic/SystemContext.java Tue Apr 26 11:07:07 2011
@@ -0,0 +1,32 @@
+/****************************************************************
+ * 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.james.ai.classic;
+
+import java.io.IOException;
+
+import org.w3c.dom.Document;
+
+/**
+ * Lightweight, read only filesystem access.
+ */
+public interface SystemContext {
+
+ public Document readXml(final String name) throws IOException;
+}
Propchange: james/mailet/ai/trunk/classic/src/main/java/org/apache/james/ai/classic/SystemContext.java
------------------------------------------------------------------------------
svn:eol-style = native
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org