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 2002/03/25 08:33:32 UTC
cvs commit: jakarta-jetspeed/src/java/org/apache/jetspeed/services/psmlmanager/db DBUtils.java DatabasePsmlManagerService.java
taylor 02/03/24 23:33:32
Modified: src/java/org/apache/jetspeed/om/dbpsml
JetspeedAnonProfilePeer.java
JetspeedGroupProfilePeer.java
JetspeedRoleProfilePeer.java
JetspeedUserProfilePeer.java
src/java/org/apache/jetspeed/services/psmlmanager
CastorPsmlManagerService.java
src/java/org/apache/jetspeed/services/psmlmanager/db
DBUtils.java DatabasePsmlManagerService.java
Log:
- Completed conversion of PSML to Castor mapping for DB PSML
Revision Changes Path
1.3 +4 -1 jakarta-jetspeed/src/java/org/apache/jetspeed/om/dbpsml/JetspeedAnonProfilePeer.java
Index: JetspeedAnonProfilePeer.java
===================================================================
RCS file: /home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/om/dbpsml/JetspeedAnonProfilePeer.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- JetspeedAnonProfilePeer.java 6 Dec 2001 05:10:52 -0000 1.2
+++ JetspeedAnonProfilePeer.java 25 Mar 2002 07:33:32 -0000 1.3
@@ -23,6 +23,8 @@
import org.apache.jetspeed.om.profile.ProfileLocator;
import org.apache.jetspeed.services.psmlmanager.db.DBOperations;
import org.apache.jetspeed.services.psmlmanager.db.DBUtils;
+import org.apache.jetspeed.services.psmlmanager.db.DatabasePsmlManagerService;
+import org.apache.jetspeed.services.PsmlManager;
/**
*
@@ -63,13 +65,14 @@
throws Exception
{
JetspeedAnonProfile anonProfile = new JetspeedAnonProfile();
+ DatabasePsmlManagerService service = (DatabasePsmlManagerService)PsmlManager.getService();
anonProfile.setMediaType(profile.getMediaType());
anonProfile.setLanguage(profile.getLanguage());
anonProfile.setCountry(profile.getCountry());
anonProfile.setPage(profile.getName());
anonProfile.setProfile(DBUtils.portletsToBytes(
- profile.getDocument().getPortlets()));
+ profile.getDocument().getPortlets(), service.getMapping()));
if (operation == INSERT)
{
1.3 +4 -1 jakarta-jetspeed/src/java/org/apache/jetspeed/om/dbpsml/JetspeedGroupProfilePeer.java
Index: JetspeedGroupProfilePeer.java
===================================================================
RCS file: /home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/om/dbpsml/JetspeedGroupProfilePeer.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- JetspeedGroupProfilePeer.java 6 Dec 2001 05:10:52 -0000 1.2
+++ JetspeedGroupProfilePeer.java 25 Mar 2002 07:33:32 -0000 1.3
@@ -21,6 +21,8 @@
import org.apache.jetspeed.om.profile.ProfileLocator;
import org.apache.jetspeed.services.psmlmanager.db.DBOperations;
import org.apache.jetspeed.services.psmlmanager.db.DBUtils;
+import org.apache.jetspeed.services.psmlmanager.db.DatabasePsmlManagerService;
+import org.apache.jetspeed.services.PsmlManager;
/**
* The skeleton for this class was autogenerated by Torque on:
@@ -69,6 +71,7 @@
throws Exception
{
JetspeedGroupProfile groupProfile = new JetspeedGroupProfile();
+ DatabasePsmlManagerService service = (DatabasePsmlManagerService)PsmlManager.getService();
groupProfile.setGroupName(profile.getGroup().getName());
groupProfile.setMediaType(profile.getMediaType());
@@ -76,7 +79,7 @@
groupProfile.setCountry(profile.getCountry());
groupProfile.setPage(profile.getName());
groupProfile.setProfile(DBUtils.portletsToBytes(
- profile.getDocument().getPortlets()));
+ profile.getDocument().getPortlets(), service.getMapping()));
if (operation == INSERT)
{
1.3 +5 -1 jakarta-jetspeed/src/java/org/apache/jetspeed/om/dbpsml/JetspeedRoleProfilePeer.java
Index: JetspeedRoleProfilePeer.java
===================================================================
RCS file: /home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/om/dbpsml/JetspeedRoleProfilePeer.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- JetspeedRoleProfilePeer.java 6 Dec 2001 05:10:52 -0000 1.2
+++ JetspeedRoleProfilePeer.java 25 Mar 2002 07:33:32 -0000 1.3
@@ -21,6 +21,9 @@
import org.apache.jetspeed.om.profile.ProfileLocator;
import org.apache.jetspeed.services.psmlmanager.db.DBOperations;
import org.apache.jetspeed.services.psmlmanager.db.DBUtils;
+import org.apache.jetspeed.services.psmlmanager.db.DatabasePsmlManagerService;
+import org.apache.jetspeed.services.PsmlManager;
+
/**
* The skeleton for this class was autogenerated by Torque on:
@@ -69,6 +72,7 @@
throws Exception
{
JetspeedRoleProfile roleProfile = new JetspeedRoleProfile();
+ DatabasePsmlManagerService service = (DatabasePsmlManagerService)PsmlManager.getService();
roleProfile.setRoleName(profile.getRole().getName());
roleProfile.setMediaType(profile.getMediaType());
@@ -76,7 +80,7 @@
roleProfile.setCountry(profile.getCountry());
roleProfile.setPage(profile.getName());
roleProfile.setProfile(DBUtils.portletsToBytes(
- profile.getDocument().getPortlets()));
+ profile.getDocument().getPortlets(), service.getMapping()));
if (operation == INSERT)
{
1.3 +4 -1 jakarta-jetspeed/src/java/org/apache/jetspeed/om/dbpsml/JetspeedUserProfilePeer.java
Index: JetspeedUserProfilePeer.java
===================================================================
RCS file: /home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/om/dbpsml/JetspeedUserProfilePeer.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- JetspeedUserProfilePeer.java 6 Dec 2001 05:10:52 -0000 1.2
+++ JetspeedUserProfilePeer.java 25 Mar 2002 07:33:32 -0000 1.3
@@ -28,6 +28,8 @@
import org.apache.jetspeed.om.profile.ProfileLocator;
import org.apache.jetspeed.services.psmlmanager.db.DBOperations;
import org.apache.jetspeed.services.psmlmanager.db.DBUtils;
+import org.apache.jetspeed.services.psmlmanager.db.DatabasePsmlManagerService;
+import org.apache.jetspeed.services.PsmlManager;
/**
* The skeleton for this class was autogenerated by Torque on:
@@ -75,6 +77,7 @@
throws Exception
{
JetspeedUserProfile userProfile = new JetspeedUserProfile();
+ DatabasePsmlManagerService service = (DatabasePsmlManagerService)PsmlManager.getService();
userProfile.setUserName(profile.getUser().getUserName());
userProfile.setMediaType(profile.getMediaType());
@@ -82,7 +85,7 @@
userProfile.setCountry(profile.getCountry());
userProfile.setPage(profile.getName());
userProfile.setProfile(DBUtils.portletsToBytes(
- profile.getDocument().getPortlets()));
+ profile.getDocument().getPortlets(), service.getMapping()));
if (operation == INSERT)
{
1.18 +2 -1 jakarta-jetspeed/src/java/org/apache/jetspeed/services/psmlmanager/CastorPsmlManagerService.java
Index: CastorPsmlManagerService.java
===================================================================
RCS file: /home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/services/psmlmanager/CastorPsmlManagerService.java,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- CastorPsmlManagerService.java 22 Mar 2002 18:51:56 -0000 1.17
+++ CastorPsmlManagerService.java 25 Mar 2002 07:33:32 -0000 1.18
@@ -79,6 +79,7 @@
import org.apache.jetspeed.om.security.BaseJetspeedUser;
import org.apache.turbine.om.security.TurbineRole;
import org.apache.turbine.om.security.TurbineGroup;
+import org.apache.turbine.services.TurbineServices;
//castor support
import org.exolab.castor.xml.MarshalException;
@@ -117,7 +118,7 @@
* @author <a href="mailto:raphael@apache.org">Rapha�l Luta</a>
* @author <a href="mailto:taylor@apache.org">David Sean Taylor</a>
* @author <a href="mailto:sgala@apache.org">Santiago Gala</a>
- * @version $Id: CastorPsmlManagerService.java,v 1.17 2002/03/22 18:51:56 taylor Exp $
+ * @version $Id: CastorPsmlManagerService.java,v 1.18 2002/03/25 07:33:32 taylor Exp $
*/
public class CastorPsmlManagerService extends TurbineBaseService
implements PsmlManagerService
1.4 +5 -5 jakarta-jetspeed/src/java/org/apache/jetspeed/services/psmlmanager/db/DBUtils.java
Index: DBUtils.java
===================================================================
RCS file: /home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/services/psmlmanager/db/DBUtils.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- DBUtils.java 22 Mar 2002 18:51:57 -0000 1.3
+++ DBUtils.java 25 Mar 2002 07:33:32 -0000 1.4
@@ -80,7 +80,7 @@
* This is a utility class used for database PSML implementation.
*
* @author <a href="mailto:adambalk@cisco.com">Atul Dambalkar</a>
- * @version $Id: DBUtils.java,v 1.3 2002/03/22 18:51:57 taylor Exp $
+ * @version $Id: DBUtils.java,v 1.4 2002/03/25 07:33:32 taylor Exp $
*/
public class DBUtils
{
@@ -91,12 +91,12 @@
* @param portletBytes Bytes array to load the PSML from
* @return PSML structure Portlets object
*/
- public static Portlets bytesToPortlets(byte[] portletBytes)
+ public static Portlets bytesToPortlets(byte[] portletBytes, Mapping mapping)
{
Reader reader = new StringReader(new String(portletBytes));
try
{
- Unmarshaller unmarshaller = new Unmarshaller((Mapping)null);
+ Unmarshaller unmarshaller = new Unmarshaller((Mapping)mapping);
return (Portlets)unmarshaller.unmarshal(reader);
// return Portlets.unmarshal(reader);
@@ -128,7 +128,7 @@
* @param portlets the structure to convert to bytes array
* @return Bytes array object for portles
*/
- public static byte[] portletsToBytes(Portlets portlets)
+ public static byte[] portletsToBytes(Portlets portlets, Mapping mapping)
{
if (portlets == null)
{
@@ -143,7 +143,7 @@
// portlets.marshal(writer);
Marshaller marshaller = new Marshaller(writer);
- marshaller.setMapping(null);
+ marshaller.setMapping(mapping);
marshaller.marshal(portlets);
Log.debug("Portlets: " + writer.toString());
1.14 +63 -9 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.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- DatabasePsmlManagerService.java 22 Mar 2002 18:51:57 -0000 1.13
+++ DatabasePsmlManagerService.java 25 Mar 2002 07:33:32 -0000 1.14
@@ -83,6 +83,7 @@
import org.apache.turbine.om.security.Role;
import org.apache.turbine.util.db.pool.DBConnection;
import org.apache.turbine.services.db.TurbineDB;
+import org.apache.turbine.services.servlet.TurbineServlet;
//Servlet API
import javax.servlet.ServletConfig;
@@ -117,6 +118,12 @@
import java.util.Vector;
import java.util.WeakHashMap;
import java.io.IOException;
+import java.io.FileReader;
+import java.io.File;
+
+import org.exolab.castor.mapping.Mapping;
+import org.exolab.castor.mapping.MappingException;
+import org.xml.sax.InputSource;
/**
@@ -125,7 +132,7 @@
*
* @author <a href="mailto:adambalk@cisco.com">Atul Dambalkar</a>
* @author <a href="mailto:mvaidya@cisco.com">Medha Vaidya</a>
- * @version $Id: DatabasePsmlManagerService.java,v 1.13 2002/03/22 18:51:57 taylor Exp $
+ * @version $Id: DatabasePsmlManagerService.java,v 1.14 2002/03/25 07:33:32 taylor Exp $
*/
public class DatabasePsmlManagerService extends TurbineBaseService
implements PsmlManagerService, DBOperations
@@ -145,6 +152,12 @@
/** the import/export consumer service **/
private PsmlManagerService consumer = null;
+ // castor mapping
+ public static final String DEFAULT_MAPPING = "${webappRoot}/WEB-INF/conf/psml-mapping.xml";
+ String mapFile = null;
+ /** the Castor mapping file name */
+ private Mapping mapping = null;
+
/**
* This is the early initialization method called by the
* Turbine <code>Service</code> framework
@@ -196,6 +209,11 @@
// new DatabaseInitializer(this, conf, serviceConf);
+ // psml castor mapping file
+ mapFile = serviceConf.getString("mapping",DEFAULT_MAPPING);
+ mapFile = TurbineServlet.getRealPath( mapFile );
+ loadMapping();
+
}
catch (Throwable t)
{
@@ -224,6 +242,37 @@
}
}
+ protected void loadMapping()
+ throws InitializationException
+ {
+ // test the mapping file and create the mapping object
+
+ if (mapFile != null)
+ {
+ File map = new File(mapFile);
+ Log.debug("Loading psml mapping file "+mapFile);
+ if (map.exists() && map.isFile() && map.canRead())
+ {
+ try
+ {
+ mapping = new Mapping();
+ InputSource is = new InputSource( new FileReader(map) );
+ is.setSystemId( mapFile );
+ mapping.loadMapping( is );
+ }
+ catch (Exception e)
+ {
+ Log.error("Error in psml mapping creation",e);
+ throw new InitializationException("Error in mapping",e);
+ }
+ }
+ else
+ {
+ throw new InitializationException("PSML Mapping not found or not a file or unreadable: "+mapFile);
+ }
+ }
+ }
+
/**
* This is the shutdown method called by the
* Turbine <code>Service</code> framework
@@ -774,21 +823,21 @@
if (obj instanceof JetspeedUserProfile)
{
- portlets = DBUtils.bytesToPortlets(((JetspeedUserProfile)obj).getProfile());
+ portlets = DBUtils.bytesToPortlets(((JetspeedUserProfile)obj).getProfile(), this.mapping);
}
else if (obj instanceof JetspeedGroupProfile)
{
- portlets = DBUtils.bytesToPortlets(((JetspeedGroupProfile)obj).getProfile());
+ portlets = DBUtils.bytesToPortlets(((JetspeedGroupProfile)obj).getProfile(), this.mapping);
}
else if (obj instanceof JetspeedRoleProfile)
{
- portlets = DBUtils.bytesToPortlets(((JetspeedRoleProfile)obj).getProfile());
+ portlets = DBUtils.bytesToPortlets(((JetspeedRoleProfile)obj).getProfile(), this.mapping);
}
else if (obj instanceof JetspeedAnonProfile)
{
- portlets = DBUtils.bytesToPortlets(((JetspeedAnonProfile)obj).getProfile());
+ portlets = DBUtils.bytesToPortlets(((JetspeedAnonProfile)obj).getProfile(), this.mapping);
}
list.add(portlets);
@@ -882,7 +931,7 @@
JetspeedUserProfile uprofile =
(JetspeedUserProfile)iterator.next();
page = uprofile.getPage();
- portlets = DBUtils.bytesToPortlets(uprofile.getProfile());
+ portlets = DBUtils.bytesToPortlets(uprofile.getProfile(), this.mapping);
}
}
else if (role != null)
@@ -895,7 +944,7 @@
JetspeedRoleProfile rprofile =
(JetspeedRoleProfile)iterator.next();
page = rprofile.getPage();
- portlets = DBUtils.bytesToPortlets(rprofile.getProfile());
+ portlets = DBUtils.bytesToPortlets(rprofile.getProfile(), this.mapping);
}
}
else if (group != null)
@@ -908,7 +957,7 @@
JetspeedGroupProfile gprofile =
(JetspeedGroupProfile)iterator.next();
page = gprofile.getPage();
- portlets = DBUtils.bytesToPortlets(gprofile.getProfile());
+ portlets = DBUtils.bytesToPortlets(gprofile.getProfile(), this.mapping);
}
}
else // it will be anonymous access
@@ -921,7 +970,7 @@
JetspeedAnonProfile aprofile =
(JetspeedAnonProfile)iterator.next();
page = aprofile.getPage();
- portlets = DBUtils.bytesToPortlets(aprofile.getProfile());
+ portlets = DBUtils.bytesToPortlets(aprofile.getProfile(), this.mapping);
}
}
if (page != null && portlets != null)
@@ -1046,5 +1095,10 @@
return count;
}
+
+ public Mapping getMapping()
+ {
+ return this.mapping;
+ }
}
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>