[jboss-svn-commits] JBL Code SVN: r7184 - in labs/jbossesb/trunk: product/core/rosetta/src/org/jboss/internal/soa/esb/persistence/format product/core/rosetta/src/org/jboss/soa/esb product/core/rosetta/src/org/jboss/soa/esb/services product/core/rosetta/src/org/jboss/soa/esb/services/persistence product/core/rosetta/tests/src/org/jboss/soa/esb/esb/persistence product/core/services/src/org/jboss product/core/services/src/org/jboss/internal product/core/services/src/org/jboss/internal/soa product/core/services/src/org/jboss/internal/soa/esb product/core/services/tests/src/org/jboss/soa/esb product/core/services/tests/src/org/jboss/soa/esb/esb product/core/services/tests/src/org/jboss/soa/esb/esb/persistence product/core/services/tests/src/org/jboss/soa/esb/esb/persistence/tests product/etc/test/resources qa/junit/src/org/jboss/soa/esb/messagestore qa/junit/src/org/jboss/soa/esb/util
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Oct 27 23:09:48 EDT 2006
Author: daniel.brum at jboss.com
Date: 2006-10-27 23:09:38 -0400 (Fri, 27 Oct 2006)
New Revision: 7184
Added:
labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/soa/esb/services/persistence/
labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/soa/esb/services/persistence/MessageStore.java
labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/soa/esb/services/persistence/MessageStoreFactory.java
labs/jbossesb/trunk/product/core/services/src/org/jboss/internal/
labs/jbossesb/trunk/product/core/services/src/org/jboss/internal/soa/
labs/jbossesb/trunk/product/core/services/src/org/jboss/internal/soa/esb/
labs/jbossesb/trunk/product/core/services/src/org/jboss/internal/soa/esb/persistence/
labs/jbossesb/trunk/product/core/services/tests/src/org/jboss/soa/esb/esb/
labs/jbossesb/trunk/product/core/services/tests/src/org/jboss/soa/esb/esb/persistence/
labs/jbossesb/trunk/product/core/services/tests/src/org/jboss/soa/esb/esb/persistence/tests/
Removed:
labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/persistence/format/MessageStoreFactoryImpl.java
labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/persistence/format/db/
labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/soa/esb/persistence/
labs/jbossesb/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/esb/persistence/tests/
Modified:
labs/jbossesb/trunk/product/core/services/tests/src/org/jboss/soa/esb/esb/persistence/tests/MessageStoreUnitTest.java
labs/jbossesb/trunk/product/etc/test/resources/jbossesb-unittest-properties.xml
labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/messagestore/MessageStoreClient.java
labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/messagestore/MessageStoreTest.java
labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/messagestore/MessageStore_brokentest.java
labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/util/FileUtils.java
Log:
Deleted: labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/persistence/format/MessageStoreFactoryImpl.java
===================================================================
--- labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/persistence/format/MessageStoreFactoryImpl.java 2006-10-27 19:37:54 UTC (rev 7183)
+++ labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/persistence/format/MessageStoreFactoryImpl.java 2006-10-28 03:09:38 UTC (rev 7184)
@@ -1,113 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA 02110-1301, USA.
- *
- * (C) 2005-2006,
- * @author daniel.brum at jboss.com
- */
-
-
-package org.jboss.internal.soa.esb.persistence.format;
-
-import java.net.URI;
-import java.util.Enumeration;
-import java.util.Hashtable;
-import java.util.Properties;
-
-
-import org.jboss.internal.soa.esb.persistence.format.db.DBMessageStorePlugin;
-import org.jboss.soa.esb.persistence.MessageStore;
-import org.jboss.soa.esb.persistence.MessageStoreFactory;
-import org.jboss.soa.esb.persistence.format.MessageStorePlugin;
-import org.jboss.soa.esb.persistence.format.MessageStoreType;
-
-public class MessageStoreFactoryImpl extends MessageStoreFactory {
-
- private final Hashtable<URI, MessageStorePlugin> messageStoreFormats = new Hashtable<URI, MessageStorePlugin>();
-
-
- public MessageStoreFactoryImpl() {
- reset();
- }
-
- public MessageStore getMessageStore() {
- return ((MessageStorePlugin) messageStoreFormats.get(MessageStoreType.DEFAULT_TYPE)).getMessageStore();
- }
-
- public MessageStore getMessageStore(URI type) {
- if (type == null)
- throw new IllegalArgumentException();
-
- MessageStorePlugin plugin = messageStoreFormats.get(type);
-
- if (plugin != null)
- return plugin.getMessageStore();
- else
- return null;
- }
-
- public void reset ()
- {
- messageStoreFormats.clear();
- /*
- * Go through the properties loaded from the property file. Anything
- * starting with MessageStorePlugin.MESSAGE_STORE_PLUGIN is assumed to be a plugin
- * that we load and add to the list.
- */
-
- Properties properties = System.getProperties();
-
- if (properties != null)
- {
- Enumeration names = properties.propertyNames();
-
- while (names.hasMoreElements())
- {
- String attrName = (String) names.nextElement();
-
- if (attrName.startsWith(MessageStorePlugin. MESSAGE_STORE_PLUGIN))
- {
- try
- {
- String pluginName = properties.getProperty(attrName);
- Class c = Class.forName(pluginName);
- MessageStorePlugin thePlugin = (MessageStorePlugin) c.newInstance();
-
- messageStoreFormats.put(thePlugin.getType(), thePlugin);
- }
- catch (ClassNotFoundException ex)
- {
- ex.printStackTrace();
- }
- catch (IllegalAccessException ex)
- {
- ex.printStackTrace();
- }
- catch (InstantiationException ex)
- {
- ex.printStackTrace();
- }
- }
- }
- }
-
- /*
- * Now add the default(s).
- */
- messageStoreFormats.put(MessageStoreType.DATABASE, new DBMessageStorePlugin());
- }
-
-}
Added: labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/soa/esb/services/persistence/MessageStore.java
===================================================================
--- labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/soa/esb/services/persistence/MessageStore.java 2006-10-27 19:37:54 UTC (rev 7183)
+++ labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/soa/esb/services/persistence/MessageStore.java 2006-10-28 03:09:38 UTC (rev 7184)
@@ -0,0 +1,15 @@
+package org.jboss.soa.esb.services.persistence;
+
+
+import java.net.URI;
+
+import org.jboss.soa.esb.message.Message;
+
+
+
+public interface MessageStore {
+
+ public URI addMessage(Message message);
+ public Message getMessage(URI uid) throws Exception;
+
+}
Added: labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/soa/esb/services/persistence/MessageStoreFactory.java
===================================================================
--- labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/soa/esb/services/persistence/MessageStoreFactory.java 2006-10-27 19:37:54 UTC (rev 7183)
+++ labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/soa/esb/services/persistence/MessageStoreFactory.java 2006-10-28 03:09:38 UTC (rev 7184)
@@ -0,0 +1,59 @@
+package org.jboss.soa.esb.services.persistence;
+
+
+
+import java.lang.reflect.Constructor;
+import java.net.URI;
+
+
+
+
+ at SuppressWarnings("unchecked")
+public abstract class MessageStoreFactory {
+
+ private static MessageStoreFactory theFactory;
+
+ static
+ {
+
+ try {
+ Class cls = Class.forName("org.jboss.internal.soa.esb.persistence.format.MessageStoreFactoryImpl");
+ Constructor<MessageStoreFactory> c = cls.getConstructor(new Class[]{});
+ theFactory = c.newInstance(new Object[]{});
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+
+ }
+
+
+ /**
+ * @return a default implementation.
+ */
+
+ public abstract MessageStore getMessageStore ();
+
+ /**
+ * @param type the unique identifier representing the type of this MessageStore.
+ * @return the MessageStore, or <code>null</code> if no suitable store is available.
+ */
+
+ public abstract MessageStore getMessageStore (URI type);
+
+
+ public static MessageStoreFactory getInstance ()
+ {
+ return theFactory;
+ }
+
+ /**
+ * Reload the plugins.
+ */
+
+ public abstract void reset ();
+
+
+
+
+}
Copied: labs/jbossesb/trunk/product/core/services/tests/src/org/jboss/soa/esb/esb/persistence/tests (from rev 7183, labs/jbossesb/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/esb/persistence/tests)
Modified: labs/jbossesb/trunk/product/core/services/tests/src/org/jboss/soa/esb/esb/persistence/tests/MessageStoreUnitTest.java
===================================================================
--- labs/jbossesb/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/esb/persistence/tests/MessageStoreUnitTest.java 2006-10-27 19:37:54 UTC (rev 7183)
+++ labs/jbossesb/trunk/product/core/services/tests/src/org/jboss/soa/esb/esb/persistence/tests/MessageStoreUnitTest.java 2006-10-28 03:09:38 UTC (rev 7184)
@@ -27,20 +27,26 @@
*
*/
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileReader;
+import java.io.IOException;
import java.net.URI;
+import java.sql.Connection;
+import java.sql.Statement;
import junit.framework.TestCase;
-import org.jboss.internal.soa.esb.persistence.format.db.DBConnectionManagerDBCP;
+import org.jboss.internal.soa.esb.persistence.format.MessageStoreType;
+import org.jboss.internal.soa.esb.persistence.format.db.DBConnectionManager;
import org.jboss.soa.esb.common.Configuration;
import org.jboss.soa.esb.common.tests.HsqldbUtil;
import org.jboss.soa.esb.common.tests.TestUtil;
import org.jboss.soa.esb.message.Message;
import org.jboss.soa.esb.message.format.MessageFactory;
import org.jboss.soa.esb.message.format.MessageType;
-import org.jboss.soa.esb.persistence.MessageStore;
-import org.jboss.soa.esb.persistence.MessageStoreFactory;
-import org.jboss.soa.esb.persistence.format.MessageStoreType;
+import org.jboss.soa.esb.services.persistence.MessageStore;
+import org.jboss.soa.esb.services.persistence.MessageStoreFactory;
import org.junit.Test;
@@ -129,7 +135,7 @@
MessageStoreUnitTest.runBeforeAllTests();
MessageStore store = MessageStoreFactory.getInstance().getMessageStore(MessageStoreType.DATABASE);
assertEquals((store != null), true);
- DBConnectionManagerDBCP mgr = DBConnectionManagerDBCP.getInstance();
+ DBConnectionManager mgr = DBConnectionManager.getInstance();
assertEquals((mgr != null), true);
MessageStoreUnitTest.runAfterAllTests();
}
@@ -139,20 +145,58 @@
TestUtil.setESBPropertiesFileToUse();
try {
if (Configuration.getStoreDriver().equals("org.hsqldb.jdbcDriver")) {
- HsqldbUtil.startHsqldb(TestUtil.getPrefix() + "create_database.sql", "jbossesb");
+ HsqldbUtil.startHsqldb(TestUtil.getPrefix() + "build/hsqltestdb", "jbossesb");
+ //Get the registry-schema create scripts
+ String database = "hsqldb";
+ String sqlDir = TestUtil.getPrefix() + "install/message-store/sql/" + database + "/";
+ //Drop what is there now, if exists. We want to start fresh.
+ String sqlCreateCmd = MessageStoreUnitTest.readTextFile(new File(sqlDir + "create_database.sql"));
+ String sqlDropCmd = MessageStoreUnitTest.readTextFile(new File(sqlDir + "drop_database.sql"));
+
+ DBConnectionManager mgr = DBConnectionManager.getInstance();
+ Connection con = mgr.getConnection();
+ Statement stmnt = con.createStatement();
+ System.out.println("Dropping the schema if exist");
+ stmnt.execute(sqlDropCmd);
+ System.out.println("Creating the message store schema");
+ stmnt.execute(sqlCreateCmd);
}
} catch (Exception e) { //
e.printStackTrace();
+ System.out.println("We should stop testing, since we don't have a db.");
+ assertTrue(false);
}
}
private static void runAfterAllTests() {
- try {
- HsqldbUtil.stopHsqldb(Configuration.getStoreUrl(),
+ try {
+ if (Configuration.getStoreDriver().equals("org.hsqldb.jdbcDriver"))
+ HsqldbUtil.stopHsqldb(Configuration.getStoreUrl(),
Configuration.getStoreUser(),Configuration.getStorePwd() );
} catch (Exception e) { //
e.printStackTrace();
}
- }
+ }
+
+ /**
+ * Read the file into a String.
+ * @param file - the file to be read
+ * @return String with the content of the file
+ * @throws IOException - when we can't read the file
+ */
+ public static String readTextFile(File file) throws IOException
+ {
+ StringBuffer sb = new StringBuffer(1024);
+ BufferedReader reader = new BufferedReader(new FileReader(file.getPath()));
+ char[] chars = new char[1];
+ while( (reader.read(chars)) > -1){
+ sb.append(String.valueOf(chars));
+ chars = new char[1];
+ }
+ reader.close();
+ return sb.toString();
+ }
+
+
}
Modified: labs/jbossesb/trunk/product/etc/test/resources/jbossesb-unittest-properties.xml
===================================================================
--- labs/jbossesb/trunk/product/etc/test/resources/jbossesb-unittest-properties.xml 2006-10-27 19:37:54 UTC (rev 7183)
+++ labs/jbossesb/trunk/product/etc/test/resources/jbossesb-unittest-properties.xml 2006-10-28 03:09:38 UTC (rev 7184)
@@ -58,11 +58,19 @@
<property name="abandoned-connection-time-interval" value="30000"/>
</properties>
<properties name="dbstore">
- <property name="org.jboss.soa.esb.persistence.db.connection.url" value="jdbc:hsqldb:hsql://localhost:9001/jbossesb"/>
- <property name="org.jboss.soa.esb.persistence.db.jdbc.driver" value="org.hsqldb.jdbcDriver"/>
- <property name="org.jboss.soa.esb.persistence.db.user" value="sa"/>
- <property name="org.jboss.soa.esb.persistence.db.pwd" value=""/>
- <property name="org.jboss.soa.esb.persistence.db.pool.validate.sql" value="select count(*) from message"/>
- <property name="org.jboss.soa.esb.persistence.db.pool.size" value="5"/>
+ <property name="org.jboss.soa.esb.persistence.db.connection.url" value="jdbc:postgresql://localhost:5432/jbossesb"/>
+ <!-- Hypersonic: value="jdbc:hsqldb:hsql://localhost:1701" -->
+ <property name="org.jboss.soa.esb.persistence.db.jdbc.driver" value="org.postgresql.Driver"/>
+ <!-- Hypersonic: value="org.hsqldb.jdbcDriver" -->
+ <property name="org.jboss.soa.esb.persistence.db.user" value="postgres"/>
+ <property name="org.jboss.soa.esb.persistence.db.pwd" value="postgres"/>
+ <property name="org.jboss.soa.esb.persistence.db.pool.initial.size" value="2"/>
+ <property name="org.jboss.soa.esb.persistence.db.pool.min.size" value="2"/>
+ <property name="org.jboss.soa.esb.persistence.db.pool.max.size" value="5"/>
+ <!--table managed by pool to test for valid connections - created by pool automatically -->
+ <property name="org.jboss.soa.esb.persistence.db.pool.test.table" value="pooltest"/>
+ <!-- # of milliseconds to timeout waiting for a connection from pool -->
+ <property name="org.jboss.soa.esb.persistence.db.pool.timeout.millis" value="5000"/>
+
</properties>
</esb>
Modified: labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/messagestore/MessageStoreClient.java
===================================================================
--- labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/messagestore/MessageStoreClient.java 2006-10-27 19:37:54 UTC (rev 7183)
+++ labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/messagestore/MessageStoreClient.java 2006-10-28 03:09:38 UTC (rev 7184)
@@ -26,12 +26,12 @@
import java.util.Vector;
import org.apache.log4j.Logger;
+import org.jboss.internal.soa.esb.persistence.format.MessageStoreType;
import org.jboss.soa.esb.message.Message;
import org.jboss.soa.esb.message.format.MessageFactory;
import org.jboss.soa.esb.message.format.MessageType;
-import org.jboss.soa.esb.persistence.MessageStore;
-import org.jboss.soa.esb.persistence.MessageStoreFactory;
-import org.jboss.soa.esb.persistence.format.MessageStoreType;
+import org.jboss.soa.esb.services.persistence.MessageStore;
+import org.jboss.soa.esb.services.persistence.MessageStoreFactory;
Modified: labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/messagestore/MessageStoreTest.java
===================================================================
--- labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/messagestore/MessageStoreTest.java 2006-10-27 19:37:54 UTC (rev 7183)
+++ labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/messagestore/MessageStoreTest.java 2006-10-28 03:09:38 UTC (rev 7184)
@@ -32,14 +32,14 @@
import junit.framework.TestCase;
import org.apache.log4j.Logger;
+import org.jboss.internal.soa.esb.persistence.format.MessageStoreType;
import org.jboss.internal.soa.esb.persistence.format.db.DBConnectionManager;
import org.jboss.soa.esb.common.Configuration;
import org.jboss.soa.esb.message.Message;
import org.jboss.soa.esb.message.format.MessageFactory;
import org.jboss.soa.esb.message.format.MessageType;
-import org.jboss.soa.esb.persistence.MessageStore;
-import org.jboss.soa.esb.persistence.MessageStoreFactory;
-import org.jboss.soa.esb.persistence.format.MessageStoreType;
+import org.jboss.soa.esb.services.persistence.MessageStore;
+import org.jboss.soa.esb.services.persistence.MessageStoreFactory;
/**
* @author dbrum
Modified: labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/messagestore/MessageStore_brokentest.java
===================================================================
--- labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/messagestore/MessageStore_brokentest.java 2006-10-27 19:37:54 UTC (rev 7183)
+++ labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/messagestore/MessageStore_brokentest.java 2006-10-28 03:09:38 UTC (rev 7184)
@@ -27,13 +27,13 @@
import java.util.Random;
import org.apache.log4j.Logger;
+import org.jboss.internal.soa.esb.persistence.format.MessageStoreType;
import org.jboss.soa.esb.common.Configuration;
import org.jboss.soa.esb.message.Message;
import org.jboss.soa.esb.message.format.MessageFactory;
import org.jboss.soa.esb.message.format.MessageType;
-import org.jboss.soa.esb.persistence.MessageStore;
-import org.jboss.soa.esb.persistence.MessageStoreFactory;
-import org.jboss.soa.esb.persistence.format.MessageStoreType;
+import org.jboss.soa.esb.services.persistence.MessageStore;
+import org.jboss.soa.esb.services.persistence.MessageStoreFactory;
import junit.framework.TestCase;
Modified: labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/util/FileUtils.java
===================================================================
--- labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/util/FileUtils.java 2006-10-27 19:37:54 UTC (rev 7183)
+++ labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/util/FileUtils.java 2006-10-28 03:09:38 UTC (rev 7184)
@@ -21,9 +21,11 @@
*/
package org.jboss.soa.esb.util;
+import java.io.BufferedReader;
import java.io.File;
import java.io.FileFilter;
import java.io.FileOutputStream;
+import java.io.FileReader;
import java.io.IOException;
import java.util.regex.Pattern;
@@ -214,4 +216,23 @@
}
TestCaseUtils.logAndFail("File [" + file.getAbsolutePath() + "] can't be deleted - a handle on it (or one of its children) may be open. Waited " + maxWait + "ms", logger, new Exception());
}
+
+ /**
+ * Read the file into a String.
+ * @param file - the file to be read
+ * @return String with the content of the file
+ * @throws IOException - when we can't read the file
+ */
+ public static String readTextFile(File file) throws IOException
+ {
+ StringBuffer sb = new StringBuffer(1024);
+ BufferedReader reader = new BufferedReader(new FileReader(file.getPath()));
+ char[] chars = new char[1];
+ while( (reader.read(chars)) > -1){
+ sb.append(String.valueOf(chars));
+ chars = new char[1];
+ }
+ reader.close();
+ return sb.toString();
+ }
}
More information about the jboss-svn-commits
mailing list