Bugzilla is not setup for Jetspeed-2 and for this reason I send patches for the stuff I'm working on to the dev list.
The following patches includes the classes and the schema updates for storing the Media Types (Capabilities/MimeType) in the database using OJB. I had some troubles to create patches for new directories & files. I had to include them as zipped files. ZIP files: om-registry-impl.zip contains files that go into new folder jetspeed.om.registry.impl Interfaces.zip contains two new interfaces Capability and MimeType Patches: om-registry.txt patches the registry files sql-hsql.txt patch for schema update WEB_INF-OJB.txt patches for mapping file update Important: The following two files need to be deleted from the jetspeed.capability directory: BaseCapabilityMap.java CapabilityMapFactory.java Seems like a lot of manual steps but I couldn't find a "less-painful" way. Roger
Index: hsql/create-db.sql =================================================================== RCS file: /home/cvspublic/jakarta-jetspeed-2/portal/src/sql/hsql/create-db.sql,v retrieving revision 1.5 diff -u -r1.5 create-db.sql --- hsql/create-db.sql 8 Aug 2003 21:59:53 -0000 1.5 +++ hsql/create-db.sql 9 Aug 2003 00:24:39 -0000 @@ -145,4 +145,81 @@ LOCALE_STRING VARCHAR(50) NOT NULL ); +------------------------------------------------------------------------------ +-- Tables for Capability mapping +------------------------------------------------------------------------------ + +----------------------------------------------------------------------------- +-- Media Type +------------------------------------------------------------------------------ + +CREATE TABLE MEDIA_TYPE( + MEDIATYPE_ID INTEGER NOT NULL PRIMARY KEY, + NAME VARCHAR(80) NOT NULL, + CHARACTER_SET VARCHAR(40), + TITLE VARCHAR(80), + DESCRIPTION LONGVARCHAR +); + +------------------------------------------------------------------------------ +-- Client +------------------------------------------------------------------------------ + +CREATE TABLE CLIENT( + CLIENT_ID INTEGER NOT NULL PRIMARY KEY, + NAME VARCHAR(80) NOT NULL, + USER_AGENT_PATTERN VARCHAR (128), + MANUFACTURER VARCHAR (80), + MODEL VARCHAR(80), + VERSION VARCHAR(40) +); + +------------------------------------------------------------------------------ +-- Mimetype +------------------------------------------------------------------------------ + +CREATE TABLE MIMETYPE( + MIMETYPE_ID INTEGER NOT NULL PRIMARY KEY, + NAME VARCHAR(80) NOT NULL +); + +------------------------------------------------------------------------------ +-- Capability +------------------------------------------------------------------------------ + +CREATE TABLE CAPABILITY( + CAPABILITY_ID INTEGER NOT NULL PRIMARY KEY, + CAPABILITY VARCHAR(80) NOT NULL +); + +------------------------------------------------------ +-- Client association +------------------------------------------------------ +CREATE TABLE CLIENT_TO_CAPABILITY( + + CLIENT_ID INTEGER NOT NULL, + CAPABILITY_ID INTEGER NOT NULL +); + + +CREATE TABLE CLIENT_TO_MIMETYPE( + CLIENT_ID INTEGER NOT NULL, + MIMETYPE_ID INTEGER NOT NULL +); + +---------------------------------------------------- +-- Media Type association +---------------------------------------------------- +CREATE TABLE MEDIATYPE_TO_CAPABILITY( + + MEDIATYPE_ID INTEGER NOT NULL, + CAPABILITY_ID INTEGER NOT NULL +); + + +CREATE TABLE MEDIATYPE_TO_MIMETYPE( + MEDIATYPE_ID INTEGER NOT NULL, + MIMETYPE_ID INTEGER NOT NULL +); + Index: hsql/drop-db.sql =================================================================== RCS file: /home/cvspublic/jakarta-jetspeed-2/portal/src/sql/hsql/drop-db.sql,v retrieving revision 1.3 diff -u -r1.3 drop-db.sql --- hsql/drop-db.sql 1 Aug 2003 20:14:46 -0000 1.3 +++ hsql/drop-db.sql 9 Aug 2003 00:24:39 -0000 @@ -27,7 +27,17 @@ DROP TABLE OJB_DSET IF EXISTS DROP TABLE OJB_DSET_ENTRIES IF EXISTS DROP TABLE OJB_DMAP IF EXISTS -DROP TABLE OJB_DMAP_ENTRIES IF EXISTS +DROP TABLE OJB_DMAP_ENTRIES IF EXISTS + +DROP TABLE CAPABILITY IF EXISTS +DROP TABLE MIMETYPE IF EXISTS +DROP TABLE CLIENT IF EXISTS +DROP TABLE MEDIA_TYPE IF EXISTS + +DROP TABLE CLIENT_TO_CAPABILITY IF EXISTS +DROP TABLE CLIENT_TO_MIMETYPE IF EXISTS +DROP TABLE MEDIATYPE_TO_CAPABILITY IF EXISTS +DROP TABLE MEDIATYPE_TO_MIMETYPE IF EXISTS
? registry/Capability.java ? registry/MimeType.java ? registry/impl Index: registry/ClientEntry.java =================================================================== RCS file: /home/cvspublic/jakarta-jetspeed-2/portal/src/java/org/apache/jetspeed/om/registry/ClientEntry.java,v retrieving revision 1.1.1.1 diff -u -r1.1.1.1 ClientEntry.java --- registry/ClientEntry.java 28 Jul 2003 23:47:42 -0000 1.1.1.1 +++ registry/ClientEntry.java 9 Aug 2003 04:43:49 -0000 @@ -53,6 +53,8 @@ */ package org.apache.jetspeed.om.registry; +import java.util.Vector; + /** * <P> * The <CODE>ClientEntry</CODE> interface represents one client inside @@ -66,6 +68,19 @@ public interface ClientEntry extends RegistryEntry { /** + * Set Client ID -- Assigns the Client ID + * @param id + */ + public void setClientId(int id); + + + /** + * Get Client ID + * @return Client ID + */ + public int getClientId(); + + /** * Returns the pattern parameter of this client. The pattern is used * to match a client to the user agent used to access the portal. If * the pattern matches the user agent string, this client is recognized @@ -133,7 +148,13 @@ * @return the MimeTypeMap * @see MimeTypeMap */ - public MimetypeMap getMimetypeMap(); + public Vector getMimetypes(); + + /** + * Set MimeTypes + * @param mimetypes + */ + public void setMimetypes(Vector mimetypes); /** * Returns all supported capablities as <CODE>CapabilityMap</CODE>. @@ -143,6 +164,7 @@ * @return the CapabilityMap * @see CapabilityMap */ - public CapabilityMap getCapabilityMap(); + public Vector getCapabilities(); + public void setCapabilities(Vector capabilities); } Index: registry/MediaTypeEntry.java =================================================================== RCS file: /home/cvspublic/jakarta-jetspeed-2/portal/src/java/org/apache/jetspeed/om/registry/MediaTypeEntry.java,v retrieving revision 1.1.1.1 diff -u -r1.1.1.1 MediaTypeEntry.java --- registry/MediaTypeEntry.java 28 Jul 2003 23:47:42 -0000 1.1.1.1 +++ registry/MediaTypeEntry.java 9 Aug 2003 04:43:50 -0000 @@ -53,6 +53,8 @@ */ package org.apache.jetspeed.om.registry; +import java.util.Vector; + /** * This entry describes all the properties that should be present in * a RegistryEntry describing a MediaType @@ -65,15 +67,18 @@ */ public interface MediaTypeEntry extends RegistryEntry { - - /** @return the mime type associated with this MediaType */ - public String getMimeType(); - - /** Sets the MimeType associated with this MediaType - * @param mimeType the MIME type to associate + /** + * Set MediaType ID -- Assigns ID + * @param id */ - public void setMimeType( String mimeType ); + public void setMediatypeId(int id); + /** + * Get MediaType ID -- Return ID + * @return MediaTypeID + */ + public int getMediatypeId(); + /** @return the character set associated with this MediaType */ public String getCharacterSet(); @@ -85,8 +90,45 @@ * The <CODE>CapabilityMap</CODE> contains all capabilities in arbitrary * order. * - * @return the CapabilityMap - * @see CapabilityMap + * @return a vector of capabilities + * + */ + public Vector getCapabilities(); + + /** + * Set the capabilities + * @param vector of capabilities */ - public CapabilityMap getCapabilityMap(); + public void setCapabilities(Vector capabilities); + + /** + * Returns all supported mimetypes as <CODE>MimeTypeMap</CODE>. + * The <CODE>MimeTypeMap</CODE> contains all mimetypes in decreasing + * order of importance. + * + * @return the MimeTypeMap + * @see MimeTypeMap + */ + public Vector getMimetypes(); + + /** + * Set mime types + * @param mimetypes + */ + public void setMimetypes(Vector mimetypes); + + /** + * removes the MimeType to the MimeType map + * @param name + */ + + public void removeMimetype(String name); + + /** + * removes the MimeType to the MimeType map + * @param name + */ + public void addMimetype(String name); + + }
om-registry-impl.zip
Description: Zip compressed data
Interfaces.zip
Description: Zip compressed data
Index: ojb/repository_jetspeed.xml =================================================================== RCS file: /home/cvspublic/jakarta-jetspeed-2/portal/src/webapp/WEB-INF/conf/ojb/repository_jetspeed.xml,v retrieving revision 1.6 diff -u -r1.6 repository_jetspeed.xml --- ojb/repository_jetspeed.xml 8 Aug 2003 14:21:53 -0000 1.6 +++ ojb/repository_jetspeed.xml 9 Aug 2003 05:01:29 -0000 @@ -716,7 +716,185 @@ </class-descriptor> - - + +<!-- + - C A P A B I L I T Y M A P P I N G +--> +<!-- + - M E D I A T Y P E + --> + <class-descriptor + class="org.apache.jetspeed.om.registry.impl.MediaTypeEntryImpl" + table="MEDIA_TYPE" + > + + <field-descriptor + name="MediatypeId" + column="MEDIATYPE_ID" + jdbc-type="INTEGER" + primarykey="true" + autoincrement="true" + /> + + <field-descriptor + name="Name" + column="NAME" + jdbc-type="VARCHAR" + /> + + <field-descriptor + name="CharacterSet" + column="CHARACTER_SET" + jdbc-type="VARCHAR" + /> + + <field-descriptor + name="Title" + column="TITLE" + jdbc-type="VARCHAR" + /> + + <field-descriptor + name="Description" + column="DESCRIPTION" + jdbc-type="VARCHAR" + /> + + <collection-descriptor + name="Capabilities" + element-class-ref="org.apache.jetspeed.om.registry.impl.CapabilityImpl" + + indirection-table="MEDIATYPE_TO_CAPABILITY" + > + <fk-pointing-to-this-class column="MEDIATYPE_ID"/> + <fk-pointing-to-element-class column="CAPABILITY_ID"/> + </collection-descriptor> + + <collection-descriptor + name="Mimetypes" + element-class-ref="org.apache.jetspeed.om.registry.impl.MimeTypeImpl" + + indirection-table="MEDIATYPE_TO_MIMETYPE" + > + <fk-pointing-to-this-class column="MEDIATYPE_ID"/> + <fk-pointing-to-element-class column="MIMETYPE_ID"/> + </collection-descriptor> + + </class-descriptor> + + <!-- + - C L I E N T + --> + <class-descriptor + class="org.apache.jetspeed.om.registry.impl.ClientEntryImpl" + table="CLIENT" + > + <field-descriptor + name="ClientId" + column="CLIENT_ID" + jdbc-type="INTEGER" + primarykey="true" + autoincrement="true" + /> + + <field-descriptor + name="Name" + column="NAME" + jdbc-type="VARCHAR" + /> + + <field-descriptor + name="Useragentpattern" + column="USER_AGENT_PATTERN" + jdbc-type="VARCHAR" + /> + + <field-descriptor + name="Manufacturer" + column="MANUFACTURER" + jdbc-type="VARCHAR" + /> + + <field-descriptor + name="Model" + column="MODEL" + jdbc-type="VARCHAR" + /> + + <field-descriptor + name="Version" + column="VERSION" + jdbc-type="VARCHAR" + /> + + <collection-descriptor + name="Capabilities" + element-class-ref="org.apache.jetspeed.om.registry.impl.CapabilityImpl" + + indirection-table="MEDIATYPE_TO_CAPABILITY" + > + <fk-pointing-to-this-class column="MEDIATYPE_ID"/> + <fk-pointing-to-element-class column="CAPABILITY_ID"/> + </collection-descriptor> + + <collection-descriptor + name="Mimetypes" + element-class-ref="org.apache.jetspeed.om.registry.impl.MimeTypeImpl" + + indirection-table="MEDIATYPE_TO_MIMETYPE" + > + <fk-pointing-to-this-class column="MEDIATYPE_ID"/> + <fk-pointing-to-element-class column="MIMETYPE_ID"/> + </collection-descriptor> + + </class-descriptor> + +<!-- + - M I M E T Y P E + --> + <class-descriptor + class="org.apache.jetspeed.om.registry.impl.MimeTypeImpl" + table="MIMETYPE" + > + <field-descriptor + name="MimetypeId" + column="MIMETYPE_ID" + jdbc-type="INTEGER" + primarykey="true" + autoincrement="true" + /> + + + <field-descriptor + name="name" + column="NAME" + jdbc-type="VARCHAR" + /> + </class-descriptor> + +<!-- + - C A P A B I L I T Y + --> + <class-descriptor + class="org.apache.jetspeed.om.registry.impl.CapabilityImpl" + table="CAPABILITY" + > + <field-descriptor + name="CapabilityId" + column="CAPABILITY_ID" + jdbc-type="INTEGER" + primarykey="true" + autoincrement="true" + /> + + <field-descriptor + name="Name" + column="CAPABILITY" + jdbc-type="VARCHAR" + /> + + </class-descriptor> + + \ No newline at end of file
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]