You are viewing a plain text version of this content. The canonical link for it is here.
Posted to graffito-commits@incubator.apache.org by cl...@apache.org on 2005/01/22 21:41:35 UTC
svn commit: r126056 - in incubator/graffito/trunk/components/src: java/META-INF java/org/apache/portals/graffito/store/impl java/org/apache/portals/graffito/store/impl/fs java/org/apache/portals/graffito/store/impl/ojb schema sql/GraffitoServer sql/GraffitoServer/mysql test/org/apache/portals/graffito/impl
Author: clombart
Date: Sat Jan 22 13:41:33 2005
New Revision: 126056
URL: http://svn.apache.org/viewcvs?view=rev&rev=126056
Log:
The unit test for the FileSystemServer failed for different reasons :
* Missing constructor in FileSystemContentStore. Now, it is not possible to build if the constructor is missing.
* the Master store schema was not yet ready to support a FS server. I modified the SQL DB schema in order to support this kind of store.
* Review the SQL script (drop & delete) in order to support correctly a FS store.
The work completed by David shows that it is not easy to add a new content store type. We have to find a better solution. it is tedious to change the DB schema each time a new kind of content store is needed.
Added:
incubator/graffito/trunk/components/src/java/org/apache/portals/graffito/store/impl/AbstractGraffitoStore.java
Modified:
incubator/graffito/trunk/components/src/java/META-INF/repository_graffito.xml
incubator/graffito/trunk/components/src/java/org/apache/portals/graffito/store/impl/fs/FileSystemContentStore.java
incubator/graffito/trunk/components/src/java/org/apache/portals/graffito/store/impl/ojb/GraffitoOJBStore.java
incubator/graffito/trunk/components/src/schema/graffitostore-schema.xml
incubator/graffito/trunk/components/src/sql/GraffitoServer/delete-db.sql
incubator/graffito/trunk/components/src/sql/GraffitoServer/mysql/drop-db.sql
incubator/graffito/trunk/components/src/test/org/apache/portals/graffito/impl/TestContentServerService.java
Modified: incubator/graffito/trunk/components/src/java/META-INF/repository_graffito.xml
Url: http://svn.apache.org/viewcvs/incubator/graffito/trunk/components/src/java/META-INF/repository_graffito.xml?view=diff&rev=126056&p1=incubator/graffito/trunk/components/src/java/META-INF/repository_graffito.xml&r1=126055&p2=incubator/graffito/trunk/components/src/java/META-INF/repository_graffito.xml&r2=126056
==============================================================================
--- incubator/graffito/trunk/components/src/java/META-INF/repository_graffito.xml (original)
+++ incubator/graffito/trunk/components/src/java/META-INF/repository_graffito.xml Sat Jan 22 13:41:33 2005
@@ -413,6 +413,7 @@
<class-descriptor class="org.apache.portals.graffito.model.Server">
<extent-class class-ref="org.apache.portals.graffito.model.impl.WebdavServerImpl" />
<extent-class class-ref="org.apache.portals.graffito.model.impl.GraffitoServerImpl" />
+ <extent-class class-ref="org.apache.portals.graffito.model.impl.FileSystemServerImpl" />
</class-descriptor>
<class-descriptor class="org.apache.portals.graffito.model.WebdavServer">
@@ -423,6 +424,10 @@
<extent-class class-ref="org.apache.portals.graffito.model.impl.GraffitoServerImpl" />
</class-descriptor>
+ <class-descriptor class="org.apache.portals.graffito.model.FileSystemServer">
+ <extent-class class-ref="org.apache.portals.graffito.model.impl.FileSystemServerImpl" />
+ </class-descriptor>
+
<class-descriptor
class="org.apache.portals.graffito.model.impl.ServerImpl"
table="SERVER"
@@ -586,6 +591,36 @@
jdbc-type="VARCHAR"
/>
+ <reference-descriptor name="super"
+ class-ref="org.apache.portals.graffito.model.impl.ServerImpl"
+ auto-retrieve="true"
+ auto-update="true"
+ auto-delete="true"
+ >
+ <foreignkey field-ref="serverId"/>
+ </reference-descriptor>
+
+ </class-descriptor>
+
+
+ <class-descriptor
+ class="org.apache.portals.graffito.model.impl.FileSystemServerImpl"
+ table="GRAFFITO_FS_SERVER"
+ >
+ <field-descriptor
+ name="serverId"
+ column="SERVER_ID"
+ jdbc-type="INTEGER"
+ primarykey="true"
+ autoincrement="true"
+ />
+
+ <field-descriptor
+ name="root"
+ column="ROOT"
+ jdbc-type="VARCHAR"
+ />
+
<reference-descriptor name="super"
class-ref="org.apache.portals.graffito.model.impl.ServerImpl"
auto-retrieve="true"
Added: incubator/graffito/trunk/components/src/java/org/apache/portals/graffito/store/impl/AbstractGraffitoStore.java
Url: http://svn.apache.org/viewcvs/incubator/graffito/trunk/components/src/java/org/apache/portals/graffito/store/impl/AbstractGraffitoStore.java?view=auto&rev=126056
==============================================================================
--- (empty file)
+++ incubator/graffito/trunk/components/src/java/org/apache/portals/graffito/store/impl/AbstractGraffitoStore.java Sat Jan 22 13:41:33 2005
@@ -0,0 +1,63 @@
+/*
+ * Copyright 2000-2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.portals.graffito.store.impl;
+
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.portals.graffito.exception.CmsInstantiateException;
+import org.apache.portals.graffito.model.Server;
+import org.apache.portals.graffito.security.CmsAccessController;
+import org.apache.portals.graffito.store.ContentStore;
+
+/**
+ * Abstract Content Store
+ *
+ * @author <a href="mailto:christophe.lombart@sword-technologies.com">Lombart Christophe </a>
+ * @version $Id: Exp $
+ */
+public abstract class AbstractGraffitoStore implements ContentStore
+{
+
+ protected static final Log log = LogFactory.getLog(AbstractGraffitoStore.class);
+
+
+ /** Server scope associated to this content store */
+ protected String scope;
+
+ protected CmsAccessController cmsAccessController;
+
+ /**
+ * Constructor based on the a server object.
+ *
+ * @param server
+ * The server object contains all information to connect to this
+ * content store
+ * @param cmsAccessController
+ * The CmsAccesController used to check the permissions
+ *
+ * @throws CmsInstantiateException
+ * when it is not possible to instantiate this store
+ */
+ public AbstractGraffitoStore(Server server, CmsAccessController cmsAccessController) throws CmsInstantiateException
+ {
+ this.cmsAccessController = cmsAccessController;
+
+
+ }
+
+
+}
\ No newline at end of file
Modified: incubator/graffito/trunk/components/src/java/org/apache/portals/graffito/store/impl/fs/FileSystemContentStore.java
Url: http://svn.apache.org/viewcvs/incubator/graffito/trunk/components/src/java/org/apache/portals/graffito/store/impl/fs/FileSystemContentStore.java?view=diff&rev=126056&p1=incubator/graffito/trunk/components/src/java/org/apache/portals/graffito/store/impl/fs/FileSystemContentStore.java&r1=126055&p2=incubator/graffito/trunk/components/src/java/org/apache/portals/graffito/store/impl/fs/FileSystemContentStore.java&r2=126056
==============================================================================
--- incubator/graffito/trunk/components/src/java/org/apache/portals/graffito/store/impl/fs/FileSystemContentStore.java (original)
+++ incubator/graffito/trunk/components/src/java/org/apache/portals/graffito/store/impl/fs/FileSystemContentStore.java Sat Jan 22 13:41:33 2005
@@ -18,13 +18,19 @@
import java.util.Collection;
import java.util.Iterator;
+
+import org.apache.portals.graffito.exception.CmsInstantiateException;
import org.apache.portals.graffito.exception.CmsPermissionException;
import org.apache.portals.graffito.model.CmsObject;
import org.apache.portals.graffito.model.Document;
+import org.apache.portals.graffito.model.FileSystemServer;
import org.apache.portals.graffito.model.HistoryElement;
+import org.apache.portals.graffito.model.Server;
import org.apache.portals.graffito.persistence.ContentPersistenceException;
import org.apache.portals.graffito.search.Filter;
+import org.apache.portals.graffito.security.CmsAccessController;
import org.apache.portals.graffito.store.ContentStore;
+import org.apache.portals.graffito.store.impl.AbstractGraffitoStore;
/**
* File System Content Store
@@ -32,9 +38,31 @@
* @author <a href="mailto:taylor@apache.org">David Sean Taylor</a>
* @version $Id: $
*/
-public class FileSystemContentStore implements ContentStore
+public class FileSystemContentStore extends AbstractGraffitoStore implements ContentStore
{
-
+
+ private FileSystemServer fileSystemServer;
+
+
+ /**
+ * Constructor based on the a server object.
+ *
+ * @param server
+ * The server object contains all information to connect to this
+ * content store
+ * @param cmsAccessController
+ * The CmsAccesController used to check the permissions
+ *
+ * @throws CmsInstantiateException
+ * when it is not possible to instantiate this store
+ */
+ public FileSystemContentStore(Server server, CmsAccessController cmsAccessController) throws CmsInstantiateException
+ {
+ super(server, cmsAccessController);
+ fileSystemServer = (FileSystemServer) server;
+ }
+
+
/* (non-Javadoc)
* @see org.apache.portals.graffito.store.ContentStore#getCmsObject(java.lang.String)
*/
Modified: incubator/graffito/trunk/components/src/java/org/apache/portals/graffito/store/impl/ojb/GraffitoOJBStore.java
Url: http://svn.apache.org/viewcvs/incubator/graffito/trunk/components/src/java/org/apache/portals/graffito/store/impl/ojb/GraffitoOJBStore.java?view=diff&rev=126056&p1=incubator/graffito/trunk/components/src/java/org/apache/portals/graffito/store/impl/ojb/GraffitoOJBStore.java&r1=126055&p2=incubator/graffito/trunk/components/src/java/org/apache/portals/graffito/store/impl/ojb/GraffitoOJBStore.java&r2=126056
==============================================================================
--- incubator/graffito/trunk/components/src/java/org/apache/portals/graffito/store/impl/ojb/GraffitoOJBStore.java (original)
+++ incubator/graffito/trunk/components/src/java/org/apache/portals/graffito/store/impl/ojb/GraffitoOJBStore.java Sat Jan 22 13:41:33 2005
@@ -41,6 +41,7 @@
import org.apache.portals.graffito.security.CmsAccessController;
import org.apache.portals.graffito.security.impl.GraffitoAction;
import org.apache.portals.graffito.store.ContentStore;
+import org.apache.portals.graffito.store.impl.AbstractGraffitoStore;
import org.apache.portals.graffito.exception.CmsInstantiateException;
import org.apache.portals.graffito.exception.CmsPermissionException;
import org.apache.portals.graffito.model.CmsObject;
@@ -56,17 +57,12 @@
*
*
*/
-public class GraffitoOJBStore implements ContentStore
+public class GraffitoOJBStore extends AbstractGraffitoStore implements ContentStore
{
-
- protected static final Log log = LogFactory.getLog(GraffitoOJBStore.class);
+
private OjbFactory ojbFactory;
private PBKey pbKey;
- /** Server scope associated to this content store */
- private String scope;
- private CmsAccessController cmsAccessController;
-
/**
* Constructor based on the a server object.
*
@@ -75,13 +71,13 @@
* content store
* @param cmsAccessController
* The CmsAccesController used to check the permissions
- * PersistenceBroker
+ *
* @throws CmsInstantiateException
* when it is not possible to instantiate this store
*/
public GraffitoOJBStore(Server server, CmsAccessController cmsAccessController) throws CmsInstantiateException
{
- this.cmsAccessController = cmsAccessController;
+ super(server, cmsAccessController);
// TODO : replace the following lines.
// * OjbSecureArrayList is an OJB Managable collection used to check the
@@ -132,7 +128,7 @@
}
catch (MetadataException e)
{
- //Do nothing if the connection already exist
+ // if the connection already exist
log.error("An error occurs when building a Graffito : " + server.getAlias(), e);
throw new CmsInstantiateException("An error occurs when building a GraffitoStore : "
+ server.getAlias(), e);
@@ -149,11 +145,11 @@
* @param cmsAccessController
* The CmsAccesController used to check the permissions
*/
- public GraffitoOJBStore(String storeName, CmsAccessController cmsAccessController)
- {
- this.cmsAccessController = cmsAccessController;
- pbKey = new PBKey(storeName);
- }
+// public GraffitoOJBStore(String storeName, CmsAccessController cmsAccessController)
+// {
+// this.cmsAccessController = cmsAccessController;
+// pbKey = new PBKey(storeName);
+// }
/**
* @see org.apache.portals.graffito.store.ContentStore#getCmsObject(String)
@@ -468,8 +464,7 @@
Criteria criteria = ((FilterImpl) filter).getCriteria();
String filterScope = filter.getScope();
// if the class is a CmsObject, check the filter scope is defined in
- // orer to limit the
- // search on this one
+ // orer to limit the search on this one
if (clazz.equals(CmsObject.class) && filterScope != null && !filterScope.equals(""))
{
criteria.addLike("uri", filterScope + "%");
Modified: incubator/graffito/trunk/components/src/schema/graffitostore-schema.xml
Url: http://svn.apache.org/viewcvs/incubator/graffito/trunk/components/src/schema/graffitostore-schema.xml?view=diff&rev=126056&p1=incubator/graffito/trunk/components/src/schema/graffitostore-schema.xml&r1=126055&p2=incubator/graffito/trunk/components/src/schema/graffitostore-schema.xml&r2=126056
==============================================================================
--- incubator/graffito/trunk/components/src/schema/graffitostore-schema.xml (original)
+++ incubator/graffito/trunk/components/src/schema/graffitostore-schema.xml Sat Jan 22 13:41:33 2005
@@ -1,4 +1,4 @@
-<?xml version="1.0"?>
+<?xml version="1.0"?>
<!--
Copyright 2004 The Apache Software Foundation
@@ -13,139 +13,130 @@
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
--->
-<!DOCTYPE database SYSTEM "http://db.apache.org/torque/dtd/database_3_1.dtd">
-<!-- Autogenerated by JDBCToXMLSchema! -->
-<database>
-<!--
+-->
+<!DOCTYPE database SYSTEM "http://db.apache.org/torque/dtd/database_3_1.dtd">
+<!-- Autogenerated by JDBCToXMLSchema! -->
+<database>
+ <!--
CREATING TABLES FOR GRAFFITO
- -->
- <table name="SERVER">
- <column name="SERVER_ID" primaryKey="true" required="true" type="INTEGER"/>
- <column name="SCOPE" required="true" size="254" type="VARCHAR"/>
- <column name="ALIAS" required="true" size="254" type="VARCHAR"/>
- <column name="DESCRIPTION" required="true" size="254" type="VARCHAR"/>
- <column name="TITLE" required="true" size="254" type="VARCHAR"/>
- <column name="PLUGIN_CLASS_NAME" required="true" size="254" type="VARCHAR"/>
- <unique name="scope">
- <unique-column name="SCOPE" />
- </unique>
- <unique name="alias">
- <unique-column name="ALIAS" />
- </unique>
- </table>
-
- <table name="WEBDAV_SERVER">
- <column name="SERVER_ID" primaryKey="true" required="true" type="INTEGER"/>
- <column name="URL" required="true" size="254" type="VARCHAR"/>
- <column name="IS_SECURE_SERVER" required="true" size="1" type="VARCHAR"/>
- <column name="USE_CURRENT_LOGIN" required="true" size="1" type="VARCHAR"/>
- <column name="LOGIN" size="50" type="VARCHAR"/>
- <column name="PASSWORD" size="50" type="VARCHAR"/>
-
- <foreign-key foreignTable="SERVER" onDelete="cascade" >
- <reference foreign="SERVER_ID" local="SERVER_ID"/>
- </foreign-key>
-
- <unique name="url">
- <unique-column name="URL" />
- </unique>
- </table>
-
- <table name="GRAFFITO_DB_SERVER">
- <column name="SERVER_ID" primaryKey="true" required="true" type="INTEGER"/>
- <column name="PLATEFORM" required="true" size="254" type="VARCHAR"/>
- <column name="DB_ALIAS" required="true" size="254" type="VARCHAR"/>
- <column name="JDBC_LEVEL" required="true" size="10" type="VARCHAR"/>
- <column name="DRIVER" required="true" size="255" type="VARCHAR"/>
- <column name="PROTOCOL" required="true" size="25" type="VARCHAR"/>
- <column name="SUBPROTOCOL" required="true" size="25" type="VARCHAR"/>
- <column name="LOGIN" size="50" type="VARCHAR"/>
- <column name="PASSWORD" size="50" type="VARCHAR"/>
- <column name="DATASOURCE" size="100" type="VARCHAR"/>
-
- <foreign-key foreignTable="SERVER" onDelete="cascade">
- <reference foreign="SERVER_ID" local="SERVER_ID"/>
- </foreign-key>
-
- <unique name="dbalias">
- <unique-column name="DB_ALIAS" />
- </unique>
- </table>
-
- <table name="CONTENT">
- <column name="CONTENT_ID" primaryKey="true" required="true" type="INTEGER"/>
- <column name="CONTENT" type="BLOB"/>
-
- </table>
-
- <table name="CMS_OBJECT">
- <column name="OBJECT_ID" primaryKey="true" required="true" type="INTEGER"/>
- <column name="PARENT_ID" type="INTEGER"/>
- <column name="NAME" required="true" size="254" type="VARCHAR"/>
- <column name="URI" required="true" size="254" type="VARCHAR"/>
- <column name="CREATION_DATE" required="true" type="DATE"/>
- <column name="DELTA" required="true" type="DATE"/>
- <column name="DESCRIPTION" size="255" type="VARCHAR"/>
- <column name="TITLE" size="255" type="VARCHAR"/>
- <column name="LINK_TARGET_ID" type="INTEGER"/>
- <column name="VERSION_NUM" size="10" type="VARCHAR"/>
- <column name="IS_LAST_VERSION" type="INTEGER"/>
- <column name="CONTENT_ID" type="INTEGER"/>
- <column name="CONTENT_SIZE" type="INTEGER"/>
- <column name="LANGUAGE" required="true" size="254" type="VARCHAR"/>
- <column name="OWNER" required="true" size="254" type="VARCHAR"/>
- <column name="CONTENT_TYPE" size="254" type="VARCHAR"/>
- <column name="CLASS_NAME" required="true" size="254" type="VARCHAR"/>
-
- <foreign-key foreignTable="CMS_OBJECT" onDelete="cascade">
- <reference foreign="OBJECT_ID" local="PARENT_ID"/>
- </foreign-key>
-
- <foreign-key foreignTable="CONTENT" onDelete="cascade">
- <reference foreign="CONTENT_ID" local="CONTENT_ID"/>
- </foreign-key>
-
- <index name="CMS_OBJECT_IDX1">
- <index-column name="PARENT_ID" />
- </index >
-
- <index name="CMS_OBJECT_IDX2">
- <index-column name="CONTENT_ID" />
- </index>
-
- <unique name="URI_VERSION_NUM">
- <unique-column name="URI" />
- <unique-column name="VERSION_NUM" />
- </unique>
- </table>
-
-
- <table name="VERSION_HISTORY">
- <column name="HISTORY_ID" primaryKey="true" required="true" type="INTEGER"/>
- <column name="OBJECT_ID" required="true" type="INTEGER"/>
- <column name="PREVIOUS_ID" type="INTEGER"/>
-
- <foreign-key foreignTable="CMS_OBJECT" onDelete="cascade">
- <reference foreign="OBJECT_ID" local="OBJECT_ID"/>
- </foreign-key>
-
- <foreign-key foreignTable="VERSION_HISTORY" onDelete="cascade">
- <reference foreign="HISTORY_ID" local="PREVIOUS_ID"/>
- </foreign-key>
-
- <index name="VERSION_HISTORY_IDX1">
- <index-column name="OBJECT_ID" />
- </index>
-
- <index name="VERSION_HISTORY_IDX2">
- <index-column name="PREVIOUS_ID" />
- </index>
- </table>
-
- <table name="SYS_CMS_CLASSES">
- <column name="CMS_CLASS_ID" primaryKey="true" required="true" size="100" type="VARCHAR"/>
- <column name="CMS_CLASS" required="true" size="254" type="VARCHAR"/>
- </table>
-</database>
+ -->
+ <table name="SERVER">
+ <column name="SERVER_ID" primaryKey="true" required="true" type="INTEGER"/>
+ <column name="SCOPE" required="true" size="254" type="VARCHAR"/>
+ <column name="ALIAS" required="true" size="254" type="VARCHAR"/>
+ <column name="DESCRIPTION" required="true" size="254" type="VARCHAR"/>
+ <column name="TITLE" required="true" size="254" type="VARCHAR"/>
+ <column name="PLUGIN_CLASS_NAME" required="true" size="254" type="VARCHAR"/>
+ <unique name="scope">
+ <unique-column name="SCOPE" />
+ </unique>
+ <unique name="alias">
+ <unique-column name="ALIAS" />
+ </unique>
+ </table>
+ <table name="WEBDAV_SERVER">
+ <column name="SERVER_ID" primaryKey="true" required="true" type="INTEGER"/>
+ <column name="URL" required="true" size="254" type="VARCHAR"/>
+ <column name="IS_SECURE_SERVER" required="true" size="1" type="VARCHAR"/>
+ <column name="USE_CURRENT_LOGIN" required="true" size="1" type="VARCHAR"/>
+ <column name="LOGIN" size="50" type="VARCHAR"/>
+ <column name="PASSWORD" size="50" type="VARCHAR"/>
+ <foreign-key foreignTable="SERVER" onDelete="cascade" >
+ <reference foreign="SERVER_ID" local="SERVER_ID"/>
+ </foreign-key>
+ <unique name="url">
+ <unique-column name="URL" />
+ </unique>
+ </table>
+ <table name="GRAFFITO_DB_SERVER">
+ <column name="SERVER_ID" primaryKey="true" required="true" type="INTEGER"/>
+ <column name="PLATEFORM" required="true" size="254" type="VARCHAR"/>
+ <column name="DB_ALIAS" required="true" size="254" type="VARCHAR"/>
+ <column name="JDBC_LEVEL" required="true" size="10" type="VARCHAR"/>
+ <column name="DRIVER" required="true" size="255" type="VARCHAR"/>
+ <column name="PROTOCOL" required="true" size="25" type="VARCHAR"/>
+ <column name="SUBPROTOCOL" required="true" size="25" type="VARCHAR"/>
+ <column name="LOGIN" size="50" type="VARCHAR"/>
+ <column name="PASSWORD" size="50" type="VARCHAR"/>
+ <column name="DATASOURCE" size="100" type="VARCHAR"/>
+ <foreign-key foreignTable="SERVER" onDelete="cascade">
+ <reference foreign="SERVER_ID" local="SERVER_ID"/>
+ </foreign-key>
+ <unique name="dbalias">
+ <unique-column name="DB_ALIAS" />
+ </unique>
+ </table>
+ <table name="GRAFFITO_FS_SERVER">
+ <column name="SERVER_ID" primaryKey="true" required="true" type="INTEGER"/>
+ <column name="ROOT" required="true" size="254" type="VARCHAR"/>
+ <foreign-key foreignTable="SERVER" onDelete="cascade">
+ <reference foreign="SERVER_ID" local="SERVER_ID"/>
+ </foreign-key>
+ <unique name="root">
+ <unique-column name="ROOT" />
+ </unique>
+ </table>
+
+
+ <table name="CONTENT">
+ <column name="CONTENT_ID" primaryKey="true" required="true" type="INTEGER"/>
+ <column name="CONTENT" type="BLOB"/>
+ </table>
+ <table name="CMS_OBJECT">
+ <column name="OBJECT_ID" primaryKey="true" required="true" type="INTEGER"/>
+ <column name="PARENT_ID" type="INTEGER"/>
+ <column name="NAME" required="true" size="254" type="VARCHAR"/>
+ <column name="URI" required="true" size="254" type="VARCHAR"/>
+ <column name="CREATION_DATE" required="true" type="DATE"/>
+ <column name="DELTA" required="true" type="DATE"/>
+ <column name="DESCRIPTION" size="255" type="VARCHAR"/>
+ <column name="TITLE" size="255" type="VARCHAR"/>
+ <column name="LINK_TARGET_ID" type="INTEGER"/>
+ <column name="VERSION_NUM" size="10" type="VARCHAR"/>
+ <column name="IS_LAST_VERSION" type="INTEGER"/>
+ <column name="CONTENT_ID" type="INTEGER"/>
+ <column name="CONTENT_SIZE" type="INTEGER"/>
+ <column name="LANGUAGE" required="true" size="254" type="VARCHAR"/>
+ <column name="OWNER" required="true" size="254" type="VARCHAR"/>
+ <column name="CONTENT_TYPE" size="254" type="VARCHAR"/>
+ <column name="CLASS_NAME" required="true" size="254" type="VARCHAR"/>
+ <foreign-key foreignTable="CMS_OBJECT" onDelete="cascade">
+ <reference foreign="OBJECT_ID" local="PARENT_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="CONTENT" onDelete="cascade">
+ <reference foreign="CONTENT_ID" local="CONTENT_ID"/>
+ </foreign-key>
+ <index name="CMS_OBJECT_IDX1">
+ <index-column name="PARENT_ID" />
+ </index >
+ <index name="CMS_OBJECT_IDX2">
+ <index-column name="CONTENT_ID" />
+ </index>
+ <unique name="URI_VERSION_NUM">
+ <unique-column name="URI" />
+ <unique-column name="VERSION_NUM" />
+ </unique>
+ </table>
+ <table name="VERSION_HISTORY">
+ <column name="HISTORY_ID" primaryKey="true" required="true" type="INTEGER"/>
+ <column name="OBJECT_ID" required="true" type="INTEGER"/>
+ <column name="PREVIOUS_ID" type="INTEGER"/>
+ <foreign-key foreignTable="CMS_OBJECT" onDelete="cascade">
+ <reference foreign="OBJECT_ID" local="OBJECT_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="VERSION_HISTORY" onDelete="cascade">
+ <reference foreign="HISTORY_ID" local="PREVIOUS_ID"/>
+ </foreign-key>
+ <index name="VERSION_HISTORY_IDX1">
+ <index-column name="OBJECT_ID" />
+ </index>
+ <index name="VERSION_HISTORY_IDX2">
+ <index-column name="PREVIOUS_ID" />
+ </index>
+ </table>
+ <table name="SYS_CMS_CLASSES">
+ <column name="CMS_CLASS_ID" primaryKey="true" required="true" size="100" type="VARCHAR"/>
+ <column name="CMS_CLASS" required="true" size="254" type="VARCHAR"/>
+ </table>
+</database>
\ No newline at end of file
Modified: incubator/graffito/trunk/components/src/sql/GraffitoServer/delete-db.sql
Url: http://svn.apache.org/viewcvs/incubator/graffito/trunk/components/src/sql/GraffitoServer/delete-db.sql?view=diff&rev=126056&p1=incubator/graffito/trunk/components/src/sql/GraffitoServer/delete-db.sql&r1=126055&p2=incubator/graffito/trunk/components/src/sql/GraffitoServer/delete-db.sql&r2=126056
==============================================================================
--- incubator/graffito/trunk/components/src/sql/GraffitoServer/delete-db.sql (original)
+++ incubator/graffito/trunk/components/src/sql/GraffitoServer/delete-db.sql Sat Jan 22 13:41:33 2005
@@ -18,6 +18,7 @@
delete from CONTENT;
delete from WEBDAV_SERVER;
delete from GRAFFITO_DB_SERVER;
+delete from GRAFITTO_FS_SERVER;
delete from SERVER;
Modified: incubator/graffito/trunk/components/src/sql/GraffitoServer/mysql/drop-db.sql
Url: http://svn.apache.org/viewcvs/incubator/graffito/trunk/components/src/sql/GraffitoServer/mysql/drop-db.sql?view=diff&rev=126056&p1=incubator/graffito/trunk/components/src/sql/GraffitoServer/mysql/drop-db.sql&r1=126055&p2=incubator/graffito/trunk/components/src/sql/GraffitoServer/mysql/drop-db.sql&r2=126056
==============================================================================
--- incubator/graffito/trunk/components/src/sql/GraffitoServer/mysql/drop-db.sql (original)
+++ incubator/graffito/trunk/components/src/sql/GraffitoServer/mysql/drop-db.sql Sat Jan 22 13:41:33 2005
@@ -19,6 +19,7 @@
drop table if exists SYS_CMS_CLASSES;
drop table if exists WEBDAV_SERVER;
drop table if exists GRAFFITO_DB_SERVER;
+drop table if exists GRAFFITO_FS_SERVER;
drop table if exists SERVER;
Modified: incubator/graffito/trunk/components/src/test/org/apache/portals/graffito/impl/TestContentServerService.java
Url: http://svn.apache.org/viewcvs/incubator/graffito/trunk/components/src/test/org/apache/portals/graffito/impl/TestContentServerService.java?view=diff&rev=126056&p1=incubator/graffito/trunk/components/src/test/org/apache/portals/graffito/impl/TestContentServerService.java&r1=126055&p2=incubator/graffito/trunk/components/src/test/org/apache/portals/graffito/impl/TestContentServerService.java&r2=126056
==============================================================================
--- incubator/graffito/trunk/components/src/test/org/apache/portals/graffito/impl/TestContentServerService.java (original)
+++ incubator/graffito/trunk/components/src/test/org/apache/portals/graffito/impl/TestContentServerService.java Sat Jan 22 13:41:33 2005
@@ -189,7 +189,7 @@
server.setScope("/share2");
server.setTitle("Graffito FS Test Server");
server.setRoot("/home/dtaylor/shares/two/");
-
+
server.setStoreClassName("org.apache.portals.graffito.store.impl.fs.FileSystemContentStore");
log.info("Add FS Store Server");
@@ -201,7 +201,7 @@
log.info("Get FS server");
server = (FileSystemServer) serverService.getServer("/share2");
assertTrue("Incorrect alias for server 'share2", server.getAlias().equals("share2"));
- assertTrue("Incorrect root for server 'share2", server.getAlias().equals("/home/dtaylor/shares/two/"));
+ assertTrue("Incorrect root for server 'share2", server.getRoot().equals("/home/dtaylor/shares/two/"));
// ---------------------------------------------------------------------------------------
// Update server