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]