You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-dev@portals.apache.org by ta...@apache.org on 2003/11/20 03:51:03 UTC
cvs commit: jakarta-jetspeed/webapp/WEB-INF/db jetspeed.properties jetspeed.script
taylor 2003/11/19 18:51:03
Modified: src/java/org/apache/jetspeed/modules/actions/controllers
PanedControllerAction.java
src/java/org/apache/jetspeed/om/profile BaseProfile.java
Profile.java
src/java/org/apache/jetspeed/services/profiler
JetspeedProfilerService.java
webapp/WEB-INF/conf JetspeedResources.properties
JetspeedSecurity.properties
webapp/WEB-INF/db jetspeed.properties jetspeed.script
Added: src/java/org/apache/jetspeed/services ServiceHelper.java
Log:
Profile and Locator class impls are configurable via the JetspeedResources.properties
services.Profiler.profile.impl = org.apache.jetspeed.om.profile.BaseProfile
services.Profiler.locator.impl = org.apache.jetspeed.om.profile.BaseProfileLocator
Revision Changes Path
1.12 +4 -3 jakarta-jetspeed/src/java/org/apache/jetspeed/modules/actions/controllers/PanedControllerAction.java
Index: PanedControllerAction.java
===================================================================
RCS file: /home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/modules/actions/controllers/PanedControllerAction.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- PanedControllerAction.java 31 Oct 2003 14:34:37 -0000 1.11
+++ PanedControllerAction.java 20 Nov 2003 02:51:03 -0000 1.12
@@ -122,8 +122,9 @@
if (portlet != null)
{
context.put("pane", portlet);
-
- if(!portlet.getAttribute("_menustate", "open", rundata).equals("closed"))
+ String state = portlet.getAttribute("_menustate", "open", rundata);
+ //System.out.println("State = [" + state +"]");
+ // if(state == null || !state.equals("closed"))
{
cont.savePaneID(rundata, paneID);
}
1.18 +12 -7 jakarta-jetspeed/src/java/org/apache/jetspeed/om/profile/BaseProfile.java
Index: BaseProfile.java
===================================================================
RCS file: /home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/om/profile/BaseProfile.java,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- BaseProfile.java 4 Mar 2003 00:04:58 -0000 1.17
+++ BaseProfile.java 20 Nov 2003 02:51:03 -0000 1.18
@@ -1,7 +1,7 @@
/* ====================================================================
* The Apache Software License, Version 1.1
*
- * Copyright (c) 2000-2001 The Apache Software Foundation. All rights
+ * Copyright (c) 2000-2003 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -24,11 +24,11 @@
* if and wherever such third-party acknowledgments normally appear.
*
* 4. The names "Apache" and "Apache Software Foundation" and
- * "Apache Jetspeed" must not be used to endorse or promote products
+ * "Apache Jetspeed" must not be used to endorse or promote products
* derived from this software without prior written permission. For
* written permission, please contact apache@apache.org.
*
- * 5. Products derived from this software may not be called "Apache" or
+ * 5. Products derived from this software may not be called "Apache",
* "Apache Jetspeed", nor may "Apache" appear in their name, without
* prior written permission of the Apache Software Foundation.
*
@@ -73,7 +73,12 @@
public BaseProfile()
{}
- public BaseProfile( ProfileLocator locator )
+ public BaseProfile(ProfileLocator locator)
+ {
+ init(locator);
+ }
+
+ public void init(ProfileLocator locator)
{
this.setAnonymous(locator.getAnonymous());
this.setCountry(locator.getCountry());
@@ -82,9 +87,9 @@
this.setMediaType(locator.getMediaType());
this.setName(locator.getName());
this.setRole(locator.getRole());
- this.setUser(locator.getUser());
+ this.setUser(locator.getUser());
}
-
+
/**
* @see Object#clone
* @return an instance copy of this object
1.10 +15 -8 jakarta-jetspeed/src/java/org/apache/jetspeed/om/profile/Profile.java
Index: Profile.java
===================================================================
RCS file: /home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/om/profile/Profile.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- Profile.java 4 Mar 2003 00:04:58 -0000 1.9
+++ Profile.java 20 Nov 2003 02:51:03 -0000 1.10
@@ -1,7 +1,7 @@
/* ====================================================================
* The Apache Software License, Version 1.1
*
- * Copyright (c) 2000-2001 The Apache Software Foundation. All rights
+ * Copyright (c) 2000-2003 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -24,11 +24,11 @@
* if and wherever such third-party acknowledgments normally appear.
*
* 4. The names "Apache" and "Apache Software Foundation" and
- * "Apache Jetspeed" must not be used to endorse or promote products
+ * "Apache Jetspeed" must not be used to endorse or promote products
* derived from this software without prior written permission. For
* written permission, please contact apache@apache.org.
*
- * 5. Products derived from this software may not be called "Apache" or
+ * 5. Products derived from this software may not be called "Apache",
* "Apache Jetspeed", nor may "Apache" appear in their name, without
* prior written permission of the Apache Software Foundation.
*
@@ -65,7 +65,7 @@
public interface Profile extends ProfileLocator
{
- /*
+ /**
* Gets the root set of portlets for this profile object.
*
* @deprecated Will be removed with refactoring of profiler service.
@@ -73,24 +73,31 @@
*/
public PortletSet getRootSet();
- /*
+ /**
* Gets the psml document attached to this profile
*
* @return The PSML document for this profile.
*/
public PSMLDocument getDocument();
- /*
+ /**
* Sets the psml document attached to this profile
*
* @param The PSML document for this profile.
*/
public void setDocument(PSMLDocument document);
- /*
+ /**
* stores the resource by merging and rewriting the psml file
*
* @throws ProfileException if an error occurs storing the profile
*/
public void store() throws ProfileException;
+
+ /**
+ * initialize a profile from a locator
+ *
+ * @param locator
+ */
+ public void init(ProfileLocator locator);
}
1.1 jakarta-jetspeed/src/java/org/apache/jetspeed/services/ServiceHelper.java
Index: ServiceHelper.java
===================================================================
/* ====================================================================
* The Apache Software License, Version 1.1
*
* Copyright (c) 2000-2003 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution,
* if any, must include the following acknowledgment:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowledgment may appear in the software itself,
* if and wherever such third-party acknowledgments normally appear.
*
* 4. The names "Apache" and "Apache Software Foundation" and
* "Apache Jetspeed" must not be used to endorse or promote products
* derived from this software without prior written permission. For
* written permission, please contact apache@apache.org.
*
* 5. Products derived from this software may not be called "Apache",
* "Apache Jetspeed", nor may "Apache" appear in their name, without
* prior written permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*/
package org.apache.jetspeed.services;
import org.apache.jetspeed.services.logging.JetspeedLogFactoryService;
import org.apache.jetspeed.services.logging.JetspeedLogger;
import org.apache.turbine.services.InitializationException;
import org.apache.turbine.services.Service;
/**
* ServiceHelper
*
* @author <a href="mailto:taylor@apache.org">David Sean Taylor</a>
* @version $Id: ServiceHelper.java,v 1.1 2003/11/20 02:51:03 taylor Exp $
*/
public class ServiceHelper
{
private static final JetspeedLogger log = JetspeedLogFactoryService.getLogger(ServiceHelper.class.getName());
/**
* Load an implementation class from the configuration.
*
* @param configurationName
* @return
* @throws CPSInitializationException
*/
static public Class loadModelClass(Service service, String configurationName)
throws InitializationException
{
String className = service.getConfiguration().getString(configurationName, null);
if (null == className)
{
throw new InitializationException(configurationName + " implementation configuration not found.");
}
try
{
return Class.forName(className);
}
catch (ClassNotFoundException e)
{
throw new InitializationException("Could not preload " + className + " implementation class.", e);
}
}
/**
* Creates objects given the class.
* Throws exceptions if the class is not found in the default class path,
* or the class is not an instance of CmsObject.
*
* @param classe the class of object
* @return the newly created object
* @throws ContentManagementException
*/
public static Object createObject(Class classe)
{
Object object = null;
try
{
object = classe.newInstance();
}
catch (Exception e)
{
log.error("Factory failed to create object: " + classe.getName(), e);
}
return object;
}
}
1.54 +30 -20 jakarta-jetspeed/src/java/org/apache/jetspeed/services/profiler/JetspeedProfilerService.java
Index: JetspeedProfilerService.java
===================================================================
RCS file: /home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/services/profiler/JetspeedProfilerService.java,v
retrieving revision 1.53
retrieving revision 1.54
diff -u -r1.53 -r1.54
--- JetspeedProfilerService.java 17 Nov 2003 14:53:02 -0000 1.53
+++ JetspeedProfilerService.java 20 Nov 2003 02:51:03 -0000 1.54
@@ -24,11 +24,11 @@
* if and wherever such third-party acknowledgments normally appear.
*
* 4. The names "Apache" and "Apache Software Foundation" and
- * "Apache Jetspeed" must not be used to endorse or promote products
+ * "Apache Jetspeed" must not be used to endorse or promote products
* derived from this software without prior written permission. For
* written permission, please contact apache@apache.org.
*
- * 5. Products derived from this software may not be called "Apache" or
+ * 5. Products derived from this software may not be called "Apache",
* "Apache Jetspeed", nor may "Apache" appear in their name, without
* prior written permission of the Apache Software Foundation.
*
@@ -86,8 +86,6 @@
import org.apache.jetspeed.om.profile.Portlets;
import org.apache.jetspeed.om.profile.QueryLocator;
import org.apache.jetspeed.om.profile.ProfileLocator;
-import org.apache.jetspeed.om.profile.BaseProfileLocator;
-import org.apache.jetspeed.om.profile.BaseProfile;
import org.apache.jetspeed.om.profile.ProfileException;
import org.apache.jetspeed.om.profile.psml.PsmlPortlets;
import org.apache.jetspeed.om.profile.PSMLDocument;
@@ -109,6 +107,7 @@
import org.apache.jetspeed.services.JetspeedSecurity;
import org.apache.jetspeed.services.PsmlManager;
import org.apache.jetspeed.services.PortalToolkit;
+import org.apache.jetspeed.services.ServiceHelper;
import org.apache.jetspeed.services.logging.JetspeedLogFactoryService;
import org.apache.jetspeed.services.logging.JetspeedLogger;
import org.apache.jetspeed.services.customlocalization.CustomLocalizationService;
@@ -179,6 +178,10 @@
private final static String MSG_MISSING_PARAMETER =
"JetspeedProfilerService initialization failed. Missing parameter:";
+ // pluggable Locator and Profile classes
+ private Class profileClass = null;
+ private Class locatorClass = null;
+
// configuration parameters
String root; // the root psml resource directory
@@ -251,7 +254,7 @@
*/
public synchronized void init(ServletConfig conf) throws InitializationException
{
-
+
// already initialized
if (getInit()) return;
@@ -299,7 +302,6 @@
try
{
String paramRole = rundata.getParameters().getString(Profiler.PARAM_ROLE);
-
Iterator roles = JetspeedSecurity.getRoles(user.getUserName());
if (roles != null)
{
@@ -435,7 +437,8 @@
result = this.createProfile(locator, portlets);
}
- catch (Exception e) {
+ catch (Exception e)
+ {
logger.error("Exception", e);
}
}
@@ -622,14 +625,14 @@
// dont use locale based fall back
profile.setLanguage(language);
- if(! language.equals("-1"))
- {
- String country = rundata.getParameters().getString(Profiler.PARAM_COUNTRY);
- if (country != null)
- {
- profile.setCountry(country);
- }
- }
+ if(! language.equals("-1"))
+ {
+ String country = rundata.getParameters().getString(Profiler.PARAM_COUNTRY);
+ if (country != null)
+ {
+ profile.setCountry(country);
+ }
+ }
}
else
{
@@ -845,6 +848,9 @@
*/
private void initConfiguration() throws InitializationException
{
+ profileClass = ServiceHelper.loadModelClass(this, "profile.impl");
+ locatorClass = ServiceHelper.loadModelClass(this, "locator.impl");
+
// get configuration parameters from Jetspeed Resources
ResourceService serviceConf = ((TurbineServices)TurbineServices.getInstance())
.getResources(ProfilerService.SERVICE_NAME);
@@ -853,8 +859,10 @@
resourceExt = serviceConf.getString( CONFIG_RESOURCE_EXT, DEFAULT_CONFIG_RESOURCE_EXT );
if (-1 == resourceExt.indexOf(PATH_EXTENSION_DELIMITER))
+ {
resourceExt = PATH_EXTENSION_DELIMITER + resourceExt;
-
+ }
+
useSecurity = serviceConf.getBoolean( CONFIG_SECURITY, DEFAULT_CONFIG_SECURITY );
useRoleFallback = serviceConf.getBoolean( CONFIG_ROLE_FALLBACK, DEFAULT_CONFIG_ROLE_FALLBACK );
@@ -970,7 +978,7 @@
*/
public Profile createProfile()
{
- return new BaseProfile();
+ return (Profile)ServiceHelper.createObject(this.profileClass);
}
/**
@@ -981,7 +989,9 @@
*/
public Profile createProfile(ProfileLocator locator)
{
- return new BaseProfile(locator);
+ Profile profile = (Profile)ServiceHelper.createObject(this.profileClass);
+ profile.init(locator);
+ return profile;
}
/**
@@ -992,7 +1002,7 @@
*/
public ProfileLocator createLocator()
{
- return new BaseProfileLocator();
+ return (ProfileLocator)ServiceHelper.createObject(this.locatorClass);
}
/**
1.112 +5 -1 jakarta-jetspeed/webapp/WEB-INF/conf/JetspeedResources.properties
Index: JetspeedResources.properties
===================================================================
RCS file: /home/cvs/jakarta-jetspeed/webapp/WEB-INF/conf/JetspeedResources.properties,v
retrieving revision 1.111
retrieving revision 1.112
diff -u -r1.111 -r1.112
--- JetspeedResources.properties 30 Oct 2003 01:53:17 -0000 1.111
+++ JetspeedResources.properties 20 Nov 2003 02:51:03 -0000 1.112
@@ -454,6 +454,10 @@
# Control to use in merged profile
services.Profiler.rolemerge.control=TabControl
+# default profile and locator class impls
+services.Profiler.profile.impl = org.apache.jetspeed.om.profile.BaseProfile
+services.Profiler.locator.impl = org.apache.jetspeed.om.profile.BaseProfileLocator
+
#########################################
# Template Locator Service #
#########################################
1.71 +0 -0 jakarta-jetspeed/webapp/WEB-INF/conf/JetspeedSecurity.properties
Index: JetspeedSecurity.properties
===================================================================
RCS file: /home/cvs/jakarta-jetspeed/webapp/WEB-INF/conf/JetspeedSecurity.properties,v
retrieving revision 1.70
retrieving revision 1.71
diff -u -r1.70 -r1.71
1.33 +1 -1 jakarta-jetspeed/webapp/WEB-INF/db/jetspeed.properties
Index: jetspeed.properties
===================================================================
RCS file: /home/cvs/jakarta-jetspeed/webapp/WEB-INF/db/jetspeed.properties,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -r1.32 -r1.33
--- jetspeed.properties 25 Aug 2003 06:18:41 -0000 1.32
+++ jetspeed.properties 20 Nov 2003 02:51:03 -0000 1.33
@@ -1,5 +1,5 @@
#HSQL database
-#Wed Aug 13 15:04:41 PDT 2003
+#Wed Nov 19 18:08:27 PST 2003
sql.strict_fk=false
readonly=false
sql.strong_fk=true
1.36 +4 -2 jakarta-jetspeed/webapp/WEB-INF/db/jetspeed.script
Index: jetspeed.script
===================================================================
RCS file: /home/cvs/jakarta-jetspeed/webapp/WEB-INF/db/jetspeed.script,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -r1.35 -r1.36
--- jetspeed.script 25 Aug 2003 06:18:41 -0000 1.35
+++ jetspeed.script 20 Nov 2003 02:51:03 -0000 1.36
@@ -19,8 +19,8 @@
CREATE TABLE COFFEES(COFFEE_ID INTEGER NOT NULL IDENTITY PRIMARY KEY,COFFEE_NAME VARCHAR(50),SUPPLIER_ID INTEGER,PRICE FLOAT,SALES INTEGER,TOTAL INTEGER)
CREATE TABLE JETSPEED_ACL(ACL_ID INTEGER,SECURITY_ID INTEGER,RESOURCE VARCHAR,RESOURCE_TYPE VARCHAR,ACTION VARCHAR,ALLOW_TYPE VARCHAR,PRINCIPAL VARCHAR,CONSTRAINT SYS_CT_17 UNIQUE(ACL_ID))
CREATE INDEX JETSPEED_ACL_I_2 ON JETSPEED_ACL(SECURITY_ID)
-GRANT ALL ON CLASS "org.hsqldb.Library" TO PUBLIC
GRANT ALL ON CLASS "java.lang.Math" TO PUBLIC
+GRANT ALL ON CLASS "org.hsqldb.Library" TO PUBLIC
GRANT ALL ON CLASS "org.hsql.Library" TO PUBLIC
CREATE USER SA PASSWORD "" ADMIN
CREATE ALIAS DAYNAME FOR "org.hsqldb.Library.dayname"
@@ -170,6 +170,8 @@
INSERT INTO COFFEES VALUES(9,'KenyanGrade',2,7.99E0,1,2)
INSERT INTO COFFEES VALUES(10,'JoeGrade',3,7.99E0,1,2)
INSERT INTO COFFEES VALUES(11,'CantThinkOfAnymoreGrade',4,7.99E0,1,2)
-/*C1*/CONNECT USER sa PASSWORD ""
+/*C2*/CONNECT USER sa PASSWORD ""
+SET AUTOCOMMIT TRUE
+SET READONLY FALSE
SET AUTOCOMMIT TRUE
SET READONLY FALSE
---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jetspeed-dev-help@jakarta.apache.org