You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@wookie.apache.org by sc...@apache.org on 2010/08/23 11:46:43 UTC

svn commit: r988048 [5/6] - in /incubator/wookie/trunk: ./ WebContent/WEB-INF/ WebContent/admin/ WebContent/deploy/ WebContent/webmenu/ WebContent/wservices/notsupported/ WebContent/wservices/notsupported/locales/ WebContent/wservices/notsupported/loca...

Modified: incubator/wookie/trunk/src/org/apache/wookie/server/MainFilter.java
URL: http://svn.apache.org/viewvc/incubator/wookie/trunk/src/org/apache/wookie/server/MainFilter.java?rev=988048&r1=988047&r2=988048&view=diff
==============================================================================
--- incubator/wookie/trunk/src/org/apache/wookie/server/MainFilter.java (original)
+++ incubator/wookie/trunk/src/org/apache/wookie/server/MainFilter.java Mon Aug 23 09:46:30 2010
@@ -23,8 +23,9 @@ import javax.servlet.ServletException;
 import javax.servlet.ServletRequest;
 import javax.servlet.ServletResponse;
 
-import org.apache.wookie.util.hibernate.DBManagerFactory;
-import org.apache.wookie.util.hibernate.IDBManager;
+import org.apache.wookie.beans.util.IPersistenceManager;
+import org.apache.wookie.beans.util.PersistenceCommitException;
+import org.apache.wookie.beans.util.PersistenceManagerFactory;
 
 /**
  * Filter to set DB transactions
@@ -36,13 +37,57 @@ public class MainFilter implements Filte
 
 	public void doFilter(final ServletRequest request, final ServletResponse response, final FilterChain chain) 
 	throws IOException, ServletException {
-		/** Get a DBManager for this thread. */
-		final IDBManager dbManager = DBManagerFactory.getDBManager();							
-			dbManager.beginTransaction();
-			chain.doFilter(request, response);		
-			dbManager.commitTransaction();
-			// Close the session [This method checks if the session is open]
-			dbManager.closeSession();
+	    // Retry filter chain invocation once if persistence commit
+	    // exception is caught and response is not committed. This
+	    // is intended to help insulate both the server and the
+	    // widgets from limited transactional race conditions from
+	    // concurrent requests that attempt to side effect the same
+	    // server state. Note that this will not protect the widget
+	    // or server from more than two concurrent modification
+	    // attempts or guarantee sequential operation order. 
+	    boolean retryChainInvocation = false;
+	    do {
+	        // get persistence manager for this thread
+	        IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
+	        try {
+	            // reset response and pause on retry to help ensure success
+	            if (retryChainInvocation) {
+	                response.reset();
+	                try {
+	                    Thread.sleep(50);
+	                } catch (InterruptedException ie) {
+	                }
+	            }
+	            // start and commit transaction around servlet invocation
+	            persistenceManager.begin();
+	            chain.doFilter(request, response);
+	            persistenceManager.commit();
+	            // terminate retry attempts on success
+	            retryChainInvocation = false;
+	        } catch (ServletException se) {
+	            // rollback transaction on exception
+	            persistenceManager.rollback();
+	            throw se;
+	        } catch (IOException ioe) {
+	            // rollback transaction on exception
+	            persistenceManager.rollback();
+	            throw ioe;
+	        } catch (PersistenceCommitException pce) {
+                // rollback and retry on commit exception if response not committed	            
+	            persistenceManager.rollback();
+	            retryChainInvocation = (!retryChainInvocation && !response.isCommitted());
+	            if (!retryChainInvocation) {
+	                throw new RuntimeException("Persistence commit exception caught for transaction: "+pce, pce);	                
+	            }
+	        } catch (Throwable t) {
+	            // rollback transaction on exception
+	            persistenceManager.rollback();
+	            throw new RuntimeException("Exception caught for transaction: "+t, t);
+	        } finally {
+	            // close thread persistence manager
+	            PersistenceManagerFactory.closePersistenceManager();
+	        }
+	    } while (retryChainInvocation);
 	}
 
 	public void init(FilterConfig arg0) throws ServletException {		

Modified: incubator/wookie/trunk/src/org/apache/wookie/server/Start.java
URL: http://svn.apache.org/viewvc/incubator/wookie/trunk/src/org/apache/wookie/server/Start.java?rev=988048&r1=988047&r2=988048&view=diff
==============================================================================
--- incubator/wookie/trunk/src/org/apache/wookie/server/Start.java (original)
+++ incubator/wookie/trunk/src/org/apache/wookie/server/Start.java Mon Aug 23 09:46:30 2010
@@ -15,30 +15,58 @@
 package org.apache.wookie.server;
 
 import java.io.BufferedReader;
-import java.io.IOException;
+import java.io.File;
 import java.io.InputStreamReader;
 import java.net.InetAddress;
 import java.net.ServerSocket;
 import java.net.Socket;
-import java.util.StringTokenizer;
 
-import org.apache.commons.io.IOUtils;
+import javax.jcr.Repository;
+
+import org.apache.jackrabbit.core.TransientRepository;
 import org.apache.log4j.Logger;
-import org.apache.wookie.util.hibernate.DBManagerFactory;
-import org.apache.wookie.util.hibernate.IDBManager;
+import org.apache.wookie.beans.jcr.JCRPersistenceManager;
+import org.apache.wookie.beans.jpa.JPAPersistenceManager;
+import org.apache.wookie.beans.util.PersistenceManagerFactory;
 import org.mortbay.jetty.Server;
+import org.mortbay.jetty.plus.naming.Resource;
 import org.mortbay.jetty.security.HashUserRealm;
 import org.mortbay.jetty.security.UserRealm;
 import org.mortbay.jetty.webapp.WebAppContext;
 
+import com.mchange.v2.c3p0.ComboPooledDataSource;
+
 public class Start {
 	static final private Logger logger = Logger.getLogger(Start.class);
 	private static int port = 8080;
-
+	
+    public static final String DB_USER_PROPERTY_NAME = "wookie.db.user";
+    public static final String DB_PASSWORD_PROPERTY_NAME = "wookie.db.password";
+    public static final String DB_DRIVER_CLASS_PROPERTY_NAME = "wookie.db.driver";
+    public static final String DB_URI_PROPERTY_NAME = "wookie.db.uri";
+    public static final String DB_TYPE_PROPERTY_NAME = "wookie.db.type";
+    public static final String REPOSITORY_USER_PROPERTY_NAME = "wookie.repository.user";
+    public static final String REPOSITORY_PASSWORD_PROPERTY_NAME = "wookie.repository.password";
+    public static final String REPOSITORY_ROOT_PATH_PROPERTY_NAME = "wookie.repository.rootpath";
+    public static final String REPOSITORY_WORKSPACE_PROPERTY_NAME = "wookie.repository.workspace";
+    public static final String PERSISTENCE_MANAGER_TYPE_PROPERTY_NAME = "wookie.persistence.manager.type";
+    public static final String PERSISTENCE_MANAGER_TYPE_JPA = "jpa";
+    public static final String PERSISTENCE_MANAGER_TYPE_JCR = "jcr";
+
+    private static String persistenceManagerType;
+    private static String dbUser;
+    private static String dbPassword;
+    private static String dbDriver;
+    private static String dbUri;
+    private static String dbType;
+    private static String repositoryUser;
+    private static String repositoryPassword;
+    private static String repositoryRootPath;
+    private static String repositoryWorkspace;
 	private static Server server;
 
 	public static void main(String[] args) throws Exception {
-	  boolean initDB = true;
+	    boolean initDB = true;
 		for (int i = 0; i < args.length; i++) {
 			String arg = args[i];
 			System.out.println("Runtime argument: " + arg);
@@ -50,45 +78,39 @@ public class Start {
 			  System.out.println("argument UNRECOGNISED - ignoring");
 			}
 		}
-		
+
+		// load configuration from environment
+        persistenceManagerType = getSystemProperty(PERSISTENCE_MANAGER_TYPE_PROPERTY_NAME, PERSISTENCE_MANAGER_TYPE_JPA);
+        dbUser = getSystemProperty(DB_USER_PROPERTY_NAME, "java");
+        dbPassword = getSystemProperty(DB_PASSWORD_PROPERTY_NAME, "java");
+        dbDriver = getSystemProperty(DB_DRIVER_CLASS_PROPERTY_NAME, "org.apache.derby.jdbc.EmbeddedDriver");
+        dbUri = getSystemProperty(DB_URI_PROPERTY_NAME, "jdbc:derby:widgetDatabase/widgetDB;create=true");
+        dbType = getSystemProperty(DB_TYPE_PROPERTY_NAME, "derby");
+        repositoryUser = getSystemProperty(REPOSITORY_USER_PROPERTY_NAME, "java");
+        repositoryPassword = getSystemProperty(REPOSITORY_PASSWORD_PROPERTY_NAME, "java");
+        repositoryRootPath = getSystemProperty(REPOSITORY_ROOT_PATH_PROPERTY_NAME, "/wookie");
+        repositoryWorkspace = getSystemProperty(REPOSITORY_WORKSPACE_PROPERTY_NAME, "default");
+
+        // set configuration properties
+        if (persistenceManagerType.equals(PERSISTENCE_MANAGER_TYPE_JPA)) {
+            System.setProperty(PersistenceManagerFactory.PERSISTENCE_MANAGER_CLASS_NAME_PROPERTY_NAME, JPAPersistenceManager.class.getName());
+        } else if (persistenceManagerType.equals(PERSISTENCE_MANAGER_TYPE_JCR)) {
+            System.setProperty(PersistenceManagerFactory.PERSISTENCE_MANAGER_CLASS_NAME_PROPERTY_NAME, JCRPersistenceManager.class.getName());
+        }
 		if (initDB) {
-  		try {
-  			configureDatabase();
-  		} catch (Exception e) {
-  			if (e.getCause().getMessage().contains("duplicate key value")){
-  			  StringBuilder sb = new StringBuilder("There was a problem setting up the database.\n");
-  			  sb.append("If this is not the first time you are running Wookie in");
-  			  sb.append(" standalone mode, then you should run \"ant clean-db\" before \"ant run\"");
-  			  sb.append(" to clear the database.\n");
-  			  sb.append("To run without re-configuring the database set \"initDB=false\" in the command line");
-  				throw new IOException(sb.toString());
-  			} else {
-  				throw e;
-  			}
-  		}
+		    System.setProperty(PersistenceManagerFactory.PERSISTENCE_MANAGER_INITIALIZE_STORE_PROPERTY_NAME, "true");
 		}
-		
+		System.setProperty(JPAPersistenceManager.PERSISTENCE_MANAGER_DB_TYPE_PROPERTY_NAME, dbType);
+        System.setProperty(JCRPersistenceManager.PERSISTENCE_MANAGER_USER_PROPERTY_NAME, repositoryUser);
+        System.setProperty(JCRPersistenceManager.PERSISTENCE_MANAGER_PASSWORD_PROPERTY_NAME, repositoryPassword);
+        System.setProperty(JCRPersistenceManager.PERSISTENCE_MANAGER_ROOT_PATH_PROPERTY_NAME, repositoryRootPath);
+        System.setProperty(JCRPersistenceManager.PERSISTENCE_MANAGER_WORKSPACE_PROPERTY_NAME, repositoryWorkspace);
+
+		// configure and start server
 		configureServer();
 		startServer();
 	}
 
-	/**
-	 * Create the database by reading in the file widgetdb_derby.sql and executing all SQL found within.
-	 * 
-	 * @throws IOException  if the file is not found or is unreadable
-	 */
-	private static void configureDatabase() throws Exception {
-		logger.debug("Configuring Derby Database");
-		String sqlScript = IOUtils.toString(Start.class.getClassLoader().getResourceAsStream("widgetdb.sql"));
-		final IDBManager dbManager = DBManagerFactory.getDBManager();
-		StringTokenizer st = new StringTokenizer(sqlScript, ";"); 
-		while (st.hasMoreTokens()) { 
-			dbManager.beginTransaction(); 
-			dbManager.createSQLQuery(st.nextToken()).executeUpdate(); 
-			dbManager.commitTransaction(); 
-		} 
-	}
-
 	private static void startServer() throws Exception, InterruptedException {
 		logger.info("Starting Wookie Server");
 		logger.info("point your browser at http://localhost:" + port + "/wookie");
@@ -102,16 +124,85 @@ public class Start {
 	}
 
 	private static void configureServer() throws Exception {
+	    // create embedded jetty instance
 		logger.info("Configuring Jetty server");
 		server = new Server(port);
+
+		// configure embedded jetty to handle wookie web application
 		WebAppContext context = new WebAppContext();
 		context.setServer(server);
 		context.setContextPath("/wookie");
 		context.setWar("build/webapp/wookie");
+		
+		// enable and configure JNDI container resources
+        context.setConfigurationClasses(new String[]{"org.mortbay.jetty.webapp.WebInfConfiguration",
+                                                     "org.mortbay.jetty.plus.webapp.EnvConfiguration",
+                                                     "org.mortbay.jetty.plus.webapp.Configuration",
+                                                     "org.mortbay.jetty.webapp.JettyWebXmlConfiguration",
+                                                     "org.mortbay.jetty.webapp.TagLibConfiguration"});
+        if (persistenceManagerType.equals(PERSISTENCE_MANAGER_TYPE_JPA)) {
+            logger.info("Configuring JPA persistence manager");
+
+            // setup derby database directory and logging properties
+            if (dbType.equals("derby") && dbUri.startsWith("jdbc:derby:")) {
+                int dbUriArgsIndex = dbUri.indexOf(";", 11);
+                if (dbUriArgsIndex == -1) {
+                    dbUriArgsIndex = dbUri.length();
+                }
+                String databasePath = dbUri.substring(11, dbUriArgsIndex);
+                int databaseDirIndex = databasePath.lastIndexOf(File.separatorChar);
+                if ((databaseDirIndex == -1) && (File.separatorChar != '/')) {
+                    databaseDirIndex = databasePath.lastIndexOf('/');                    
+                }
+                if (databaseDirIndex != -1) {
+                    String databaseDir = databasePath.substring(0, databaseDirIndex);
+                    File databaseDirFile = new File(databaseDir);
+                    if (!databaseDirFile.exists()) {
+                        databaseDirFile.mkdirs();
+                    }
+                    String derbyLog = databaseDirFile.getAbsolutePath()+File.separator+"derby.log";
+                    System.setProperty("derby.stream.error.file", derbyLog);
+                }
+            }
+
+            // setup C3P0 JPA database connection pool JNDI resource
+            ComboPooledDataSource dataSource = new ComboPooledDataSource();
+            dataSource.setJdbcUrl(dbUri);
+            dataSource.setDriverClass(dbDriver);
+            dataSource.setUser(dbUser);
+            dataSource.setPassword(dbPassword);
+            dataSource.setAcquireIncrement(1);
+            dataSource.setIdleConnectionTestPeriod(200);
+            dataSource.setMaxPoolSize(80);
+            dataSource.setMaxStatements(0);
+            dataSource.setMinPoolSize(5);
+            dataSource.setMaxIdleTime(80);
+            new Resource(JPAPersistenceManager.WIDGET_DATABASE_JNDI_DATASOURCE_NAME, dataSource);
+        } else if (persistenceManagerType.equals(PERSISTENCE_MANAGER_TYPE_JCR)) {
+            logger.info("Configuring JCR persistence manager");
+
+            // setup repository directory and derby logging properties
+            File repositoryDirFile = new File("widgetRepository");
+            if (!repositoryDirFile.exists()) {
+                repositoryDirFile.mkdirs();
+            }
+            String derbyLog = repositoryDirFile.getAbsolutePath()+File.separator+"derby.log";
+            System.setProperty("derby.stream.error.file", derbyLog);
+
+            // setup Jackrabbit JCR repository JNDI resource
+            String repositoryConfig = repositoryDirFile.getAbsolutePath()+File.separator+"repository.xml";
+            Repository repository = new TransientRepository(repositoryConfig, repositoryDirFile.getAbsolutePath());
+            new Resource(JCRPersistenceManager.WIDGET_REPOSITORY_JNDI_REPOSITORY_NAME, repository);
+        }
+
+        // configure embedded jetty web application handler
 		server.addHandler(context);
 		
+        // configure embedded jetty authentication realm
 		HashUserRealm authedRealm = new HashUserRealm("Authentication Required","etc/jetty-realm.properties");
 		server.setUserRealms(new UserRealm[]{authedRealm});
+
+		logger.info("Configured Jetty server");
 	}
 	
 	private static class MonitorThread extends Thread {
@@ -145,4 +236,17 @@ public class Start {
 			}
 		}
 	}
+
+	/**
+     * Get configuration system property.
+     * 
+     * @param name property name
+     * @param defaultValue default property value
+     * @return property value
+     */
+    private static String getSystemProperty(String name, String defaultValue)
+    {
+        String value = System.getProperty(name);
+        return (((value != null) && (value.length() > 0) && !value.startsWith("$")) ? value : defaultValue);
+    }
 }

Modified: incubator/wookie/trunk/src/org/apache/wookie/util/SiblingPageNormalizer.java
URL: http://svn.apache.org/viewvc/incubator/wookie/trunk/src/org/apache/wookie/util/SiblingPageNormalizer.java?rev=988048&r1=988047&r2=988048&view=diff
==============================================================================
--- incubator/wookie/trunk/src/org/apache/wookie/util/SiblingPageNormalizer.java (original)
+++ incubator/wookie/trunk/src/org/apache/wookie/util/SiblingPageNormalizer.java Mon Aug 23 09:46:30 2010
@@ -15,7 +15,9 @@ package org.apache.wookie.util;
 
 import java.util.HashMap;
 
-import org.apache.wookie.beans.WidgetInstance;
+import org.apache.wookie.beans.IWidgetInstance;
+import org.apache.wookie.beans.util.IPersistenceManager;
+import org.apache.wookie.beans.util.PersistenceManagerFactory;
 import org.directwebremoting.impl.DefaultPageNormalizer;
 
 /**
@@ -40,7 +42,7 @@ org.directwebremoting.extend.PageNormali
 	 * @param instance the instance
 	 * @return the normalized URI of the widget instance
 	 */
-	public String getNormalizedPage(WidgetInstance instance){
+	public String getNormalizedPage(IWidgetInstance instance){
 		return super.normalizePage(instance.getWidget().getUrl())+"?"+instance.getApiKey()+"="+instance.getSharedDataKey();
 	}
 
@@ -63,7 +65,8 @@ org.directwebremoting.extend.PageNormali
 		// API key and Shared Data Key: in combination with
 		// the Widget URL it uniquely identifies sibling instances
 		
-		WidgetInstance widgetInstance = WidgetInstance.findByIdKey((String)parmsMap.get("idkey"));
+        IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
+        IWidgetInstance widgetInstance = persistenceManager.findWidgetInstanceByIdKey((String)parmsMap.get("idkey"));
 		// Invalid instance
 		if(widgetInstance==null) return super.normalizePage(page);
 

Propchange: incubator/wookie/trunk/src/org/apache/wookie/util/html/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1 @@
+/incubator/wookie/branches/pluggablepersistence/src/org/apache/wookie/util/html:948461-988031*

Propchange: incubator/wookie/trunk/src/org/apache/wookie/util/html/HtmlCleaner.java
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/src/org/apache/wookie/util/html/HtmlCleaner.java:948461-988031
+/incubator/wookie/branches/standalone/src/org/apache/wookie/util/html/HtmlCleaner.java:827972-831908

Propchange: incubator/wookie/trunk/src/org/apache/wookie/util/html/HtmlSerializer.java
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/src/org/apache/wookie/util/html/HtmlSerializer.java:948461-988031
+/incubator/wookie/branches/standalone/src/org/apache/wookie/util/html/HtmlSerializer.java:827972-831908

Propchange: incubator/wookie/trunk/src/org/apache/wookie/util/html/IHtmlProcessor.java
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/src/org/apache/wookie/util/html/IHtmlProcessor.java:948461-988031
+/incubator/wookie/branches/standalone/src/org/apache/wookie/util/html/IHtmlProcessor.java:827972-831908

Modified: incubator/wookie/trunk/src/org/apache/wookie/util/html/StartPageProcessor.java
URL: http://svn.apache.org/viewvc/incubator/wookie/trunk/src/org/apache/wookie/util/html/StartPageProcessor.java?rev=988048&r1=988047&r2=988048&view=diff
==============================================================================
--- incubator/wookie/trunk/src/org/apache/wookie/util/html/StartPageProcessor.java (original)
+++ incubator/wookie/trunk/src/org/apache/wookie/util/html/StartPageProcessor.java Mon Aug 23 09:46:30 2010
@@ -17,7 +17,9 @@ import java.io.File;
 import java.io.FileReader;
 import java.io.FileWriter;
 
-import org.apache.wookie.beans.ServerFeature;
+import org.apache.wookie.beans.IServerFeature;
+import org.apache.wookie.beans.util.IPersistenceManager;
+import org.apache.wookie.beans.util.PersistenceManagerFactory;
 import org.apache.wookie.feature.IFeature;
 import org.apache.wookie.w3c.IFeatureEntity;
 import org.apache.wookie.w3c.W3CWidget;
@@ -69,7 +71,8 @@ public class StartPageProcessor implemen
 	 */
 	private void addFeatures(IHtmlProcessor engine,W3CWidget model) throws Exception{
 		for (IFeatureEntity feature: model.getFeatures()){
-			ServerFeature sf = ServerFeature.findByName(feature.getName());
+		    IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
+			IServerFeature sf = persistenceManager.findServerFeatureByName(feature.getName());
 			IFeature theFeature = getFeatureInstanceForName(sf.getClassName());
 			addScripts(engine, theFeature);
 			addStylesheets(engine, theFeature);
@@ -82,7 +85,8 @@ public class StartPageProcessor implemen
 	 * @return an IFeature instance
 	 * @throws Exception if the feature cannot be instantiated
 	 */
-	private IFeature getFeatureInstanceForName(String featureName) throws Exception{
+	@SuppressWarnings("unchecked")
+    private IFeature getFeatureInstanceForName(String featureName) throws Exception{
 		Class<? extends IFeature> klass = (Class<? extends IFeature>) Class.forName(featureName);
 		IFeature theFeature = (IFeature) klass.newInstance();
 		return theFeature;

Propchange: incubator/wookie/trunk/src/org/apache/wookie/util/html/StartPageProcessor.java
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1 @@
+/incubator/wookie/branches/pluggablepersistence/src/org/apache/wookie/util/html/StartPageProcessor.java:948461-988031

Modified: incubator/wookie/trunk/src/org/apache/wookie/util/opensocial/OpenSocialUtils.java
URL: http://svn.apache.org/viewvc/incubator/wookie/trunk/src/org/apache/wookie/util/opensocial/OpenSocialUtils.java?rev=988048&r1=988047&r2=988048&view=diff
==============================================================================
--- incubator/wookie/trunk/src/org/apache/wookie/util/opensocial/OpenSocialUtils.java (original)
+++ incubator/wookie/trunk/src/org/apache/wookie/util/opensocial/OpenSocialUtils.java Mon Aug 23 09:46:30 2010
@@ -15,14 +15,16 @@
 package org.apache.wookie.util.opensocial;
 
 import java.net.URLEncoder;
+import java.util.Collection;
 
 import org.apache.commons.lang.StringUtils;
 import org.apache.log4j.Logger;
 import org.apache.shindig.auth.BlobCrypterSecurityToken;
 import org.apache.shindig.common.crypto.BasicBlobCrypter;
 import org.apache.wookie.Messages;
-import org.apache.wookie.beans.StartFile;
-import org.apache.wookie.beans.WidgetInstance;
+import org.apache.wookie.beans.IStartFile;
+import org.apache.wookie.beans.IWidgetInstance;
+import org.apache.wookie.w3c.ILocalizedElement;
 import org.apache.wookie.w3c.util.LocalizationUtils;
 
 /**
@@ -57,7 +59,7 @@ public class OpenSocialUtils {
 	 * @return the plain text token for the widget instance
 	 * @throws Exception
 	 */
-	public static String createPlainToken(WidgetInstance instance, Messages localizedMessages) throws Exception{
+	public static String createPlainToken(IWidgetInstance instance, Messages localizedMessages) throws Exception{
 		
 		if (instance == null) throw new Exception(localizedMessages.getString("OpenSocialUtils.0")); //$NON-NLS-1$
 		// check we have the required information:
@@ -87,7 +89,7 @@ public class OpenSocialUtils {
 	 * @return the encrypted token for the widget instance
 	 * @throws Exception
 	 */
-	public static String createEncryptedToken(WidgetInstance instance, String key, Messages localizedMessages) throws Exception{
+	public static String createEncryptedToken(IWidgetInstance instance, String key, Messages localizedMessages) throws Exception{
 		
 		if (instance == null) throw new Exception(localizedMessages.getString("OpenSocialUtils.0")); //$NON-NLS-1$
 		// check we have the required information:
@@ -113,20 +115,20 @@ public class OpenSocialUtils {
 		return encryptedToken;
 	}
 	
-	private static String getOwnerId(WidgetInstance instance){
+	private static String getOwnerId(IWidgetInstance instance){
 		//TODO FIXME
 		return getUserId(instance);
 	}
 	
-	private static String getUserId(WidgetInstance instance){
+	private static String getUserId(IWidgetInstance instance){
 		String userid = "@anon"; //$NON-NLS-1$
 		if (instance.getUserId()!=null) if(!instance.getUserId().equals("")) userid = instance.getUserId(); //$NON-NLS-1$
 		return userid;
 	}
 	
-	private static String getUrl(WidgetInstance instance){
-		StartFile[] files = StartFile.findByValue("widget", instance.getWidget());
-		StartFile start = (StartFile) LocalizationUtils.getLocalizedElement(files, new String[]{"en"});
+	private static String getUrl(IWidgetInstance instance){
+    	IStartFile[] startFiles = instance.getWidget().getStartFiles().toArray(new IStartFile[instance.getWidget().getStartFiles().size()]);
+		IStartFile start = (IStartFile) LocalizationUtils.getLocalizedElement(startFiles, new String[]{"en"});
 		return start.getUrl();
 	}
 

Modified: incubator/wookie/trunk/src/org/apache/wookie/widgets/forum/IForumManager.java
URL: http://svn.apache.org/viewvc/incubator/wookie/trunk/src/org/apache/wookie/widgets/forum/IForumManager.java?rev=988048&r1=988047&r2=988048&view=diff
==============================================================================
--- incubator/wookie/trunk/src/org/apache/wookie/widgets/forum/IForumManager.java (original)
+++ incubator/wookie/trunk/src/org/apache/wookie/widgets/forum/IForumManager.java Mon Aug 23 09:46:30 2010
@@ -36,7 +36,7 @@ public interface IForumManager {
 	 * @param postId
 	 * @return - the correct postnode
 	 */
-	PostNode getPost(String sharedKey, int postId);
+	PostNode getPost(String sharedKey, String postId);
 
 	/**
 	 * Add a new post to the given parent post

Modified: incubator/wookie/trunk/src/org/apache/wookie/widgets/forum/PostNode.java
URL: http://svn.apache.org/viewvc/incubator/wookie/trunk/src/org/apache/wookie/widgets/forum/PostNode.java?rev=988048&r1=988047&r2=988048&view=diff
==============================================================================
--- incubator/wookie/trunk/src/org/apache/wookie/widgets/forum/PostNode.java (original)
+++ incubator/wookie/trunk/src/org/apache/wookie/widgets/forum/PostNode.java Mon Aug 23 09:46:30 2010
@@ -18,6 +18,8 @@ import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 
+import org.apache.wookie.beans.IPost;
+
 /**
  * A bean to model a post (with optional children)
  * @author Paul Sharples
@@ -26,38 +28,53 @@ import java.util.List;
  */
 public class PostNode {
 	
-	private int id;	
+	private Object id;	
 	private String userId;
-	private int parentId;
 	private String content;
 	private String title;
 	private Date publishDate;	
 	private Date updateDate;
 	private String sharedDataKey;
 
-	private List<PostNode> posts;
-	
-	
-	public PostNode(int id, String userId, int parentId, String content,
-			String title, Date publishDate, Date updateDate) {
+	private List<PostNode> posts = new ArrayList<PostNode>();
+		
+    /**
+     * Construct transient post node to post message.
+     * 
+     * @param message message to post
+     */
+    public PostNode(String message) {
+        super();
+        this.content = message;
+        this.title = message;
+        this.publishDate = new Date();
+        this.updateDate = this.publishDate;
+    }
+
+	/**
+	 * Construct transient from persistent post node.
+	 * 
+	 * @param post persistent post node
+	 */
+	public PostNode(IPost post) {
 		super();
-		this.id = id;
-		this.userId = userId;
-		this.parentId = parentId;
-		this.content = content;
-		this.title = title;
-		this.publishDate = publishDate;
-		this.updateDate = updateDate;
+		this.id = post.getId();
+		this.userId = post.getUserId();
+		this.content = post.getContent();
+		this.title = post.getTitle();
+		this.publishDate = post.getPublishDate();
+		this.updateDate = post.getUpdateDate();
+		for (IPost childPost : post.getPosts())
+		{
+		    posts.add(new PostNode(childPost));
+		}
 	}
 
 	public List<PostNode> getPosts() {
-		if(posts == null) {
-			posts = new ArrayList<PostNode>();
-		}
 		return posts;
 	}
 
-	public int getId() {
+	public Object getId() {
 		return id;
 	}
 
@@ -65,10 +82,6 @@ public class PostNode {
 		return userId;
 	}
 
-	public int getParentId() {
-		return parentId;
-	}
-
 	public String getContent() {
 		return content;
 	}
@@ -92,9 +105,4 @@ public class PostNode {
 	public String getSharedDataKey() {
 		return sharedDataKey;
 	}
-
-	public void setSharedDataKey(String sharedDataKey) {
-		this.sharedDataKey = sharedDataKey;
-	}
-
 }

Modified: incubator/wookie/trunk/src/org/apache/wookie/widgets/forum/impl/DefaultForumServiceImpl.java
URL: http://svn.apache.org/viewvc/incubator/wookie/trunk/src/org/apache/wookie/widgets/forum/impl/DefaultForumServiceImpl.java?rev=988048&r1=988047&r2=988048&view=diff
==============================================================================
--- incubator/wookie/trunk/src/org/apache/wookie/widgets/forum/impl/DefaultForumServiceImpl.java (original)
+++ incubator/wookie/trunk/src/org/apache/wookie/widgets/forum/impl/DefaultForumServiceImpl.java Mon Aug 23 09:46:30 2010
@@ -15,17 +15,17 @@
 package org.apache.wookie.widgets.forum.impl;
 
 import java.util.ArrayList;
-import java.util.Date;
 import java.util.List;
 import java.util.Locale;
-import java.util.ResourceBundle;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpSession;
 
 import org.apache.log4j.Logger;
 import org.apache.wookie.Messages;
-import org.apache.wookie.beans.WidgetInstance;
+import org.apache.wookie.beans.IWidgetInstance;
+import org.apache.wookie.beans.util.IPersistenceManager;
+import org.apache.wookie.beans.util.PersistenceManagerFactory;
 import org.apache.wookie.server.LocaleHandler;
 import org.apache.wookie.widgets.forum.IForumManager;
 import org.apache.wookie.widgets.forum.IForumService;
@@ -76,7 +76,8 @@ public class DefaultForumServiceImpl imp
 		
 		try {
 			// check if instance is valid
-			WidgetInstance widgetInstance = WidgetInstance.findByIdKey(id_key);
+		    IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
+			IWidgetInstance widgetInstance = persistenceManager.findWidgetInstanceByIdKey(id_key);
 			if(widgetInstance!=null){
 				IForumManager fManager = new ForumManager();
 				String sharedDataKey = widgetInstance.getSharedDataKey();	
@@ -111,11 +112,12 @@ public class DefaultForumServiceImpl imp
 		}					
 		try {
 			// check if instance is valid
-			WidgetInstance widgetInstance = WidgetInstance.findByIdKey(id_key);
+            IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
+			IWidgetInstance widgetInstance = persistenceManager.findWidgetInstanceByIdKey(id_key);
 			if(widgetInstance!=null){
 				IForumManager fManager = new ForumManager();
 				String sharedDataKey = widgetInstance.getSharedDataKey();	
-				return fManager.getPost(sharedDataKey, Integer.parseInt(postId));	
+				return fManager.getPost(sharedDataKey, postId);	
 			}
 			else{
 				return getErrorPost(localizedMessages.getString("DefaultForumServiceImpl.1"));		
@@ -146,7 +148,8 @@ public class DefaultForumServiceImpl imp
 		}		
 		try {
 			// check if instance is valid
-			WidgetInstance widgetInstance = WidgetInstance.findByIdKey(id_key);
+            IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
+			IWidgetInstance widgetInstance = persistenceManager.findWidgetInstanceByIdKey(id_key);
 			if(widgetInstance!=null){
 				IForumManager fManager = new ForumManager();
 				String sharedDataKey = widgetInstance.getSharedDataKey();
@@ -185,8 +188,7 @@ public class DefaultForumServiceImpl imp
 	 * @return
 	 */
 	private PostNode getErrorPost(String reason){
-		Date date = new Date();
-		return new PostNode(-1, reason, -1, reason, reason, date, date);
+		return new PostNode(reason);
 	}
 
 

Modified: incubator/wookie/trunk/src/org/apache/wookie/widgets/forum/impl/ForumManager.java
URL: http://svn.apache.org/viewvc/incubator/wookie/trunk/src/org/apache/wookie/widgets/forum/impl/ForumManager.java?rev=988048&r1=988047&r2=988048&view=diff
==============================================================================
--- incubator/wookie/trunk/src/org/apache/wookie/widgets/forum/impl/ForumManager.java (original)
+++ incubator/wookie/trunk/src/org/apache/wookie/widgets/forum/impl/ForumManager.java Mon Aug 23 09:46:30 2010
@@ -16,19 +16,16 @@ package org.apache.wookie.widgets.forum.
 
 import java.util.ArrayList;
 import java.util.Date;
-import java.util.LinkedHashMap;
+import java.util.HashMap;
 import java.util.List;
-import java.util.Map.Entry;
+import java.util.Map;
 
 import org.apache.log4j.Logger;
-import org.apache.wookie.beans.Post;
-import org.apache.wookie.util.hibernate.DBManagerFactory;
-import org.apache.wookie.util.hibernate.IDBManager;
+import org.apache.wookie.beans.IPost;
+import org.apache.wookie.beans.util.IPersistenceManager;
+import org.apache.wookie.beans.util.PersistenceManagerFactory;
 import org.apache.wookie.widgets.forum.IForumManager;
 import org.apache.wookie.widgets.forum.PostNode;
-import org.hibernate.Criteria;
-import org.hibernate.criterion.Order;
-import org.hibernate.criterion.Restrictions;
 
 /**
  * The forum manager class.  Methods needed by the forum widget
@@ -46,68 +43,32 @@ public class ForumManager implements IFo
 	 * @see org.apache.wookie.widgets.forum.IForumManager#getNodeTree(java.lang.String)
 	 */
 	public List<PostNode> getNodeTree(String sharedKey) {				
-		IDBManager dbManager = null;
-		try {
-			List<PostNode> list = new ArrayList<PostNode>();
-			LinkedHashMap<Integer, PostNode> postLookupTable = new LinkedHashMap<Integer, PostNode>();
-			dbManager = DBManagerFactory.getDBManager();
-			final Criteria crit = dbManager.createCriteria(Post.class);
-			crit.add(Restrictions.eq("sharedDataKey", sharedKey));
-			crit.addOrder( Order.desc("publishDate"));
-			final List<Post> sqlReturnList =  dbManager.getObjects(Post.class, crit);
-			Post[] posts = sqlReturnList.toArray(new Post[sqlReturnList.size()]);
-			for(Post post : posts){									
-				postLookupTable.put(post.getId(),new PostNode(post.getId(),
-						post.getUserId(),post.getParentId(),post.getContent(),post.getTitle(),
-						post.getPublishDate(),post.getUpdateDate()));
-			}
-			// Iterate thru the posts constructing a tree hierarchy
-			for(Entry<Integer, PostNode> entry : postLookupTable.entrySet()) {
-				PostNode post = entry.getValue();
-				// Has a Post as a Parent
-				if(post.getParentId()!=-1) {
-					PostNode parentPost = postLookupTable.get(post.getParentId());
-					parentPost.getPosts().add(post);	               
-				}
-				// No Parent Post so it's a top-level post with the topic as parent
-				else {
-					list.add(post);	               
-				}
-			}
-			return list;	        
-		} 
-		catch (Exception ex) {
-			dbManager.rollbackTransaction();
-			_logger.error(ex.getMessage());
-			return null;
-		}
+	    // query for root posts in most to least recent published order
+	    IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
+	    Map<String,Object> values = new HashMap<String,Object>();
+        values.put("sharedDataKey", sharedKey);
+        values.put("parent", null);
+	    IPost [] posts = persistenceManager.findByValues(IPost.class, values, "publishDate", false);
+	    // return PostNode hierarchies to mirror IPost hierarchies
+        List<PostNode> list = new ArrayList<PostNode>();
+	    for(IPost post : posts){
+	        list.add(new PostNode(post));
+	    }
+	    return list;	        
 	}
 	
 	/* (non-Javadoc)
-	 * @see org.apache.wookie.widgets.forum.IForumManager#getPost(java.lang.String, int)
+	 * @see org.apache.wookie.widgets.forum.IForumManager#getPost(java.lang.String, java.lang.String)
 	 */
-	public PostNode getPost(String sharedKey, int postId){
-		IDBManager dbManager = null;
-		try {
-			dbManager = DBManagerFactory.getDBManager();
-			final Criteria crit = dbManager.createCriteria(Post.class);
-			crit.add(Restrictions.eq("sharedDataKey", sharedKey));
-			crit.add(Restrictions.eq("id", postId));
-			final List<Post> sqlReturnList =  dbManager.getObjects(Post.class, crit);
-			if (sqlReturnList.size() != 1) {
-				return null;
-			} 
-			else {
-				Post post = (Post) sqlReturnList.get(0);
-				return new PostNode(post.getId(),
-						post.getUserId(),post.getParentId(),post.getContent(),post.getTitle(),
-						post.getPublishDate(),post.getUpdateDate());
-			}			
-		} 
-		catch (Exception e) {
-			dbManager.rollbackTransaction();
-			_logger.error(e.getMessage());
-		}
+	public PostNode getPost(String sharedKey, String postId){
+        // query for post by id
+        IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
+        IPost post = persistenceManager.findById(IPost.class, postId);
+        if ((post != null) && post.getSharedDataKey().equals(sharedKey))
+        {
+            // return PostNode hierarchy to mirror IPost hierarchy
+            return new PostNode(post);
+        }
 		return null;
 	}
 
@@ -115,26 +76,27 @@ public class ForumManager implements IFo
 	 * @see org.apache.wookie.widgets.forum.IForumManager#newPost(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String)
 	 */
 	public boolean newPost(String sharedDataKey, String parent, String username, String title, String content){
-		final IDBManager dbManager = DBManagerFactory.getDBManager();
-		Post post = new Post();
-		try {
-			post.setParentId(Integer.parseInt(parent));
-			post.setTitle(title);
-			post.setContent(content);
-			post.setUserId(username);
-			post.setPublishDate(new Date());
-			post.setSharedDataKey(sharedDataKey);
-			dbManager.saveObject(post);
-			return true;
-		} 
-		catch (NumberFormatException e) {
-			dbManager.rollbackTransaction();
-			_logger.error(e.getMessage());
-		} 
-		catch (Exception e) {
-			dbManager.rollbackTransaction();
-			_logger.error(e.getMessage());
-		}	
-		return false;
+        // create and save new post
+        IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
+        IPost post = persistenceManager.newInstance(IPost.class);
+        post.setTitle(title);
+        post.setContent(content);
+        post.setUserId(username);
+        post.setPublishDate(new Date());
+        post.setSharedDataKey(sharedDataKey);
+        boolean saved = persistenceManager.save(post);
+        // add as child to parent post and save
+	    if (parent != null)
+	    {
+	        // query for parent post by id
+	        IPost parentPost = persistenceManager.findById(IPost.class, parent);
+	        if (parentPost != null)
+	        {
+	            // add as child post to parent post
+	            parentPost.getPosts().add(post);
+                saved = persistenceManager.save(parentPost);
+	        }
+	    }
+		return saved;
 	}
 }

Modified: incubator/wookie/trunk/src/widgetserver.properties
URL: http://svn.apache.org/viewvc/incubator/wookie/trunk/src/widgetserver.properties?rev=988048&r1=988047&r2=988048&view=diff
==============================================================================
--- incubator/wookie/trunk/src/widgetserver.properties (original)
+++ incubator/wookie/trunk/src/widgetserver.properties Mon Aug 23 09:46:30 2010
@@ -37,5 +37,19 @@ widget.proxy.username=
 widget.proxy.password=
 widget.proxy.usentlmauthentication=false
 ## language settings
-widget.locales=en, nl, fr
-widget.default.locale=en
\ No newline at end of file
+## NB "en-gb-yorks" is for testing localization
+widget.locales=en, nl, fr, en-gb-yorks
+widget.default.locale=en
+#######################################################################
+# Persistence manager configuration
+widget.persistence.manager.classname=@PERSISTENCE_MANAGER_CLASSNAME@
+#######################################################################
+# JPA persistence manager configuration, (JNDI: java:comp/env/jdbc/wookie)
+widget.persistence.manager.cachesize=1000
+widget.persistence.manager.dbtype=@DATABASE_TYPE@
+#######################################################################
+# JCR persistence manager configuration, (JNDI: java:comp/env/jcr/wookie)
+widget.persistence.manager.user=@REPOSITORY_USER@
+widget.persistence.manager.password=@REPOSITORY_PASSWORD@
+widget.persistence.manager.rootpath=@REPOSITORY_ROOTPATH@
+widget.persistence.manager.workspace=@REPOSITORY_WORKSPACE@
\ No newline at end of file

Propchange: incubator/wookie/trunk/widgets/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+multimce
+jquery

Propchange: incubator/wookie/trunk/widgets/bubbles/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/bubbles:948461-988031*
+/incubator/wookie/branches/standalone/widgets/bubbles:827972-831908

Propchange: incubator/wookie/trunk/widgets/bubbles/build.xml
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/bubbles/build.xml:948461-988031
+/incubator/wookie/branches/standalone/widgets/bubbles/build.xml:827972-831908

Propchange: incubator/wookie/trunk/widgets/bubbles/config.xml
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/bubbles/config.xml:948461-988031
+/incubator/wookie/branches/standalone/widgets/bubbles/config.xml:827972-831908

Propchange: incubator/wookie/trunk/widgets/bubbles/fail.png
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/bubbles/fail.png:948461-988031
+/incubator/wookie/branches/standalone/widgets/bubbles/fail.png:827972-831908

Propchange: incubator/wookie/trunk/widgets/bubbles/hud.bg.png
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/bubbles/hud.bg.png:948461-988031
+/incubator/wookie/branches/standalone/widgets/bubbles/hud.bg.png:827972-831908

Propchange: incubator/wookie/trunk/widgets/bubbles/icon_42.png
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/bubbles/icon_42.png:948461-988031
+/incubator/wookie/branches/standalone/widgets/bubbles/icon_42.png:827972-831908

Propchange: incubator/wookie/trunk/widgets/bubbles/icon_64.png
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/bubbles/icon_64.png:948461-988031
+/incubator/wookie/branches/standalone/widgets/bubbles/icon_64.png:827972-831908

Propchange: incubator/wookie/trunk/widgets/bubbles/index.html
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/bubbles/index.html:948461-988031
+/incubator/wookie/branches/standalone/widgets/bubbles/index.html:827972-831908

Propchange: incubator/wookie/trunk/widgets/bubbles/licence.txt
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/bubbles/licence.txt:948461-988031
+/incubator/wookie/branches/standalone/widgets/bubbles/licence.txt:827972-831908

Propchange: incubator/wookie/trunk/widgets/bubbles/script.js
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/bubbles/script.js:948461-988031
+/incubator/wookie/branches/standalone/widgets/bubbles/script.js:827972-831908

Propchange: incubator/wookie/trunk/widgets/bubbles/sprite.png
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/bubbles/sprite.png:948461-988031
+/incubator/wookie/branches/standalone/widgets/bubbles/sprite.png:827972-831908

Propchange: incubator/wookie/trunk/widgets/bubbles/styles.css
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/bubbles/styles.css:948461-988031
+/incubator/wookie/branches/standalone/widgets/bubbles/styles.css:827972-831908

Propchange: incubator/wookie/trunk/widgets/bubbles/win.png
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/bubbles/win.png:948461-988031
+/incubator/wookie/branches/standalone/widgets/bubbles/win.png:827972-831908

Propchange: incubator/wookie/trunk/widgets/build/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/build:948461-988031*
+/incubator/wookie/branches/standalone/widgets/build:827972-831908

Propchange: incubator/wookie/trunk/widgets/butterfly/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/butterfly:948461-988031*
+/incubator/wookie/branches/standalone/widgets/butterfly:827972-831908

Propchange: incubator/wookie/trunk/widgets/butterfly/build.xml
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/butterfly/build.xml:948461-988031
+/incubator/wookie/branches/standalone/widgets/butterfly/build.xml:827972-831908

Propchange: incubator/wookie/trunk/widgets/butterfly/config.xml
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/butterfly/config.xml:948461-988031
+/incubator/wookie/branches/standalone/widgets/butterfly/config.xml:827972-831908

Propchange: incubator/wookie/trunk/widgets/butterfly/images/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/butterfly/images:948461-988031*
+/incubator/wookie/branches/standalone/widgets/butterfly/images:827972-831908

Propchange: incubator/wookie/trunk/widgets/butterfly/images/background.jpg
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/butterfly/images/background.jpg:948461-988031
+/incubator/wookie/branches/standalone/widgets/butterfly/images/background.jpg:827972-831908

Propchange: incubator/wookie/trunk/widgets/butterfly/images/icon.png
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/butterfly/images/icon.png:948461-988031
+/incubator/wookie/branches/standalone/widgets/butterfly/images/icon.png:827972-831908

Propchange: incubator/wookie/trunk/widgets/butterfly/images/splat.png
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/butterfly/images/splat.png:948461-988031
+/incubator/wookie/branches/standalone/widgets/butterfly/images/splat.png:827972-831908

Propchange: incubator/wookie/trunk/widgets/butterfly/index.html
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/butterfly/index.html:948461-988031
+/incubator/wookie/branches/standalone/widgets/butterfly/index.html:827972-831908

Propchange: incubator/wookie/trunk/widgets/butterfly/legal/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/butterfly/legal:948461-988031*
+/incubator/wookie/branches/standalone/widgets/butterfly/legal:827972-831908

Propchange: incubator/wookie/trunk/widgets/butterfly/legal/license.txt
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/butterfly/legal/license.txt:948461-988031
+/incubator/wookie/branches/standalone/widgets/butterfly/legal/license.txt:827972-831908

Propchange: incubator/wookie/trunk/widgets/butterfly/lib/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/butterfly/lib:948461-988031*
+/incubator/wookie/branches/standalone/widgets/butterfly/lib:827972-831908

Propchange: incubator/wookie/trunk/widgets/butterfly/scripts/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/butterfly/scripts:948461-988031*
+/incubator/wookie/branches/standalone/widgets/butterfly/scripts:827972-831908

Propchange: incubator/wookie/trunk/widgets/butterfly/scripts/butterfly.js
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/butterfly/scripts/butterfly.js:948461-988031
+/incubator/wookie/branches/standalone/widgets/butterfly/scripts/butterfly.js:827972-831908

Propchange: incubator/wookie/trunk/widgets/butterfly/style/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/butterfly/style:948461-988031*
+/incubator/wookie/branches/standalone/widgets/butterfly/style:827972-831908

Propchange: incubator/wookie/trunk/widgets/camera/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/camera:948461-988031*
+/incubator/wookie/branches/standalone/widgets/camera:827972-831908

Propchange: incubator/wookie/trunk/widgets/camera/build.xml
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/camera/build.xml:948461-988031
+/incubator/wookie/branches/standalone/widgets/camera/build.xml:827972-831908

Propchange: incubator/wookie/trunk/widgets/camera/config.xml
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/camera/config.xml:948461-988031
+/incubator/wookie/branches/standalone/widgets/camera/config.xml:827972-831908

Propchange: incubator/wookie/trunk/widgets/camera/icon.svg
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/camera/icon.svg:948461-988031
+/incubator/wookie/branches/standalone/widgets/camera/icon.svg:827972-831908

Propchange: incubator/wookie/trunk/widgets/camera/index.html
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/camera/index.html:948461-988031
+/incubator/wookie/branches/standalone/widgets/camera/index.html:827972-831908

Propchange: incubator/wookie/trunk/widgets/chat/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/chat:948461-988031*
+/incubator/wookie/branches/standalone/widgets/chat:827972-831908

Propchange: incubator/wookie/trunk/widgets/chat/build.xml
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/chat/build.xml:948461-988031
+/incubator/wookie/branches/standalone/widgets/chat/build.xml:827972-831908

Propchange: incubator/wookie/trunk/widgets/chat/chat.css
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/chat/chat.css:948461-988031
+/incubator/wookie/branches/standalone/widgets/chat/chat.css:827972-831908

Propchange: incubator/wookie/trunk/widgets/chat/chat.js
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/chat/chat.js:948461-988031
+/incubator/wookie/branches/standalone/widgets/chat/chat.js:827972-831908

Propchange: incubator/wookie/trunk/widgets/chat/config.xml
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/chat/config.xml:948461-988031
+/incubator/wookie/branches/standalone/widgets/chat/config.xml:827972-831908

Propchange: incubator/wookie/trunk/widgets/chat/index.htm
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/chat/index.htm:948461-988031
+/incubator/wookie/branches/standalone/widgets/chat/index.htm:827972-831908

Propchange: incubator/wookie/trunk/widgets/chat/languageHelper.js
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/chat/languageHelper.js:948461-988031
+/incubator/wookie/branches/standalone/widgets/chat/languageHelper.js:827972-831908

Propchange: incubator/wookie/trunk/widgets/chat/locales/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/chat/locales:948461-988031*
+/incubator/wookie/branches/standalone/widgets/chat/locales:827972-831908

Propchange: incubator/wookie/trunk/widgets/chat/locales/bu/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/chat/locales/bu:948461-988031*
+/incubator/wookie/branches/standalone/widgets/chat/locales/bu:827972-831908

Propchange: incubator/wookie/trunk/widgets/chat/locales/bu/localizedStrings.js
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/chat/locales/bu/localizedStrings.js:948461-988031
+/incubator/wookie/branches/standalone/widgets/chat/locales/bu/localizedStrings.js:827972-831908

Propchange: incubator/wookie/trunk/widgets/chat/locales/en/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/chat/locales/en:948461-988031*
+/incubator/wookie/branches/standalone/widgets/chat/locales/en:827972-831908

Propchange: incubator/wookie/trunk/widgets/chat/locales/en/localizedStrings.js
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/chat/locales/en/localizedStrings.js:948461-988031
+/incubator/wookie/branches/standalone/widgets/chat/locales/en/localizedStrings.js:827972-831908

Propchange: incubator/wookie/trunk/widgets/chat/widgetUtils.js
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/chat/widgetUtils.js:948461-988031
+/incubator/wookie/branches/standalone/widgets/chat/widgetUtils.js:827972-831908

Propchange: incubator/wookie/trunk/widgets/forum/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/forum:948461-988031*
+/incubator/wookie/branches/standalone/widgets/forum:827972-831908

Propchange: incubator/wookie/trunk/widgets/forum/build.xml
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/forum/build.xml:948461-988031
+/incubator/wookie/branches/standalone/widgets/forum/build.xml:827972-831908

Propchange: incubator/wookie/trunk/widgets/forum/config.xml
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/forum/config.xml:948461-988031
+/incubator/wookie/branches/standalone/widgets/forum/config.xml:827972-831908

Propchange: incubator/wookie/trunk/widgets/forum/forum.css
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/forum/forum.css:948461-988031
+/incubator/wookie/branches/standalone/widgets/forum/forum.css:827972-831908

Propchange: incubator/wookie/trunk/widgets/forum/forumutils.js
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/forum/forumutils.js:948461-988031
+/incubator/wookie/branches/standalone/widgets/forum/forumutils.js:827972-831908

Propchange: incubator/wookie/trunk/widgets/forum/index.htm
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/forum/index.htm:948461-988031
+/incubator/wookie/branches/standalone/widgets/forum/index.htm:827972-831908

Propchange: incubator/wookie/trunk/widgets/forum/languageHelper.js
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/forum/languageHelper.js:948461-988031
+/incubator/wookie/branches/standalone/widgets/forum/languageHelper.js:827972-831908

Propchange: incubator/wookie/trunk/widgets/forum/locales/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/forum/locales:948461-988031*
+/incubator/wookie/branches/standalone/widgets/forum/locales:827972-831908

Propchange: incubator/wookie/trunk/widgets/forum/locales/bu/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/forum/locales/bu:948461-988031*
+/incubator/wookie/branches/standalone/widgets/forum/locales/bu:827972-831908

Propchange: incubator/wookie/trunk/widgets/forum/locales/bu/localizedStrings.js
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/forum/locales/bu/localizedStrings.js:948461-988031
+/incubator/wookie/branches/standalone/widgets/forum/locales/bu/localizedStrings.js:827972-831908

Propchange: incubator/wookie/trunk/widgets/forum/locales/en/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/forum/locales/en:948461-988031*
+/incubator/wookie/branches/standalone/widgets/forum/locales/en:827972-831908

Propchange: incubator/wookie/trunk/widgets/forum/locales/en/localizedStrings.js
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/forum/locales/en/localizedStrings.js:948461-988031
+/incubator/wookie/branches/standalone/widgets/forum/locales/en/localizedStrings.js:827972-831908

Propchange: incubator/wookie/trunk/widgets/forum/transparent.gif
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/forum/transparent.gif:948461-988031
+/incubator/wookie/branches/standalone/widgets/forum/transparent.gif:827972-831908

Propchange: incubator/wookie/trunk/widgets/forum/widgetUtils.js
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/forum/widgetUtils.js:948461-988031
+/incubator/wookie/branches/standalone/widgets/forum/widgetUtils.js:827972-831908

Propchange: incubator/wookie/trunk/widgets/localetest/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/localetest:948461-988031*
+/incubator/wookie/branches/standalone/widgets/localetest:827972-831908

Propchange: incubator/wookie/trunk/widgets/localetest/Images/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/localetest/Images:948461-988031*
+/incubator/wookie/branches/standalone/widgets/localetest/Images:827972-831908

Propchange: incubator/wookie/trunk/widgets/localetest/Images/test.png
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/localetest/Images/test.png:948461-988031
+/incubator/wookie/branches/standalone/widgets/localetest/Images/test.png:827972-831908

Propchange: incubator/wookie/trunk/widgets/localetest/build.xml
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/localetest/build.xml:948461-988031
+/incubator/wookie/branches/standalone/widgets/localetest/build.xml:827972-831908

Propchange: incubator/wookie/trunk/widgets/localetest/config.xml
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/localetest/config.xml:948461-988031
+/incubator/wookie/branches/standalone/widgets/localetest/config.xml:827972-831908

Propchange: incubator/wookie/trunk/widgets/localetest/index.htm
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/localetest/index.htm:948461-988031
+/incubator/wookie/branches/standalone/widgets/localetest/index.htm:827972-831908

Propchange: incubator/wookie/trunk/widgets/localetest/locales/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/localetest/locales:948461-988031*
+/incubator/wookie/branches/standalone/widgets/localetest/locales:827972-831908

Propchange: incubator/wookie/trunk/widgets/localetest/locales/en/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/localetest/locales/en:948461-988031*
+/incubator/wookie/branches/standalone/widgets/localetest/locales/en:827972-831908

Propchange: incubator/wookie/trunk/widgets/localetest/locales/en-gb-yorks/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/localetest/locales/en-gb-yorks:948461-988031*
+/incubator/wookie/branches/standalone/widgets/localetest/locales/en-gb-yorks:827972-831908

Propchange: incubator/wookie/trunk/widgets/localetest/locales/en-gb-yorks/index.htm
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/localetest/locales/en-gb-yorks/index.htm:948461-988031
+/incubator/wookie/branches/standalone/widgets/localetest/locales/en-gb-yorks/index.htm:827972-831908

Propchange: incubator/wookie/trunk/widgets/localetest/locales/en/index.htm
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/localetest/locales/en/index.htm:948461-988031
+/incubator/wookie/branches/standalone/widgets/localetest/locales/en/index.htm:827972-831908

Propchange: incubator/wookie/trunk/widgets/localetest/locales/en/test.txt
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/localetest/locales/en/test.txt:948461-988031
+/incubator/wookie/branches/standalone/widgets/localetest/locales/en/test.txt:827972-831908

Propchange: incubator/wookie/trunk/widgets/localetest/locales/fr/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/localetest/locales/fr:948461-988031*
+/incubator/wookie/branches/standalone/widgets/localetest/locales/fr:827972-831908

Propchange: incubator/wookie/trunk/widgets/localetest/locales/fr/Images/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/localetest/locales/fr/Images:948461-988031*
+/incubator/wookie/branches/standalone/widgets/localetest/locales/fr/Images:827972-831908

Propchange: incubator/wookie/trunk/widgets/localetest/locales/fr/Images/test.png
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/localetest/locales/fr/Images/test.png:948461-988031
+/incubator/wookie/branches/standalone/widgets/localetest/locales/fr/Images/test.png:827972-831908

Propchange: incubator/wookie/trunk/widgets/localetest/locales/fr/index.htm
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/localetest/locales/fr/index.htm:948461-988031
+/incubator/wookie/branches/standalone/widgets/localetest/locales/fr/index.htm:827972-831908

Propchange: incubator/wookie/trunk/widgets/localetest/locales/index.htm
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/localetest/locales/index.htm:948461-988031
+/incubator/wookie/branches/standalone/widgets/localetest/locales/index.htm:827972-831908

Propchange: incubator/wookie/trunk/widgets/natter/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/natter:948461-988031*
+/incubator/wookie/branches/standalone/widgets/natter:827972-831908

Propchange: incubator/wookie/trunk/widgets/natter/Images/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/natter/Images:948461-988031*
+/incubator/wookie/branches/standalone/widgets/natter/Images:827972-831908

Propchange: incubator/wookie/trunk/widgets/natter/Images/bar.png
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/natter/Images/bar.png:948461-988031
+/incubator/wookie/branches/standalone/widgets/natter/Images/bar.png:827972-831908

Propchange: incubator/wookie/trunk/widgets/natter/Images/bg-reverse.png
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/natter/Images/bg-reverse.png:948461-988031
+/incubator/wookie/branches/standalone/widgets/natter/Images/bg-reverse.png:827972-831908

Propchange: incubator/wookie/trunk/widgets/natter/Images/bg.png
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/natter/Images/bg.png:948461-988031
+/incubator/wookie/branches/standalone/widgets/natter/Images/bg.png:827972-831908

Propchange: incubator/wookie/trunk/widgets/natter/Images/default_thumbnail.png
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/natter/Images/default_thumbnail.png:948461-988031
+/incubator/wookie/branches/standalone/widgets/natter/Images/default_thumbnail.png:827972-831908

Propchange: incubator/wookie/trunk/widgets/natter/Images/ibutton/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/natter/Images/ibutton:948461-988031*
+/incubator/wookie/branches/standalone/widgets/natter/Images/ibutton:827972-831908

Propchange: incubator/wookie/trunk/widgets/natter/Images/ibutton/black_i.png
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/natter/Images/ibutton/black_i.png:948461-988031
+/incubator/wookie/branches/standalone/widgets/natter/Images/ibutton/black_i.png:827972-831908

Propchange: incubator/wookie/trunk/widgets/natter/Images/ibutton/black_rollie.png
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/natter/Images/ibutton/black_rollie.png:948461-988031
+/incubator/wookie/branches/standalone/widgets/natter/Images/ibutton/black_rollie.png:827972-831908

Propchange: incubator/wookie/trunk/widgets/natter/Images/ibutton/white_i.png
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/natter/Images/ibutton/white_i.png:948461-988031
+/incubator/wookie/branches/standalone/widgets/natter/Images/ibutton/white_i.png:827972-831908

Propchange: incubator/wookie/trunk/widgets/natter/Images/ibutton/white_rollie.png
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/natter/Images/ibutton/white_rollie.png:948461-988031
+/incubator/wookie/branches/standalone/widgets/natter/Images/ibutton/white_rollie.png:827972-831908

Propchange: incubator/wookie/trunk/widgets/natter/Images/lock.png
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/natter/Images/lock.png:948461-988031
+/incubator/wookie/branches/standalone/widgets/natter/Images/lock.png:827972-831908

Propchange: incubator/wookie/trunk/widgets/natter/Images/trash.png
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/natter/Images/trash.png:948461-988031
+/incubator/wookie/branches/standalone/widgets/natter/Images/trash.png:827972-831908

Propchange: incubator/wookie/trunk/widgets/natter/build.xml
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/natter/build.xml:948461-988031
+/incubator/wookie/branches/standalone/widgets/natter/build.xml:827972-831908

Propchange: incubator/wookie/trunk/widgets/natter/chat.css
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/natter/chat.css:948461-988031
+/incubator/wookie/branches/standalone/widgets/natter/chat.css:827972-831908

Propchange: incubator/wookie/trunk/widgets/natter/chat.js
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/natter/chat.js:948461-988031
+/incubator/wookie/branches/standalone/widgets/natter/chat.js:827972-831908

Propchange: incubator/wookie/trunk/widgets/natter/config.xml
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/natter/config.xml:948461-988031
+/incubator/wookie/branches/standalone/widgets/natter/config.xml:827972-831908

Propchange: incubator/wookie/trunk/widgets/natter/icon.png
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/natter/icon.png:948461-988031
+/incubator/wookie/branches/standalone/widgets/natter/icon.png:827972-831908

Propchange: incubator/wookie/trunk/widgets/natter/index.htm
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/natter/index.htm:948461-988031
+/incubator/wookie/branches/standalone/widgets/natter/index.htm:827972-831908

Propchange: incubator/wookie/trunk/widgets/natter/jquery.js
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/natter/jquery.js:948461-988031
+/incubator/wookie/branches/standalone/widgets/natter/jquery.js:827972-831908

Propchange: incubator/wookie/trunk/widgets/natter/locales/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/natter/locales:948461-988031*
+/incubator/wookie/branches/standalone/widgets/natter/locales:827972-831908

Propchange: incubator/wookie/trunk/widgets/natter/locales/bu/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/natter/locales/bu:948461-988031*
+/incubator/wookie/branches/standalone/widgets/natter/locales/bu:827972-831908

Propchange: incubator/wookie/trunk/widgets/natter/locales/bu/localizedStrings.js
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/natter/locales/bu/localizedStrings.js:948461-988031
+/incubator/wookie/branches/standalone/widgets/natter/locales/bu/localizedStrings.js:827972-831908

Propchange: incubator/wookie/trunk/widgets/natter/locales/en/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/natter/locales/en:948461-988031*
+/incubator/wookie/branches/standalone/widgets/natter/locales/en:827972-831908

Propchange: incubator/wookie/trunk/widgets/natter/locales/en/localizedStrings.js
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/natter/locales/en/localizedStrings.js:948461-988031
+/incubator/wookie/branches/standalone/widgets/natter/locales/en/localizedStrings.js:827972-831908

Propchange: incubator/wookie/trunk/widgets/natter/smileys/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/natter/smileys:948461-988031*
+/incubator/wookie/branches/standalone/widgets/natter/smileys:827972-831908

Propchange: incubator/wookie/trunk/widgets/natter/smileys.js
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/natter/smileys.js:948461-988031
+/incubator/wookie/branches/standalone/widgets/natter/smileys.js:827972-831908

Propchange: incubator/wookie/trunk/widgets/natter/smileys/-_-'.png
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/natter/smileys/-_-'.png:948461-988031
+/incubator/wookie/branches/standalone/widgets/natter/smileys/-_-'.png:827972-831908

Propchange: incubator/wookie/trunk/widgets/natter/smileys/2fingers.png
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/natter/smileys/2fingers.png:948461-988031
+/incubator/wookie/branches/standalone/widgets/natter/smileys/2fingers.png:827972-831908

Propchange: incubator/wookie/trunk/widgets/natter/smileys/2love.png
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/natter/smileys/2love.png:948461-988031
+/incubator/wookie/branches/standalone/widgets/natter/smileys/2love.png:827972-831908

Propchange: incubator/wookie/trunk/widgets/natter/smileys/Emoticons.plist
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/natter/smileys/Emoticons.plist:948461-988031
+/incubator/wookie/branches/standalone/widgets/natter/smileys/Emoticons.plist:827972-831908

Propchange: incubator/wookie/trunk/widgets/natter/smileys/LOL.png
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/natter/smileys/LOL.png:948461-988031
+/incubator/wookie/branches/standalone/widgets/natter/smileys/LOL.png:827972-831908

Propchange: incubator/wookie/trunk/widgets/natter/smileys/Mr Po.png
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/natter/smileys/Mr Po.png:948461-988031
+/incubator/wookie/branches/standalone/widgets/natter/smileys/Mr Po.png:827972-831908

Propchange: incubator/wookie/trunk/widgets/natter/smileys/O_o.png
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/natter/smileys/O_o.png:948461-988031
+/incubator/wookie/branches/standalone/widgets/natter/smileys/O_o.png:827972-831908

Propchange: incubator/wookie/trunk/widgets/natter/smileys/alien.png
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/natter/smileys/alien.png:948461-988031
+/incubator/wookie/branches/standalone/widgets/natter/smileys/alien.png:827972-831908

Propchange: incubator/wookie/trunk/widgets/natter/smileys/ambivalent.png
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/natter/smileys/ambivalent.png:948461-988031
+/incubator/wookie/branches/standalone/widgets/natter/smileys/ambivalent.png:827972-831908

Propchange: incubator/wookie/trunk/widgets/natter/smileys/angry.png
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/natter/smileys/angry.png:948461-988031
+/incubator/wookie/branches/standalone/widgets/natter/smileys/angry.png:827972-831908

Propchange: incubator/wookie/trunk/widgets/natter/smileys/angry2.png
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/natter/smileys/angry2.png:948461-988031
+/incubator/wookie/branches/standalone/widgets/natter/smileys/angry2.png:827972-831908

Propchange: incubator/wookie/trunk/widgets/natter/smileys/ass.png
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/natter/smileys/ass.png:948461-988031
+/incubator/wookie/branches/standalone/widgets/natter/smileys/ass.png:827972-831908

Propchange: incubator/wookie/trunk/widgets/natter/smileys/baby.png
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/natter/smileys/baby.png:948461-988031
+/incubator/wookie/branches/standalone/widgets/natter/smileys/baby.png:827972-831908

Propchange: incubator/wookie/trunk/widgets/natter/smileys/baby2.png
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/natter/smileys/baby2.png:948461-988031
+/incubator/wookie/branches/standalone/widgets/natter/smileys/baby2.png:827972-831908

Propchange: incubator/wookie/trunk/widgets/natter/smileys/barbu.png
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 23 09:46:30 2010
@@ -0,0 +1,2 @@
+/incubator/wookie/branches/pluggablepersistence/widgets/natter/smileys/barbu.png:948461-988031
+/incubator/wookie/branches/standalone/widgets/natter/smileys/barbu.png:827972-831908