You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-dev@portals.apache.org by rw...@apache.org on 2009/10/25 06:40:16 UTC
svn commit: r829497 [1/2] - in
/portals/jetspeed-2/portal/branches/JETSPEED-2.1.4:
components/page-manager/src/java/JETSPEED-INF/castor/
components/page-manager/src/java/JETSPEED-INF/ojb/
components/page-manager/src/java/org/apache/jetspeed/om/folder/p...
Author: rwatler
Date: Sun Oct 25 05:40:13 2009
New Revision: 829497
URL: http://svn.apache.org/viewvc?rev=829497&view=rev
Log:
Persistent DBPM Fragment Ids - JS2-876
------------------------------------------------------
- add persistent fragment string id field to DBPM objects and schema
- add fragment id generator to DBPM configuration
- remove bogus internal Castor PSML fragment id generator and replace with fragment id generator in document handler configuration
- add alternative copy page, deep copy folder, and deep merge folder APIs to support copying fragments while preserving ids
- change PSML import/export and folder move operations to preserve fragment ids
- remove duplicate fragment ids in demo/min PSML pages
Modified:
portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/JETSPEED-INF/castor/page-mapping.xml
portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/JETSPEED-INF/ojb/page-manager-repository.xml
portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/om/folder/psml/FolderImpl.java
portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/om/folder/psml/FolderMetaDataImpl.java
portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/om/page/ContentFragmentImpl.java
portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/om/page/impl/BaseElementImpl.java
portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/om/page/impl/FragmentImpl.java
portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/om/page/psml/AbstractBaseElement.java
portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/om/page/psml/DocumentImpl.java
portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/om/page/psml/FragmentImpl.java
portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/om/page/psml/LinkImpl.java
portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/om/page/psml/PageImpl.java
portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/page/AbstractPageManager.java
portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/page/DelegatingPageManager.java
portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/page/PageImporter.java
portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/page/PageManagerUtils.java
portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/page/document/psml/AbstractNode.java
portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/page/document/psml/CastorFileSystemDocumentHandler.java
portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/page/document/psml/FileSystemFolderHandler.java
portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/page/impl/DatabasePageManager.java
portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/page/psml/CastorXmlPageManager.java
portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/test/database-page-manager-base.xml
portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/test/database-page-manager.xml
portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/test/org/apache/jetspeed/page/PageManagerTestShared.java
portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/test/org/apache/jetspeed/page/document/psml/TestCastorFileSystemDocumentHandler.java
portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/test/secure-database-page-manager.xml
portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/test/secure-permissions-database-page-manager.xml
portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/portal-site/src/test/JETSPEED-INF/spring/test-spring.xml
portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/portal/src/java/org/apache/jetspeed/aggregator/impl/PortletAggregatorFragmentImpl.java
portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/portal/src/java/org/apache/jetspeed/layout/impl/UpdateFolderAction.java
portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/portal/src/java/org/apache/jetspeed/layout/impl/UpdatePageAction.java
portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/portal/src/test/resources/assembly/page-manager.xml
portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/registry/src/test/org/apache/jetspeed/components/portletentity/ContentFragmentTestImpl.java
portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/etc/build.xml
portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/etc/import/assembly/import-page-manager.xml
portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/etc/schema/phase2-schema.xml
portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/installer/etc/database/build.xml
portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/installer/etc/database/import/assembly/import-page-manager.xml
portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/jetspeed-api/src/java/org/apache/jetspeed/om/page/Fragment.java
portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/jetspeed-api/src/java/org/apache/jetspeed/page/PageManager.java
portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/maven-archetypes/portal/build.xml
portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/maven-archetypes/portal/src/archetype/archetype-resources/etc/build.xml
portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/maven-archetypes/portal/src/archetype/archetype-resources/etc/dbpsml/assembly/alternate/db-page-manager.xml
portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/maven-archetypes/portal/src/archetype/archetype-resources/etc/dbpsml/assembly/import-page-manager.xml
portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/maven-plugin/plugin.jelly
portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/src/webapp/WEB-INF/assembly/alternate/db-page-manager.xml
portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/src/webapp/WEB-INF/assembly/importer-page-manager.xml
portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/src/webapp/WEB-INF/assembly/page-manager.xml
portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/src/webapp/WEB-INF/pages/__subsite-root/_role/subsite/system/customizer/portlet-selector.psml
portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/src/webapp/WEB-INF/pages/_role/user/top-links/top-page.psml
portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/src/webapp/WEB-INF/pages/_user/guest/_mediatype/xhtml-basic/default-page.psml
Modified: portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/JETSPEED-INF/castor/page-mapping.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/JETSPEED-INF/castor/page-mapping.xml?rev=829497&r1=829496&r2=829497&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/JETSPEED-INF/castor/page-mapping.xml (original)
+++ portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/JETSPEED-INF/castor/page-mapping.xml Sun Oct 25 05:40:13 2009
@@ -88,7 +88,7 @@
<class name="org.apache.jetspeed.om.page.psml.FragmentImpl">
<map-to xml="fragment"/>
- <field name="id" type="string" set-method="%1" get-method="getId">
+ <field name="id" type="string">
<bind-xml name="id" node="attribute"/>
</field>
Modified: portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/JETSPEED-INF/ojb/page-manager-repository.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/JETSPEED-INF/ojb/page-manager-repository.xml?rev=829497&r1=829496&r2=829497&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/JETSPEED-INF/ojb/page-manager-repository.xml (original)
+++ portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/JETSPEED-INF/ojb/page-manager-repository.xml Sun Oct 25 05:40:13 2009
@@ -1531,6 +1531,12 @@
/>
<field-descriptor
+ name="fragmentId"
+ column="FRAGMENT_STRING_ID"
+ jdbc-type="VARCHAR"
+ />
+
+ <field-descriptor
name="name"
column="NAME"
jdbc-type="VARCHAR"
Modified: portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/om/folder/psml/FolderImpl.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/om/folder/psml/FolderImpl.java?rev=829497&r1=829496&r2=829497&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/om/folder/psml/FolderImpl.java (original)
+++ portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/om/folder/psml/FolderImpl.java Sun Oct 25 05:40:13 2009
@@ -23,6 +23,7 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.apache.jetspeed.idgenerator.IdGenerator;
import org.apache.jetspeed.JetspeedActions;
import org.apache.jetspeed.om.common.GenericMetadata;
import org.apache.jetspeed.om.common.SecurityConstraints;
@@ -906,17 +907,21 @@
/**
* unmarshalled - notification that this instance has been
* loaded from the persistent store
+ * @param generator id generator
+ * @return dirty flag
*/
- public void unmarshalled()
+ public boolean unmarshalled(IdGenerator generator)
{
// notify super class implementation
- super.unmarshalled();
+ boolean dirty = super.unmarshalled(generator);
// default title of pages to name
if (getTitle() == null)
{
setTitle(getTitleName());
}
+
+ return dirty;
}
public boolean isReserved()
Modified: portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/om/folder/psml/FolderMetaDataImpl.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/om/folder/psml/FolderMetaDataImpl.java?rev=829497&r1=829496&r2=829497&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/om/folder/psml/FolderMetaDataImpl.java (original)
+++ portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/om/folder/psml/FolderMetaDataImpl.java Sun Oct 25 05:40:13 2009
@@ -20,6 +20,7 @@
import java.util.Iterator;
import java.util.List;
+import org.apache.jetspeed.idgenerator.IdGenerator;
import org.apache.jetspeed.om.page.Document;
import org.apache.jetspeed.om.page.psml.DefaultsImpl;
import org.apache.jetspeed.om.page.psml.DocumentImpl;
@@ -215,11 +216,13 @@
/**
* unmarshalled - notification that this instance has been
* loaded from the persistent store
+ * @param generator id generator
+ * @return dirty flag
*/
- public void unmarshalled()
+ public boolean unmarshalled(IdGenerator generator)
{
// notify super class implementation
- super.unmarshalled();
+ boolean dirty = super.unmarshalled(generator);
// propagate unmarshalled notification
// to all menu definitions
@@ -231,6 +234,8 @@
((MenuDefinitionImpl)menuIter.next()).unmarshalled();
}
}
+
+ return dirty;
}
/**
Modified: portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/om/page/ContentFragmentImpl.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/om/page/ContentFragmentImpl.java?rev=829497&r1=829496&r2=829497&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/om/page/ContentFragmentImpl.java (original)
+++ portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/om/page/ContentFragmentImpl.java Sun Oct 25 05:40:13 2009
@@ -56,7 +56,7 @@
this.cachedFragments = cachedFragments;
this.instantlyRendered = instantlyRendered;
}
-
+
/* (non-Javadoc)
* @see org.apache.jetspeed.om.page.ContentFragment#getContentFragments()
*/
@@ -468,6 +468,14 @@
}
/* (non-Javadoc)
+ * @see org.apache.jetspeed.om.page.Fragment#setId(java.lang.String)
+ */
+ public void setId(String fragmentId)
+ {
+ // cannot set fragment id from content fragment
+ }
+
+ /* (non-Javadoc)
* @see org.apache.jetspeed.om.page.BaseElement#setShortTitle(java.lang.String)
*/
public void setShortTitle(String title)
Modified: portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/om/page/impl/BaseElementImpl.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/om/page/impl/BaseElementImpl.java?rev=829497&r1=829496&r2=829497&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/om/page/impl/BaseElementImpl.java (original)
+++ portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/om/page/impl/BaseElementImpl.java Sun Oct 25 05:40:13 2009
@@ -472,7 +472,18 @@
*/
public String getId()
{
- return Integer.toString(id);
+ // by default, return identity
+ return Integer.toString(getIdentity());
+ }
+
+ /**
+ * Get implementation identity key.
+ *
+ * @return identity key.
+ */
+ public int getIdentity()
+ {
+ return id;
}
/* (non-Javadoc)
Modified: portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/om/page/impl/FragmentImpl.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/om/page/impl/FragmentImpl.java?rev=829497&r1=829496&r2=829497&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/om/page/impl/FragmentImpl.java (original)
+++ portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/om/page/impl/FragmentImpl.java Sun Oct 25 05:40:13 2009
@@ -37,6 +37,7 @@
public class FragmentImpl extends BaseElementImpl implements Fragment
{
private List fragments;
+ private String fragmentId;
private String type;
private String skin;
private String decorator;
@@ -586,6 +587,26 @@
}
/* (non-Javadoc)
+ * @see org.apache.jetspeed.om.page.impl.BaseElementImpl#getId()
+ */
+ public String getId()
+ {
+ if (fragmentId != null)
+ {
+ return fragmentId;
+ }
+ return super.getId();
+ }
+
+ /* (non-Javadoc)
+ * @see org.apache.jetspeed.om.page.Fragment#setId(java.lang.String)
+ */
+ public void setId(String fragmentId)
+ {
+ this.fragmentId = fragmentId;
+ }
+
+ /* (non-Javadoc)
* @see org.apache.jetspeed.om.page.Fragment#getType()
*/
public String getType()
Modified: portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/om/page/psml/AbstractBaseElement.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/om/page/psml/AbstractBaseElement.java?rev=829497&r1=829496&r2=829497&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/om/page/psml/AbstractBaseElement.java (original)
+++ portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/om/page/psml/AbstractBaseElement.java Sun Oct 25 05:40:13 2009
@@ -29,6 +29,7 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.jetspeed.JetspeedActions;
+import org.apache.jetspeed.idgenerator.IdGenerator;
import org.apache.jetspeed.om.common.SecuredResource;
import org.apache.jetspeed.om.common.SecurityConstraint;
import org.apache.jetspeed.om.common.SecurityConstraints;
@@ -666,10 +667,13 @@
/**
* unmarshalled - notification that this instance has been
* loaded from the persistent store
+ * @param generator id generator
+ * @return dirty flag
*/
- public void unmarshalled()
+ public boolean unmarshalled(IdGenerator generator)
{
// by default, no action required
+ return false;
}
/**
Modified: portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/om/page/psml/DocumentImpl.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/om/page/psml/DocumentImpl.java?rev=829497&r1=829496&r2=829497&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/om/page/psml/DocumentImpl.java (original)
+++ portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/om/page/psml/DocumentImpl.java Sun Oct 25 05:40:13 2009
@@ -16,6 +16,7 @@
*/
package org.apache.jetspeed.om.page.psml;
+import org.apache.jetspeed.idgenerator.IdGenerator;
import org.apache.jetspeed.om.page.Document;
import org.apache.jetspeed.page.document.psml.AbstractNode;
@@ -38,20 +39,24 @@
private String version;
private boolean dirty=false;
- /**
+ /**
* unmarshalled - notification that this instance has been
* loaded from the persistent store
+ * @param generator id generator
+ * @return dirty flag
*/
- public void unmarshalled()
+ public boolean unmarshalled(IdGenerator generator)
{
// notify super class implementation
- super.unmarshalled();
+ boolean dirty = super.unmarshalled(generator);
// default version of pages to name
if (getVersion() == null)
{
setVersion(getVersion());
}
+
+ return dirty;
}
/**
* @return Returns the version.
Modified: portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/om/page/psml/FragmentImpl.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/om/page/psml/FragmentImpl.java?rev=829497&r1=829496&r2=829497&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/om/page/psml/FragmentImpl.java (original)
+++ portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/om/page/psml/FragmentImpl.java Sun Oct 25 05:40:13 2009
@@ -25,6 +25,7 @@
import java.util.Map;
import org.apache.jetspeed.JetspeedActions;
+import org.apache.jetspeed.idgenerator.IdGenerator;
import org.apache.jetspeed.om.folder.Folder;
import org.apache.jetspeed.om.page.Fragment;
import org.apache.jetspeed.om.page.PageSecurity;
@@ -35,9 +36,6 @@
*/
public class FragmentImpl extends AbstractBaseElement implements Fragment, java.io.Serializable
{
-
- private static int fragment_id_counter = 0;
-
private String type = null;
private String state = null;
@@ -72,16 +70,6 @@
{
}
- public FragmentImpl(String id)
- {
- if (id == null || id.length() == 0){
- setId(generateId());
- dirty=true;
- } else {
- setId(id);
- }
- }
-
public String getType()
{
return this.type;
@@ -571,18 +559,27 @@
/**
* unmarshalled - notification that this instance has been
* loaded from the persistent store
+ * @param generator id generator
+ * @return dirty flag
*/
- public void unmarshalled()
+ public boolean unmarshalled(IdGenerator generator)
{
// notify super class implementation
- super.unmarshalled();
-
+ boolean dirty = super.unmarshalled(generator);
+
// propagate unmarshalled notification
// to all fragments
Iterator fragmentIter = fragments.iterator();
while (fragmentIter.hasNext())
{
- ((FragmentImpl)fragmentIter.next()).unmarshalled();
+ dirty = ((FragmentImpl)fragmentIter.next()).unmarshalled(generator) || dirty;
+ }
+
+ // generate id if required
+ if (getId() == null)
+ {
+ setId(generator.getNextPeid());
+ dirty = true;
}
// load the properties map from list
@@ -593,6 +590,8 @@
PropertyImpl prop = (PropertyImpl) propsIter.next();
propertiesMap.put(prop.getName(), prop.getValue());
}
+
+ return dirty;
}
/**
@@ -705,8 +704,4 @@
}
return fragments;
}
-
- private synchronized static String generateId(){
- return new StringBuffer("F.").append(Long.toHexString(System.currentTimeMillis())).append(".").append(fragment_id_counter++).toString();
- }
}
Modified: portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/om/page/psml/LinkImpl.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/om/page/psml/LinkImpl.java?rev=829497&r1=829496&r2=829497&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/om/page/psml/LinkImpl.java (original)
+++ portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/om/page/psml/LinkImpl.java Sun Oct 25 05:40:13 2009
@@ -16,6 +16,7 @@
*/
package org.apache.jetspeed.om.page.psml;
+import org.apache.jetspeed.idgenerator.IdGenerator;
import org.apache.jetspeed.om.page.Link;
/**
@@ -100,16 +101,20 @@
/**
* unmarshalled - notification that this instance has been
* loaded from the persistent store
+ * @param generator id generator
+ * @return dirty flag
*/
- public void unmarshalled()
+ public boolean unmarshalled(IdGenerator generator)
{
// notify super class implementation
- super.unmarshalled();
+ boolean dirty = super.unmarshalled(generator);
// default title of pages to name
if (getTitle() == null)
{
setTitle(getTitleName());
}
+
+ return dirty;
}
}
Modified: portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/om/page/psml/PageImpl.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/om/page/psml/PageImpl.java?rev=829497&r1=829496&r2=829497&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/om/page/psml/PageImpl.java (original)
+++ portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/om/page/psml/PageImpl.java Sun Oct 25 05:40:13 2009
@@ -23,6 +23,7 @@
import java.util.Map;
import java.util.Stack;
+import org.apache.jetspeed.idgenerator.IdGenerator;
import org.apache.jetspeed.om.folder.Folder;
import org.apache.jetspeed.om.folder.MenuDefinition;
import org.apache.jetspeed.om.folder.MenuExcludeDefinition;
@@ -388,11 +389,13 @@
/**
* unmarshalled - notification that this instance has been
* loaded from the persistent store
+ * @param generator id generator
+ * @return dirty flag
*/
- public void unmarshalled()
+ public boolean unmarshalled(IdGenerator generator)
{
// notify super class implementation
- super.unmarshalled();
+ boolean dirty = super.unmarshalled(generator);
// propagate unmarshalled notification
// to all menu definitions
@@ -409,7 +412,7 @@
// to root fragment
if (root != null)
{
- ((FragmentImpl)root).unmarshalled();
+ dirty = (((FragmentImpl)root).unmarshalled(generator) || dirty);
}
// default title of pages to name
@@ -417,6 +420,8 @@
{
setTitle(getTitleName());
}
+
+ return dirty;
}
/**
Modified: portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/page/AbstractPageManager.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/page/AbstractPageManager.java?rev=829497&r1=829496&r2=829497&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/page/AbstractPageManager.java (original)
+++ portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/page/AbstractPageManager.java Sun Oct 25 05:40:13 2009
@@ -26,6 +26,7 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.apache.jetspeed.idgenerator.IdGenerator;
import org.apache.jetspeed.om.common.SecurityConstraint;
import org.apache.jetspeed.om.common.SecurityConstraints;
import org.apache.jetspeed.om.folder.Folder;
@@ -89,6 +90,8 @@
protected Class securityConstraintsDefClass;
protected Class fragmentPreferenceClass;
+ private IdGenerator generator;
+
private boolean permissionsEnabled;
private boolean constraintsEnabled;
@@ -97,8 +100,9 @@
private long nodeReapingInterval = DEFAULT_NODE_REAPING_INTERVAL;
- public AbstractPageManager(boolean permissionsEnabled, boolean constraintsEnabled)
+ public AbstractPageManager(IdGenerator generator, boolean permissionsEnabled, boolean constraintsEnabled)
{
+ this.generator = generator;
this.permissionsEnabled = permissionsEnabled;
this.constraintsEnabled = constraintsEnabled;
// start node reaping deamon thread
@@ -128,9 +132,9 @@
}
}
- public AbstractPageManager(boolean permissionsEnabled, boolean constraintsEnabled, Map modelClasses)
+ public AbstractPageManager(IdGenerator generator, boolean permissionsEnabled, boolean constraintsEnabled, Map modelClasses)
{
- this(permissionsEnabled, constraintsEnabled);
+ this(generator, permissionsEnabled, constraintsEnabled);
this.fragmentClass = (Class)modelClasses.get("FragmentImpl");
this.pageClass = (Class)modelClasses.get("PageImpl");
@@ -293,7 +297,8 @@
try
{
fragment = (Fragment)createObject(this.fragmentClass);
- fragment.setType(Fragment.LAYOUT);
+ fragment.setType(Fragment.LAYOUT);
+ fragment.setId(generator.getNextPeid());
}
catch (ClassCastException e)
{
@@ -314,6 +319,7 @@
{
fragment = (Fragment)createObject(this.fragmentClass);
fragment.setType(Fragment.PORTLET);
+ fragment.setId(generator.getNextPeid());
}
catch (ClassCastException e)
{
@@ -900,8 +906,20 @@
return folder;
}
+ /* (non-Javadoc)
+ * @see org.apache.jetspeed.page.PageManager#copyPage(org.apache.jetspeed.om.page.Page, java.lang.String)
+ */
public Page copyPage(Page source, String path)
- throws NodeException
+ throws NodeException
+ {
+ return copyPage(source, path, false);
+ }
+
+ /* (non-Javadoc)
+ * @see org.apache.jetspeed.page.PageManager#copyPage(org.apache.jetspeed.om.page.Page, java.lang.String, boolean)
+ */
+ public Page copyPage(Page source, String path, boolean copyIds)
+ throws NodeException
{
// create the new page and copy attributes
Page page = newPage(path);
@@ -933,17 +951,33 @@
}
// copy fragments
- Fragment root = copyFragment(source.getRootFragment(), source.getRootFragment().getName());
+ Fragment root = copyFragment(source.getRootFragment(), source.getRootFragment().getName(), copyIds);
page.setRootFragment(root);
return page;
}
+ /* (non-Javadoc)
+ * @see org.apache.jetspeed.page.PageManager#copyFragment(org.apache.jetspeed.om.page.Fragment, java.lang.String)
+ */
public Fragment copyFragment(Fragment source, String name)
- throws NodeException
+ throws NodeException
+ {
+ return copyFragment(source, name, false);
+ }
+
+ /* (non-Javadoc)
+ * @see org.apache.jetspeed.page.PageManager#copyFragment(org.apache.jetspeed.om.page.Fragment, java.lang.String, boolean)
+ */
+ public Fragment copyFragment(Fragment source, String name, boolean copyIds)
+ throws NodeException
{
// create the new fragment and copy attributes
Fragment copy = newFragment();
+ if (copyIds)
+ {
+ copy.setId(source.getId());
+ }
copy.setDecorator(source.getDecorator());
copy.setName(name);
copy.setShortTitle(source.getShortTitle());
@@ -992,7 +1026,7 @@
while (fragments.hasNext())
{
Fragment fragment = (Fragment)fragments.next();
- Fragment copiedFragment = copyFragment(fragment, fragment.getName());
+ Fragment copiedFragment = copyFragment(fragment, fragment.getName(), copyIds);
copy.getFragments().add(copiedFragment);
}
return copy;
@@ -1269,30 +1303,42 @@
return security;
}
- /**
- * Deep copy a folder
- *
- * @param source source folder
- * @param dest destination folder
+ /* (non-Javadoc)
+ * @see org.apache.jetspeed.page.PageManager#deepCopyFolder(org.apache.jetspeed.om.folder.Folder, java.lang.String, java.lang.String)
*/
public void deepCopyFolder(Folder srcFolder, String destinationPath, String owner)
- throws NodeException
+ throws NodeException
{
- PageManagerUtils.deepCopyFolder(this, srcFolder, destinationPath, owner);
+ deepCopyFolder(srcFolder, destinationPath, owner, false);
}
-
- /**
- * Deep merge a folder
- *
- * @param source source folder
- * @param dest destination folder
+
+ /* (non-Javadoc)
+ * @see org.apache.jetspeed.page.PageManager#deepCopyFolder(org.apache.jetspeed.om.folder.Folder, java.lang.String, java.lang.String, boolean)
+ */
+ public void deepCopyFolder(Folder srcFolder, String destinationPath, String owner, boolean copyIds)
+ throws NodeException
+ {
+ PageManagerUtils.deepCopyFolder(this, srcFolder, destinationPath, owner, copyIds);
+ }
+
+ /* (non-Javadoc)
+ * @see org.apache.jetspeed.page.PageManager#deepMergeFolder(org.apache.jetspeed.om.folder.Folder, java.lang.String, java.lang.String)
*/
public void deepMergeFolder(Folder srcFolder, String destinationPath, String owner)
- throws NodeException
+ throws NodeException
{
- PageManagerUtils.deepMergeFolder(this, srcFolder, destinationPath, owner);
+ deepMergeFolder(srcFolder, destinationPath, owner, false);
}
+ /* (non-Javadoc)
+ * @see org.apache.jetspeed.page.PageManager#deepMergeFolder(org.apache.jetspeed.om.folder.Folder, java.lang.String, java.lang.String, boolean)
+ */
+ public void deepMergeFolder(Folder srcFolder, String destinationPath, String owner, boolean copyIds)
+ throws NodeException
+ {
+ PageManagerUtils.deepMergeFolder(this, srcFolder, destinationPath, owner, copyIds);
+ }
+
public Page getUserPage(String userName, String pageName)
throws PageNotFoundException, NodeException
{
Modified: portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/page/DelegatingPageManager.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/page/DelegatingPageManager.java?rev=829497&r1=829496&r2=829497&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/page/DelegatingPageManager.java (original)
+++ portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/page/DelegatingPageManager.java Sun Oct 25 05:40:13 2009
@@ -18,6 +18,7 @@
import java.util.Map;
+import org.apache.jetspeed.idgenerator.IdGenerator;
import org.apache.jetspeed.om.folder.Folder;
import org.apache.jetspeed.om.folder.FolderNotFoundException;
import org.apache.jetspeed.om.folder.InvalidFolderException;
@@ -44,11 +45,12 @@
public class DelegatingPageManager extends AbstractPageManager
{
public DelegatingPageManager(
+ IdGenerator generator,
boolean isPermissionsSecurity,
boolean isConstraintsSecurity,
Map modelClasses)
{
- super(isPermissionsSecurity, isConstraintsSecurity, modelClasses);
+ super(generator, isPermissionsSecurity, isConstraintsSecurity, modelClasses);
}
/* (non-Javadoc)
Modified: portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/page/PageImporter.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/page/PageImporter.java?rev=829497&r1=829496&r2=829497&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/page/PageImporter.java (original)
+++ portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/page/PageImporter.java Sun Oct 25 05:40:13 2009
@@ -194,7 +194,7 @@
{
System.out.println("overwriting page " + srcPage.getPath());
destManager.removePage(dstPage);
- dstPage = destManager.copyPage(srcPage, srcPage.getPath());
+ dstPage = destManager.copyPage(srcPage, srcPage.getPath(), true);
destManager.updatePage(dstPage);
pageCount++;
}
@@ -204,7 +204,7 @@
else
{
System.out.println("importing new page " + srcPage.getPath());
- dstPage = destManager.copyPage(srcPage, srcPage.getPath());
+ dstPage = destManager.copyPage(srcPage, srcPage.getPath(), true);
destManager.updatePage(dstPage);
pageCount++;
}
Modified: portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/page/PageManagerUtils.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/page/PageManagerUtils.java?rev=829497&r1=829496&r2=829497&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/page/PageManagerUtils.java (original)
+++ portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/page/PageManagerUtils.java Sun Oct 25 05:40:13 2009
@@ -214,10 +214,13 @@
/**
* Deep copy a folder
*
- * @param source source folder
- * @param dest destination folder
+ * @param pageManager target page manager
+ * @param srcFolder source folder
+ * @param destinationPath destination folder
+ * @param owner user name of owner or null
+ * @param copyIds flag indicating whether to copy ids
*/
- public static void deepCopyFolder(PageManager pageManager, Folder srcFolder, String destinationPath, String owner)
+ public static void deepCopyFolder(PageManager pageManager, Folder srcFolder, String destinationPath, String owner, boolean copyIds)
throws NodeException
{
boolean found = true;
@@ -251,7 +254,7 @@
{
Page srcPage = (Page)pages.next();
String path = PageManagerUtils.concatenatePaths(destinationPath, srcPage.getName());
- Page dstPage = pageManager.copyPage(srcPage, path);
+ Page dstPage = pageManager.copyPage(srcPage, path, copyIds);
pageManager.updatePage(dstPage);
}
@@ -269,17 +272,20 @@
{
Folder folder = (Folder)folders.next();
String newPath = concatenatePaths(destinationPath, folder.getName());
- deepCopyFolder(pageManager, folder, newPath, null);
+ deepCopyFolder(pageManager, folder, newPath, null, copyIds);
}
}
/**
* Deep merge a folder
*
- * @param source source folder
- * @param dest destination folder
+ * @param pageManager target page manager
+ * @param srcFolder source folder
+ * @param destinationPath destination folder
+ * @param owner user name of owner or null
+ * @param copyIds flag indicating whether to copy ids on merge
*/
- public static void deepMergeFolder(PageManager pageManager, Folder srcFolder, String destinationPath, String owner)
+ public static void deepMergeFolder(PageManager pageManager, Folder srcFolder, String destinationPath, String owner, boolean copyIds)
throws NodeException
{
boolean found = true;
@@ -314,7 +320,7 @@
String path = PageManagerUtils.concatenatePaths(destinationPath, srcPage.getName());
if (!pageManager.pageExists(path))
{
- Page dstPage = pageManager.copyPage(srcPage, path);
+ Page dstPage = pageManager.copyPage(srcPage, path, copyIds);
pageManager.updatePage(dstPage);
}
}
@@ -336,7 +342,7 @@
{
Folder folder = (Folder)folders.next();
String newPath = concatenatePaths(destinationPath, folder.getName());
- deepMergeFolder(pageManager, folder, newPath, null);
+ deepMergeFolder(pageManager, folder, newPath, null, copyIds);
}
}
Modified: portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/page/document/psml/AbstractNode.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/page/document/psml/AbstractNode.java?rev=829497&r1=829496&r2=829497&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/page/document/psml/AbstractNode.java (original)
+++ portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/page/document/psml/AbstractNode.java Sun Oct 25 05:40:13 2009
@@ -21,6 +21,7 @@
import java.util.Locale;
import org.apache.jetspeed.JetspeedActions;
+import org.apache.jetspeed.idgenerator.IdGenerator;
import org.apache.jetspeed.om.common.GenericMetadata;
import org.apache.jetspeed.om.common.SecurityConstraints;
import org.apache.jetspeed.om.page.PageMetadataImpl;
@@ -487,20 +488,24 @@
/**
* unmarshalled - notification that this instance has been
* loaded from the persistent store
+ * @param generator id generator
+ * @return dirty flag
*/
- public void unmarshalled()
+ public boolean unmarshalled(IdGenerator generator)
{
// notify super class implementation
- super.unmarshalled();
+ boolean dirty = super.unmarshalled(generator);
// force metadata update after unmarshalled since
// metadata collection can be side effected by
- // unmarshalling colection accessors
+ // unmarshalling collection accessors
Collection metadataFields = getMetadataFields();
if (metadataFields != null)
{
setMetadataFields(metadataFields);
}
+
+ return dirty;
}
public boolean isDirty() {
Modified: portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/page/document/psml/CastorFileSystemDocumentHandler.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/page/document/psml/CastorFileSystemDocumentHandler.java?rev=829497&r1=829496&r2=829497&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/page/document/psml/CastorFileSystemDocumentHandler.java (original)
+++ portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/page/document/psml/CastorFileSystemDocumentHandler.java Sun Oct 25 05:40:13 2009
@@ -36,6 +36,7 @@
import org.apache.jetspeed.cache.file.FileCache;
import org.apache.jetspeed.cache.file.FileCacheEntry;
import org.apache.jetspeed.cache.file.FileCacheEventListener;
+import org.apache.jetspeed.idgenerator.IdGenerator;
import org.apache.jetspeed.om.folder.psml.FolderImpl;
import org.apache.jetspeed.om.page.Document;
import org.apache.jetspeed.om.page.psml.AbstractBaseElement;
@@ -87,6 +88,7 @@
private final static String PSML_DOCUMENT_ENCODING = "UTF-8";
+ protected IdGenerator generator;
protected String documentType;
protected Class expectedReturnType;
protected String documentRoot;
@@ -100,6 +102,8 @@
/**
*
+ * @param generator
+ * id generator for unmarshalled documents
* @param mappingFile
* Castor mapping file. THe mapping file must be in the class
* path
@@ -107,10 +111,11 @@
* @param expectedReturnType
* @throws FileNotFoundException
*/
- public CastorFileSystemDocumentHandler( String mappingFile, String documentType, Class expectedReturnType,
+ public CastorFileSystemDocumentHandler( IdGenerator generator, String mappingFile, String documentType, Class expectedReturnType,
String documentRoot, FileCache fileCache ) throws FileNotFoundException,SAXException,ParserConfigurationException, MappingException
{
super();
+ this.generator = generator;
this.documentType = documentType;
this.expectedReturnType = expectedReturnType;
this.documentRoot = documentRoot;
@@ -135,10 +140,10 @@
createCastorClassDescriptorResolver(mappingFile);
}
- public CastorFileSystemDocumentHandler( String mappingFile, String documentType, String expectedReturnType,
+ public CastorFileSystemDocumentHandler( IdGenerator generator, String mappingFile, String documentType, String expectedReturnType,
String documentRoot, FileCache fileCache ) throws FileNotFoundException, ClassNotFoundException,SAXException,ParserConfigurationException, MappingException
{
- this(mappingFile, documentType, Class.forName(expectedReturnType), documentRoot, fileCache);
+ this(generator, mappingFile, documentType, Class.forName(expectedReturnType), documentRoot, fileCache);
}
/**
@@ -528,8 +533,8 @@
documentImpl.setHandlerFactory(handlerFactory);
documentImpl.setPermissionsEnabled(handlerFactory.getPermissionsEnabled());
documentImpl.setConstraintsEnabled(handlerFactory.getConstraintsEnabled());
- documentImpl.unmarshalled();
- if (document.isDirty()){
+ boolean dirty = documentImpl.unmarshalled(generator);
+ if (dirty || document.isDirty()){
updateDocument(document, true);
document.setDirty(false);
}
Modified: portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/page/document/psml/FileSystemFolderHandler.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/page/document/psml/FileSystemFolderHandler.java?rev=829497&r1=829496&r2=829497&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/page/document/psml/FileSystemFolderHandler.java (original)
+++ portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/page/document/psml/FileSystemFolderHandler.java Sun Oct 25 05:40:13 2009
@@ -28,6 +28,7 @@
import org.apache.jetspeed.cache.file.FileCache;
import org.apache.jetspeed.cache.file.FileCacheEntry;
import org.apache.jetspeed.cache.file.FileCacheEventListener;
+import org.apache.jetspeed.idgenerator.IdGenerator;
import org.apache.jetspeed.om.folder.Folder;
import org.apache.jetspeed.om.folder.FolderNotFoundException;
import org.apache.jetspeed.om.folder.InvalidFolderException;
@@ -35,7 +36,6 @@
import org.apache.jetspeed.om.folder.psml.FolderImpl;
import org.apache.jetspeed.om.folder.psml.FolderMetaDataImpl;
import org.apache.jetspeed.om.page.Document;
-
import org.apache.jetspeed.page.document.DocumentHandler;
import org.apache.jetspeed.page.document.DocumentHandlerFactory;
import org.apache.jetspeed.page.document.DocumentNotFoundException;
@@ -63,6 +63,7 @@
public class FileSystemFolderHandler implements FolderHandler, FileCacheEventListener
{
+ private IdGenerator generator;
private File documentRootDir;
private DocumentHandler metadataDocHandler;
private DocumentHandlerFactory handlerFactory;
@@ -82,6 +83,8 @@
/**
*
+ * @param generator
+ * id generator for unmarshalled documents
* @param documentRoot
* directory on file system to use as the root when locating
* folders
@@ -96,10 +99,11 @@
* supports folder metadata (folder.metadata) in the
* <code>handlerFactory</code>.
*/
- public FileSystemFolderHandler( String documentRoot, DocumentHandlerFactory handlerFactory, FileCache fileCache )
+ public FileSystemFolderHandler( IdGenerator generator, String documentRoot, DocumentHandlerFactory handlerFactory, FileCache fileCache )
throws FileNotFoundException, UnsupportedDocumentTypeException
{
super();
+ this.generator = generator;
this.documentRootDir = new File(documentRoot);
verifyPath(documentRootDir);
this.handlerFactory = handlerFactory;
@@ -213,7 +217,7 @@
}
// folder unmarshalled
- ((FolderImpl) folder).unmarshalled();
+ ((FolderImpl) folder).unmarshalled(generator);
// add to cache
if (fromCache)
Modified: portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/page/impl/DatabasePageManager.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/page/impl/DatabasePageManager.java?rev=829497&r1=829496&r2=829497&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/page/impl/DatabasePageManager.java (original)
+++ portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/page/impl/DatabasePageManager.java Sun Oct 25 05:40:13 2009
@@ -27,6 +27,7 @@
import org.apache.jetspeed.JetspeedActions;
import org.apache.jetspeed.cache.JetspeedCache;
import org.apache.jetspeed.components.dao.InitablePersistenceBrokerDaoSupport;
+import org.apache.jetspeed.idgenerator.IdGenerator;
import org.apache.jetspeed.om.common.SecurityConstraint;
import org.apache.jetspeed.om.common.SecurityConstraints;
import org.apache.jetspeed.om.folder.Folder;
@@ -134,10 +135,10 @@
private PageManager pageManagerProxy;
- public DatabasePageManager(String repositoryPath, boolean isPermissionsSecurity, boolean isConstraintsSecurity, JetspeedCache oidCache, JetspeedCache pathCache)
+ public DatabasePageManager(String repositoryPath, IdGenerator generator, boolean isPermissionsSecurity, boolean isConstraintsSecurity, JetspeedCache oidCache, JetspeedCache pathCache)
{
super(repositoryPath);
- delegator = new DelegatingPageManager(isPermissionsSecurity, isConstraintsSecurity, modelClasses);
+ delegator = new DelegatingPageManager(generator, isPermissionsSecurity, isConstraintsSecurity, modelClasses);
DatabasePageManagerCache.cacheInit(oidCache, pathCache, this);
}
@@ -670,7 +671,7 @@
{
// query for folders
Criteria filter = new Criteria();
- filter.addEqualTo("parent", Integer.valueOf(folderImpl.getId()));
+ filter.addEqualTo("parent", new Integer(folderImpl.getIdentity()));
QueryByCriteria query = QueryFactory.newQuery(FolderImpl.class, filter);
Collection folders = getPersistenceBrokerTemplate().getCollectionByQuery(query);
@@ -727,7 +728,7 @@
{
// query for pages
Criteria filter = new Criteria();
- filter.addEqualTo("parent", Integer.valueOf(folderImpl.getId()));
+ filter.addEqualTo("parent", new Integer(folderImpl.getIdentity()));
QueryByCriteria query = QueryFactory.newQuery(PageImpl.class, filter);
Collection pages = getPersistenceBrokerTemplate().getCollectionByQuery(query);
@@ -784,7 +785,7 @@
{
// query for links
Criteria filter = new Criteria();
- filter.addEqualTo("parent", Integer.valueOf(folderImpl.getId()));
+ filter.addEqualTo("parent", new Integer(folderImpl.getIdentity()));
QueryByCriteria query = QueryFactory.newQuery(LinkImpl.class, filter);
Collection links = getPersistenceBrokerTemplate().getCollectionByQuery(query);
@@ -846,7 +847,7 @@
{
// query for page security
Criteria filter = new Criteria();
- filter.addEqualTo("parent", Integer.valueOf(folderImpl.getId()));
+ filter.addEqualTo("parent", new Integer(folderImpl.getIdentity()));
QueryByCriteria query = QueryFactory.newQuery(PageSecurityImpl.class, filter);
PageSecurity document = (PageSecurity)getPersistenceBrokerTemplate().getObjectByQuery(query);
@@ -884,7 +885,7 @@
// query for all nodes
List all = DatabasePageManagerUtils.createList();
Criteria filter = new Criteria();
- filter.addEqualTo("parent", Integer.valueOf(folderImpl.getId()));
+ filter.addEqualTo("parent", new Integer(folderImpl.getIdentity()));
QueryByCriteria query = QueryFactory.newQuery(FolderImpl.class, filter);
Collection folders = getPersistenceBrokerTemplate().getCollectionByQuery(query);
if (folders != null)
@@ -1081,6 +1082,7 @@
{
// dereference folder in case proxy is supplied
folder = (Folder)ProxyHelper.getRealObject(folder);
+ FolderImpl folderImpl = (FolderImpl)folder;
// look up and set parent folder if required
FolderImpl parent = (FolderImpl)folder.getParent();
@@ -1122,7 +1124,7 @@
else
{
// determine if folder is new by checking autoincrement id
- boolean newFolder = folder.getId().equals("0");
+ boolean newFolder = (folderImpl.getIdentity() == 0);
// check for edit access on folder and parent folder
// if not being initially created; access is not
@@ -1135,7 +1137,7 @@
// create root folder or update folder and mark cache transaction
storeEntity(folder, folderPath);
- if (newFolder && !folder.getId().equals("0"))
+ if (newFolder && (folderImpl.getIdentity() != 0))
{
DatabasePageManagerCache.addTransaction(new TransactionedOperation(folderPath, TransactionedOperation.ADD_OPERATION));
}
@@ -1154,7 +1156,7 @@
}
// notify page manager listeners
- if (newFolder && !folder.getId().equals("0"))
+ if (newFolder && (folderImpl.getIdentity() != 0))
{
delegator.notifyNewNode(folder);
}
@@ -1168,7 +1170,7 @@
if (deep)
{
// update recursively, (breadth first)
- updateFolderNodes((FolderImpl)folder);
+ updateFolderNodes(folderImpl);
}
}
catch (FolderNotUpdatedException fnue)
@@ -1197,7 +1199,7 @@
{
// construct general node query criteria
Criteria filter = new Criteria();
- filter.addEqualTo("parent", Integer.valueOf(folderImpl.getId()));
+ filter.addEqualTo("parent", new Integer(folderImpl.getIdentity()));
// update pages
QueryByCriteria query = QueryFactory.newQuery(PageImpl.class, filter);
@@ -1310,7 +1312,7 @@
}
/**
- * removeFolderNodes - recusively remove all folder nodes
+ * removeFolderNodes - recursively remove all folder nodes
*
* @param folderImpl folder whose nodes are to be removed
* @param throws FolderNotRemovedException
@@ -1321,7 +1323,7 @@
{
// construct general node query criteria
Criteria filter = new Criteria();
- filter.addEqualTo("parent", Integer.valueOf(folderImpl.getId()));
+ filter.addEqualTo("parent", new Integer(folderImpl.getIdentity()));
// remove folders first: depth first recursion
QueryByCriteria query = QueryFactory.newQuery(FolderImpl.class, filter);
@@ -1703,6 +1705,15 @@
}
/* (non-Javadoc)
+ * @see org.apache.jetspeed.page.PageManager#copyPage(org.apache.jetspeed.om.page.Page, java.lang.String, boolean)
+ */
+ public Page copyPage(Page source, String path, boolean copyIds)
+ throws NodeException, PageNotUpdatedException
+ {
+ return this.delegator.copyPage(source, path, copyIds);
+ }
+
+ /* (non-Javadoc)
* @see org.apache.jetspeed.page.PageManager#copyLink(org.apache.jetspeed.om.page.Link,java.lang.String)
*/
public Link copyLink(Link source, String path)
@@ -1730,6 +1741,15 @@
}
/* (non-Javadoc)
+ * @see org.apache.jetspeed.page.PageManager#copyFragment(org.apache.jetspeed.om.page.Fragment, java.lang.String, boolean)
+ */
+ public Fragment copyFragment(Fragment source, String name, boolean copyIds)
+ throws NodeException, PageNotUpdatedException
+ {
+ return this.delegator.copyFragment(source, name, copyIds);
+ }
+
+ /* (non-Javadoc)
* @see org.apache.jetspeed.page.PageManager#copyPageSecurity(org.apache.jetspeed.om.page.PageSecurity)
*/
public PageSecurity copyPageSecurity(PageSecurity source)
@@ -1846,21 +1866,42 @@
}
/* (non-Javadoc)
- * @see org.apache.jetspeed.page.PageManager#deepCopyFolder(org.apache.jetspeed.om.folder.Folder,java.lang.String,java.lang.String)
+ * @see org.apache.jetspeed.page.PageManager#deepCopyFolder(org.apache.jetspeed.om.folder.Folder, java.lang.String, java.lang.String)
*/
public void deepCopyFolder(Folder srcFolder, String destinationPath, String owner)
throws NodeException, PageNotUpdatedException
{
- PageManagerUtils.deepCopyFolder(this, srcFolder, destinationPath, owner);
+ deepCopyFolder(srcFolder, destinationPath, owner, false);
}
-
+
+ /* (non-Javadoc)
+ * @see org.apache.jetspeed.page.PageManager#deepCopyFolder(org.apache.jetspeed.om.folder.Folder, java.lang.String, java.lang.String, boolean)
+ */
+ public void deepCopyFolder(Folder srcFolder, String destinationPath, String owner, boolean copyIds)
+ throws NodeException, PageNotUpdatedException
+ {
+ PageManagerUtils.deepCopyFolder(this, srcFolder, destinationPath, owner, copyIds);
+ }
+
+ /* (non-Javadoc)
+ * @see org.apache.jetspeed.page.PageManager#deepMergeFolder(org.apache.jetspeed.om.folder.Folder, java.lang.String, java.lang.String)
+ */
public void deepMergeFolder(Folder srcFolder, String destinationPath, String owner)
throws NodeException, PageNotUpdatedException
{
- PageManagerUtils.deepMergeFolder(this, srcFolder, destinationPath, owner);
+ deepMergeFolder(srcFolder, destinationPath, owner, false);
}
/* (non-Javadoc)
+ * @see org.apache.jetspeed.page.PageManager#deepMergeFolder(org.apache.jetspeed.om.folder.Folder, java.lang.String, java.lang.String, boolean)
+ */
+ public void deepMergeFolder(Folder srcFolder, String destinationPath, String owner, boolean copyIds)
+ throws NodeException, PageNotUpdatedException
+ {
+ PageManagerUtils.deepMergeFolder(this, srcFolder, destinationPath, owner, copyIds);
+ }
+
+ /* (non-Javadoc)
* @see org.apache.jetspeed.page.PageManager#addPages(org.apache.jetspeed.om.page.Page[])
*/
public int addPages(Page[] pages)
Modified: portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/page/psml/CastorXmlPageManager.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/page/psml/CastorXmlPageManager.java?rev=829497&r1=829496&r2=829497&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/page/psml/CastorXmlPageManager.java (original)
+++ portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/java/org/apache/jetspeed/page/psml/CastorXmlPageManager.java Sun Oct 25 05:40:13 2009
@@ -40,7 +40,6 @@
import org.apache.jetspeed.om.folder.psml.MenuSeparatorDefinitionImpl;
import org.apache.jetspeed.om.page.ContentPage;
import org.apache.jetspeed.om.page.ContentPageImpl;
-import org.apache.jetspeed.om.page.Fragment;
import org.apache.jetspeed.om.page.Link;
import org.apache.jetspeed.om.page.Page;
import org.apache.jetspeed.om.page.PageSecurity;
@@ -110,7 +109,6 @@
modelClasses.put("FragmentPreferenceImpl", FragmentPreferenceImpl.class);
}
- private IdGenerator generator = null;
private DocumentHandlerFactory handlerFactory;
private FolderHandler folderHandler;
private FileCache fileCache;
@@ -119,8 +117,7 @@
FolderHandler folderHandler, FileCache fileCache,
boolean permissionsEnabled, boolean constraintsEnabled ) throws FileNotFoundException
{
- super(permissionsEnabled, constraintsEnabled, modelClasses);
- this.generator = generator;
+ super(generator, permissionsEnabled, constraintsEnabled, modelClasses);
handlerFactory.setPermissionsEnabled(permissionsEnabled);
handlerFactory.setConstraintsEnabled(constraintsEnabled);
this.handlerFactory = handlerFactory;
@@ -131,31 +128,6 @@
/**
* <p>
- * newFragment
- * </p>
- *
- * @see org.apache.jetspeed.page.PageManager#newFragment()
- * @return fragment
- */
- public Fragment newFragment()
- {
- // FragmentImpl requires generated ids
- FragmentImpl fragment = (FragmentImpl)super.newFragment();
- fragment.setId(generator.getNextPeid());
- return fragment;
- }
-
- public Fragment newPortletFragment()
- {
- // FragmentImpl requires generated ids
- FragmentImpl fragment = (FragmentImpl)super.newFragment();
- fragment.setType(Fragment.PORTLET);
- fragment.setId(generator.getNextPeid());
- return fragment;
- }
-
- /**
- * <p>
* getPage
* </p>
*
Modified: portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/test/database-page-manager-base.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/test/database-page-manager-base.xml?rev=829497&r1=829496&r2=829497&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/test/database-page-manager-base.xml (original)
+++ portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/test/database-page-manager-base.xml Sun Oct 25 05:40:13 2009
@@ -18,6 +18,13 @@
-->
<beans>
+ <!-- Id Generator -->
+ <bean id="idGenerator" class="org.apache.jetspeed.idgenerator.JetspeedIdGenerator" init-method="start" destroy-method="stop">
+ <constructor-arg index="0"><value>65536</value></constructor-arg>
+ <constructor-arg index="1"><value>P-</value></constructor-arg>
+ <constructor-arg index="2"><value></value></constructor-arg>
+ </bean>
+
<!-- Page Manager Caches -->
<bean id="cacheManagerConfig" class="org.apache.jetspeed.cache.impl.EhCacheConfigResource">
<property name="defaultConfigResource" value="ehcache.xml"/>
Modified: portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/test/database-page-manager.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/test/database-page-manager.xml?rev=829497&r1=829496&r2=829497&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/test/database-page-manager.xml (original)
+++ portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/test/database-page-manager.xml Sun Oct 25 05:40:13 2009
@@ -24,14 +24,16 @@
<bean id="pageManagerImpl" init-method="init" class="org.apache.jetspeed.page.impl.DatabasePageManager">
<!-- OJB configuration file resource path -->
<constructor-arg index="0"><value>JETSPEED-INF/ojb/page-manager-repository.xml</value></constructor-arg>
+ <!-- fragment id generator -->
+ <constructor-arg index="1"><ref bean="idGenerator"/></constructor-arg>
<!-- permissions security enabled flag, default=false -->
- <constructor-arg index="1"><value>false</value></constructor-arg>
- <!-- constraints security enabled flag, default=true -->
<constructor-arg index="2"><value>false</value></constructor-arg>
+ <!-- constraints security enabled flag, default=true -->
+ <constructor-arg index="3"><value>false</value></constructor-arg>
<!-- folder/page/link cache -->
- <constructor-arg index="3"><ref bean="pageManagerOidCache"/></constructor-arg>
+ <constructor-arg index="4"><ref bean="pageManagerOidCache"/></constructor-arg>
<!-- folder/page/link path cache -->
- <constructor-arg index="4"><ref bean="pageManagerPathCache"/></constructor-arg>
+ <constructor-arg index="5"><ref bean="pageManagerPathCache"/></constructor-arg>
</bean>
</beans>
Modified: portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/test/org/apache/jetspeed/page/PageManagerTestShared.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/test/org/apache/jetspeed/page/PageManagerTestShared.java?rev=829497&r1=829496&r2=829497&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/test/org/apache/jetspeed/page/PageManagerTestShared.java (original)
+++ portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/test/org/apache/jetspeed/page/PageManagerTestShared.java Sun Oct 25 05:40:13 2009
@@ -126,17 +126,17 @@
IdGenerator idGen = new JetspeedIdGenerator(65536,"P-","");
FileCache cache = new FileCache(10, 12);
- DocumentHandler psmlHandler = new CastorFileSystemDocumentHandler("/JETSPEED-INF/castor/page-mapping.xml", Page.DOCUMENT_TYPE, PageImpl.class, "target/testdata/" + pagesDirName, cache);
- DocumentHandler linkHandler = new CastorFileSystemDocumentHandler("/JETSPEED-INF/castor/page-mapping.xml", Link.DOCUMENT_TYPE, LinkImpl.class, "target/testdata/" + pagesDirName, cache);
- DocumentHandler folderMetaDataHandler = new CastorFileSystemDocumentHandler("/JETSPEED-INF/castor/page-mapping.xml", FolderMetaDataImpl.DOCUMENT_TYPE, FolderMetaDataImpl.class, "target/testdata/" + pagesDirName, cache);
- DocumentHandler pageSecurityHandler = new CastorFileSystemDocumentHandler("/JETSPEED-INF/castor/page-mapping.xml", PageSecurityImpl.DOCUMENT_TYPE, PageSecurity.class, "target/testdata/" + pagesDirName, cache);
+ DocumentHandler psmlHandler = new CastorFileSystemDocumentHandler(idGen, "/JETSPEED-INF/castor/page-mapping.xml", Page.DOCUMENT_TYPE, PageImpl.class, "target/testdata/" + pagesDirName, cache);
+ DocumentHandler linkHandler = new CastorFileSystemDocumentHandler(idGen, "/JETSPEED-INF/castor/page-mapping.xml", Link.DOCUMENT_TYPE, LinkImpl.class, "target/testdata/" + pagesDirName, cache);
+ DocumentHandler folderMetaDataHandler = new CastorFileSystemDocumentHandler(idGen, "/JETSPEED-INF/castor/page-mapping.xml", FolderMetaDataImpl.DOCUMENT_TYPE, FolderMetaDataImpl.class, "target/testdata/" + pagesDirName, cache);
+ DocumentHandler pageSecurityHandler = new CastorFileSystemDocumentHandler(idGen, "/JETSPEED-INF/castor/page-mapping.xml", PageSecurityImpl.DOCUMENT_TYPE, PageSecurity.class, "target/testdata/" + pagesDirName, cache);
DocumentHandlerFactory handlerFactory = new DocumentHandlerFactoryImpl();
handlerFactory.registerDocumentHandler(psmlHandler);
handlerFactory.registerDocumentHandler(linkHandler);
handlerFactory.registerDocumentHandler(folderMetaDataHandler);
handlerFactory.registerDocumentHandler(pageSecurityHandler);
- FolderHandler folderHandler = new FileSystemFolderHandler("target/testdata/" + pagesDirName, handlerFactory, cache);
+ FolderHandler folderHandler = new FileSystemFolderHandler(idGen, "target/testdata/" + pagesDirName, handlerFactory, cache);
return new CastorXmlPageManager(idGen, handlerFactory, folderHandler, cache, permissionsEnabled, constraintsEnabled);
}
Modified: portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/test/org/apache/jetspeed/page/document/psml/TestCastorFileSystemDocumentHandler.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/test/org/apache/jetspeed/page/document/psml/TestCastorFileSystemDocumentHandler.java?rev=829497&r1=829496&r2=829497&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/test/org/apache/jetspeed/page/document/psml/TestCastorFileSystemDocumentHandler.java (original)
+++ portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/test/org/apache/jetspeed/page/document/psml/TestCastorFileSystemDocumentHandler.java Sun Oct 25 05:40:13 2009
@@ -26,6 +26,8 @@
import junit.framework.TestCase;
import junit.framework.TestSuite;
+import org.apache.jetspeed.idgenerator.IdGenerator;
+import org.apache.jetspeed.idgenerator.JetspeedIdGenerator;
import org.apache.jetspeed.om.page.Document;
import org.apache.jetspeed.om.folder.psml.FolderMetaDataImpl;
import org.apache.jetspeed.page.psml.CastorXmlPageManager;
@@ -58,8 +60,11 @@
protected void setUp() throws Exception
{
super.setUp();
+
+ IdGenerator idGen = new JetspeedIdGenerator(65536,"P-","");
folderMetaDataDocumentHandler = new CastorFileSystemDocumentHandler(
+ idGen,
"/JETSPEED-INF/castor/page-mapping.xml",
"folder.metadata",
FolderMetaDataImpl.class,
Modified: portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/test/secure-database-page-manager.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/test/secure-database-page-manager.xml?rev=829497&r1=829496&r2=829497&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/test/secure-database-page-manager.xml (original)
+++ portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/test/secure-database-page-manager.xml Sun Oct 25 05:40:13 2009
@@ -24,14 +24,16 @@
<bean id="pageManagerImpl" init-method="init" class="org.apache.jetspeed.page.impl.DatabasePageManager">
<!-- OJB configuration file resource path -->
<constructor-arg index="0"><value>JETSPEED-INF/ojb/page-manager-repository.xml</value></constructor-arg>
+ <!-- fragment id generator -->
+ <constructor-arg index="1"><ref bean="idGenerator"/></constructor-arg>
<!-- permissions security enabled flag, default=false -->
- <constructor-arg index="1"><value>false</value></constructor-arg>
+ <constructor-arg index="2"><value>false</value></constructor-arg>
<!-- constraints security enabled flag, default=true -->
- <constructor-arg index="2"><value>true</value></constructor-arg>
+ <constructor-arg index="3"><value>true</value></constructor-arg>
<!-- folder/page/link cache -->
- <constructor-arg index="3"><ref bean="pageManagerOidCache"/></constructor-arg>
+ <constructor-arg index="4"><ref bean="pageManagerOidCache"/></constructor-arg>
<!-- folder/page/link path cache -->
- <constructor-arg index="4"><ref bean="pageManagerPathCache"/></constructor-arg>
+ <constructor-arg index="5"><ref bean="pageManagerPathCache"/></constructor-arg>
</bean>
</beans>
Modified: portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/test/secure-permissions-database-page-manager.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/test/secure-permissions-database-page-manager.xml?rev=829497&r1=829496&r2=829497&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/test/secure-permissions-database-page-manager.xml (original)
+++ portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/page-manager/src/test/secure-permissions-database-page-manager.xml Sun Oct 25 05:40:13 2009
@@ -23,15 +23,17 @@
<!-- Page Manager -->
<bean name="pageManagerImpl" init-method="init" class="org.apache.jetspeed.page.impl.DatabasePageManager">
<!-- OJB configuration file resource path -->
- <constructor-arg index="0"><value>JETSPEED-INF/ojb/page-manager-repository.xml</value></constructor-arg>
+ <constructor-arg index="0"><value>JETSPEED-INF/ojb/page-manager-repository.xml</value></constructor-arg>
+ <!-- fragment id generator -->
+ <constructor-arg index="1"><ref bean="idGenerator"/></constructor-arg>
<!-- permissions security enabled flag, default=false -->
- <constructor-arg index="1"><value>true</value></constructor-arg>
+ <constructor-arg index="2"><value>true</value></constructor-arg>
<!-- constraints security enabled flag, default=true -->
- <constructor-arg index="2"><value>false</value></constructor-arg>
+ <constructor-arg index="3"><value>false</value></constructor-arg>
<!-- folder/page/link cache -->
- <constructor-arg index="3"><ref bean="pageManagerOidCache"/></constructor-arg>
+ <constructor-arg index="4"><ref bean="pageManagerOidCache"/></constructor-arg>
<!-- folder/page/link path cache -->
- <constructor-arg index="4"><ref bean="pageManagerPathCache"/></constructor-arg>
+ <constructor-arg index="5"><ref bean="pageManagerPathCache"/></constructor-arg>
</bean>
</beans>
Modified: portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/portal-site/src/test/JETSPEED-INF/spring/test-spring.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/portal-site/src/test/JETSPEED-INF/spring/test-spring.xml?rev=829497&r1=829496&r2=829497&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/portal-site/src/test/JETSPEED-INF/spring/test-spring.xml (original)
+++ portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/portal-site/src/test/JETSPEED-INF/spring/test-spring.xml Sun Oct 25 05:40:13 2009
@@ -46,38 +46,42 @@
<!-- DocumentHandlerFactory -->
<bean id="PsmlDocumentHandler"
class="org.apache.jetspeed.page.document.psml.CastorFileSystemDocumentHandler" >
- <constructor-arg index="0"><value>/JETSPEED-INF/castor/page-mapping.xml</value></constructor-arg>
- <constructor-arg index="1"><value>.psml</value></constructor-arg>
- <constructor-arg index="2" ><value>org.apache.jetspeed.om.page.psml.PageImpl</value></constructor-arg>
- <constructor-arg index="3" ><value>target/testdata/pages</value></constructor-arg>
- <constructor-arg index="4" ><ref bean="PageFileCache"/></constructor-arg>
+ <constructor-arg index="0"><ref bean="IdGenerator"/></constructor-arg>
+ <constructor-arg index="1"><value>/JETSPEED-INF/castor/page-mapping.xml</value></constructor-arg>
+ <constructor-arg index="2"><value>.psml</value></constructor-arg>
+ <constructor-arg index="3" ><value>org.apache.jetspeed.om.page.psml.PageImpl</value></constructor-arg>
+ <constructor-arg index="4" ><value>target/testdata/pages</value></constructor-arg>
+ <constructor-arg index="5" ><ref bean="PageFileCache"/></constructor-arg>
</bean>
<bean id="LinkDocumentHandler"
class="org.apache.jetspeed.page.document.psml.CastorFileSystemDocumentHandler" >
- <constructor-arg index="0"><value>/JETSPEED-INF/castor/page-mapping.xml</value></constructor-arg>
- <constructor-arg index="1"><value>.link</value></constructor-arg>
- <constructor-arg index="2" ><value>org.apache.jetspeed.om.page.psml.LinkImpl</value></constructor-arg>
- <constructor-arg index="3" ><value>target/testdata/pages</value></constructor-arg>
- <constructor-arg index="4" ><ref bean="PageFileCache"/></constructor-arg>
+ <constructor-arg index="0"><ref bean="IdGenerator"/></constructor-arg>
+ <constructor-arg index="1"><value>/JETSPEED-INF/castor/page-mapping.xml</value></constructor-arg>
+ <constructor-arg index="2"><value>.link</value></constructor-arg>
+ <constructor-arg index="3" ><value>org.apache.jetspeed.om.page.psml.LinkImpl</value></constructor-arg>
+ <constructor-arg index="4" ><value>target/testdata/pages</value></constructor-arg>
+ <constructor-arg index="5" ><ref bean="PageFileCache"/></constructor-arg>
</bean>
<bean id="FolderMetaDataDocumentHandler"
class="org.apache.jetspeed.page.document.psml.CastorFileSystemDocumentHandler" >
- <constructor-arg index="0"><value>/JETSPEED-INF/castor/page-mapping.xml</value></constructor-arg>
- <constructor-arg index="1"><value>folder.metadata</value></constructor-arg>
- <constructor-arg index="2" ><value>org.apache.jetspeed.om.folder.psml.FolderMetaDataImpl</value></constructor-arg>
- <constructor-arg index="3" ><value>target/testdata/pages</value></constructor-arg>
- <constructor-arg index="4" ><ref bean="PageFileCache"/></constructor-arg>
+ <constructor-arg index="0"><ref bean="IdGenerator"/></constructor-arg>
+ <constructor-arg index="1"><value>/JETSPEED-INF/castor/page-mapping.xml</value></constructor-arg>
+ <constructor-arg index="2"><value>folder.metadata</value></constructor-arg>
+ <constructor-arg index="3" ><value>org.apache.jetspeed.om.folder.psml.FolderMetaDataImpl</value></constructor-arg>
+ <constructor-arg index="4" ><value>target/testdata/pages</value></constructor-arg>
+ <constructor-arg index="5" ><ref bean="PageFileCache"/></constructor-arg>
</bean>
<bean id="PageSecurityDocumentHandler"
class="org.apache.jetspeed.page.document.psml.CastorFileSystemDocumentHandler" >
- <constructor-arg index="0"><value>/JETSPEED-INF/castor/page-mapping.xml</value></constructor-arg>
- <constructor-arg index="1"><value>page.security</value></constructor-arg>
- <constructor-arg index="2" ><value>org.apache.jetspeed.om.page.psml.PageSecurityImpl</value></constructor-arg>
- <constructor-arg index="3" ><value>target/testdata/pages</value></constructor-arg>
- <constructor-arg index="4" ><ref bean="PageFileCache"/></constructor-arg>
+ <constructor-arg index="0"><ref bean="IdGenerator"/></constructor-arg>
+ <constructor-arg index="1"><value>/JETSPEED-INF/castor/page-mapping.xml</value></constructor-arg>
+ <constructor-arg index="2"><value>page.security</value></constructor-arg>
+ <constructor-arg index="3" ><value>org.apache.jetspeed.om.page.psml.PageSecurityImpl</value></constructor-arg>
+ <constructor-arg index="4" ><value>target/testdata/pages</value></constructor-arg>
+ <constructor-arg index="5" ><ref bean="PageFileCache"/></constructor-arg>
</bean>
<bean id="DocumentHandlerFactory"
@@ -103,9 +107,10 @@
<!-- FolderHandler -->
<bean id="FolderHandler"
class="org.apache.jetspeed.page.document.psml.FileSystemFolderHandler" >
- <constructor-arg index="0"><value>target/testdata/pages</value></constructor-arg>
- <constructor-arg index="1"><ref bean="DocumentHandlerFactory"/></constructor-arg>
- <constructor-arg index="2"><ref bean="PageFileCache"/></constructor-arg>
+ <constructor-arg index="0"><ref bean="IdGenerator"/></constructor-arg>
+ <constructor-arg index="1"><value>target/testdata/pages</value></constructor-arg>
+ <constructor-arg index="2"><ref bean="DocumentHandlerFactory"/></constructor-arg>
+ <constructor-arg index="3"><ref bean="PageFileCache"/></constructor-arg>
</bean>
<!-- PageManager -->
Modified: portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/portal/src/java/org/apache/jetspeed/aggregator/impl/PortletAggregatorFragmentImpl.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/portal/src/java/org/apache/jetspeed/aggregator/impl/PortletAggregatorFragmentImpl.java?rev=829497&r1=829496&r2=829497&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/portal/src/java/org/apache/jetspeed/aggregator/impl/PortletAggregatorFragmentImpl.java (original)
+++ portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/portal/src/java/org/apache/jetspeed/aggregator/impl/PortletAggregatorFragmentImpl.java Sun Oct 25 05:40:13 2009
@@ -120,6 +120,13 @@
{
return id;
}
+
+ /* (non-Javadoc)
+ * @see org.apache.jetspeed.om.page.Fragment#setId(java.lang.String)
+ */
+ public void setId(String fragmentId)
+ {
+ }
/* (non-Javadoc)
* @see org.apache.jetspeed.om.page.BaseElement#getTitle()
Modified: portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/portal/src/java/org/apache/jetspeed/layout/impl/UpdateFolderAction.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/portal/src/java/org/apache/jetspeed/layout/impl/UpdateFolderAction.java?rev=829497&r1=829496&r2=829497&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/portal/src/java/org/apache/jetspeed/layout/impl/UpdateFolderAction.java (original)
+++ portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/portal/src/java/org/apache/jetspeed/layout/impl/UpdateFolderAction.java Sun Oct 25 05:40:13 2009
@@ -155,7 +155,7 @@
String destination = getActionParameter(requestContext, "destination");
String name = getActionParameter(requestContext, RESOURCE_NAME);
destination = destination + Folder.PATH_SEPARATOR + name;
- pageManager.deepCopyFolder(folder,destination,null);
+ pageManager.deepCopyFolder(folder,destination,null,true);
pageManager.removeFolder(folder);
}
else if (method.equals("remove"))
Modified: portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/portal/src/java/org/apache/jetspeed/layout/impl/UpdatePageAction.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/portal/src/java/org/apache/jetspeed/layout/impl/UpdatePageAction.java?rev=829497&r1=829496&r2=829497&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/portal/src/java/org/apache/jetspeed/layout/impl/UpdatePageAction.java (original)
+++ portals/jetspeed-2/portal/branches/JETSPEED-2.1.4/components/portal/src/java/org/apache/jetspeed/layout/impl/UpdatePageAction.java Sun Oct 25 05:40:13 2009
@@ -181,7 +181,7 @@
String destination = getActionParameter(requestContext, "destination");
String name = getActionParameter(requestContext, RESOURCE_NAME);
destination = destination + Folder.PATH_SEPARATOR + name;
- Page newPage = pageManager.copyPage(page, destination);
+ Page newPage = pageManager.copyPage(page, destination, true);
pageManager.updatePage(newPage);
pageManager.removePage(page);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org