You are viewing a plain text version of this content. The canonical link for it is here.
Posted to pluto-scm@portals.apache.org by dd...@apache.org on 2005/11/25 20:49:06 UTC

svn commit: r349006 [2/2] - in /portals/pluto/trunk: pluto-container/src/main/java/org/apache/pluto/core/ pluto-container/src/main/java/org/apache/pluto/core/impl/ pluto-container/src/resources/properties/org/apache/pluto/core/impl/ pluto-container/src...

Added: portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/impl/db/PortletRegistryDao.java
URL: http://svn.apache.org/viewcvs/portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/impl/db/PortletRegistryDao.java?rev=349006&view=auto
==============================================================================
--- portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/impl/db/PortletRegistryDao.java (added)
+++ portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/impl/db/PortletRegistryDao.java Fri Nov 25 11:48:33 2005
@@ -0,0 +1,116 @@
+/*
+ * Copyright 2003,2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.pluto.driver.services.impl.db;
+
+import org.apache.pluto.driver.services.portal.PortletApplicationConfig;
+import org.apache.pluto.driver.services.portal.PortletWindowConfig;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import javax.sql.DataSource;
+import java.util.Collection;
+import java.util.Iterator;
+import java.sql.*;
+
+/**
+ * TODO JavaDoc
+ *
+ * @author <a href="mailto:ddewolf@apache.org">David H. DeWolf</a>:
+ * @version 1.0
+ * @since Nov 24, 2005
+ */
+public class PortletRegistryDao extends AbstractDao {
+
+    private static final Log LOG = LogFactory.getLog(PortletRegistryDao.class);
+
+    public PortletRegistryDao(DataSource dataSource) {
+        super(dataSource);
+    }
+
+    public void createPortletApplications(Collection portletApplications)
+    throws SQLException {
+
+        boolean autoCommit = false;
+        Connection conn = null;
+
+        PreparedStatement testStmt = null;
+        PreparedStatement appStmt = null;
+        PreparedStatement pStmt = null;
+
+
+        try {
+            conn = getConnection();
+            autoCommit = conn.getAutoCommit();
+            conn.setAutoCommit(false);
+
+            testStmt = conn.prepareStatement(TEST_APP_SQL);
+            appStmt = conn.prepareStatement(CREATE_APP_SQL);
+            pStmt = conn.prepareStatement(CREATE_PORTLET_SQL);
+
+            Iterator it = portletApplications.iterator();
+            while(it.hasNext()) {
+                PortletApplicationConfig app = (PortletApplicationConfig)it.next();
+
+                testStmt.setString(1, app.getContextPath());
+                ResultSet rs = testStmt.executeQuery();
+                if(rs.next() && rs.getInt(1) > 0) {
+                    continue;
+                }
+
+                appStmt.setString(1, app.getContextPath());
+                appStmt.addBatch();
+
+                Iterator portlets = app.getPortlets().iterator();
+                while(portlets.hasNext()) {
+                    PortletWindowConfig window = (PortletWindowConfig)portlets.next();
+                    pStmt.setString(1, window.getPortletName());
+                    pStmt.addBatch();
+                }
+
+                appStmt.executeBatch();
+                pStmt.executeBatch();
+            }
+            conn.commit();
+        }
+        catch(SQLException sql) {
+            if(conn != null)
+                conn.rollback();
+            LOG.error("Unable to seed portlet application.", sql);
+            throw sql;
+        }
+        finally {
+            if(conn != null)
+                conn.setAutoCommit(autoCommit);
+            cleanup(null, testStmt, null);
+            cleanup(null, pStmt, null);
+            cleanup(conn, appStmt, null);
+        }
+    }
+
+    protected Object instantiate(ResultSet rs) throws SQLException {
+        return new Object();
+    }
+
+    private static final String TEST_APP_SQL =
+            "SELECT count(*) FROM portlet_app WHERE app_context = ?";
+
+
+    private static final String CREATE_APP_SQL =
+        "INSERT INTO portlet_app (app_context) VALUES (?)";
+
+    public static final String CREATE_PORTLET_SQL =
+        "INSERT INTO portlet (portlet_app_id, portlet_name) VALUES ((SELECT IDENTITY_VAL_LOCAL() FROM portlet_app), ?)";
+}

Added: portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/impl/resource/PortletRegistryServiceImpl.java
URL: http://svn.apache.org/viewcvs/portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/impl/resource/PortletRegistryServiceImpl.java?rev=349006&view=auto
==============================================================================
--- portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/impl/resource/PortletRegistryServiceImpl.java (added)
+++ portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/impl/resource/PortletRegistryServiceImpl.java Fri Nov 25 11:48:33 2005
@@ -0,0 +1,77 @@
+/*
+ * Copyright 2004 The Apache Software Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.pluto.driver.services.impl.resource;
+
+import org.apache.pluto.driver.config.DriverConfigurationException;
+import org.apache.pluto.driver.services.portal.*;
+
+import javax.servlet.ServletContext;
+import java.util.List;
+import java.util.Set;
+import java.io.InputStream;
+
+/**
+ * Default implementation of all of the portal Services.
+ * Utilizes resource configuration from
+ * <code>pluto-portal-driver-config.xml</code>
+ *
+ * @author <a href="mailto:ddewolf@apache.org">David H. DeWolf</a>
+ * @since Aug 10, 2005
+ */
+public class PortletRegistryServiceImpl implements PortletRegistryService {
+
+    private ResourceConfig config;
+
+    public PortletRegistryServiceImpl() {
+        
+    }
+
+    /**
+     * Initialization Lifecycle Method
+     * @param ctx
+     */
+    public void init(ServletContext ctx) {
+        try {
+            InputStream in = ctx.getResourceAsStream(ResourceConfigReader.CONFIG_FILE);
+            config = ResourceConfigReader.getFactory().parse(in);
+        }
+        catch(Exception e) {
+            throw new DriverConfigurationException(e);
+        }
+    }
+
+    public void destroy() throws DriverConfigurationException {
+        config = null;
+    }
+
+
+    public Set getPortletApplications() {
+        return config.getPortletApplications();
+    }
+
+    public PortletApplicationConfig getPortletApplication(String id) {
+        return config.getPortletApp(id);
+    }
+
+    public PortletWindowConfig getPortletWindowConfig(String id) {
+        return config.getPortletWindowConfig(id);
+    }
+
+    public PortletWindowConfig getPortlet(String id) {
+        return config.getPortletWindowConfig(id);
+    }
+
+}

Added: portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/impl/resource/PropertyConfigServiceImpl.java
URL: http://svn.apache.org/viewcvs/portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/impl/resource/PropertyConfigServiceImpl.java?rev=349006&view=auto
==============================================================================
--- portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/impl/resource/PropertyConfigServiceImpl.java (added)
+++ portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/impl/resource/PropertyConfigServiceImpl.java Fri Nov 25 11:48:33 2005
@@ -0,0 +1,88 @@
+/*
+ * Copyright 2004 The Apache Software Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.pluto.driver.services.impl.resource;
+
+import org.apache.pluto.driver.config.DriverConfigurationException;
+import org.apache.pluto.driver.services.portal.*;
+
+import javax.servlet.ServletContext;
+import java.util.List;
+import java.util.Set;
+import java.io.InputStream;
+
+/**
+ * Default implementation of all of the portal Services.
+ * Utilizes resource configuration from
+ * <code>pluto-portal-driver-config.xml</code>
+ *
+ * @author <a href="mailto:ddewolf@apache.org">David H. DeWolf</a>
+ * @since Aug 10, 2005
+ */
+public class PropertyConfigServiceImpl implements
+    PropertyConfigService {
+
+    private ResourceConfig config;
+
+    public PropertyConfigServiceImpl() {
+        
+    }
+
+    /**
+     * Initialization Lifecycle Method
+     * @param ctx
+     */
+    public void init(ServletContext ctx) {
+        try {
+            InputStream in = ctx.getResourceAsStream(ResourceConfigReader.CONFIG_FILE);
+            config = ResourceConfigReader.getFactory().parse(in);
+        }
+        catch(Exception e) {
+            throw new DriverConfigurationException(e);
+        }
+    }
+
+    /**
+     * Shutdown the ResourceService.
+     */
+    public void destroy() {
+        config = null;
+    }
+
+
+    public String getPortalName() {
+        return config.getPortalName();
+    }
+
+    public String getPortalVersion() {
+        return config.getPortalVersion();
+    }
+
+    public String getContainerName() {
+        return config.getContainerName();
+    }
+
+    public Set getSupportedPortletModes() {
+        return config.getSupportedPortletModes();
+    }
+
+    public Set getSupportedWindowStates() {
+        return config.getSupportedWindowStates();
+    }
+
+    public Set getPortletApplications() {
+        return config.getPortletApplications();
+    }
+}

Copied: portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/impl/resource/RenderConfigServiceImpl.java (from r348518, portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/impl/resource/ResourceServicesImpl.java)
URL: http://svn.apache.org/viewcvs/portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/impl/resource/RenderConfigServiceImpl.java?p2=portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/impl/resource/RenderConfigServiceImpl.java&p1=portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/impl/resource/ResourceServicesImpl.java&r1=348518&r2=349006&rev=349006&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/impl/resource/ResourceServicesImpl.java (original)
+++ portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/impl/resource/RenderConfigServiceImpl.java Fri Nov 25 11:48:33 2005
@@ -16,9 +16,7 @@
 package org.apache.pluto.driver.services.impl.resource;
 
 import org.apache.pluto.driver.config.DriverConfigurationException;
-import org.apache.pluto.driver.config.impl.PortletRegistryService;
-import org.apache.pluto.driver.config.impl.PropertyConfigService;
-import org.apache.pluto.driver.config.impl.RenderConfigService;
+import org.apache.pluto.driver.services.portal.*;
 
 import javax.servlet.ServletContext;
 import java.util.List;
@@ -27,17 +25,16 @@
 
 /**
  * Default implementation of all of the portal Services.
+ * Utilizes resource configuration from
+ * <code>pluto-portal-driver-config.xml</code>
  *
  * @author <a href="mailto:ddewolf@apache.org">David H. DeWolf</a>
  * @since Aug 10, 2005
  */
-public class ResourceServicesImpl implements
-    PropertyConfigService, PortletRegistryService, RenderConfigService {
+public class RenderConfigServiceImpl implements RenderConfigService {
 
-    private static final String CONFIG_FILE =
-        "/WEB-INF/pluto-portal-driver-config.xml";
 
-    private Configuration config;
+    private ResourceConfig config;
 
 //
 // Lifecycle Methods
@@ -47,14 +44,9 @@
      * @param ctx
      */
     public void init(ServletContext ctx) {
-        // because we comprise 3 services, we must
-        // prevent reinitialization.
-        if(config != null)
-            return;
-
         try {
-            InputStream in = ctx.getResourceAsStream(CONFIG_FILE);
-            config = ConfigurationFactory.getFactory().parse(in);
+            InputStream in = ctx.getResourceAsStream(ResourceConfigReader.CONFIG_FILE);
+            config = ResourceConfigReader.getFactory().parse(in);
         }
         catch(Exception e) {
             throw new DriverConfigurationException(e);

Copied: portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/impl/resource/ResourceConfig.java (from r348374, portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/impl/resource/Configuration.java)
URL: http://svn.apache.org/viewcvs/portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/impl/resource/ResourceConfig.java?p2=portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/impl/resource/ResourceConfig.java&p1=portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/impl/resource/Configuration.java&r1=348374&r2=349006&rev=349006&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/impl/resource/Configuration.java (original)
+++ portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/impl/resource/ResourceConfig.java Fri Nov 25 11:48:33 2005
@@ -17,20 +17,24 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.apache.pluto.driver.services.portal.PortletApplicationConfig;
+import org.apache.pluto.driver.services.portal.PortletWindowConfig;
+import org.apache.pluto.driver.services.portal.RenderConfig;
 
 import java.util.*;
 
 /**
- * Encapsulation of the Pluto Driver Configuration Info.
+ * Encapsulation of the Pluto Driver ResourceConfig Info.
  *
  * @author <a href="ddewolf@apache.org">David H. DeWolf</a>
  * @version 1.0
  * @since Sep 23, 2004
  */
-public class Configuration {
+public class ResourceConfig {
+
     /** Internal Logger. */
     private static final Log LOG =
-        LogFactory.getLog(Configuration.class);
+        LogFactory.getLog(ResourceConfig.class);
 
     /** The name of the portal. */
     private String portalName;
@@ -56,7 +60,7 @@
     /**
      * Default Constructor.
      */
-    public Configuration() {
+    public ResourceConfig() {
         this.supportedWindowStates = new HashSet();
         this.supportedPortletModes = new HashSet();
         this.portletApplications = new java.util.HashMap();
@@ -173,7 +177,7 @@
     public void addPortletApp(PortletApplicationConfig app) {
         if (LOG.isDebugEnabled()) {
             LOG.debug(
-                " - - Adding PortletApp Configuration for: " +
+                " - - Adding PortletApp ResourceConfig for: " +
                 app.getContextPath());
         }
         portletApplications.put(app.getContextPath(), app);

Copied: portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/impl/resource/ResourceConfigReader.java (from r348374, portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/impl/resource/ConfigurationFactory.java)
URL: http://svn.apache.org/viewcvs/portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/impl/resource/ResourceConfigReader.java?p2=portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/impl/resource/ResourceConfigReader.java&p1=portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/impl/resource/ConfigurationFactory.java&r1=348374&r2=349006&rev=349006&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/impl/resource/ConfigurationFactory.java (original)
+++ portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/impl/resource/ResourceConfigReader.java Fri Nov 25 11:48:33 2005
@@ -18,6 +18,10 @@
 import org.apache.commons.digester.Digester;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.apache.pluto.driver.services.portal.PortletApplicationConfig;
+import org.apache.pluto.driver.services.portal.PortletWindowConfig;
+import org.apache.pluto.driver.services.portal.PageConfig;
+import org.apache.pluto.driver.services.portal.RenderConfig;
 import org.xml.sax.SAXException;
 
 import java.io.IOException;
@@ -28,87 +32,125 @@
  * @version 1.0
  * @since Sep 23, 2004
  */
-class ConfigurationFactory {
+public class ResourceConfigReader {
 
     private static final Log LOG = LogFactory.getLog(
-    		ConfigurationFactory.class);
+        ResourceConfigReader.class
+    );
 
-    private static ConfigurationFactory factory;
+    public static final String CONFIG_FILE =
+        "/WEB-INF/pluto-portal-driver-config.xml";
 
-    public static ConfigurationFactory getFactory() {
+
+    private static ResourceConfigReader factory;
+
+    public static ResourceConfigReader getFactory() {
         if (factory == null) {
-            factory = new ConfigurationFactory();
+            factory = new ResourceConfigReader();
         }
         return factory;
     }
 
     private Digester digester;
 
-    private ConfigurationFactory() {
+    private ResourceConfigReader() {
         digester = new Digester();
         // digester.setLogger(LOG);  // Too many log messages.
         digester.setClassLoader(Thread.currentThread().getContextClassLoader());
         init();
     }
 
-    public Configuration parse(InputStream in)
+    public ResourceConfig parse(InputStream in)
         throws IOException, SAXException {
-        return (Configuration) digester.parse(in);
+        return (ResourceConfig) digester.parse(in);
     }
 
-
 // Digester Setup
 
     private void init() {
-    	if (LOG.isDebugEnabled()) {
-    		LOG.debug("Setting up digester...");
-    	}
-        digester.addObjectCreate("pluto-portal-driver",
-                                 Configuration.class);
-        digester.addBeanPropertySetter("pluto-portal-driver/portal-name",
-                                       "portalName");
-        digester.addBeanPropertySetter("pluto-portal-driver/portal-version",
-                                       "portalVersion");
-        digester.addBeanPropertySetter("pluto-portal-driver/container-name",
-                                       "containerName");
-
-        digester.addCallMethod("pluto-portal-driver/supports/portlet-mode",
-                               "addSupportedPortletMode", 0);
-        digester.addCallMethod("pluto-portal-driver/supports/window-state",
-                               "addSupportedWindowState", 0);
+        if (LOG.isDebugEnabled()) {
+            LOG.debug("Setting up digester...");
+        }
+        digester.addObjectCreate(
+            "pluto-portal-driver",
+            ResourceConfig.class
+        );
+        digester.addBeanPropertySetter(
+            "pluto-portal-driver/portal-name",
+            "portalName"
+        );
+        digester.addBeanPropertySetter(
+            "pluto-portal-driver/portal-version",
+            "portalVersion"
+        );
+        digester.addBeanPropertySetter(
+            "pluto-portal-driver/container-name",
+            "containerName"
+        );
 
-        digester.addObjectCreate("pluto-portal-driver/portlet-app",
-                                 PortletApplicationConfig.class);
+        digester.addCallMethod(
+            "pluto-portal-driver/supports/portlet-mode",
+            "addSupportedPortletMode", 0
+        );
+        digester.addCallMethod(
+            "pluto-portal-driver/supports/window-state",
+            "addSupportedWindowState", 0
+        );
+
+        digester.addObjectCreate(
+            "pluto-portal-driver/portlet-app",
+            PortletApplicationConfig.class
+        );
         digester.addBeanPropertySetter(
-            "pluto-portal-driver/portlet-app/context-path", "contextPath");
+            "pluto-portal-driver/portlet-app/context-path", "contextPath"
+        );
 
         digester.addObjectCreate(
             "pluto-portal-driver/portlet-app/portlets/portlet",
-            PortletWindowConfig.class);
+            PortletWindowConfig.class
+        );
         digester.addSetProperties(
             "pluto-portal-driver/portlet-app/portlets/portlet", "name",
-            "portletName");
-        digester.addSetNext("pluto-portal-driver/portlet-app/portlets/portlet",
-                            "addPortlet");
+            "portletName"
+        );
+        digester.addSetNext(
+            "pluto-portal-driver/portlet-app/portlets/portlet",
+            "addPortlet"
+        );
         digester.addSetNext("pluto-portal-driver/portlet-app", "addPortletApp");
 
-        digester.addObjectCreate("pluto-portal-driver/render-config",
-                                 RenderConfig.class);
-        digester.addSetProperties("pluto-portal-driver/render-config",
-                                  "default", "defaultPageId");
-        digester.addObjectCreate("pluto-portal-driver/render-config/page",
-                                 PageConfig.class);
+        digester.addObjectCreate(
+            "pluto-portal-driver/render-config",
+            RenderConfig.class
+        );
+        digester.addSetProperties(
+            "pluto-portal-driver/render-config",
+            "default", "defaultPageId"
+        );
+        digester.addObjectCreate(
+            "pluto-portal-driver/render-config/page",
+            PageConfig.class
+        );
         digester.addSetProperties("pluto-portal-driver/render-config/page");
         digester.addCallMethod(
-            "pluto-portal-driver/render-config/page/portlet", "addPortlet", 2);
-        digester.addCallParam("pluto-portal-driver/render-config/page/portlet",
-                              0, "context");
-        digester.addCallParam("pluto-portal-driver/render-config/page/portlet",
-                              1, "name");
-        digester.addSetNext("pluto-portal-driver/render-config/page",
-                            "addPage");
-        digester.addSetNext("pluto-portal-driver/render-config",
-                            "setRenderConfig");
+            "pluto-portal-driver/render-config/page/portlet", "addPortlet", 2
+        );
+        digester.addCallParam(
+            "pluto-portal-driver/render-config/page/portlet",
+            0, "context"
+        );
+        digester.addCallParam(
+            "pluto-portal-driver/render-config/page/portlet",
+            1, "name"
+        );
+        digester.addSetNext(
+            "pluto-portal-driver/render-config/page",
+            "addPage"
+        );
+        digester.addSetNext(
+            "pluto-portal-driver/render-config",
+            "setRenderConfig"
+        );
     }
 
 }

Added: portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/impl/resource/package.html
URL: http://svn.apache.org/viewcvs/portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/impl/resource/package.html?rev=349006&view=auto
==============================================================================
--- portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/impl/resource/package.html (added)
+++ portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/impl/resource/package.html Fri Nov 25 11:48:33 2005
@@ -0,0 +1,6 @@
+<html>
+<body>
+Service implementations which utilizing context resources
+to perform their work.
+</body>
+</html>
\ No newline at end of file

Copied: portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/portal/DriverConfigurationService.java (from r348374, portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/config/impl/DriverConfigurationService.java)
URL: http://svn.apache.org/viewcvs/portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/portal/DriverConfigurationService.java?p2=portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/portal/DriverConfigurationService.java&p1=portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/config/impl/DriverConfigurationService.java&r1=348374&r2=349006&rev=349006&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/config/impl/DriverConfigurationService.java (original)
+++ portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/portal/DriverConfigurationService.java Fri Nov 25 11:48:33 2005
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.pluto.driver.config.impl;
+package org.apache.pluto.driver.services.portal;
 
 import org.apache.pluto.driver.config.DriverConfigurationException;
 

Copied: portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/portal/PageConfig.java (from r348518, portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/impl/resource/PageConfig.java)
URL: http://svn.apache.org/viewcvs/portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/portal/PageConfig.java?p2=portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/portal/PageConfig.java&p1=portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/impl/resource/PageConfig.java&r1=348518&r2=349006&rev=349006&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/impl/resource/PageConfig.java (original)
+++ portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/portal/PageConfig.java Fri Nov 25 11:48:33 2005
@@ -13,9 +13,9 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.pluto.driver.services.impl.resource;
+package org.apache.pluto.driver.services.portal;
 
-import org.apache.pluto.driver.services.impl.resource.PortletWindowConfig;
+import org.apache.pluto.driver.services.portal.PortletWindowConfig;
 
 import java.util.ArrayList;
 import java.util.Collection;

Copied: portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/portal/PortletApplicationConfig.java (from r348518, portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/impl/resource/PortletApplicationConfig.java)
URL: http://svn.apache.org/viewcvs/portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/portal/PortletApplicationConfig.java?p2=portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/portal/PortletApplicationConfig.java&p1=portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/impl/resource/PortletApplicationConfig.java&r1=348518&r2=349006&rev=349006&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/impl/resource/PortletApplicationConfig.java (original)
+++ portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/portal/PortletApplicationConfig.java Fri Nov 25 11:48:33 2005
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.pluto.driver.services.impl.resource;
+package org.apache.pluto.driver.services.portal;
 
 import java.util.Collection;
 import java.util.Map;

Copied: portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/portal/PortletRegistryService.java (from r348374, portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/config/impl/PortletRegistryService.java)
URL: http://svn.apache.org/viewcvs/portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/portal/PortletRegistryService.java?p2=portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/portal/PortletRegistryService.java&p1=portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/config/impl/PortletRegistryService.java&r1=348374&r2=349006&rev=349006&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/config/impl/PortletRegistryService.java (original)
+++ portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/portal/PortletRegistryService.java Fri Nov 25 11:48:33 2005
@@ -14,10 +14,7 @@
  * limitations under the License.
  */
 
-package org.apache.pluto.driver.config.impl;
-
-import org.apache.pluto.driver.services.impl.resource.PortletWindowConfig;
-import org.apache.pluto.driver.services.impl.resource.PortletApplicationConfig;
+package org.apache.pluto.driver.services.portal;
 
 import java.util.Set;
 

Copied: portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/portal/PortletWindowConfig.java (from r348518, portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/impl/resource/PortletWindowConfig.java)
URL: http://svn.apache.org/viewcvs/portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/portal/PortletWindowConfig.java?p2=portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/portal/PortletWindowConfig.java&p1=portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/impl/resource/PortletWindowConfig.java&r1=348518&r2=349006&rev=349006&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/impl/resource/PortletWindowConfig.java (original)
+++ portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/portal/PortletWindowConfig.java Fri Nov 25 11:48:33 2005
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.pluto.driver.services.impl.resource;
+package org.apache.pluto.driver.services.portal;
 
 /**
  * @author <a href="ddewolf@apache.org">David H. DeWolf</a>

Copied: portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/portal/PropertyConfigService.java (from r348374, portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/config/impl/PropertyConfigService.java)
URL: http://svn.apache.org/viewcvs/portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/portal/PropertyConfigService.java?p2=portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/portal/PropertyConfigService.java&p1=portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/config/impl/PropertyConfigService.java&r1=348374&r2=349006&rev=349006&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/config/impl/PropertyConfigService.java (original)
+++ portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/portal/PropertyConfigService.java Fri Nov 25 11:48:33 2005
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package org.apache.pluto.driver.config.impl;
+package org.apache.pluto.driver.services.portal;
 
 import java.util.Set;
 

Copied: portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/portal/RenderConfig.java (from r348518, portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/impl/resource/RenderConfig.java)
URL: http://svn.apache.org/viewcvs/portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/portal/RenderConfig.java?p2=portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/portal/RenderConfig.java&p1=portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/impl/resource/RenderConfig.java&r1=348518&r2=349006&rev=349006&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/impl/resource/RenderConfig.java (original)
+++ portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/portal/RenderConfig.java Fri Nov 25 11:48:33 2005
@@ -13,10 +13,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.pluto.driver.services.impl.resource;
+package org.apache.pluto.driver.services.portal;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.apache.pluto.driver.services.portal.PageConfig;
 
 import java.util.*;
 

Copied: portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/portal/RenderConfigService.java (from r348374, portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/config/impl/RenderConfigService.java)
URL: http://svn.apache.org/viewcvs/portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/portal/RenderConfigService.java?p2=portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/portal/RenderConfigService.java&p1=portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/config/impl/RenderConfigService.java&r1=348374&r2=349006&rev=349006&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/config/impl/RenderConfigService.java (original)
+++ portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/services/portal/RenderConfigService.java Fri Nov 25 11:48:33 2005
@@ -13,9 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.pluto.driver.config.impl;
-
-import org.apache.pluto.driver.services.impl.resource.PageConfig;
+package org.apache.pluto.driver.services.portal;
 
 import java.util.List;
 

Modified: portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/tags/PortletTag.java
URL: http://svn.apache.org/viewcvs/portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/tags/PortletTag.java?rev=349006&r1=349005&r2=349006&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/tags/PortletTag.java (original)
+++ portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/tags/PortletTag.java Fri Nov 25 11:48:33 2005
@@ -15,7 +15,7 @@
 import org.apache.pluto.PortletContainer;
 import org.apache.pluto.PortletWindow;
 import org.apache.pluto.driver.AttributeKeys;
-import org.apache.pluto.driver.services.impl.resource.PortletWindowConfig;
+import org.apache.pluto.driver.services.portal.PortletWindowConfig;
 import org.apache.pluto.driver.config.DriverConfiguration;
 import org.apache.pluto.driver.core.PortalEnvironment;
 import org.apache.pluto.driver.core.PortalServletRequest;

Modified: portals/pluto/trunk/pluto-portal-driver/src/resources/create_schema.sql
URL: http://svn.apache.org/viewcvs/portals/pluto/trunk/pluto-portal-driver/src/resources/create_schema.sql?rev=349006&r1=349005&r2=349006&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-portal-driver/src/resources/create_schema.sql (original)
+++ portals/pluto/trunk/pluto-portal-driver/src/resources/create_schema.sql Fri Nov 25 11:48:33 2005
@@ -26,14 +26,14 @@
 -- Global Portal Tables
 --
 
-CREATE TABLE pluto_portal_driver.version (
+CREATE TABLE version (
   major_version INTEGER NOT NULL,
   minor_version INTEGER NOT NULL,
   release       INTEGER NOT NULL,
   constraint version_pk primary key (major_version, minor_version, release)
 );
 
-CREATE TABLE pluto_portal_driver.portlet_app (
+CREATE TABLE portlet_app (
   portlet_app_id INTEGER      NOT NULL generated always as identity (start with 1, increment by 1),
   app_context    VARCHAR(250) NOT NULL,
   deploy_date    TIMESTAMP             DEFAULT CURRENT_TIMESTAMP,
@@ -41,19 +41,19 @@
   constraint app_context_unique unique (app_context)
 );
 
-CREATE TABLE pluto_portal_driver.portlet (
+CREATE TABLE portlet (
 	portlet_id     INTEGER NOT NULL generated always as identity (start with 1, increment by 1),
 	portlet_app_id INTEGER NOT NULL,
 	portlet_name   VARCHAR(75) NOT NULL,
 	mod_date       TIMESTAMP default CURRENT_TIMESTAMP,
 	constraint portlet_pk primary key (portlet_id),
-	constraint portlet_fk foreign key (portlet_app_id) references pluto_portal_driver.portlet_app(portlet_app_id)
+	constraint portlet_fk foreign key (portlet_app_id) references portlet_app(portlet_app_id)
 );
 
 --
 -- Portlet Preferences
 --
-CREATE TABLE pluto_portal_driver.preference (
+CREATE TABLE preference (
 	preference_id    INTEGER     NOT NULL generated always as identity  (start with 1, increment by 1),
 	portlet_id       INTEGER     NOT NULL,
 	preference_name  VARCHAR(75) NOT NULL,
@@ -62,21 +62,21 @@
 	auth_user        VARCHAR(75),
 	mod_date         TIMESTAMP            DEFAULT current_timestamp,
 	constraint preference_pk primary key (preference_id),
-	constraint preference_fk foreign key (portlet_id) references pluto_portal_driver.portlet(portlet_id)
+	constraint preference_fk foreign key (portlet_id) references portlet(portlet_id)
 );
 
-CREATE INDEX pluto_portal_driver.preference_auth_user_ndx on preference(auth_user);
+CREATE INDEX preference_auth_user_ndx on preference(auth_user);
 
-CREATE TABLE pluto_portal_driver.preference_value (
+CREATE TABLE preference_value (
 	preference_id    INTEGER NOT NULL,
 	preference_value VARCHAR(250),
 	mod_date         TIMESTAMP default CURRENT_TIMESTAMP,
 	constraint preference_value_pk primary key  (preference_id, preference_value),
-	constraint preference_value_fk foreign key (preference_id) references pluto_portal_driver.preference(preference_id)
+	constraint preference_value_fk foreign key (preference_id) references preference(preference_id)
 );
 
 -- User information attribute names as defined in PLT.D of the JSR-168 spec
-CREATE TABLE pluto_portal_driver.user_info_attribute (
+CREATE TABLE user_info_attribute (
 	user_info_attribute_id INTEGER      NOT NULL generated always as identity (start with 1, increment by 1),
 	attribute_name         VARCHAR(75),
 	mod_date               TIMESTAMP    default CURRENT_TIMESTAMP,
@@ -84,29 +84,29 @@
 );
 
 -- Holds user information attribute values as defined in PLT.17 of the JSR-168 spec
-CREATE TABLE pluto_portal_driver.user_info_attribute_value (
+CREATE TABLE user_info_attribute_value (
 	user_info_attribute_id INTEGER NOT NULL,
 	auth_user              VARCHAR(75),
 	attribute_value        VARCHAR(250),
 	mod_date               TIMESTAMP default CURRENT_TIMESTAMP,
 	constraint user_info_attribute_value_pk primary key (user_info_attribute_id, auth_user),
-	constraint user_info_attribute_value_fk foreign key (user_info_attribute_id) references pluto_portal_driver.user_info_attribute(user_info_attribute_id)
+	constraint user_info_attribute_value_fk foreign key (user_info_attribute_id) references user_info_attribute(user_info_attribute_id)
 );
 
-CREATE INDEX pluto_portal_driver.user_info_attribute_auth_user_ndx on user_info_attribute_value(auth_user);
+CREATE INDEX user_info_attribute_auth_user_ndx on user_info_attribute_value(auth_user);
 
 --View that holds all the portlet app data.
 --Use this with a where clause to get data for a
 --particular portlet app or portlet.
-CREATE VIEW pluto_portal_driver.portlet_app_view
+CREATE VIEW portlet_app_view
 	   (portlet_app_id, app_context, portlet_id,
 	    portlet_name,  preference_name, preference_value,
 		read_only) as
        SELECT pa.portlet_app_id, pa.app_context, p.portlet_id,
               p.portlet_name, pr.preference_name, pv.preference_value,
               pr.read_only
-	     FROM pluto_portal_driver.preference pr, pluto_portal_driver.preference_value pv,
-	          pluto_portal_driver.portlet p, pluto_portal_driver.portlet_app pa
+	     FROM preference pr, preference_value pv,
+	          portlet p, portlet_app pa
 	    WHERE pr.preference_id=pv.preference_id
 	      AND pr.portlet_id=p.portlet_id
 	      AND p.portlet_app_id=pa.portlet_app_id;

Added: portals/pluto/trunk/pluto-portal-driver/src/test/java/org/apache/pluto/driver/services/container/db/PortletPreferenceContainerTest.java
URL: http://svn.apache.org/viewcvs/portals/pluto/trunk/pluto-portal-driver/src/test/java/org/apache/pluto/driver/services/container/db/PortletPreferenceContainerTest.java?rev=349006&view=auto
==============================================================================
--- portals/pluto/trunk/pluto-portal-driver/src/test/java/org/apache/pluto/driver/services/container/db/PortletPreferenceContainerTest.java (added)
+++ portals/pluto/trunk/pluto-portal-driver/src/test/java/org/apache/pluto/driver/services/container/db/PortletPreferenceContainerTest.java Fri Nov 25 11:48:33 2005
@@ -0,0 +1,40 @@
+/*
+ * Copyright 2003,2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.pluto.driver.services.container.db;
+
+import junit.framework.TestCase;
+
+/**
+ * TODO JavaDoc
+ *
+ * @author <a href="mailto:ddewolf@apache.org">David H. DeWolf</a>:
+ * @version 1.0
+ * @since Nov 23, 2005
+ */
+public class PortletPreferenceContainerTest extends TestCase {
+
+    public void testAddPreference() {
+
+        PortletPreferenceContainer container = new PortletPreferenceContainer();
+        container.add("test", "one");
+        assertEquals(1, container.createPreferences().length);
+        container.add("test", "two");
+        assertEquals(1, container.createPreferences().length);
+        container.add("test2", "two");
+        assertEquals(2, container.createPreferences().length);
+    }
+
+}

Modified: portals/pluto/trunk/pluto-portal/src/main/resources/server.xml
URL: http://svn.apache.org/viewcvs/portals/pluto/trunk/pluto-portal/src/main/resources/server.xml?rev=349006&r1=349005&r2=349006&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-portal/src/main/resources/server.xml (original)
+++ portals/pluto/trunk/pluto-portal/src/main/resources/server.xml Fri Nov 25 11:48:33 2005
@@ -1,4 +1,4 @@
-<!-- Pluto Configuration File -->
+<!-- Pluto ResourceConfig File -->
 
 <Server port="8005" shutdown="SHUTDOWN">
   <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />

Modified: portals/pluto/trunk/pluto-portal/src/main/webapp/WEB-INF/pluto-portal-driver-services-config.xml
URL: http://svn.apache.org/viewcvs/portals/pluto/trunk/pluto-portal/src/main/webapp/WEB-INF/pluto-portal-driver-services-config.xml?rev=349006&r1=349005&r2=349006&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-portal/src/main/webapp/WEB-INF/pluto-portal-driver-services-config.xml (original)
+++ portals/pluto/trunk/pluto-portal/src/main/webapp/WEB-INF/pluto-portal-driver-services-config.xml Fri Nov 25 11:48:33 2005
@@ -4,52 +4,63 @@
 
 <beans>
     <!-- The DriverConfiguration Bean.  This is the only bean required -->
-    <bean name="DriverConfiguration"
+    <bean id="DriverConfiguration"
           class="org.apache.pluto.driver.config.impl.DriverConfigurationImpl">
-      <constructor-arg><ref bean="PropertyConfigService"/></constructor-arg>
-      <constructor-arg><ref bean="PortletRegistryService"/></constructor-arg>
-      <constructor-arg><ref bean="RenderConfigService"/></constructor-arg>
+      <constructor-arg><ref local="PropertyConfigService"/></constructor-arg>
+      <constructor-arg><ref local="PortletRegistryConfig"/></constructor-arg>
+      <constructor-arg><ref local="RenderConfigService"/></constructor-arg>
 
       <!-- Container Services -->
-      <constructor-arg><ref bean="PortalCallbackService"/></constructor-arg>
-      <constructor-arg><ref bean="PortletPreferencesService"/></constructor-arg>
+      <constructor-arg><ref local="PortalCallbackService"/></constructor-arg>
+      <constructor-arg><ref local="PortletPreferencesService"/></constructor-arg>
     </bean>
 
-    <bean name="PropertyConfigService"
-          class="org.apache.pluto.driver.services.impl.resource.ResourceServicesImpl"
+    <bean id="PropertyConfigService"
+          class="org.apache.pluto.driver.services.impl.resource.PropertyConfigServiceImpl"
           singleton="true">
     </bean>
+
+    <!--
     <bean name="PortletRegistryService"
-          class="org.apache.pluto.driver.services.impl.resource.ResourceServicesImpl"
+          class="org.apache.pluto.driver.services.impl.resource.PortletRegistryServiceImpl
           singleton="true">
     </bean>
-    <bean name="RenderConfigService"
-          class="org.apache.pluto.driver.services.impl.resource.ResourceServicesImpl"
+    -->
+
+    <bean id="PortletRegistryConfig"
+          class="org.apache.pluto.driver.services.impl.db.DBPortletRegistryService"
           singleton="true">
+        <constructor-arg><ref bean="DataSourceManager"/></constructor-arg>
     </bean>
 
+    <bean id="RenderConfigService"
+          class="org.apache.pluto.driver.services.impl.resource.RenderConfigServiceImpl"
+          singleton="true">
+    </bean>
+
+
     <!-- Container Services -->
-    <bean name="PortalCallbackService"
+    <bean id="PortalCallbackService"
           class="org.apache.pluto.driver.services.container.PortalCallbackServiceImpl"
           singleton="true">
     </bean>
 
     <!--
     <bean name="PortletPreferencesService"
-          class="org.apache.pluto.driver.services.container.MemoryPreferencesService"
+          class="org.apache.pluto.driver.services.container.memory.MemoryPreferencesService"
           singleton="true">
     </bean>
     -->
 
     <!-- Uncomment for Embedded Derby Service Implementations -->
-    <bean name="PortletPreferencesService"
+    <bean id="PortletPreferencesService"
           class="org.apache.pluto.driver.services.container.db.DBPortletPreferencesService"
           singleton="true">
         <constructor-arg><ref bean="DataSourceManager"/></constructor-arg>
     </bean>
 
-    <bean name="DataSourceManager"
-          class="org.apache.pluto.driver.services.container.db.EmbeddedDataSourceManager"
+    <bean id="DataSourceManager"
+          class="org.apache.pluto.driver.services.impl.db.EmbeddedDataSourceManager"
           singleton="true">
    </bean>
 
@@ -60,7 +71,7 @@
     -->
     <!--
     <bean name="DataSourceManager"
-          class="org.apache.pluto.driver.services.container.db.JNDIDataSourceManager"
+          class="org.apache.pluto.driver.services.impl.db.JNDIDataSourceManager"
           singleton="true">
         <constructor-arg><value>plutoDB</value></constructor-arg>
     </bean>