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/10/15 22:18:24 UTC
cvs commit: jakarta-jetspeed-2/portal/src/webapp/WEB-INF/conf/ojb repository_page.xml
taylor 2003/10/15 13:18:24
Modified: portal/src/sql/hsql create-db-phase2.sql
Added: portal/src/webapp/WEB-INF/conf/ojb repository_page.xml
Log:
Started OJB impl of Page Service.
This is a PSML replacement using a normalized database backend
See create-db-phase2.sql for the ddl of pages, fragments
See org.apache.jetspeed.om.page for the java interfaces
repository_page.xml is the initial ojb mapping
Revision Changes Path
1.2 +58 -76 jakarta-jetspeed-2/portal/src/sql/hsql/create-db-phase2.sql
Index: create-db-phase2.sql
===================================================================
RCS file: /home/cvs/jakarta-jetspeed-2/portal/src/sql/hsql/create-db-phase2.sql,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- create-db-phase2.sql 28 Jul 2003 23:47:53 -0000 1.1
+++ create-db-phase2.sql 15 Oct 2003 20:18:24 -0000 1.2
@@ -1,95 +1,77 @@
----------------------------------------------------------------------------
--- PSML Roots
+-- Page Definitions
----------------------------------------------------------------------------
-CREATE TABLE PSML
+CREATE TABLE PAGE
(
- PSML_ID INTEGER NOT NULL PRIMARY KEY,
- NAME VARCHAR (32),
- PSML_TYPE SMALLINT NOT NULL,
- MEDIA_TYPE VARCHAR (128),
- LANGUAGE VARCHAR (2),
- COUNTRY VARCHAR (2),
- PAGE VARCHAR (128)
+ PAGE_ID INTEGER NOT NULL PRIMARY KEY,
+ ID VARCHAR(80),
+ TITLE VARCHAR(100),
+ DEFAULT_SKIN VARCHAR(100),
+ DEFAULT_DECORATOR VARCHAR(100),
+ DEFAULT_PORTLET_DECORATOR VARCHAR(100),
+ ACL VARCHAR(80),
+ UNIQUE(ID)
);
-ALTER TABLE PSML ADD CONSTRAINT UK_PSML UNIQUE (PSML_TYPE, NAME, MEDIA_TYPE, LANGUAGE, COUNTRY, PAGE);
--- CREATE INDEX IX_PSML_1 ON PSML (PSML_TYPE, NAME, MEDIA_TYPE, LANGUAGE, COUNTRY, PAGE);
-
----------------------------------------------------------------------------
--- PSML Entries
+-- Fragments (portlets, layouts)
----------------------------------------------------------------------------
-CREATE TABLE PSML_ENTRY
+CREATE TABLE FRAGMENT
(
- PSML_ENTRY_ID INTEGER NOT NULL PRIMARY KEY,
- PSML_ID INTEGER NOT NULL,
- ENTRY_TYPE SMALLINT NOT NULL,
- PARENT_ID INTEGER,
- PORTLET_ID INTEGER,
- LAYOUT_ID INTEGER,
- CONTROL_ID INTEGER,
- SKIN_ID INTEGER,
- SECURITY_ID INTEGER
+ FRAGMENT_ID INTEGER NOT NULL PRIMARY KEY,
+ ID VARCHAR(80),
+ COMPONENT_NAME(80),
+ ACL VARCHAR(80),
+ TITLE VARCHAR(100),
+ TYPE VARCHAR(40),
+ SKIN VARCHAR(80),
+ DECORATOR VARCHAR(80),
+ STATE VARCHAR(40),
+ UNIQUE(ID)
+);
+
+-- associates a page with its top level fragments
+CREATE TABLE PAGE_FRAGMENTS
+(
+ PAGE_ID INTEGER NOT NULL,
+ FRAGMENT_ID INTEGER NOT NULL,
);
-----------------------------------------------------------------------------
--- Layout (Controller) Registry
-----------------------------------------------------------------------------
-CREATE TABLE LAYOUT
-(
- LAYOUT_ID INTEGER NOT NULL PRIMARY KEY,
- CLASSNAME VARCHAR (128),
- TEMPLATE VARCHAR (128),
- ACTION VARCHAR (128),
- TITLE VARCHAR (128),
- DESCRIPTION VARCHAR (256)
- -- TODO PARAMETERS
- -- TODO MEDIA TYPES
-
+CREATE INDEX IX_PAGE_FRAGMENTS_1 ON PAGE_FRAGMENTS (PAGE_ID, FRAGMENT_ID);
+
+-- associates a fragment with its top level fragments
+CREATE TABLE SUB_FRAGMENTS
+(
+ FRAGMENT_ID INTEGER NOT NULL,
+ SUB_FRAGMENT_ID INTEGER NOT NULL
);
-----------------------------------------------------------------------------
--- Control (Window) Registry
-----------------------------------------------------------------------------
-CREATE TABLE CONTROL
-(
- CONTROL_ID INTEGER NOT NULL PRIMARY KEY,
- CLASSNAME VARCHAR (128),
- TEMPLATE VARCHAR (128),
- ACTION VARCHAR (128),
- TITLE VARCHAR (128),
- DESCRIPTION VARCHAR (256)
- -- TODO PARAMETERS
- -- TODO MEDIA TYPES
-
+CREATE INDEX IX_SUB_FRAGMENTS_1 ON SUB_FRAGMENTS (FRAGMENT_ID, SUBFRAGMENT_ID);
+
+
+CREATE TABLE FRAGMENT_PARAMETER
+(
+ PARAMETER_ID INTEGER PRIMARY KEY,
+ FRAGMENT_ID INTEGER NOT NULL,
+ NAME VARCHAR(80) NOT NULL,
+ VALUE LONGVARCHAR NOT NULL
);
-----------------------------------------------------------------------------
--- Skin Registry
-----------------------------------------------------------------------------
-CREATE TABLE SKIN
-(
- SKIN_ID INTEGER NOT NULL PRIMARY KEY
- -- TODO
+CREATE UNIQUE INDEX IX_FRAGMENT_PARAMETER_1 ON FRAGMENT_PARAMETER (FRAGMENT_ID, PARAMETER_ID);
+
+-- names a reference to a fragment subtree
+CREATE TABLE FRAGMENT_REF
+(
+ FRAGMENT_REF_ID INTEGER NOT NULL PRIMARY KEY,
+ FRAGMENT_ID INTEGER NOT NULL,
+ NAME VARCHAR(80) NOT NULL,
+ TITLE VARCHAR(100)
);
-----------------------------------------------------------------------------
--- Security Registry
-----------------------------------------------------------------------------
-CREATE TABLE SECURITY
-(
- SECURITY_ID INTEGER NOT NULL PRIMARY KEY,
- NAME VARCHAR (128) NOT NULL,
- TITLE VARCHAR (128),
- DESCRIPTION VARCHAR (256)
- -- TODO ACCESS ACTIONS
- -- TODO ALLOW IF CONSTRAINTS (ROLE, USER, GROUP, OWNER)
+CREATE TABLE FRAGMENT_REFS
+(
+ FRAGMENT_REF_ID INTEGER NOT NULL,
+ FRAGMENT_ID INTEGER NOT NULL
);
-CREATE INDEX IX_PSML_ENTRY_1 ON PSML_ENTRY (PSML_ID, PARENT_ID);
-ALTER TABLE PSML_ENTRY ADD CONSTRAINT FK_PSML_ENTRY_1 FOREIGN KEY (PSML_ID) REFERENCES PSML (PSML_ID) ON DELETE CASCADE;
-ALTER TABLE PSML_ENTRY ADD CONSTRAINT FK_PSML_ENTRY_2 FOREIGN KEY (PARENT_ID) REFERENCES PSML_ENTRY (PSML_ENTRY_ID) ON DELETE CASCADE;
--- ALTER TABLE PSML_ENTRY ADD CONSTRAINT FK_PSML_ENTRY_3 FOREIGN KEY (LAYOUT_ID) REFERENCES LAYOUT (LAYOUT_ID) ON DELETE SET NULL;
--- ALTER TABLE PSML_ENTRY ADD CONSTRAINT FK_PSML_ENTRY_4 FOREIGN KEY (CONTROL_ID) REFERENCES CONTROL (CONTROL_ID) ON DELETE SET NULL;
--- ALTER TABLE PSML_ENTRY ADD CONSTRAINT FK_PSML_ENTRY_5 FOREIGN KEY (SKIN_ID) REFERENCES SKIN (SKIN_ID) ON DELETE SET NULL;
--- ALTER TABLE PSML_ENTRY ADD CONSTRAINT FK_PSML_ENTRY_6 FOREIGN KEY (SECURITY_ID) REFERENCES SKIN (SECURITY_ID) ON DELETE SET NULL;
1.1 jakarta-jetspeed-2/portal/src/webapp/WEB-INF/conf/ojb/repository_page.xml
Index: repository_page.xml
===================================================================
<!--
- P A G E
-->
<class-descriptor
class="org.apache.jetspeed.om.page.impl.ojb.PageImpl"
table="PAGE"
>
<field-descriptor
name="pageId"
column="PAGE_ID"
jdbc-type="INTEGER"
primarykey="true"
autoincrement="true"
/>
<field-descriptor
name="id"
column="ID"
jdbc-type="VARCHAR"
/>
<field-descriptor
name="title"
column="TITLE"
jdbc-type="VARCHAR"
/>
<field-descriptor
name="defaultSkin"
column="DEFAULT_SKIN"
jdbc-type="VARCHAR"
/>
<field-descriptor
name="defaultDecorator"
column="DEFAULT_DECORATOR"
jdbc-type="VARCHAR"
/>
<field-descriptor
name="defaultPortletDecorator"
column="DEFAULT_PORTLET_DECORATOR"
jdbc-type="VARCHAR"
/>
<field-descriptor
name="acl"
column="ACL"
jdbc-type="VARCHAR"
/>
<collection-descriptor
name="pageFragments"
element-class-ref="org.apache.jetspeed.om.page.impl.ojb.FragmentImpl"
indirection-table="PAGE_FRAGMENTS">
<fk-pointing-to-this-class column="PAGE_ID"/>
<fk-pointing-to-element-class column="FRAGMENT_ID"/>
</collection-descriptor>
</class-descriptor>
<!--
- F R A G M E N T
-->
<class-descriptor
class="org.apache.jetspeed.om.page.impl.ojb.FragmentImpl"
table="FRAGMENT"
>
<field-descriptor
name="fragmentId"
column="FRAGMENT_ID"
jdbc-type="INTEGER"
primarykey="true"
autoincrement="true"
/>
<field-descriptor
name="id"
column="ID"
jdbc-type="VARCHAR"
/>
<field-descriptor
name="title"
column="TITLE"
jdbc-type="VARCHAR"
/>
<field-descriptor
name="component"
column="Component"
jdbc-type="VARCHAR"
/>
<field-descriptor
name="Skin"
column="SKIN"
jdbc-type="VARCHAR"
/>
<field-descriptor
name="decorator"
column="DECORATOR"
jdbc-type="VARCHAR"
/>
<field-descriptor
name="acl"
column="ACL"
jdbc-type="VARCHAR"
/>
<field-descriptor
name="type"
column="TYPE"
jdbc-type="VARCHAR"
/>
<field-descriptor
name="state"
column="STATE"
jdbc-type="VARCHAR"
/>
<collection-descriptor
name="subFragments"
element-class-ref="org.apache.jetspeed.om.page.impl.ojb.FragmentImpl"
indirection-table="FRAGMENTS">
<fk-pointing-to-this-class column="FRAGMENT_ID"/>
<fk-pointing-to-element-class column="SUB_FRAGMENT_ID"/>
</collection-descriptor>
</class-descriptor>
---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jetspeed-dev-help@jakarta.apache.org