taylor 2002/07/22 21:54:36 Modified: build build.xml src/java/org/apache/jetspeed/modules/actions/controls Customize.java src/java/org/apache/jetspeed/modules/actions/portlets CustomizeSetAction.java src/java/org/apache/jetspeed/services/psmlmanager PsmlImporter.java TestMarshalPsml.java src/java/org/apache/jetspeed/services/psmlmanager/db DatabasePsmlManagerService.java webapp/WEB-INF/conf JetspeedSecurity.properties webapp/WEB-INF/db jetspeed.properties webapp/WEB-INF/templates/vm/portlets/html customizer-portletset-add.vm Log: - Fixed bug 8985 - Cancel button on add portlet customizer page does reset - Brought DB-PSML feature up-to-date to work with new 1.4 release. - Added support to DB-PSML for query() method to return full profiles - Removed auto-run feature of DB-PSML - too many init() problems from users - it now must be ran from the cmdline (im working on that - see next commit) Revision Changes Path 1.152 +22 -0 jakarta-jetspeed/build/build.xml Index: build.xml =================================================================== RCS file: /home/cvs/jakarta-jetspeed/build/build.xml,v retrieving revision 1.151 retrieving revision 1.152 diff -u -r1.151 -r1.152 --- build.xml 19 Jul 2002 10:21:46 -0000 1.151 +++ build.xml 23 Jul 2002 04:54:36 -0000 1.152 @@ -862,6 +862,28 @@ </junit> </target> + <!-- =================================================================== --> + <!-- PSML Importer --> + <!-- =================================================================== --> + <target name="import" depends="compile" + description="Import PSML"> + + <junit printsummary="yes" haltonfailure="yes" haltonerror="yes" fork="yes"> + + <classpath> + <pathelement location="${build.dest.dir}"/> + <path refid="classpath"/> + <pathelement location="${junit.jar}"/> + <pathelement location="${hsql.jar}"/> + </classpath> + + <formatter type="plain" usefile="false"/> + + <!-- JUnit unit tests --> + <test name="org.apache.jetspeed.services.psmlmanager.TestPsmlImporter"/> + + </junit> + </target> <!-- =================================================================== --> <!-- Run the client JUnit test cases (non-cactus) on the Caching system --> 1.12 +1 -0 jakarta-jetspeed/src/java/org/apache/jetspeed/modules/actions/controls/Customize.java Index: Customize.java =================================================================== RCS file: /home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/modules/actions/controls/Customize.java,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- Customize.java 23 Jul 2002 00:03:54 -0000 1.11 +++ Customize.java 23 Jul 2002 04:54:36 -0000 1.12 @@ -107,6 +107,7 @@ jdata.setCustomized(null); p = jdata.getCustomized(); } + jdata.setCustomized(null); } 1.22 +4 -6 jakarta-jetspeed/src/java/org/apache/jetspeed/modules/actions/portlets/CustomizeSetAction.java Index: CustomizeSetAction.java =================================================================== RCS file: /home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/modules/actions/portlets/CustomizeSetAction.java,v retrieving revision 1.21 retrieving revision 1.22 diff -u -r1.21 -r1.22 --- CustomizeSetAction.java 23 Jul 2002 00:03:54 -0000 1.21 +++ CustomizeSetAction.java 23 Jul 2002 04:54:36 -0000 1.22 @@ -186,6 +186,7 @@ template = TemplateLocator.locatePortletTemplate(rundata, buffer.toString()); context.put("feature",template); + } if (set==null) return; @@ -292,11 +293,9 @@ /** Clean up the customization state */ public void doCancel(RunData rundata, Context context) { - ((JetspeedRunData)rundata).setCustomized(null); - if (((JetspeedRunData)rundata).getCustomized()==null) - { - rundata.setScreenTemplate("Home"); - } + //((JetspeedRunData)rundata).setCustomized(null); + //rundata.setScreenTemplate("Home"); + rundata.getUser().setTemp("mode", "layout"); } /** Save the general informations for this set */ @@ -329,7 +328,6 @@ public void doApply(RunData rundata, Context context) { doSave(rundata, context); - doCancel(rundata, context); } /** Add a new portlets element in the customized set */ 1.10 +3 -4 jakarta-jetspeed/src/java/org/apache/jetspeed/services/psmlmanager/PsmlImporter.java Index: PsmlImporter.java =================================================================== RCS file: /home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/services/psmlmanager/PsmlImporter.java,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- PsmlImporter.java 28 Jun 2002 05:37:33 -0000 1.9 +++ PsmlImporter.java 23 Jul 2002 04:54:36 -0000 1.10 @@ -156,13 +156,12 @@ { try { - // dst: why not get a count(*) from ANON table? - +System.out.println("starting import..."); JetspeedUser user = JetspeedSecurity.getUser("admin"); QueryLocator ql = new QueryLocator(QueryLocator.QUERY_USER); ql.setUser(user); Iterator iterator = PsmlManager.query(ql); - while (iterator.hasNext()) + if (iterator.hasNext()) { String msg = "PSMLImporter: Detected database is populated. No need to import."; System.out.println(msg); 1.9 +55 -1 jakarta-jetspeed/src/java/org/apache/jetspeed/services/psmlmanager/TestMarshalPsml.java Index: TestMarshalPsml.java =================================================================== RCS file: /home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/services/psmlmanager/TestMarshalPsml.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- TestMarshalPsml.java 23 Jul 2002 00:03:54 -0000 1.8 +++ TestMarshalPsml.java 23 Jul 2002 04:54:36 -0000 1.9 @@ -1,3 +1,57 @@ +/* ==================================================================== + * The Apache Software License, Version 1.1 + * + * Copyright (c) 2000-2001 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 [EMAIL PROTECTED] + * + * 5. Products derived from this software may not be called "Apache" or + * "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.psmlmanager; import java.io.File; 1.18 +105 -5 jakarta-jetspeed/src/java/org/apache/jetspeed/services/psmlmanager/db/DatabasePsmlManagerService.java Index: DatabasePsmlManagerService.java =================================================================== RCS file: /home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/services/psmlmanager/db/DatabasePsmlManagerService.java,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- DatabasePsmlManagerService.java 16 Jul 2002 19:10:39 -0000 1.17 +++ DatabasePsmlManagerService.java 23 Jul 2002 04:54:36 -0000 1.18 @@ -66,7 +66,9 @@ import org.apache.jetspeed.om.profile.Profile; 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.QueryLocator; + //Castor defined API import org.apache.jetspeed.om.profile.Portlets; import org.apache.jetspeed.om.profile.PSMLDocument; @@ -82,8 +84,12 @@ // jetspeed security import org.apache.jetspeed.om.security.JetspeedUser; +import org.apache.jetspeed.om.security.JetspeedUserFactory; import org.apache.jetspeed.om.security.Role; +import org.apache.jetspeed.om.security.JetspeedRoleFactory; import org.apache.jetspeed.om.security.Group; +import org.apache.jetspeed.om.security.JetspeedGroupFactory; +import org.apache.jetspeed.services.security.JetspeedSecurityException; //Servlet API @@ -131,6 +137,7 @@ * * @author <a href="mailto:[EMAIL PROTECTED]">Atul Dambalkar</a> * @author <a href="mailto:[EMAIL PROTECTED]">Medha Vaidya</a> + * @author <a href="mailto:[EMAIL PROTECTED]">David Sean Taylor</a> * @version $Id$ */ public class DatabasePsmlManagerService extends TurbineBaseService @@ -217,7 +224,7 @@ { //Mark that we are done setInit(true); - +/* try { PsmlImporter importer = new PsmlImporter(); @@ -228,6 +235,7 @@ Log.error("Error importing: " , e); e.printStackTrace(); } + */ } protected void loadMapping() @@ -784,19 +792,19 @@ if (obj instanceof JetspeedUserProfile) { portlets = DBUtils.bytesToPortlets(((JetspeedUserProfile)obj).getProfile(), this.mapping); + list.add(createUserProfile((JetspeedUserProfile)obj, portlets)); } else if (obj instanceof JetspeedGroupProfile) { portlets = DBUtils.bytesToPortlets(((JetspeedGroupProfile)obj).getProfile(), this.mapping); - + list.add(createGroupProfile((JetspeedGroupProfile)obj, portlets)); } else if (obj instanceof JetspeedRoleProfile) { portlets = DBUtils.bytesToPortlets(((JetspeedRoleProfile)obj).getProfile(), this.mapping); - + list.add(createRoleProfile((JetspeedRoleProfile)obj, portlets)); } - list.add(portlets); } return list; } @@ -1049,5 +1057,97 @@ { return this.mapping; } + + /** + * Creates a user profile from a JetspeedUserProfile database object. + * + * @param entity The user profile entity in the database. + * @param portlets The PSML blob. + * @return A new profile object representing the locator and PSML blob. + */ + public Profile createUserProfile(JetspeedUserProfile entity, Portlets portlets) + { + Profile profile = new BaseProfile(); + try + { + JetspeedUser user = JetspeedSecurity.getUser(entity.getUserName()); + if (null == user) + { + user = JetspeedUserFactory.getInstance(); + user.setUserName(entity.getUserName()); + } + profile.setUser(user); + + profile.setMediaType(entity.getMediaType()); + profile.setLanguage(entity.getLanguage()); + profile.setCountry(entity.getCountry()); + profile.setName(entity.getPage()); + } + catch (JetspeedSecurityException e) + { + } + return profile; + } + + /** + * Creates a group profile from a JetspeedGroupProfile database object. + * + * @param entity The group profile entity in the database. + * @param portlets The PSML blob. + * @return A new profile object representing the locator and PSML blob. + */ + public Profile createGroupProfile(JetspeedGroupProfile entity, Portlets portlets) + { + Profile profile = new BaseProfile(); + try + { + Group group = JetspeedSecurity.getGroup(entity.getGroupName()); + if (null == group) + { + group = JetspeedGroupFactory.getInstance(); + group.setName(entity.getGroupName()); + } + profile.setGroup(group); + profile.setMediaType(entity.getMediaType()); + profile.setLanguage(entity.getLanguage()); + profile.setCountry(entity.getCountry()); + profile.setName(entity.getPage()); + } + catch (JetspeedSecurityException e) + { + } + return profile; + } + + /** + * Creates a role profile from a JetspeedRoleProfile database object. + * + * @param entity The group profile entity in the database. + * @param portlets The PSML blob. + * @return A new profile object representing the locator and PSML blob. + */ + public Profile createRoleProfile(JetspeedRoleProfile entity, Portlets portlets) + { + Profile profile = new BaseProfile(); + try + { + Role role = JetspeedSecurity.getRole(entity.getRoleName()); + if (null == role) + { + role = JetspeedRoleFactory.getInstance(); + role.setName(entity.getRoleName()); + } + profile.setRole(role); + profile.setMediaType(entity.getMediaType()); + profile.setLanguage(entity.getLanguage()); + profile.setCountry(entity.getCountry()); + profile.setName(entity.getPage()); + } + catch (JetspeedSecurityException e) + { + } + return profile; + } + } 1.20 +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.19 retrieving revision 1.20 diff -u -r1.19 -r1.20 1.16 +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.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- jetspeed.properties 23 Jul 2002 00:03:55 -0000 1.15 +++ jetspeed.properties 23 Jul 2002 04:54:36 -0000 1.16 @@ -1,4 +1,4 @@ #Hypersonic SQL database -#Mon Jul 22 16:57:40 PDT 2002 +#Mon Jul 22 18:59:57 PDT 2002 version=1.4 modified=yes 1.10 +14 -3 jakarta-jetspeed/webapp/WEB-INF/templates/vm/portlets/html/customizer-portletset-add.vm Index: customizer-portletset-add.vm =================================================================== RCS file: /home/cvs/jakarta-jetspeed/webapp/WEB-INF/templates/vm/portlets/html/customizer-portletset-add.vm,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- customizer-portletset-add.vm 23 Jul 2002 00:03:56 -0000 1.9 +++ customizer-portletset-add.vm 23 Jul 2002 04:54:36 -0000 1.10 @@ -99,7 +99,13 @@ <tr> <td> #if ($prev) - <a href="$jslink.setTemplate("Customize").addPathInfo("start",$prev)">$l10n.CUSTOMIZER_PREVIOUSBTN</a> + #set ($mtype = $!data.Parameters.getString("mtype")) + #if ($!mtype) + <a href="$jslink.setTemplate("Customize").addPathInfo("start",$prev).addQueryData('mtype', $mtype)">$l10n.CUSTOMIZER_PREVIOUSBTN</a> + #else + <a href="$jslink.setTemplate("Customize").addPathInfo("start",$prev)">$l10n.CUSTOMIZER_PREVIOUSBTN</a> + #end + #else #end @@ -108,11 +114,16 @@ <input type="submit" name="eventSubmit_doAdd" value="$l10n.CUSTOMIZER_APPLY"> </td> <td> - <input type="reset" name="eventSubmit_doAdd" value="$l10n.CUSTOMIZER_CANCEL"> + <input type="submit" name="eventSubmit_doCancel" value="$l10n.CUSTOMIZER_CANCEL"> </td> <td> #if ($next) - <a href="$jslink.setTemplate("Customize").addPathInfo("start",$next)">$l10n.CUSTOMIZER_NEXTBTN</a> + #set ($mtype = $!data.Parameters.getString("mtype")) + #if ($!mtype) + <a href="$jslink.setTemplate("Customize").addPathInfo("start",$next).addQueryData('mtype', $mtype)">$l10n.CUSTOMIZER_NEXTBTN</a> + #else + <a href="$jslink.setTemplate("Customize").addPathInfo("start",$next)">$l10n.CUSTOMIZER_NEXTBTN</a> + #end #else #end
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>