Author: rwatler
Date: Mon Mar  8 19:33:26 2010
New Revision: 920472

URL: http://svn.apache.org/viewvc?rev=920472&view=rev
Log:
JS2-1110: add imheritable flag attribute to DPSML pages to suppress inheritance 
in cases where a DPSML page is to override/customize a single content path

Added:
    
portals/jetspeed-2/portal/trunk/components/jetspeed-portal-site/src/test/resources/webapp/WEB-INF/pages/contentfolder/matchdocpage.dpsml
Modified:
    
portals/jetspeed-2/portal/trunk/components/jetspeed-page-manager/src/main/java/org/apache/jetspeed/om/page/impl/DynamicPageImpl.java
    
portals/jetspeed-2/portal/trunk/components/jetspeed-page-manager/src/main/java/org/apache/jetspeed/om/page/psml/DynamicPageImpl.java
    
portals/jetspeed-2/portal/trunk/components/jetspeed-page-manager/src/main/java/org/apache/jetspeed/page/AbstractPageManager.java
    
portals/jetspeed-2/portal/trunk/components/jetspeed-page-manager/src/main/resources/JETSPEED-INF/castor/page-mapping.xml
    
portals/jetspeed-2/portal/trunk/components/jetspeed-page-manager/src/main/resources/JETSPEED-INF/ojb/page-manager-repository.xml
    
portals/jetspeed-2/portal/trunk/components/jetspeed-page-manager/src/test/java/org/apache/jetspeed/page/TestCastorXmlPageManager.java
    
portals/jetspeed-2/portal/trunk/components/jetspeed-page-manager/src/test/java/org/apache/jetspeed/page/TestDatabasePageManager.java
    
portals/jetspeed-2/portal/trunk/components/jetspeed-portal-site/src/main/java/org/apache/jetspeed/portalsite/impl/PortalSiteSessionContextImpl.java
    
portals/jetspeed-2/portal/trunk/components/jetspeed-portal-site/src/test/java/org/apache/jetspeed/portalsite/TestPortalSite.java
    
portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/om/page/DynamicPage.java
    
portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/ddl-schema/phase2-schema.xml

Modified: 
portals/jetspeed-2/portal/trunk/components/jetspeed-page-manager/src/main/java/org/apache/jetspeed/om/page/impl/DynamicPageImpl.java
URL: 
http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-page-manager/src/main/java/org/apache/jetspeed/om/page/impl/DynamicPageImpl.java?rev=920472&r1=920471&r2=920472&view=diff
==============================================================================
--- 
portals/jetspeed-2/portal/trunk/components/jetspeed-page-manager/src/main/java/org/apache/jetspeed/om/page/impl/DynamicPageImpl.java
 (original)
+++ 
portals/jetspeed-2/portal/trunk/components/jetspeed-page-manager/src/main/java/org/apache/jetspeed/om/page/impl/DynamicPageImpl.java
 Mon Mar  8 19:33:26 2010
@@ -29,6 +29,7 @@
     private static final long serialVersionUID = 1L;
     
     private String contentType;
+    private boolean inheritable = true;
 
     /* (non-Javadoc)
      * @see org.apache.jetspeed.om.page.DynamicPage#getContentType()
@@ -47,6 +48,22 @@
     }
 
     /* (non-Javadoc)
+     * @see org.apache.jetspeed.om.page.DynamicPage#isInheritable()
+     */
+    public boolean isInheritable()
+    {
+        return inheritable;
+    }
+
+    /* (non-Javadoc)
+     * @see org.apache.jetspeed.om.page.DynamicPage#setInheritable(boolean)
+     */
+    public void setInheritable(boolean inheritable)
+    {
+        this.inheritable = inheritable;
+    }
+
+    /* (non-Javadoc)
      * @see org.apache.jetspeed.page.document.impl.NodeImpl#getType()
      */
     public String getType()

Modified: 
portals/jetspeed-2/portal/trunk/components/jetspeed-page-manager/src/main/java/org/apache/jetspeed/om/page/psml/DynamicPageImpl.java
URL: 
http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-page-manager/src/main/java/org/apache/jetspeed/om/page/psml/DynamicPageImpl.java?rev=920472&r1=920471&r2=920472&view=diff
==============================================================================
--- 
portals/jetspeed-2/portal/trunk/components/jetspeed-page-manager/src/main/java/org/apache/jetspeed/om/page/psml/DynamicPageImpl.java
 (original)
+++ 
portals/jetspeed-2/portal/trunk/components/jetspeed-page-manager/src/main/java/org/apache/jetspeed/om/page/psml/DynamicPageImpl.java
 Mon Mar  8 19:33:26 2010
@@ -29,6 +29,7 @@
     private static final long serialVersionUID = 1L;
 
     private String contentType;
+    private boolean inheritable = true;
     
     /* (non-Javadoc)
      * @see org.apache.jetspeed.om.page.DynamicPage#getContentType()
@@ -47,6 +48,22 @@
     }
 
     /* (non-Javadoc)
+     * @see org.apache.jetspeed.om.page.DynamicPage#isInheritable()
+     */
+    public boolean isInheritable()
+    {
+        return inheritable;
+    }
+
+    /* (non-Javadoc)
+     * @see org.apache.jetspeed.om.page.DynamicPage#setInheritable(boolean)
+     */
+    public void setInheritable(boolean inheritable)
+    {
+        this.inheritable = inheritable;
+    }
+
+    /* (non-Javadoc)
      * @see org.apache.jetspeed.page.document.Node#getType()
      */
     public String getType()

Modified: 
portals/jetspeed-2/portal/trunk/components/jetspeed-page-manager/src/main/java/org/apache/jetspeed/page/AbstractPageManager.java
URL: 
http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-page-manager/src/main/java/org/apache/jetspeed/page/AbstractPageManager.java?rev=920472&r1=920471&r2=920472&view=diff
==============================================================================
--- 
portals/jetspeed-2/portal/trunk/components/jetspeed-page-manager/src/main/java/org/apache/jetspeed/page/AbstractPageManager.java
 (original)
+++ 
portals/jetspeed-2/portal/trunk/components/jetspeed-page-manager/src/main/java/org/apache/jetspeed/page/AbstractPageManager.java
 Mon Mar  8 19:33:26 2010
@@ -1146,6 +1146,7 @@
         copyPageAttributes(source, copyIds, dynamicPage);
         dynamicPage.setHidden(source.isHidden());
         dynamicPage.setContentType(source.getContentType());
+        dynamicPage.setInheritable(source.isInheritable());
         return dynamicPage;
     }
 

Modified: 
portals/jetspeed-2/portal/trunk/components/jetspeed-page-manager/src/main/resources/JETSPEED-INF/castor/page-mapping.xml
URL: 
http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-page-manager/src/main/resources/JETSPEED-INF/castor/page-mapping.xml?rev=920472&r1=920471&r2=920472&view=diff
==============================================================================
--- 
portals/jetspeed-2/portal/trunk/components/jetspeed-page-manager/src/main/resources/JETSPEED-INF/castor/page-mapping.xml
 (original)
+++ 
portals/jetspeed-2/portal/trunk/components/jetspeed-page-manager/src/main/resources/JETSPEED-INF/castor/page-mapping.xml
 Mon Mar  8 19:33:26 2010
@@ -98,6 +98,10 @@
     <field name="contentType" type="string">
       <bind-xml name="content-type" node="attribute"/>
     </field>
+
+    <field name="inheritable" type="boolean">
+      <bind-xml name="inheritable" node="attribute"/>
+    </field>
   </class>
 
   <class name="org.apache.jetspeed.om.page.PageLocalizedFieldImpl">

Modified: 
portals/jetspeed-2/portal/trunk/components/jetspeed-page-manager/src/main/resources/JETSPEED-INF/ojb/page-manager-repository.xml
URL: 
http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-page-manager/src/main/resources/JETSPEED-INF/ojb/page-manager-repository.xml?rev=920472&r1=920471&r2=920472&view=diff
==============================================================================
--- 
portals/jetspeed-2/portal/trunk/components/jetspeed-page-manager/src/main/resources/JETSPEED-INF/ojb/page-manager-repository.xml
 (original)
+++ 
portals/jetspeed-2/portal/trunk/components/jetspeed-page-manager/src/main/resources/JETSPEED-INF/ojb/page-manager-repository.xml
 Mon Mar  8 19:33:26 2010
@@ -1583,6 +1583,13 @@
          jdbc-type="VARCHAR"
       />
 
+      <field-descriptor
+         name="inheritable"
+         column="IS_INHERITABLE"
+         jdbc-type="INTEGER"
+         
conversion="org.apache.ojb.broker.accesslayer.conversions.Boolean2IntFieldConversion"
+      />
+
    </class-descriptor>
 
    <class-descriptor

Modified: 
portals/jetspeed-2/portal/trunk/components/jetspeed-page-manager/src/test/java/org/apache/jetspeed/page/TestCastorXmlPageManager.java
URL: 
http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-page-manager/src/test/java/org/apache/jetspeed/page/TestCastorXmlPageManager.java?rev=920472&r1=920471&r2=920472&view=diff
==============================================================================
--- 
portals/jetspeed-2/portal/trunk/components/jetspeed-page-manager/src/test/java/org/apache/jetspeed/page/TestCastorXmlPageManager.java
 (original)
+++ 
portals/jetspeed-2/portal/trunk/components/jetspeed-page-manager/src/test/java/org/apache/jetspeed/page/TestCastorXmlPageManager.java
 Mon Mar  8 19:33:26 2010
@@ -404,6 +404,7 @@
         DynamicPage testdynamicpage = 
pageManager.getDynamicPage("/test001.dpsml");
         assertTrue(testdynamicpage.getId().equals("/test001.dpsml"));
         assertTrue(testdynamicpage.getContentType().equals("default"));        
+        assertTrue(testdynamicpage.isInheritable());        
         assertTrue(testdynamicpage.getTitle().equals("Test Dynamic Page"));
         assertTrue(testdynamicpage.getVersion().equals("2.77"));
         rootFragmentElement = testdynamicpage.getRootFragment();
@@ -653,6 +654,7 @@
 
         DynamicPage dynamicpage = pageManager.newDynamicPage("/test002.dpsml");
         dynamicpage.setContentType("default");        
+        dynamicpage.setInheritable(false);        
         dynamicpage.setTitle("Created Dynamic Page");
         rootFragmentElement = dynamicpage.getRootFragment();
         assertTrue(rootFragmentElement instanceof Fragment);
@@ -680,6 +682,7 @@
         assertNotNull(dynamicpage);
         assertTrue(dynamicpage.getId().equals("/test002.dpsml"));
         assertEquals("default", dynamicpage.getContentType());
+        assertFalse(dynamicpage.isInheritable());
         assertEquals("Created Dynamic Page", dynamicpage.getTitle());
         assertNotNull(dynamicpage.getRootFragment());
         rootFragmentElement = dynamicpage.getRootFragment();
@@ -1578,6 +1581,7 @@
         assertNotNull(clonedynamicpage);
         assertTrue(clonedynamicpage.getId().equals("/cloned.dpsml"));
         assertTrue(clonedynamicpage.getContentType().equals("default"));       
 
+        assertTrue(clonedynamicpage.isInheritable());        
         assertTrue(clonedynamicpage.getTitle().equals("Clone Test Dynamic 
Page"));
         rootFragmentElement = clonedynamicpage.getRootFragment();
         assertTrue(rootFragmentElement instanceof Fragment);

Modified: 
portals/jetspeed-2/portal/trunk/components/jetspeed-page-manager/src/test/java/org/apache/jetspeed/page/TestDatabasePageManager.java
URL: 
http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-page-manager/src/test/java/org/apache/jetspeed/page/TestDatabasePageManager.java?rev=920472&r1=920471&r2=920472&view=diff
==============================================================================
--- 
portals/jetspeed-2/portal/trunk/components/jetspeed-page-manager/src/test/java/org/apache/jetspeed/page/TestDatabasePageManager.java
 (original)
+++ 
portals/jetspeed-2/portal/trunk/components/jetspeed-page-manager/src/test/java/org/apache/jetspeed/page/TestDatabasePageManager.java
 Mon Mar  8 19:33:26 2010
@@ -513,7 +513,9 @@
         pageManager.updatePageTemplate(pageTemplate);
 
         DynamicPage dynamicPage = 
pageManager.newDynamicPage("/dynamic-page.dpsml");
-        dynamicPage.setContentType("default");        
+        dynamicPage.setContentType("default");
+        assertTrue(dynamicPage.isInheritable());
+        dynamicPage.setInheritable(false);        
         dynamicPage.setTitle("Created Dynamic Page");
         rootFragmentElement = dynamicPage.getRootFragment();
         assertTrue(rootFragmentElement instanceof Fragment);
@@ -754,6 +756,7 @@
             DynamicPage check = 
pageManager.getDynamicPage("/dynamic-page.dpsml");
             assertNotNull(check);
             assertEquals("default", check.getContentType());
+            assertFalse(check.isInheritable());
             assertEquals("Created Dynamic Page", check.getTitle());
             assertNotNull(check.getRootFragment());
             BaseFragmentElement rootFragmentElement = check.getRootFragment();
@@ -1191,6 +1194,7 @@
         assertEquals("/dynamic-page.dpsml", dynamicPage.getPath());
         dynamicPage.setTitle("UPDATED");
         dynamicPage.setContentType("UPDATED");
+        dynamicPage.setInheritable(true);
         pageManager.updateDynamicPage(dynamicPage);
 
         FragmentDefinition fragmentDefinition = 
pageManager.getFragmentDefinition("/fragment-definition.fpsml");

Modified: 
portals/jetspeed-2/portal/trunk/components/jetspeed-portal-site/src/main/java/org/apache/jetspeed/portalsite/impl/PortalSiteSessionContextImpl.java
URL: 
http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal-site/src/main/java/org/apache/jetspeed/portalsite/impl/PortalSiteSessionContextImpl.java?rev=920472&r1=920471&r2=920472&view=diff
==============================================================================
--- 
portals/jetspeed-2/portal/trunk/components/jetspeed-portal-site/src/main/java/org/apache/jetspeed/portalsite/impl/PortalSiteSessionContextImpl.java
 (original)
+++ 
portals/jetspeed-2/portal/trunk/components/jetspeed-portal-site/src/main/java/org/apache/jetspeed/portalsite/impl/PortalSiteSessionContextImpl.java
 Mon Mar  8 19:33:26 2010
@@ -952,7 +952,6 @@
             // that matches request path; start with root folder in view
             Folder contentRequestFolder = 
(Folder)view.getNodeView(Folder.PATH_SEPARATOR, null, false, false);
             String contentRequestPath = contentRequestFolder.getPath();
-            String contentRequestFile = null;
             for (;;)
             {
                 // find next path name
@@ -975,6 +974,16 @@
                 }
             }
             
+            // determine if content request folder matches request
+            // folder assuming request path may include a content
+            // document name, but no deeper folders
+            boolean matchingContentRequestFolder = true;
+            if (contentRequestPath.length() < requestPath.length())
+            {
+                String requestPathTail = 
requestPath.substring(contentRequestPath.length());
+                matchingContentRequestFolder = 
(requestPathTail.indexOf(Folder.PATH_SEPARATOR_CHAR, 
(requestPathTail.startsWith(Folder.PATH_SEPARATOR) ? 1 : 0)) == -1);
+            }
+            
             // select matching dynamic pages in folders from deepest
             // to root folders in content request path
             while (contentRequestFolder != null)
@@ -986,6 +995,8 @@
                     if ((dynamicPages != null) && !dynamicPages.isEmpty())
                     {
                         // select matching page
+                        DynamicPage matchingPage = null;
+                        DynamicPage inheritableMatchingPage = null;
                         DynamicPage wildcardMatchingPage = null;
                         Iterator dynamicPagesIter = dynamicPages.iterator();
                         while (dynamicPagesIter.hasNext())
@@ -997,21 +1008,44 @@
                             }
                             else if 
(dynamicPage.getContentType().equals(contentType))
                             {
-                                // log selected dynamic page
-                                if (log.isDebugEnabled())
+                                boolean inheritableDynamicPage = 
dynamicPage.isInheritable();
+                                if (matchingContentRequestFolder && 
!inheritableDynamicPage)
+                                {
+                                    matchingPage = dynamicPage;
+                                }
+                                else if (inheritableDynamicPage)
                                 {
-                                    log.debug("Selected "+contentType+" 
content dynamic page, path=" + 
view.getManagedDynamicPage(dynamicPage).getPath());
+                                    inheritableMatchingPage = dynamicPage;
                                 }
-                                return dynamicPage;
                             }
                         }
+                        // select matching page
+                        if (matchingPage != null)
+                        {
+                            // log selected dynamic page
+                            if (log.isDebugEnabled())
+                            {
+                                log.debug("Selected "+contentType+" content 
dynamic page, path=" + view.getManagedDynamicPage(matchingPage).getPath());
+                            }
+                            return matchingPage;
+                        }
+                        // select inheritable matching page
+                        if (inheritableMatchingPage != null)
+                        {
+                            // log selected dynamic page
+                            if (log.isDebugEnabled())
+                            {
+                                log.debug("Selected "+contentType+" 
inheritable content dynamic page, path=" + 
view.getManagedDynamicPage(inheritableMatchingPage).getPath());
+                            }
+                            return inheritableMatchingPage;
+                        }
                         // select wildcard matching page
                         if (wildcardMatchingPage != null)
                         {
                             // log selected dynamic page
                             if (log.isDebugEnabled())
                             {
-                                log.debug("Selected "+contentType+" content 
dynamic page with wildcard, path=" + 
view.getManagedDynamicPage(wildcardMatchingPage).getPath());
+                                log.debug("Selected "+contentType+" wildcard 
content dynamic page, path=" + 
view.getManagedDynamicPage(wildcardMatchingPage).getPath());
                             }
                             return wildcardMatchingPage;
                         }
@@ -1028,6 +1062,7 @@
 
                 // continue search with parent folder
                 contentRequestFolder = 
(Folder)contentRequestFolder.getParent();
+                matchingContentRequestFolder = false;
             }
         }
             

Modified: 
portals/jetspeed-2/portal/trunk/components/jetspeed-portal-site/src/test/java/org/apache/jetspeed/portalsite/TestPortalSite.java
URL: 
http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal-site/src/test/java/org/apache/jetspeed/portalsite/TestPortalSite.java?rev=920472&r1=920471&r2=920472&view=diff
==============================================================================
--- 
portals/jetspeed-2/portal/trunk/components/jetspeed-portal-site/src/test/java/org/apache/jetspeed/portalsite/TestPortalSite.java
 (original)
+++ 
portals/jetspeed-2/portal/trunk/components/jetspeed-portal-site/src/test/java/org/apache/jetspeed/portalsite/TestPortalSite.java
 Mon Mar  8 19:33:26 2010
@@ -1911,10 +1911,25 @@
         requestPageView = requestContext.getPage();
         assertNotNull(requestPageView);
         assertTrue(requestPageView instanceof DynamicPage);
+        assertEquals("matchdocpage.dpsml", requestPageView.getName());
+        assertEquals("/contentfolder/matchdocpage.dpsml", 
extractFileSystemPathFromId(requestPageView.getId()));
+        assertNotNull(requestContext.getPageContentPath());
+        assertEquals("/contentfolder/document", 
requestContext.getPageContentPath());
+
+        locator = new JetspeedProfileLocator();
+        locator.init(null, "/contentfolder/folder/document.doc");
+        locator.add("user", true, false, "user");
+        locators = new HashMap();
+        locators.put(ProfileLocator.PAGE_LOCATOR, locator);
+        requestContext = sessionContext.newRequestContext(locators);
+        assertNotNull(requestContext);
+        requestPageView = requestContext.getPage();
+        assertNotNull(requestPageView);
+        assertTrue(requestPageView instanceof DynamicPage);
         assertEquals("docpage.dpsml", requestPageView.getName());
         assertEquals("/contentfolder/docpage.dpsml", 
extractFileSystemPathFromId(requestPageView.getId()));
         assertNotNull(requestContext.getPageContentPath());
-        assertEquals("/contentfolder/document", 
requestContext.getPageContentPath());
+        assertEquals("/contentfolder/folder/document", 
requestContext.getPageContentPath());
 
         locator = new JetspeedProfileLocator();
         locator.init(null, "/contentfolder/document.txt");

Added: 
portals/jetspeed-2/portal/trunk/components/jetspeed-portal-site/src/test/resources/webapp/WEB-INF/pages/contentfolder/matchdocpage.dpsml
URL: 
http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal-site/src/test/resources/webapp/WEB-INF/pages/contentfolder/matchdocpage.dpsml?rev=920472&view=auto
==============================================================================
--- 
portals/jetspeed-2/portal/trunk/components/jetspeed-portal-site/src/test/resources/webapp/WEB-INF/pages/contentfolder/matchdocpage.dpsml
 (added)
+++ 
portals/jetspeed-2/portal/trunk/components/jetspeed-portal-site/src/test/resources/webapp/WEB-INF/pages/contentfolder/matchdocpage.dpsml
 Mon Mar  8 19:33:26 2010
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You 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.
+-->
+
+<dynamic-page id="matchdocpage" content-type="doc-type" inheritable="false"
+    xmlns="http://portals.apache.org/jetspeed";
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
+    xsi:schemaLocation="http://portals.apache.org/jetspeed 
http://portals.apache.org/jetspeed-2/2.1/schemas/psml.xsd";>
+
+  <title>/contentfolder/matchdocpage.dpsml</title>
+  <fragment id="fake" name="fake" type="fake"/>
+</dynamic-page>

Modified: 
portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/om/page/DynamicPage.java
URL: 
http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/om/page/DynamicPage.java?rev=920472&r1=920471&r2=920472&view=diff
==============================================================================
--- 
portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/om/page/DynamicPage.java
 (original)
+++ 
portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/om/page/DynamicPage.java
 Mon Mar  8 19:33:26 2010
@@ -44,4 +44,20 @@
      * @param contentType the name of the content type for the page
      */
     void setContentType(String contentType);
+    
+    /**
+     * Get inheritable flag that indicates whether this dynamic
+     * page can be inherited for child content pages.
+     *
+     * @return inheritable flag
+     */
+    boolean isInheritable();
+    
+    /**
+     * Set inheritable flag that indicates whether this dynamic
+     * page can be inherited for child content pages.
+     *
+     * @param inheritable inheritable flag
+     */
+    void setInheritable(boolean inheritable);   
 }

Modified: 
portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/ddl-schema/phase2-schema.xml
URL: 
http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/ddl-schema/phase2-schema.xml?rev=920472&r1=920471&r2=920472&view=diff
==============================================================================
--- 
portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/ddl-schema/phase2-schema.xml
 (original)
+++ 
portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/ddl-schema/phase2-schema.xml
 Mon Mar  8 19:33:26 2010
@@ -187,6 +187,7 @@
         <column name="PARENT_ID" type="INTEGER" required="true"/>
         <column name="PATH" required="true" size="240" type="VARCHAR"/>
         <column name="CONTENT_TYPE" size="40" type="VARCHAR"/>
+        <column name="IS_INHERITABLE" type="BOOLEANINT"/>
         <column name="NAME" required="true" size="80" type="VARCHAR"/>
         <column name="VERSION" size="40" type="VARCHAR"/>
         <column name="TITLE" size="100" type="VARCHAR"/>



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to