taylor 2004/02/23 21:34:01 Modified: components/cm/src/java/org/apache/jetspeed/components ComponentAwareTestSuite.java components/registry maven.xml portal maven.xml portal/src/java/org/apache/jetspeed/page/impl CastorXmlPageManager.java portal/src/test/org/apache/jetspeed/cache/file TestFileCache.java portal/src/test/org/apache/jetspeed/page TestCastorXmlPageManager.java portal/src/webapp/WEB-INF/assembly jetspeed.groovy portal/src/webapp/WEB-INF/db/hsql Registry.script portal/test/assembly TestCastorXmlPageManager.groovy TestDatabasePageManager.groovy Added: portal/src/java/org/apache/jetspeed/cache/file filecache.container.groovy portal/src/java/org/apache/jetspeed/page/impl page-mapping.xml Log: - converted file cache to component, added groovy test container - added component dependency on FileCache to CastorXmlPageManager - fixed bug in ComponentAwareTestSuite causing npr when script not found - move CastorXMLPageManager's Castor page mapping to jar file as a resource - fixed bug in Registry where OJB files were not being populated causing build to fail Revision Changes Path 1.2 +73 -11 jakarta-jetspeed-2/components/cm/src/java/org/apache/jetspeed/components/ComponentAwareTestSuite.java Index: ComponentAwareTestSuite.java =================================================================== RCS file: /home/cvs/jakarta-jetspeed-2/components/cm/src/java/org/apache/jetspeed/components/ComponentAwareTestSuite.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- ComponentAwareTestSuite.java 24 Feb 2004 00:46:26 -0000 1.1 +++ ComponentAwareTestSuite.java 24 Feb 2004 05:34:01 -0000 1.2 @@ -1,10 +1,59 @@ -/* - * Created on Feb 23, 2004 +/* ==================================================================== + * The Apache Software License, Version 1.1 * - * To change the template for this generated file go to - * Window - Preferences - Java - Code Generation - Code and Comments + * 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 [EMAIL PROTECTED] + * + * 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.components; + +import java.io.InputStream; import java.io.InputStreamReader; import java.io.Reader; import junit.framework.Test; @@ -15,10 +64,10 @@ import org.picocontainer.defaults.SimpleReference; /** - * @author Sweaver * - * To change the template for this generated type comment go to Window - - * Preferences - Java - Code Generation - Code and Comments + * @author <a href="mailto:[EMAIL PROTECTED]">Scott T. Weaver </a> + * @version $Id$ + * */ public class ComponentAwareTestSuite extends TestSuite { @@ -44,6 +93,7 @@ { super(arg0, arg1); // TODO Auto-generated constructor stub + } /** @@ -63,15 +113,25 @@ super(arg0); // TODO Auto-generated constructor stub } - protected void buildConainer(String script) throws ClassNotFoundException + + protected void buildContainer(String script) throws ClassNotFoundException { ClassLoader cl = Thread.currentThread().getContextClassLoader(); - Reader scriptReader = new InputStreamReader(cl.getResourceAsStream(script)); + InputStream is = cl.getResourceAsStream(script); + if (is == null) + { + throw new ClassNotFoundException("script not found: " + script); + } + Reader scriptReader = new InputStreamReader(is); + cm = new ComponentManager(scriptReader, ComponentManager.GROOVY); + ObjectReference containerRef = new SimpleReference(); cm.getContainerBuilder().buildContainer(containerRef, null, "TEST_REGISTRY"); container = (MutablePicoContainer) containerRef.get(); + } + /* * (non-Javadoc) * @@ -81,7 +141,8 @@ { try { - buildConainer(script); + + buildContainer(script); super.run(arg0); if (container != null) { @@ -96,7 +157,8 @@ } e.printStackTrace(); - throw new RuntimeException(e.toString()); + + throw new RuntimeException(e); } } 1.4 +2 -0 jakarta-jetspeed-2/components/registry/maven.xml Index: maven.xml =================================================================== RCS file: /home/cvs/jakarta-jetspeed-2/components/registry/maven.xml,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- maven.xml 24 Feb 2004 01:04:36 -0000 1.3 +++ maven.xml 24 Feb 2004 05:34:01 -0000 1.4 @@ -42,6 +42,8 @@ <goal name="db.create"> <j:set var="database.arg.script" value="${basedir}/src/sql/${database.default.name}/create-db.sql" /> <attainGoal name="db.execute" /> + <j:set var="database.arg.script" value="${basedir}/../../portal/src/sql/${database.default.name}/create-db-phase3-ojb.sql" /> + <attainGoal name="db.execute" /> </goal> <!-- ================================================================ --> 1.43 +1 -1 jakarta-jetspeed-2/portal/maven.xml Index: maven.xml =================================================================== RCS file: /home/cvs/jakarta-jetspeed-2/portal/maven.xml,v retrieving revision 1.42 retrieving revision 1.43 diff -u -r1.42 -r1.43 --- maven.xml 24 Feb 2004 00:49:45 -0000 1.42 +++ maven.xml 24 Feb 2004 05:34:01 -0000 1.43 @@ -4,7 +4,7 @@ xmlns:reactor="reactor"> <!-- Target of maven test:single test --> -<property name='testcase' value='org.apache.jetspeed.page.TestCastorXmlPageManager'/> +<property name='testcase' value='org.apache.jetspeed.cache.file.TestFileCache'/> <!-- ================================================================ --> <!-- Set System properties for junit --> 1.1 jakarta-jetspeed-2/portal/src/java/org/apache/jetspeed/cache/file/filecache.container.groovy Index: filecache.container.groovy =================================================================== import org.picocontainer.defaults.DefaultPicoContainer import org.apache.jetspeed.cache.file.FileCache // create the root container container = new DefaultPicoContainer() Long scanRate = 10 cacheSize = 20 container.registerComponentInstance(FileCache, new FileCache(scanRate, cacheSize)) return container 1.2 +33 -52 jakarta-jetspeed-2/portal/src/java/org/apache/jetspeed/page/impl/CastorXmlPageManager.java Index: CastorXmlPageManager.java =================================================================== RCS file: /home/cvs/jakarta-jetspeed-2/portal/src/java/org/apache/jetspeed/page/impl/CastorXmlPageManager.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- CastorXmlPageManager.java 21 Feb 2004 09:01:30 -0000 1.1 +++ CastorXmlPageManager.java 24 Feb 2004 05:34:01 -0000 1.2 @@ -60,6 +60,7 @@ import java.io.FileWriter; import java.io.FilenameFilter; import java.io.IOException; +import java.io.InputStream; import java.util.ArrayList; import java.util.List; @@ -120,48 +121,35 @@ /** the output format for pretty printing when saving registries */ protected OutputFormat format = null; - /** the base refresh rate for pages */ - protected long scanRate = 1000 * 60; // every minute - - /** the default cache size */ - protected int cacheSize = 100; - // castor mapping - public static final String DEFAULT_MAPPING = "page-mapping.xml"; - protected String mapFile = null; + protected String mapFileResource = "org/apache/jetspeed/page/impl/page-mapping.xml"; /** the Castor mapping file name */ protected Mapping mapping = null; - public CastorXmlPageManager(IdGenerator generator, String mapFile, String root) + public CastorXmlPageManager(IdGenerator generator, FileCache fileCache, String root) { super(generator); - this.mapFile = mapFile; - this.rootDir = new File(root); + this.rootDir = new File(root); + this.pages = fileCache; } - public CastorXmlPageManager(IdGenerator generator, String mapFile, String root, List modelClasses) + public CastorXmlPageManager(IdGenerator generator, FileCache fileCache, String root, List modelClasses) { super(generator, modelClasses); - this.mapFile = mapFile; - this.rootDir = new File(root); + this.rootDir = new File(root); + this.pages = fileCache; } - public CastorXmlPageManager(IdGenerator generator, - String mapFile, - String root, - List modelClasses, - String extension, - long scanRate, - int cacheSize) + public CastorXmlPageManager(IdGenerator generator, + FileCache fileCache, + String root, + List modelClasses, + String extension) { - super(generator, modelClasses); - this.mapFile = mapFile; - this.rootDir = new File(root); + this(generator, fileCache, root, modelClasses); this.ext = extension; - this.scanRate = scanRate; - this.cacheSize = cacheSize; } @@ -203,7 +191,6 @@ // psml castor mapping file loadMapping(); - pages = new FileCache(this.scanRate, this.cacheSize); pages.addListener(this); pages.startFileScanner(); @@ -447,34 +434,28 @@ protected void loadMapping() { - // test the mapping file and create the mapping object - - if (mapFile != null) - { - File map = new File(mapFile); + try + { + InputStream stream = Thread.currentThread().getContextClassLoader().getResourceAsStream(mapFileResource); + if (log.isDebugEnabled()) { - 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); - } - } - else - { - log.error("PSML Mapping not found or not a file or unreadable: " + mapFile); + log.debug("Loading psml mapping file " + mapFileResource); } + + mapping = new Mapping(); + + + InputSource is = new InputSource(stream); + is.setSystemId(mapFileResource); + + mapping.loadMapping(is); } + catch (Exception e) + { + log.error("Error in psml mapping creation", e); + } + } /** 1.1 jakarta-jetspeed-2/portal/src/java/org/apache/jetspeed/page/impl/page-mapping.xml Index: page-mapping.xml =================================================================== <?xml version="1.0"?> <mapping> <class name="org.apache.jetspeed.om.page.psml.PageImpl"> <map-to xml="page"/> <field name="id" type="java.lang.String"> <bind-xml name="id" node="attribute"/> </field> <field name="acl" type="java.lang.String"> <bind-xml name="acl" node="attribute"/> </field> <field name="title" type="java.lang.String"> <bind-xml name="title"/> </field> <field name="defaults" type="org.apache.jetspeed.om.page.psml.Defaults"> <bind-xml name="defaults"/> </field> <field name="rootFragment" type="org.apache.jetspeed.om.page.psml.FragmentImpl"> <bind-xml name="fragment"/> </field> </class> <class name="org.apache.jetspeed.om.page.psml.FragmentImpl"> <map-to xml="fragment"/> <field name="id" type="java.lang.String"> <bind-xml name="id" node="attribute"/> </field> <field name="acl" type="java.lang.String"> <bind-xml name="acl" node="attribute"/> </field> <field name="type" type="java.lang.String"> <bind-xml name="type" node="attribute"/> </field> <field name="name" type="java.lang.String"> <bind-xml name="name" node="attribute"/> </field> <field name="skin" type="java.lang.String"> <bind-xml name="skin" node="attribute"/> </field> <field name="state" type="java.lang.String"> <bind-xml name="state" node="attribute"/> </field> <field name="decorator" type="java.lang.String"> <bind-xml name="decorator" node="attribute"/> </field> <field name="title" type="java.lang.String"> <bind-xml name="title"/> </field> <field name="fragments" type="org.apache.jetspeed.om.page.psml.FragmentImpl" collection="vector"> <bind-xml name="fragment"/> </field> <field name="properties" type="org.apache.jetspeed.om.page.psml.PropertyImpl" collection="vector"> <bind-xml name="property"/> </field> </class> <class name="org.apache.jetspeed.om.page.psml.Defaults"> <map-to xml="defaults"/> <field name="skin" type="java.lang.String"> <bind-xml name="skin" node="attribute"/> </field> <field name="layoutDecorator" type="java.lang.String"> <bind-xml name="layout-decorator" node="attribute"/> </field> <field name="portletDecorator" type="java.lang.String"> <bind-xml name="portlet-decorator" node="attribute"/> </field> </class> <class name="org.apache.jetspeed.om.page.psml.PropertyImpl"> <map-to xml="property"/> <field name="name" type="java.lang.String"> <bind-xml name="name" node="attribute"/> </field> <field name="value" type="java.lang.String"> <bind-xml name="value" node="attribute"/> </field> <field name="layout" type="java.lang.String"> <bind-xml name="layout" node="attribute"/> </field> </class> </mapping> 1.3 +33 -21 jakarta-jetspeed-2/portal/src/test/org/apache/jetspeed/cache/file/TestFileCache.java Index: TestFileCache.java =================================================================== RCS file: /home/cvs/jakarta-jetspeed-2/portal/src/test/org/apache/jetspeed/cache/file/TestFileCache.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- TestFileCache.java 4 Feb 2004 21:35:25 -0000 1.2 +++ TestFileCache.java 24 Feb 2004 05:34:01 -0000 1.3 @@ -61,13 +61,13 @@ import java.util.Iterator; import junit.framework.Test; -import junit.framework.TestSuite; import org.apache.commons.io.StreamUtils; import org.apache.commons.lang.exception.ExceptionUtils; -import org.apache.jetspeed.test.JetspeedTest; -import org.apache.jetspeed.test.JetspeedTestSuite; +import org.apache.jetspeed.components.AbstractComponentAwareTestCase; +import org.apache.jetspeed.components.ComponentAwareTestSuite; import org.apache.jetspeed.util.FileCopy; +import org.picocontainer.MutablePicoContainer; /** * Unit test for FileCache @@ -76,7 +76,7 @@ * @version $Id$ */ -public class TestFileCache extends JetspeedTest implements FileCacheEventListener +public class TestFileCache extends AbstractComponentAwareTestCase implements FileCacheEventListener { String refreshedEntry = null; @@ -85,19 +85,11 @@ * * @param name the testcase's name. */ - public TestFileCache( String name ) { + public TestFileCache( String name ) + { super( name ); } - /** - * Start the tests. - * - * @param args the arguments. Not used - */ - public static void main(String args[]) - { - junit.awtui.TestRunner.main( new String[] { TestFileCache.class.getName() } ); - } /** * Creates the test suite. @@ -107,8 +99,27 @@ */ public static Test suite() { - // All methods starting with "test" will be executed in the test suite. - return new JetspeedTestSuite( TestFileCache.class ); + ComponentAwareTestSuite suite = new ComponentAwareTestSuite(TestFileCache.class); + suite.setScript("org/apache/jetspeed/cache/file/filecache.container.groovy"); + return suite; + } + + private MutablePicoContainer container = null; + + private FileCache cache = null; + + protected void setUp() throws Exception + { + super.setUp(); + container = (MutablePicoContainer) getContainer(); + cache = (FileCache) container.getComponentInstance(FileCache.class); + } + + public void testComponent() + throws Exception + { + assertNotNull("container failed to load", container); + assertNotNull("component failed to load", cache); } /** @@ -117,7 +128,7 @@ */ public void testLoadCache() throws Exception - { + { String templateFile = "./test/testdata/psml/user/cachetest/default.psml"; try { @@ -127,7 +138,7 @@ createTestFiles(templateFile); // create the Cache wake up after 10 seconds, cache size 20 - FileCache cache = new FileCache(10, 20); + // FileCache cache = new FileCache(10, 20); // load the Cache File directory = new File("./test/testdata/psml/user/cachetest/"); @@ -150,7 +161,7 @@ // start the cache's scanner cache.startFileScanner(); - Thread.currentThread().sleep(2000); + Thread.sleep(2000); assertTrue(cache.getSize() == 20); @@ -162,7 +173,7 @@ files[18].setLastModified(new Date().getTime()); - Thread.currentThread().sleep(9000); + Thread.sleep(9000); assertNotNull(refreshedEntry); System.out.println("refreshed entry = " + refreshedEntry); @@ -240,6 +251,7 @@ System.out.println(entry.getFile().getName()); } } + } 1.2 +8 -2 jakarta-jetspeed-2/portal/src/test/org/apache/jetspeed/page/TestCastorXmlPageManager.java Index: TestCastorXmlPageManager.java =================================================================== RCS file: /home/cvs/jakarta-jetspeed-2/portal/src/test/org/apache/jetspeed/page/TestCastorXmlPageManager.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- TestCastorXmlPageManager.java 21 Feb 2004 09:01:30 -0000 1.1 +++ TestCastorXmlPageManager.java 24 Feb 2004 05:34:01 -0000 1.2 @@ -60,6 +60,8 @@ import junit.framework.TestSuite; import org.apache.jetspeed.PortalComponentAssemblyTestCase; +import org.apache.jetspeed.components.ComponentAwareTestSuite; +import org.apache.jetspeed.components.ComponentManager; import org.apache.jetspeed.om.page.Fragment; import org.apache.jetspeed.om.page.Page; import org.apache.jetspeed.om.page.Property; @@ -73,6 +75,7 @@ public class TestCastorXmlPageManager extends PortalComponentAssemblyTestCase { private String testId = "test002"; + private ComponentManager componentManager; /** * Defines the testcase name for JUnit. @@ -103,7 +106,10 @@ public static Test suite() { // All methods starting with "test" will be executed in the test suite. - return new TestSuite(TestCastorXmlPageManager.class); + //return new TestSuite(TestCastorXmlPageManager.class); + ComponentAwareTestSuite suite = new ComponentAwareTestSuite(TestCastorXmlPageManager.class); + suite.setScript("org/apache/jetspeed/page/impl/registry.container.groovy"); + return suite ; } public void testNewPage() 1.10 +8 -5 jakarta-jetspeed-2/portal/src/webapp/WEB-INF/assembly/jetspeed.groovy Index: jetspeed.groovy =================================================================== RCS file: /home/cvs/jakarta-jetspeed-2/portal/src/webapp/WEB-INF/assembly/jetspeed.groovy,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- jetspeed.groovy 24 Feb 2004 00:50:24 -0000 1.9 +++ jetspeed.groovy 24 Feb 2004 05:34:01 -0000 1.10 @@ -30,6 +30,8 @@ import org.apache.jetspeed.components.portletentity.PortletEntityAccessComponent import org.apache.jetspeed.components.portletentity.PortletEntityAccessComponentImpl +import org.apache.jetspeed.cache.file.FileCache + // WARNING!!!!!! // DO NOT use {Class}.class as it appears to be broken in Groovy @@ -61,17 +63,18 @@ Long counterStart = 65536 peidPrefix = "P-" peidSuffix = "" -container.registerComponentInstance("IdGenerator", new JetspeedIdGenerator(counterStart, peidPrefix, peidSuffix)) +idgenerator = new JetspeedIdGenerator(counterStart, peidPrefix, peidSuffix) +container.registerComponentInstance("IdGenerator", idgenerator) // // Page Manager // root = applicationRoot + "/WEB-INF/pages" -// TODO: move this into a class loader resource -mapping = applicationRoot + "/WEB-INF/conf/page-mapping.xml" -// TODO: modelclasses, extension, scanrate, cachesize +Long scanRate = 120 +cacheSize = 100 +fileCache = new FileCache(scanRate, cacheSize) container.registerComponentInstance("CastorXmlPageManager", - new CastorXmlPageManager(idgenerator, mapping, root)) + new CastorXmlPageManager(idgenerator, fileCache, root)) // // HSQL Server 1.26 +14 -14 jakarta-jetspeed-2/portal/src/webapp/WEB-INF/db/hsql/Registry.script Index: Registry.script =================================================================== RCS file: /home/cvs/jakarta-jetspeed-2/portal/src/webapp/WEB-INF/db/hsql/Registry.script,v retrieving revision 1.25 retrieving revision 1.26 diff -u -r1.25 -r1.26 --- Registry.script 21 Feb 2004 04:02:06 -0000 1.25 +++ Registry.script 24 Feb 2004 05:34:01 -0000 1.26 @@ -1,17 +1,3 @@ -CREATE TABLE PORTLET_APPLICATION_DUBLIN_CORE(ID INTEGER NOT NULL PRIMARY KEY) -CREATE TABLE PORTLET_APPLICATION_DUBLIN_CORE_FIELDS(ID INTEGER NOT NULL PRIMARY KEY,OBJECT_ID INTEGER NOT NULL,VALUE LONGVARCHAR NOT NULL,LOCALE_STRING VARCHAR(50) NOT NULL) -CREATE TABLE PORTLET_APPLICATION(APPLICATION_ID INTEGER NOT NULL PRIMARY KEY,APP_NAME VARCHAR(80) NOT NULL,APP_IDENTIFIER VARCHAR(80),VERSION VARCHAR(80),APP_TYPE INTEGER,DESCRIPTION VARCHAR(80),WEB_APP_ID INTEGER NOT NULL,DUBLIN_CORE_ID INTEGER NOT NULL,CONSTRAINT UK_APPLICATION UNIQUE(APP_NAME)) -CREATE TABLE WEB_APPLICATION(ID INTEGER NOT NULL PRIMARY KEY,CONTEXT_ROOT VARCHAR(255) NOT NULL) -CREATE TABLE PORTLET_DEFINITION(ID INTEGER NOT NULL PRIMARY KEY,NAME VARCHAR(80),CLASS_NAME VARCHAR(100),APPLICATION_ID INTEGER NOT NULL,PORTLET_IDENTIFIER VARCHAR(80),EXPIRATION_CACHE VARCHAR(30),PREFERENCE_VALIDATOR VARCHAR(255),CONSTRAINT SYS_CT_2 UNIQUE(APPLICATION_ID,NAME)) -CREATE TABLE LANGUAGE(ID INTEGER NOT NULL PRIMARY KEY,PORTLET_ID INTEGER NOT NULL,TITLE VARCHAR(100),SHORT_TITLE VARCHAR(50),LOCALE_STRING VARCHAR(50) NOT NULL,KEYWORDS LONGVARCHAR) -CREATE TABLE PORTLET_CONTENT_TYPE(CONTENT_TYPE_ID INTEGER NOT NULL PRIMARY KEY,PORTLET_ID INTEGER NOT NULL,CONTENT_TYPE VARCHAR(30) NOT NULL,MODES LONGVARCHAR) -CREATE TABLE PARAMETER(PARAMETER_ID INTEGER NOT NULL PRIMARY KEY,PARENT_ID INTEGER NOT NULL,CLASS_NAME VARCHAR(30) NOT NULL,NAME VARCHAR(80) NOT NULL,PARAMETER_VALUE LONGVARCHAR NOT NULL) -CREATE TABLE PORTLET_PREFERENCE(ID INTEGER NOT NULL PRIMARY KEY,PARENT_ID INTEGER NOT NULL,NAME VARCHAR(80) NOT NULL,CLASS_NAME VARCHAR(50) NOT NULL,READ_ONLY CHAR(1) DEFAULT '1') -CREATE TABLE PREFERENCE_VALUE(ID INTEGER NOT NULL PRIMARY KEY,PREFERENCE_ID INTEGER,VALUE LONGVARCHAR) -CREATE TABLE PORTLET_ENTITY(ID INTEGER NOT NULL PRIMARY KEY,PORTLET_DEFINITION_ID INTEGER NOT NULL,GUID VARCHAR(255) NOT NULL) -CREATE TABLE SECURITY_ROLE_REFERENCE(ID INTEGER NOT NULL PRIMARY KEY,PORTLET_DEFINITION_ID INTEGER NOT NULL,ROLE_NAME VARCHAR(150),ROLE_LINK VARCHAR(150)) -CREATE TABLE LOCALIZED_DESCRIPTION(ID INTEGER NOT NULL PRIMARY KEY,OBJECT_ID INTEGER NOT NULL,CLASS_NAME VARCHAR(255) NOT NULL,DESCRIPTION LONGVARCHAR NOT NULL,LOCALE_STRING VARCHAR(50) NOT NULL) -CREATE TABLE LOCALIZED_DISPLAY_NAME(ID INTEGER NOT NULL PRIMARY KEY,OBJECT_ID INTEGER NOT NULL,CLASS_NAME VARCHAR(255),DISPLAY_NAME LONGVARCHAR NOT NULL,LOCALE_STRING VARCHAR(50) NOT NULL) CREATE TABLE SECURITY_PRINCIPAL(PRINCIPAL_ID INTEGER NOT NULL PRIMARY KEY,CLASSNAME VARCHAR(254) NOT NULL,FULL_PATH VARCHAR(254) NOT NULL,CREATION_DATE TIMESTAMP NOT NULL,MODIFIED_DATE TIMESTAMP NOT NULL) CREATE TABLE SECURITY_CREDENTIAL(CREDENTIAL_ID INTEGER NOT NULL PRIMARY KEY,PRINCIPAL_ID INTEGER NOT NULL,VALUE VARCHAR(254) NOT NULL,TYPE SMALLINT NOT NULL,CLASSNAME VARCHAR(254),CREATION_DATE TIMESTAMP NOT NULL,MODIFIED_DATE TIMESTAMP NOT NULL,CONSTRAINT SECURITY_CREDENTIAL_FK1 FOREIGN KEY(PRINCIPAL_ID) REFERENCES SECURITY_PRINCIPAL(PRINCIPAL_ID)) CREATE TABLE SECURITY_USER_ROLE(USER_ID INTEGER NOT NULL,ROLE_ID INTEGER NOT NULL,CONSTRAINT SYS_PK_SECURITY_USER_ROLE PRIMARY KEY(USER_ID,ROLE_ID),CONSTRAINT SECURITY_USER_ROLE_FK1 FOREIGN KEY(USER_ID) REFERENCES SECURITY_PRINCIPAL(PRINCIPAL_ID),CONSTRAINT SECURITY_USER_ROLE_FK2 FOREIGN KEY(ROLE_ID) REFERENCES SECURITY_PRINCIPAL(PRINCIPAL_ID)) @@ -63,6 +49,20 @@ CREATE TABLE PREF_NODE(NODE_ID INTEGER NOT NULL PRIMARY KEY,PARENT_NODE_ID INTEGER,PROPERTY_SET_DEF_ID INTEGER,NODE_NAME VARCHAR(100),NODE_TYPE SMALLINT,FULL_PATH VARCHAR(254),CREATION_DATE TIMESTAMP,MODIFIED_DATE TIMESTAMP,CONSTRAINT PREF_NODE_FK1 FOREIGN KEY(PARENT_NODE_ID) REFERENCES PREF_NODE(NODE_ID),CONSTRAINT PREF_NODE_FK_2 FOREIGN KEY(PROPERTY_SET_DEF_ID) REFERENCES PREF_PROPERTY_SET_DEF(PROPERTY_SET_DEF_ID)) CREATE TABLE PREF_PROPERTY_VALUE(PROPERTY_VALUE_ID INTEGER NOT NULL PRIMARY KEY,PROPERTY_KEY_ID INTEGER,NODE_ID INTEGER,BOOLEAN_VALUE BIT,DATETIME_VALUE TIMESTAMP,LONG_VALUE INTEGER,DOUBLE_VALUE DOUBLE,TEXT_VALUE VARCHAR(254),CREATION_DATE TIMESTAMP,MODIFIED_DATE TIMESTAMP,CONSTRAINT PREF_PROPERTY_VALUE_FK_1 FOREIGN KEY(NODE_ID) REFERENCES PREF_NODE(NODE_ID)) CREATE TABLE PREF_PROPERTY_KEY(PROPERTY_KEY_ID INTEGER NOT NULL PRIMARY KEY,PROPERTY_SET_DEF_ID INTEGER,PROPERTY_NAME VARCHAR(100),PROPERTY_TYPE SMALLINT,CREATION_DATE TIMESTAMP,MODIFIED_DATE TIMESTAMP,CONSTRAINT PREF_PROPERTY_KEY_FK_1 FOREIGN KEY(PROPERTY_SET_DEF_ID) REFERENCES PREF_PROPERTY_SET_DEF(PROPERTY_SET_DEF_ID)) +CREATE TABLE PORTLET_APPLICATION_DUBLIN_CORE(ID INTEGER NOT NULL PRIMARY KEY) +CREATE TABLE PORTLET_APPLICATION_DUBLIN_CORE_FIELDS(ID INTEGER NOT NULL PRIMARY KEY,OBJECT_ID INTEGER NOT NULL,VALUE LONGVARCHAR NOT NULL,LOCALE_STRING VARCHAR(50) NOT NULL) +CREATE TABLE PORTLET_APPLICATION(APPLICATION_ID INTEGER NOT NULL PRIMARY KEY,APP_NAME VARCHAR(80) NOT NULL,APP_IDENTIFIER VARCHAR(80),VERSION VARCHAR(80),APP_TYPE INTEGER,DESCRIPTION VARCHAR(80),WEB_APP_ID INTEGER NOT NULL,DUBLIN_CORE_ID INTEGER NOT NULL,CONSTRAINT UK_APPLICATION UNIQUE(APP_NAME)) +CREATE TABLE WEB_APPLICATION(ID INTEGER NOT NULL PRIMARY KEY,CONTEXT_ROOT VARCHAR(255) NOT NULL) +CREATE TABLE PORTLET_DEFINITION(ID INTEGER NOT NULL PRIMARY KEY,NAME VARCHAR(80),CLASS_NAME VARCHAR(100),APPLICATION_ID INTEGER NOT NULL,PORTLET_IDENTIFIER VARCHAR(80),EXPIRATION_CACHE VARCHAR(30),PREFERENCE_VALIDATOR VARCHAR(255),CONSTRAINT SYS_CT_2 UNIQUE(APPLICATION_ID,NAME)) +CREATE TABLE LANGUAGE(ID INTEGER NOT NULL PRIMARY KEY,PORTLET_ID INTEGER NOT NULL,TITLE VARCHAR(100),SHORT_TITLE VARCHAR(50),LOCALE_STRING VARCHAR(50) NOT NULL,KEYWORDS LONGVARCHAR) +CREATE TABLE PORTLET_CONTENT_TYPE(CONTENT_TYPE_ID INTEGER NOT NULL PRIMARY KEY,PORTLET_ID INTEGER NOT NULL,CONTENT_TYPE VARCHAR(30) NOT NULL,MODES LONGVARCHAR) +CREATE TABLE PARAMETER(PARAMETER_ID INTEGER NOT NULL PRIMARY KEY,PARENT_ID INTEGER NOT NULL,CLASS_NAME VARCHAR(30) NOT NULL,NAME VARCHAR(80) NOT NULL,PARAMETER_VALUE LONGVARCHAR NOT NULL) +CREATE TABLE PORTLET_PREFERENCE(ID INTEGER NOT NULL PRIMARY KEY,PARENT_ID INTEGER NOT NULL,NAME VARCHAR(80) NOT NULL,CLASS_NAME VARCHAR(50) NOT NULL,READ_ONLY CHAR(1) DEFAULT '1') +CREATE TABLE PREFERENCE_VALUE(ID INTEGER NOT NULL PRIMARY KEY,PREFERENCE_ID INTEGER,VALUE LONGVARCHAR) +CREATE TABLE PORTLET_ENTITY(ID INTEGER NOT NULL PRIMARY KEY,PORTLET_DEFINITION_ID INTEGER NOT NULL,GUID VARCHAR(255) NOT NULL) +CREATE TABLE SECURITY_ROLE_REFERENCE(ID INTEGER NOT NULL PRIMARY KEY,PORTLET_DEFINITION_ID INTEGER NOT NULL,ROLE_NAME VARCHAR(150),ROLE_LINK VARCHAR(150)) +CREATE TABLE LOCALIZED_DESCRIPTION(ID INTEGER NOT NULL PRIMARY KEY,OBJECT_ID INTEGER NOT NULL,CLASS_NAME VARCHAR(255) NOT NULL,DESCRIPTION LONGVARCHAR NOT NULL,LOCALE_STRING VARCHAR(50) NOT NULL) +CREATE TABLE LOCALIZED_DISPLAY_NAME(ID INTEGER NOT NULL PRIMARY KEY,OBJECT_ID INTEGER NOT NULL,CLASS_NAME VARCHAR(255),DISPLAY_NAME LONGVARCHAR NOT NULL,LOCALE_STRING VARCHAR(50) NOT NULL) ALTER TABLE PREF_PROPERTY_VALUE ADD CONSTRAINT PREF_PROPERTY_VALUE_FK_2 FOREIGN KEY(PROPERTY_KEY_ID) REFERENCES PREF_PROPERTY_KEY(PROPERTY_KEY_ID) GRANT ALL ON CLASS "org.hsqldb.Library" TO PUBLIC GRANT ALL ON CLASS "java.lang.Math" TO PUBLIC 1.2 +5 -3 jakarta-jetspeed-2/portal/test/assembly/TestCastorXmlPageManager.groovy Index: TestCastorXmlPageManager.groovy =================================================================== RCS file: /home/cvs/jakarta-jetspeed-2/portal/test/assembly/TestCastorXmlPageManager.groovy,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- TestCastorXmlPageManager.groovy 21 Feb 2004 09:01:30 -0000 1.1 +++ TestCastorXmlPageManager.groovy 24 Feb 2004 05:34:01 -0000 1.2 @@ -2,6 +2,7 @@ import org.apache.jetspeed.idgenerator.JetspeedIdGenerator import org.apache.jetspeed.page.impl.CastorXmlPageManager import org.apache.jetspeed.components.ComponentAssemblyTestCase +import org.apache.jetspeed.cache.file.FileCache // create the root container container = new DefaultPicoContainer() @@ -17,10 +18,11 @@ // // Page Manager // -println("app root = " + applicationRoot) +Long scanRate = 120 +cacheSize = 100 +fileCache = new FileCache(scanRate, cacheSize) root = applicationRoot + "/testdata/pages" -mapping = applicationRoot + "/../src/webapp/WEB-INF/conf/page-mapping.xml" container.registerComponentInstance("CastorXmlPageManager", - new CastorXmlPageManager(idgenerator, mapping, root)) + new CastorXmlPageManager(idgenerator, fileCache, root)) return container 1.3 +0 -2 jakarta-jetspeed-2/portal/test/assembly/TestDatabasePageManager.groovy Index: TestDatabasePageManager.groovy =================================================================== RCS file: /home/cvs/jakarta-jetspeed-2/portal/test/assembly/TestDatabasePageManager.groovy,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- TestDatabasePageManager.groovy 23 Feb 2004 16:13:56 -0000 1.2 +++ TestDatabasePageManager.groovy 24 Feb 2004 05:34:01 -0000 1.3 @@ -6,8 +6,6 @@ // create the root container container = new DefaultPicoContainer() -applicationRoot = ComponentAssemblyTestCase.getApplicationRoot("portal", "test") - // // ID Generator //
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]