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/11/18 19:24:53 UTC
svn commit: r881862 [14/16] - in /portals/jetspeed-2/portal/trunk: ./
applications/jetspeed/src/main/webapp/WEB-INF/jetui/yui/
applications/jetspeed/src/main/webapp/WEB-INF/templates/
applications/jetspeed/src/main/webapp/decorations/layout/greenearth/...
Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-profiler/src/main/java/org/apache/jetspeed/profiler/rules/impl/PathSessionResolver.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-profiler/src/main/java/org/apache/jetspeed/profiler/rules/impl/PathSessionResolver.java?rev=881862&r1=881861&r2=881862&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-profiler/src/main/java/org/apache/jetspeed/profiler/rules/impl/PathSessionResolver.java (original)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-profiler/src/main/java/org/apache/jetspeed/profiler/rules/impl/PathSessionResolver.java Wed Nov 18 18:24:48 2009
@@ -17,7 +17,7 @@
package org.apache.jetspeed.profiler.rules.impl;
import org.apache.jetspeed.PortalReservedParameters;
-import org.apache.jetspeed.om.page.Page;
+import org.apache.jetspeed.om.page.ContentPage;
import org.apache.jetspeed.profiler.rules.RuleCriterion;
import org.apache.jetspeed.profiler.rules.RuleCriterionResolver;
import org.apache.jetspeed.request.RequestContext;
@@ -36,7 +36,7 @@
public String resolve(RequestContext context, RuleCriterion criterion)
{
String path = null;
- Page page = context.getPage();
+ ContentPage page = context.getPage();
if (page != null)
{
Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-rdbms/src/main/java/org/apache/jetspeed/util/ojb/CSVtoCollectionFieldConversion.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-rdbms/src/main/java/org/apache/jetspeed/util/ojb/CSVtoCollectionFieldConversion.java
------------------------------------------------------------------------------
svn:mergeinfo =
Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-rdbms/src/main/java/org/apache/jetspeed/util/ojb/CollectionDebugger.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-rdbms/src/main/java/org/apache/jetspeed/util/ojb/CollectionDebugger.java
------------------------------------------------------------------------------
svn:mergeinfo =
Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-rdbms/src/main/java/org/apache/jetspeed/util/ojb/CollectionOwnerClassDiscriminatorQueryCustomizer.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-rdbms/src/main/java/org/apache/jetspeed/util/ojb/CollectionOwnerClassDiscriminatorQueryCustomizer.java
------------------------------------------------------------------------------
svn:keywords = Id
Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-rdbms/src/main/java/org/apache/jetspeed/util/ojb/CollectionOwnerClassDiscriminatorQueryCustomizer.java
------------------------------------------------------------------------------
svn:mergeinfo =
Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-rdbms/src/main/java/org/apache/jetspeed/util/ojb/CollectionOwnerClassDiscriminatorQueryCustomizer.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-rdbms/src/main/java/org/apache/jetspeed/util/ojb/CollectionUtils.java
------------------------------------------------------------------------------
svn:mergeinfo =
Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-rdbms/src/main/java/org/apache/jetspeed/util/ojb/FieldConversionLog.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-rdbms/src/main/java/org/apache/jetspeed/util/ojb/FieldConversionLog.java
------------------------------------------------------------------------------
svn:mergeinfo =
Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-rdbms/src/main/java/org/apache/jetspeed/util/ojb/LocaleFieldConversion.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-rdbms/src/main/java/org/apache/jetspeed/util/ojb/LocaleFieldConversion.java
------------------------------------------------------------------------------
svn:mergeinfo =
Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-rdbms/src/main/java/org/apache/jetspeed/util/ojb/ObjectIDtoLongFieldConversion.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-rdbms/src/main/java/org/apache/jetspeed/util/ojb/ObjectIDtoLongFieldConversion.java
------------------------------------------------------------------------------
svn:mergeinfo =
Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-rdbms/src/main/java/org/apache/jetspeed/util/ojb/ObjectIDtoStringFieldConversion.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: portals/jetspeed-2/portal/trunk/components/jetspeed-rdbms/src/main/java/org/apache/jetspeed/util/ojb/ObjectIDtoStringFieldConversion.java
------------------------------------------------------------------------------
svn:mergeinfo =
Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/pom.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-registry/pom.xml?rev=881862&r1=881861&r2=881862&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-registry/pom.xml (original)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-registry/pom.xml Wed Nov 18 18:24:48 2009
@@ -78,6 +78,11 @@
<scope>test</scope>
</dependency>
<dependency>
+ <groupId>${pom.groupId}</groupId>
+ <artifactId>jetspeed-page-layout</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<scope>test</scope>
Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/components/portletentity/PersistenceBrokerPortletEntityAccess.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/components/portletentity/PersistenceBrokerPortletEntityAccess.java?rev=881862&r1=881861&r2=881862&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/components/portletentity/PersistenceBrokerPortletEntityAccess.java (original)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/components/portletentity/PersistenceBrokerPortletEntityAccess.java Wed Nov 18 18:24:48 2009
@@ -22,7 +22,6 @@
import org.apache.jetspeed.components.portletregistry.PortletRegistry;
import org.apache.jetspeed.om.page.ContentFragment;
-import org.apache.jetspeed.om.page.Fragment;
import org.apache.jetspeed.om.portlet.PortletDefinition;
import org.apache.ojb.broker.query.Criteria;
import org.apache.ojb.broker.query.Query;
@@ -124,7 +123,7 @@
* @param principal
* @return
*/
- public String generateEntityKey( Fragment fragment)
+ public String generateEntityKey( ContentFragment fragment)
{
return fragment.getId();
}
Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/components/portletentity/PortletEntityImpl.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/components/portletentity/PortletEntityImpl.java?rev=881862&r1=881861&r2=881862&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/components/portletentity/PortletEntityImpl.java (original)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/components/portletentity/PortletEntityImpl.java Wed Nov 18 18:24:48 2009
@@ -19,7 +19,7 @@
import org.apache.jetspeed.components.portletregistry.PortletRegistry;
import org.apache.jetspeed.container.PortletEntity;
import org.apache.jetspeed.container.PortletWindow;
-import org.apache.jetspeed.om.page.Fragment;
+import org.apache.jetspeed.om.page.ContentFragment;
import org.apache.jetspeed.om.portlet.PortletDefinition;
/**
@@ -41,9 +41,9 @@
private PortletDefinition portletDefinition = null;
protected String portletName;
protected String appName;
- private Fragment fragment;
+ private ContentFragment fragment;
- public PortletEntityImpl(Fragment fragment)
+ public PortletEntityImpl(ContentFragment fragment)
{
setFragment(fragment);
}
@@ -141,12 +141,12 @@
}
}
- public Fragment getFragment()
+ public ContentFragment getFragment()
{
return this.fragment;
}
- public void setFragment(Fragment fragment)
+ public void setFragment(ContentFragment fragment)
{
this.fragment = fragment;
}
Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/components/portletpreferences/PortletPreferencesServiceImpl.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/components/portletpreferences/PortletPreferencesServiceImpl.java?rev=881862&r1=881861&r2=881862&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/components/portletpreferences/PortletPreferencesServiceImpl.java (original)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/components/portletpreferences/PortletPreferencesServiceImpl.java Wed Nov 18 18:24:48 2009
@@ -30,19 +30,15 @@
import javax.portlet.ValidatorException;
import org.apache.jetspeed.JetspeedActions;
-import org.apache.jetspeed.PortalReservedParameters;
import org.apache.jetspeed.cache.CacheElement;
import org.apache.jetspeed.cache.JetspeedCache;
import org.apache.jetspeed.container.PortletWindow;
import org.apache.jetspeed.factory.PortletFactory;
import org.apache.jetspeed.om.page.ContentFragment;
-import org.apache.jetspeed.om.page.ContentPage;
import org.apache.jetspeed.om.portlet.PortletApplication;
import org.apache.jetspeed.om.portlet.Preference;
import org.apache.jetspeed.om.portlet.Preferences;
import org.apache.jetspeed.om.preference.FragmentPreference;
-import org.apache.jetspeed.page.PageManager;
-import org.apache.jetspeed.request.RequestContext;
import org.apache.jetspeed.security.SubjectHelper;
import org.apache.jetspeed.security.User;
import org.apache.ojb.broker.query.Criteria;
@@ -73,7 +69,7 @@
protected static final String EMPTY_VALUE = "_";
private PortletFactory portletFactory;
- private PageManager pageManager;
+
/**
* Cache elements are stored as element type JetspeedPreferencesMap
*/
@@ -101,17 +97,10 @@
this.preferenceCache = preferenceCache;
}
- public PortletPreferencesServiceImpl(PortletFactory portletFactory, JetspeedCache preferenceCache, PageManager pageManager)
- throws ClassNotFoundException
- {
- this(portletFactory, preferenceCache);
- this.pageManager = pageManager;
- }
-
- public PortletPreferencesServiceImpl(PortletFactory portletFactory, JetspeedCache preferenceCache, PageManager pageManager, List<String> apps, boolean preloadEntities)
+ public PortletPreferencesServiceImpl(PortletFactory portletFactory, JetspeedCache preferenceCache, List<String> apps, boolean preloadEntities)
throws ClassNotFoundException
{
- this(portletFactory, preferenceCache, pageManager);
+ this(portletFactory, preferenceCache);
this.preloadedApplications = apps;
this.preloadEntities = preloadEntities;
}
@@ -242,10 +231,9 @@
PortletWindow window = (PortletWindow)pw;
if (request.getPortletMode().equals(JetspeedActions.EDIT_DEFAULTS_MODE))
{
- RequestContext rc = (RequestContext) request.getAttribute(PortalReservedParameters.REQUEST_CONTEXT_ATTRIBUTE);
try
{
- storeEntityPreferences(map, rc.getPage(), window);
+ storeEntityPreferences(map, window);
}
catch (PreferencesException e)
{
@@ -600,29 +588,11 @@
* Jetspeed: PortletPreferencesProvider
*/
@SuppressWarnings("unchecked")
- public void storeEntityPreferences(Map<String, PortletPreference> map, ContentPage page, PortletWindow window)
+ public void storeEntityPreferences(Map<String, PortletPreference> map, PortletWindow window)
throws PreferencesException
{
- ContentFragment fragment = window.getFragment();
- List<FragmentPreference> fragmentPrefs = fragment.getPreferences();
- fragmentPrefs.clear();
for (Entry<String, PortletPreference> entry : map.entrySet())
{
- String name = entry.getKey();
- PortletPreference pref = entry.getValue();
- FragmentPreference fp = pageManager.newFragmentPreference();
- fp.setName(name);
- fp.setReadOnly(pref.isReadOnly());
- String [] values = pref.getValues();
- if (values != null)
- {
- List<String> list = (List<String>)fp.getValueList();
- for (String value : values)
- {
- list.add(value);
- }
- }
- fragmentPrefs.add(fp);
org.apache.jetspeed.om.portlet.PortletDefinition pd = window.getPortletDefinition();
String entityId = window.getPortletEntityId();
String appName = pd.getApplication().getName();
@@ -632,7 +602,8 @@
}
try
{
- pageManager.updatePage(page);
+ ContentFragment fragment = window.getFragment();
+ fragment.updatePreferences(map);
}
catch (Exception e)
{
Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/om/portlet/impl/PortletApplicationLocalizedFieldImpl.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/om/portlet/impl/PortletApplicationLocalizedFieldImpl.java?rev=881862&r1=881861&r2=881862&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/om/portlet/impl/PortletApplicationLocalizedFieldImpl.java (original)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/om/portlet/impl/PortletApplicationLocalizedFieldImpl.java Wed Nov 18 18:24:48 2009
@@ -16,6 +16,7 @@
*/
package org.apache.jetspeed.om.portlet.impl;
+import org.apache.jetspeed.om.portlet.LocalizedFieldImpl;
/**
*
Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/om/portlet/impl/PortletApplicationMetadataImpl.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/om/portlet/impl/PortletApplicationMetadataImpl.java?rev=881862&r1=881861&r2=881862&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/om/portlet/impl/PortletApplicationMetadataImpl.java (original)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/om/portlet/impl/PortletApplicationMetadataImpl.java Wed Nov 18 18:24:48 2009
@@ -18,6 +18,7 @@
import java.util.Locale;
+import org.apache.jetspeed.om.portlet.GenericMetadataImpl;
import org.apache.jetspeed.om.portlet.LocalizedField;
/**
Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/om/portlet/impl/PortletDefinitionImpl.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/om/portlet/impl/PortletDefinitionImpl.java?rev=881862&r1=881861&r2=881862&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/om/portlet/impl/PortletDefinitionImpl.java (original)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/om/portlet/impl/PortletDefinitionImpl.java Wed Nov 18 18:24:48 2009
@@ -19,7 +19,6 @@
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
-import java.util.Collections;
import java.util.List;
import java.util.Locale;
import java.util.Map;
Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/om/portlet/impl/PortletDefinitionLocalizedFieldImpl.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/om/portlet/impl/PortletDefinitionLocalizedFieldImpl.java?rev=881862&r1=881861&r2=881862&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/om/portlet/impl/PortletDefinitionLocalizedFieldImpl.java (original)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/om/portlet/impl/PortletDefinitionLocalizedFieldImpl.java Wed Nov 18 18:24:48 2009
@@ -16,6 +16,7 @@
*/
package org.apache.jetspeed.om.portlet.impl;
+import org.apache.jetspeed.om.portlet.LocalizedFieldImpl;
/**
*
Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/om/portlet/impl/PortletDefinitionMetadataImpl.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/om/portlet/impl/PortletDefinitionMetadataImpl.java?rev=881862&r1=881861&r2=881862&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/om/portlet/impl/PortletDefinitionMetadataImpl.java (original)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/om/portlet/impl/PortletDefinitionMetadataImpl.java Wed Nov 18 18:24:48 2009
@@ -18,6 +18,7 @@
import java.util.Locale;
+import org.apache.jetspeed.om.portlet.GenericMetadataImpl;
import org.apache.jetspeed.om.portlet.LocalizedField;
/**
Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/test/java/org/apache/jetspeed/components/portletentity/TestPortletEntityDAO.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/test/java/org/apache/jetspeed/components/portletentity/TestPortletEntityDAO.java?rev=881862&r1=881861&r2=881862&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/test/java/org/apache/jetspeed/components/portletentity/TestPortletEntityDAO.java (original)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/test/java/org/apache/jetspeed/components/portletentity/TestPortletEntityDAO.java Wed Nov 18 18:24:48 2009
@@ -16,32 +16,25 @@
*/
package org.apache.jetspeed.components.portletentity;
-import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Locale;
import org.apache.jetspeed.Jetspeed;
import org.apache.jetspeed.components.portletregistry.PortletRegistry;
-import org.apache.jetspeed.components.portletentity.ContentFragmentTestImpl;
import org.apache.jetspeed.components.util.DatasourceEnabledSpringTestCase;
import org.apache.jetspeed.container.PortletEntity;
import org.apache.jetspeed.engine.MockJetspeedEngine;
+import org.apache.jetspeed.om.page.impl.ContentFragmentImpl;
import org.apache.jetspeed.om.portlet.InitParam;
import org.apache.jetspeed.om.portlet.PortletApplication;
import org.apache.jetspeed.om.portlet.Preference;
import org.apache.jetspeed.om.portlet.Preferences;
-import org.apache.jetspeed.om.page.ContentFragment;
-import org.apache.jetspeed.om.page.Fragment;
import org.apache.jetspeed.om.portlet.PortletDefinition;
import org.apache.jetspeed.om.portlet.impl.PortletApplicationDefinitionImpl;
import org.apache.pluto.container.om.portlet.PortletApplicationDefinition;
-import org.jmock.Mock;
-import org.jmock.core.matcher.InvokeAtLeastOnceMatcher;
-import org.jmock.core.stub.ReturnStub;
-
/**
* <p>
* TestPortletEntityDAO
@@ -104,13 +97,10 @@
}
assertNotNull("Portlet Def is null", pd);
- Mock mockf1 = new Mock(Fragment.class);
- mockf1.expects(new InvokeAtLeastOnceMatcher()).method("getName").will(new ReturnStub(pd.getUniqueName()));
- mockf1.expects(new InvokeAtLeastOnceMatcher()).method("getId").will(new ReturnStub(TEST_ENTITY));
- ContentFragment f1 = new ContentFragmentTestImpl((Fragment) mockf1.proxy(), new HashMap());
+ ContentFragmentImpl f1 = new ContentFragmentImpl(TEST_ENTITY);
+ f1.setName(pd.getUniqueName());
+ PortletEntity entity = entityAccess.generateEntityFromFragment(f1);
- PortletEntity entity = entityAccess
- .generateEntityFromFragment(new ContentFragmentTestImpl(f1, new HashMap()));
// TODO: how to access prefs of entity??
/*
PreferenceSetComposite prefs = (PreferenceSetComposite) entity.getPreferenceSet();
@@ -200,37 +190,33 @@
assertTrue(pref2.isValueSet());
pref2.setValues(null);
assertFalse(pref2.isValueSet());
-
+
entity.store();
prefs = (PreferenceSetComposite)entity.getPreferenceSet();
pref2 = (PreferenceComposite) prefs.get("pref2");
assertNull(pref2);
+ */
PortletEntity entity2 = entityAccess.getPortletEntityForFragment(f1);
assertTrue("entity id ", entity2.getId().toString().equals(TEST_ENTITY));
assertNotNull("entity's portlet ", entity2.getPortletDefinition());
- mockf1.verify();
-
- Mock mockf2 = new Mock(Fragment.class);
- mockf2.expects(new InvokeAtLeastOnceMatcher()).method("getName").will(new ReturnStub(pd.getUniqueName()));
- ContentFragment f2 = new ContentFragmentTestImpl((Fragment) mockf2.proxy(), new HashMap());
PortletEntity entity5 = entityAccess.newPortletEntityInstance(pd);
-
System.out.println("before storing entity: " + entity5.getId());
entityAccess.storePortletEntity(entity5);
System.out.println("store done: " + entity5.getId());
- mockf2.expects(new InvokeAtLeastOnceMatcher()).method("getId").will(new ReturnStub(entity5.getId().toString()));
+
+ ContentFragmentImpl f2 = new ContentFragmentImpl(TEST_ENTITY);
+ f2.setName(pd.getUniqueName());
PortletEntity entity6 = entityAccess.getPortletEntityForFragment(f2);
assertNotNull(entity6);
System.out.println("reget : " + entity6.getId());
entityAccess.removePortletEntity(entity6);
- */
}
private void teardownTestData() throws Exception
Modified: portals/jetspeed-2/portal/trunk/components/pom.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/pom.xml?rev=881862&r1=881861&r2=881862&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/pom.xml (original)
+++ portals/jetspeed-2/portal/trunk/components/pom.xml Wed Nov 18 18:24:48 2009
@@ -44,6 +44,7 @@
<module>jetspeed-id-generator</module>
<module>jetspeed-locator</module>
<module>jetspeed-page-manager</module>
+ <module>jetspeed-page-layout</module>
<module>jetspeed-portal</module>
<module>jetspeed-portal-site</module>
<module>jetspeed-portlet-factory</module>
Modified: portals/jetspeed-2/portal/trunk/etc/import/assembly/import-page-manager.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/etc/import/assembly/import-page-manager.xml?rev=881862&r1=881861&r2=881862&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/etc/import/assembly/import-page-manager.xml (original)
+++ portals/jetspeed-2/portal/trunk/etc/import/assembly/import-page-manager.xml Wed Nov 18 18:24:48 2009
@@ -47,7 +47,11 @@
</property>
<property name="transactionAttributes">
<props>
+ <prop key="*">PROPAGATION_REQUIRED</prop>
<prop key="getPage*">PROPAGATION_SUPPORTS</prop>
+ <prop key="getPageTemplate*">PROPAGATION_SUPPORTS</prop>
+ <prop key="getDynamicPage*">PROPAGATION_SUPPORTS</prop>
+ <prop key="getFragmentDefinition*">PROPAGATION_SUPPORTS</prop>
<prop key="getLink*">PROPAGATION_SUPPORTS</prop>
<prop key="getFolder*">PROPAGATION_SUPPORTS</prop>
<prop key="getContentPage">PROPAGATION_SUPPORTS</prop>
@@ -55,6 +59,9 @@
<prop key="getUserFolder">PROPAGATION_SUPPORTS</prop>
<prop key="update*">PROPAGATION_REQUIRED,-org.apache.jetspeed.page.document.NodeException</prop>
<prop key="removePage">PROPAGATION_REQUIRED,-org.apache.jetspeed.page.document.NodeException</prop>
+ <prop key="removePageTemplate">PROPAGATION_REQUIRED,-org.apache.jetspeed.page.document.NodeException</prop>
+ <prop key="removeDynamicPage">PROPAGATION_REQUIRED,-org.apache.jetspeed.page.document.NodeException</prop>
+ <prop key="removeFragmentDefinition">PROPAGATION_REQUIRED,-org.apache.jetspeed.page.document.NodeException</prop>
<prop key="removeFolder">PROPAGATION_REQUIRED,-org.apache.jetspeed.page.document.NodeException</prop>
<prop key="removeLink">PROPAGATION_REQUIRED,-org.apache.jetspeed.page.document.NodeException</prop>
<prop key="removePageSecurity">PROPAGATION_REQUIRED,-org.apache.jetspeed.page.document.NodeException</prop>
@@ -63,6 +70,9 @@
<prop key="addPages">PROPAGATION_REQUIRED,-org.apache.jetspeed.page.document.NodeException</prop>
<prop key="folderExists">PROPAGATION_SUPPORTS</prop>
<prop key="pageExists">PROPAGATION_SUPPORTS</prop>
+ <prop key="pageTemplateExists">PROPAGATION_SUPPORTS</prop>
+ <prop key="dynamicPageExists">PROPAGATION_SUPPORTS</prop>
+ <prop key="fragmentDefinitionExists">PROPAGATION_SUPPORTS</prop>
<prop key="linkExists">PROPAGATION_SUPPORTS</prop>
<prop key="userFolderExists">PROPAGATION_SUPPORTS</prop>
<prop key="userPageExists">PROPAGATION_SUPPORTS</prop>
@@ -91,6 +101,33 @@
<constructor-arg index="4" ><ref bean="PageFileCache"/></constructor-arg>
</bean>
+ <bean id="TpsmlDocumentHandler"
+ 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>.tpsml</value></constructor-arg>
+ <constructor-arg index="2" ><value>org.apache.jetspeed.om.page.psml.PageTemplateImpl</value></constructor-arg>
+ <constructor-arg index="3" ><value>${org.apache.jetspeed.page.import.pages}</value></constructor-arg>
+ <constructor-arg index="4" ><ref bean="PageFileCache"/></constructor-arg>
+ </bean>
+
+ <bean id="DpsmlDocumentHandler"
+ 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>.dpsml</value></constructor-arg>
+ <constructor-arg index="2" ><value>org.apache.jetspeed.om.page.psml.DynamicPageImpl</value></constructor-arg>
+ <constructor-arg index="3" ><value>${org.apache.jetspeed.page.import.pages}</value></constructor-arg>
+ <constructor-arg index="4" ><ref bean="PageFileCache"/></constructor-arg>
+ </bean>
+
+ <bean id="FpsmlDocumentHandler"
+ 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>.fpsml</value></constructor-arg>
+ <constructor-arg index="2" ><value>org.apache.jetspeed.om.page.psml.FragmentDefinitionImpl</value></constructor-arg>
+ <constructor-arg index="3" ><value>${org.apache.jetspeed.page.import.pages}</value></constructor-arg>
+ <constructor-arg index="4" ><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>
@@ -125,6 +162,15 @@
<entry key=".psml">
<ref bean="PsmlDocumentHandler" />
</entry>
+ <entry key=".tpsml">
+ <ref bean="TpsmlDocumentHandler" />
+ </entry>
+ <entry key=".dpsml">
+ <ref bean="DpsmlDocumentHandler" />
+ </entry>
+ <entry key=".fpsml">
+ <ref bean="FpsmlDocumentHandler" />
+ </entry>
<entry key=".link">
<ref bean="LinkDocumentHandler" />
</entry>
Modified: portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/CommonPortletServices.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/CommonPortletServices.java?rev=881862&r1=881861&r2=881862&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/CommonPortletServices.java (original)
+++ portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/CommonPortletServices.java Wed Nov 18 18:24:48 2009
@@ -61,4 +61,5 @@
public final static String CPS_AUTHENTICATION_PROVIDER = "cps:AuthenticationProvider";
public final static String CPS_CACHE_MONITOR = "cps:CacheMonitor";
public final static String CPS_SPACES_SERVICE = "cps:SpacesService";
-}
\ No newline at end of file
+ public final static String CPS_PAGE_LAYOUT_COMPONENT = "cps:PageLayoutComponent";
+}
Modified: portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/components/portletentity/PortletEntityAccessComponent.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/components/portletentity/PortletEntityAccessComponent.java?rev=881862&r1=881861&r2=881862&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/components/portletentity/PortletEntityAccessComponent.java (original)
+++ portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/components/portletentity/PortletEntityAccessComponent.java Wed Nov 18 18:24:48 2009
@@ -19,7 +19,6 @@
import java.util.Collection;
import org.apache.jetspeed.om.page.ContentFragment;
-import org.apache.jetspeed.om.page.Fragment;
import org.apache.jetspeed.container.PortletEntity;
import org.apache.jetspeed.om.portlet.PortletDefinition;
@@ -66,7 +65,7 @@
* @param fragment
* @return
*/
- String generateEntityKey(Fragment fragment);
+ String generateEntityKey(ContentFragment fragment);
/**
*
Modified: portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/components/portletpreferences/PortletPreferencesProvider.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/components/portletpreferences/PortletPreferencesProvider.java?rev=881862&r1=881861&r2=881862&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/components/portletpreferences/PortletPreferencesProvider.java (original)
+++ portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/components/portletpreferences/PortletPreferencesProvider.java Wed Nov 18 18:24:48 2009
@@ -126,15 +126,16 @@
throws PreferencesException;
/**
- * Store entity preferences contained in the map parameter for a given page and window
+ * Store entity preferences contained in the map parameter for a given window
*
* @param map
* @param page
* @param window
* @throws PreferencesException
*/
- public void storeEntityPreferences(Map<String, PortletPreference> map, ContentPage page, PortletWindow window)
+ public void storeEntityPreferences(Map<String, PortletPreference> map, PortletWindow window)
throws PreferencesException;
+
/**
* Retrieve entity ids (window) given portlet definitaion
*
Modified: portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/container/PortletEntity.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/container/PortletEntity.java?rev=881862&r1=881861&r2=881862&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/container/PortletEntity.java (original)
+++ portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/container/PortletEntity.java Wed Nov 18 18:24:48 2009
@@ -17,7 +17,7 @@
package org.apache.jetspeed.container;
-import org.apache.jetspeed.om.page.Fragment;
+import org.apache.jetspeed.om.page.ContentFragment;
import org.apache.jetspeed.om.portlet.PortletDefinition;
/**
@@ -37,6 +37,6 @@
String getPortletUniqueName();
- void setFragment(Fragment fragment);
- Fragment getFragment();
+ void setFragment(ContentFragment fragment);
+ ContentFragment getFragment();
}
Modified: portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/decoration/DecorationFactory.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/decoration/DecorationFactory.java?rev=881862&r1=881861&r2=881862&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/decoration/DecorationFactory.java (original)
+++ portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/decoration/DecorationFactory.java Wed Nov 18 18:24:48 2009
@@ -19,8 +19,8 @@
import java.util.List;
import java.util.Set;
-import org.apache.jetspeed.om.page.Fragment;
-import org.apache.jetspeed.om.page.Page;
+import org.apache.jetspeed.om.page.ContentFragment;
+import org.apache.jetspeed.om.page.ContentPage;
import org.apache.jetspeed.request.RequestContext;
/**
@@ -51,7 +51,7 @@
* @see Theme
* @see RequestContext
*/
- Theme getTheme(Page page, RequestContext requestContext);
+ Theme getTheme(ContentPage page, RequestContext requestContext);
/**
* Returns a names portlet Decoration appropriate to the
@@ -101,7 +101,7 @@
* @see Fragment
* @see RequestContext
*/
- Decoration getDecoration(Page page, Fragment fragment, RequestContext requestContext);
+ Decoration getDecoration(ContentPage page, ContentFragment fragment, RequestContext requestContext);
/**
* Indicates whether /desktop is enabled for the current portal request.
Modified: portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/decoration/Theme.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/decoration/Theme.java?rev=881862&r1=881861&r2=881862&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/decoration/Theme.java (original)
+++ portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/decoration/Theme.java Wed Nov 18 18:24:48 2009
@@ -19,8 +19,8 @@
import java.util.Collection;
import java.util.Set;
-import org.apache.jetspeed.om.page.Fragment;
-import org.apache.jetspeed.om.page.Page;
+import org.apache.jetspeed.om.page.ContentFragment;
+import org.apache.jetspeed.om.page.ContentPage;
import org.apache.jetspeed.request.RequestContext;
/**
@@ -43,12 +43,12 @@
* Returns a a Decoration for the requested fragment.
*
* @param fragment whose decoration we want to retrieve.
- * @return Decroration for this fragment.
+ * @return Decoration for this fragment.
*
* @see Decoration
* @see Fragment
*/
- Decoration getDecoration(Fragment fragment);
+ Decoration getDecoration(ContentFragment fragment);
/**
* Get a list of portlet decoration names used by
@@ -76,7 +76,7 @@
*
* @param context
*/
- void init(Page page, DecorationFactory decoration, RequestContext context);
+ void init(ContentPage page, DecorationFactory decoration, RequestContext context);
boolean isInvalidated();
Modified: portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/layout/JetspeedPowerTool.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/layout/JetspeedPowerTool.java?rev=881862&r1=881861&r2=881862&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/layout/JetspeedPowerTool.java (original)
+++ portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/layout/JetspeedPowerTool.java Wed Nov 18 18:24:48 2009
@@ -27,7 +27,7 @@
import org.apache.jetspeed.locator.TemplateDescriptor;
import org.apache.jetspeed.locator.TemplateLocatorException;
import org.apache.jetspeed.om.page.ContentFragment;
-import org.apache.jetspeed.om.page.Page;
+import org.apache.jetspeed.om.page.ContentPage;
import org.apache.jetspeed.portlet.HeadElement;
import org.apache.jetspeed.util.KeyValue;
@@ -111,7 +111,7 @@
*
* @return
*/
- Page getPage();
+ ContentPage getPage();
/**
*
Added: portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/layout/PageLayoutComponent.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/layout/PageLayoutComponent.java?rev=881862&view=auto
==============================================================================
--- portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/layout/PageLayoutComponent.java (added)
+++ portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/layout/PageLayoutComponent.java Wed Nov 18 18:24:48 2009
@@ -0,0 +1,269 @@
+/*
+ * 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.
+ */
+package org.apache.jetspeed.layout;
+
+import java.util.Locale;
+import java.util.Map;
+
+import org.apache.jetspeed.om.page.ContentFragment;
+import org.apache.jetspeed.om.page.ContentPage;
+import org.apache.jetspeed.om.page.Page;
+
+/**
+ * Page layout component interface.
+ *
+ * @author <a href="mailto:rwatler@apache.org">Randy Watler</a>
+ * @version $Id:$
+ */
+public interface PageLayoutComponent
+{
+ /**
+ * Add fragment to page at specified row column layout position
+ * returning associated content fragment. Fragment is always added to
+ * the page root layout fragment.
+ *
+ * @param contentPage content page context
+ * @param contentFragment externally constructed fragment to add
+ * @param row fragment row position
+ * @param column fragment column position
+ * @return content fragment added to page
+ */
+ ContentFragment addFragmentAtRowColumn(ContentPage contentPage, ContentFragment contentFragment, int row, int column);
+
+ /**
+ * Add portlet to fragment with specified row and column returning
+ * associated content fragment.
+ *
+ * @param contentFragment content fragment context
+ * @param type portlet type
+ * @param name portlet name
+ * @param row fragment row position
+ * @param column fragment column position
+ * @return new content fragment added to fragment
+ */
+ ContentFragment addPortlet(ContentFragment contentFragment, String type, String name, int row, int column);
+
+ /**
+ * Add portlet to fragment returning associated content fragment.
+ *
+ * @param contentFragment content fragment context
+ * @param type portlet type
+ * @param name portlet name
+ * @return new content fragment added to fragment
+ */
+ ContentFragment addPortlet(ContentFragment contentFragment, String type, String name);
+
+ /**
+ * Add portlet to page returning associated content fragment.
+ *
+ * @param contentPage content page context
+ * @param type portlet type
+ * @param name portlet name
+ * @return new content fragment added to page
+ */
+ ContentFragment addPortlet(ContentPage contentPage, String type, String name);
+
+ /**
+ * Decrement position of folder in parent folder document order.
+ *
+ * @param contentPage content page context
+ */
+ void decrementFolderInDocumentOrder(ContentPage contentPage);
+
+ /**
+ * Decrement position of page in folder document order.
+ *
+ * @param contentPage content page context
+ */
+ void decrementInDocumentOrder(ContentPage contentPage);
+
+ /**
+ * Increment position of folder in parent folder document order.
+ *
+ * @param contentPage content page context
+ */
+ void incrementFolderInDocumentOrder(ContentPage contentPage);
+
+ /**
+ * Increment position of page in folder document order.
+ *
+ * @param contentPage content page context
+ */
+ void incrementInDocumentOrder(ContentPage contentPage);
+
+ /**
+ * Move fragment from current parent layout fragment to another
+ * layout fragment in the same page.
+ *
+ * @param contentPage content page context
+ * @param fragmentId fragment id of fragment to move
+ * @param fromFragmentId fragment id of current parent layout fragment
+ * @param toFragmentId fragment id of new parent layout fragment
+ */
+ void moveFragment(ContentPage contentPage, String fragmentId, String fromFragmentId, String toFragmentId);
+
+ /**
+ * Construct a new content page hierarchy from PSML page.
+ *
+ * @param page PSML page to construct content page from
+ * @return new content page
+ */
+ ContentPage newContentPage(Page page);
+
+ /**
+ * Create a new sibling folder with specified configuration and
+ * new default page. Also, adds folder to end of page folder
+ * document order list. The default page is added to the new
+ * folder document order list. Both title and short title
+ * parameters default to page name if not specified. The layout
+ * fragment name for the default page is cloned from this content
+ * page if not specified. Default decorators are cloned from this
+ * content page.
+ *
+ * @param contentPage content page context
+ * @param folderName unique new folder name, (also used as
+ * default page title)
+ * @param folderTitle new folder title or null
+ * @param folderShortTitle new folder short title or null
+ * @param defaultPageLayoutName root level layout fragment name
+ * for default page
+ */
+ void newSiblingFolder(ContentPage contentPage, String folderName, String folderTitle, String folderShortTitle, String defaultPageLayoutName);
+
+ /**
+ * Create new sibling page with specified configuration and add
+ * new page at end of folder document order list. Both title and
+ * short title parameters default to page name if not specified.
+ * The layout fragment name is cloned from this content page if
+ * not specified. Default decorators are cloned from this content
+ * page.
+ *
+ * @param contentPage content page context
+ * @param pageName unique new page name
+ * @param layoutName root level layout fragment name or null
+ * @param pageTitle new page title or null
+ * @param pageShortTitle new page short title or null
+ */
+ void newSiblingPage(ContentPage contentPage, String pageName, String layoutName, String pageTitle, String pageShortTitle);
+
+ /**
+ * Remove fragment from page by id.
+ *
+ * @param contentPage content page context
+ * @param fragmentId id of fragment to remove
+ * @return flag indicating removed
+ */
+ void removeFragment(ContentPage contentPage, String fragmentId);
+
+ /**
+ * Remove page and remove from folder document order list.
+ *
+ * @param contentPage content page context
+ */
+ void remove(ContentPage contentPage);
+
+ /**
+ * Remove folder and remove from parent folder document order list.
+ *
+ * @param contentPage content page context
+ */
+ void removeFolder(ContentPage contentPage);
+
+ /**
+ * Update fragment portlet decorator.
+ *
+ * @param contentFragment content fragment context
+ * @param decoratorName portlet decorator name
+ */
+ void updateDecorator(ContentFragment contentFragment, String decoratorName);
+
+ /**
+ * Update page default decorator.
+ *
+ * @param contentPage content page context
+ * @param decoratorName decorator name
+ * @param fragmentType decorator fragment type
+ */
+ void updateDefaultDecorator(ContentPage contentPage, String decoratorName, String fragmentType);
+
+ /**
+ * Update folder titles.
+ *
+ * @param contentPage content page context
+ * @param title folder title
+ * @param shortTitle folder short title
+ */
+ void updateFolderTitles(ContentPage contentPage, String title, String shortTitle);
+
+ /**
+ * Update fragment name.
+ *
+ * @param contentFragment content fragment context
+ * @param name fragment name
+ */
+ void updateName(ContentFragment contentFragment, String name);
+
+ /**
+ * Update fragment layout position.
+ *
+ * @param contentFragment content fragment context
+ * @param x fragment X coordinate or -1
+ * @param y fragment Y coordinate or -1
+ * @param z fragment Z level or -1
+ * @param width fragment portlet width or -1
+ * @param height fragment portlet height or -1
+ */
+ void updatePosition(ContentFragment contentFragment, float x, float y, float z, float width, float height);
+
+ /**
+ * Update preferences with new preferences set, accepting
+ * Map of strings, string arrays, FragmentPreference or
+ * PortletPreference. Existing preferences are removed and
+ * replaced with the specified preferences.
+ *
+ * @param contentFragment content fragment context
+ * @param preferences map of new preferences set.
+ */
+ void updatePreferences(ContentFragment contentFragment, Map preferences);
+
+ /**
+ * Update fragment row and column layout position.
+ *
+ * @param contentFragment content fragment context
+ * @param row fragment row position
+ * @param column fragment column position
+ */
+ void updateRowColumn(ContentFragment contentFragment, int row, int column);
+
+ /**
+ * Update fragment portlet state and/or mode.
+ *
+ * @param contentFragment content fragment context
+ * @param portletState fragment portlet state or null
+ * @param portletMode fragment portlet mode or null
+ */
+ void updateStateMode(ContentFragment contentFragment, String portletState, String portletMode);
+
+ /**
+ * Update page titles.
+ *
+ * @param contentPage content page context
+ * @param title page title
+ * @param shortTitle page short title
+ */
+ void updateTitles(ContentPage contentPage, String title, String shortTitle);
+}
Modified: portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/layout/PortletPlacementContext.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/layout/PortletPlacementContext.java?rev=881862&r1=881861&r2=881862&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/layout/PortletPlacementContext.java (original)
+++ portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/layout/PortletPlacementContext.java Wed Nov 18 18:24:48 2009
@@ -16,8 +16,8 @@
*/
package org.apache.jetspeed.layout;
-import org.apache.jetspeed.om.page.Fragment;
-import org.apache.jetspeed.om.page.Page;
+import org.apache.jetspeed.om.page.ContentFragment;
+import org.apache.jetspeed.om.page.ContentPage;
/**
* Handles portlet placement for client such as AJAX client side
@@ -38,7 +38,7 @@
* @return new coordinate location of the portlet
* @throws PortletPlacementException
*/
- public Coordinate moveAbsolute(Fragment fragment, Coordinate coordinate ) throws PortletPlacementException;
+ public Coordinate moveAbsolute(ContentFragment fragment, Coordinate coordinate ) throws PortletPlacementException;
/**
* Move a portlet fragment to a new absolute position as specified in the Coordinate parameter.
@@ -49,7 +49,7 @@
* @return new coordinate location of the portlet
* @throws PortletPlacementException
*/
- public Coordinate moveAbsolute(Fragment fragment, Coordinate coordinate, boolean addFragment) throws PortletPlacementException;
+ public Coordinate moveAbsolute(ContentFragment fragment, Coordinate coordinate, boolean addFragment) throws PortletPlacementException;
/**
* Move a portlet relative to its current position UP one row.
@@ -58,7 +58,7 @@
* @return new coordinate location of the portlet
* @throws PortletPlacementException
*/
- public Coordinate moveUp(Fragment fragment) throws PortletPlacementException;
+ public Coordinate moveUp(ContentFragment fragment) throws PortletPlacementException;
/**
* Move a portlet relative to its current position DOWN one row.
@@ -67,7 +67,7 @@
* @return new coordinate location of the portlet
* @throws PortletPlacementException
*/
- public Coordinate moveDown(Fragment fragment) throws PortletPlacementException;
+ public Coordinate moveDown(ContentFragment fragment) throws PortletPlacementException;
/**
* Move a portlet relative to its current position LEFT one column.
@@ -76,7 +76,7 @@
* @return new coordinate location of the portlet
* @throws PortletPlacementException
*/
- public Coordinate moveLeft(Fragment fragment) throws PortletPlacementException;
+ public Coordinate moveLeft(ContentFragment fragment) throws PortletPlacementException;
/**
* Move a portlet relative to its current position RIGHT one column.
@@ -85,7 +85,7 @@
* @return new coordinate location of the portlet
* @throws PortletPlacementException
*/
- public Coordinate moveRight(Fragment fragment) throws PortletPlacementException;
+ public Coordinate moveRight(ContentFragment fragment) throws PortletPlacementException;
/**
* Add a portlet to its managed page.
@@ -95,7 +95,7 @@
* @return
* @throws PortletPlacementException
*/
- public Coordinate add(Fragment fragment, Coordinate coordinate) throws PortletPlacementException;
+ public Coordinate add(ContentFragment fragment, Coordinate coordinate) throws PortletPlacementException;
/**
* Remove the specified fragment.
@@ -103,7 +103,7 @@
* @return
* @throws PortletPlacementException
*/
- public Coordinate remove(Fragment fragment) throws PortletPlacementException;
+ public Coordinate remove(ContentFragment fragment) throws PortletPlacementException;
/**
* retrieve the number of columns for the managed layout.
@@ -129,7 +129,7 @@
* @return the fragment associated to the given coordinate
* @throws PortletPlacementException
*/
- public Fragment getFragmentAtNewCoordinate(Coordinate coordinate) throws PortletPlacementException;
+ public ContentFragment getFragmentAtNewCoordinate(Coordinate coordinate) throws PortletPlacementException;
/**
* Retrieve the old portlet fragment for the given coordinate (prior to placement).
@@ -138,7 +138,7 @@
* @return the fragment associated to the given coordinate
* @throws PortletPlacementException
*/
- public Fragment getFragmentAtOldCoordinate(Coordinate coordinate) throws PortletPlacementException;
+ public ContentFragment getFragmentAtOldCoordinate(Coordinate coordinate) throws PortletPlacementException;
/**
* Retrieve a fragment by fragment id.
@@ -147,7 +147,7 @@
* @return The fragment associated with the given fragment id.
* @throws PortletPlacementException
*/
- public Fragment getFragmentById(String fragmentId) throws PortletPlacementException;
+ public ContentFragment getFragmentById(String fragmentId) throws PortletPlacementException;
/**
* Takes the internal portlet placement state and writes it back
@@ -155,6 +155,6 @@
*
* @return the managed page layout with updated fragment state.
*/
- public Page syncPageFragments();
+ public ContentPage syncPageFragments();
}
Modified: portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/mockobjects/request/MockRequestContext.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/mockobjects/request/MockRequestContext.java?rev=881862&r1=881861&r2=881862&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/mockobjects/request/MockRequestContext.java (original)
+++ portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/mockobjects/request/MockRequestContext.java Wed Nov 18 18:24:48 2009
@@ -32,6 +32,7 @@
import org.apache.jetspeed.container.PortletWindow;
import org.apache.jetspeed.container.state.NavigationalState;
import org.apache.jetspeed.container.url.PortalURL;
+import org.apache.jetspeed.layout.PageLayoutComponent;
import org.apache.jetspeed.mockobjects.MockHttpServletRequest;
import org.apache.jetspeed.om.page.ContentFragment;
import org.apache.jetspeed.om.page.ContentPage;
@@ -533,7 +534,10 @@
this.response = response;
}
- public ContentPage locatePage(Profiler profiler, String nonProfiledPath)
+ /* (non-Javadoc)
+ * @see org.apache.jetspeed.request.RequestContext#locatePage(org.apache.jetspeed.profiler.Profiler, org.apache.jetspeed.layout.PageLayoutComponent, java.lang.String)
+ */
+ public ContentPage locatePage(Profiler profiler, PageLayoutComponent pageLayoutComponent, String nonProfiledPath)
{
return null;
}
Modified: portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/om/folder/Folder.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/om/folder/Folder.java?rev=881862&r1=881861&r2=881862&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/om/folder/Folder.java (original)
+++ portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/om/folder/Folder.java Wed Nov 18 18:24:48 2009
@@ -18,9 +18,13 @@
import java.util.List;
+import org.apache.jetspeed.om.common.SecuredResource;
+import org.apache.jetspeed.om.page.DynamicPage;
+import org.apache.jetspeed.om.page.FragmentDefinition;
import org.apache.jetspeed.om.page.Link;
import org.apache.jetspeed.om.page.Page;
import org.apache.jetspeed.om.page.PageSecurity;
+import org.apache.jetspeed.om.page.PageTemplate;
import org.apache.jetspeed.page.PageNotFoundException;
import org.apache.jetspeed.page.document.DocumentException;
import org.apache.jetspeed.page.document.DocumentNotFoundException;
@@ -35,7 +39,7 @@
* @author <a href="mailto:jford@apache.org">Jeremy Ford</a>
* @version $Id$
*/
-public interface Folder extends Node
+public interface Folder extends Node, SecuredResource
{
String FOLDER_TYPE = "folder";
@@ -186,6 +190,45 @@
/**
*
* <p>
+ * getPageTemplates
+ * </p>
+ *
+ * @return NodeSet of all the PageTemplates referenced by this Folder.
+ * @throws NodeException
+ * @throws PageNotFoundException if any of the PageTemplates referenced by this Folder
+ * could not be found.
+ */
+ NodeSet getPageTemplates() throws NodeException;
+
+ /**
+ *
+ * <p>
+ * getDynamicPages
+ * </p>
+ *
+ * @return NodeSet of all the DynamicPages referenced by this Folder.
+ * @throws NodeException
+ * @throws PageNotFoundException if any of the DynamicPages referenced by this Folder
+ * could not be found.
+ */
+ NodeSet getDynamicPages() throws NodeException;
+
+ /**
+ *
+ * <p>
+ * getFragmentDefinitions
+ * </p>
+ *
+ * @return NodeSet of all the FragmentDefinitions referenced by this Folder.
+ * @throws NodeException
+ * @throws PageNotFoundException if any of the FragmentDefinitions referenced by this Folder
+ * could not be found.
+ */
+ NodeSet getFragmentDefinitions() throws NodeException;
+
+ /**
+ *
+ * <p>
* getPage
* </p>
*
@@ -200,6 +243,48 @@
/**
*
* <p>
+ * getPageTemplate
+ * </p>
+ *
+ * @param name
+ * @return A PageTemplate referenced by this folder.
+ * @throws PageNotFoundException if the PageTemplate requested could not be found.
+ * @throws DocumentException
+ * @throws NodeException
+ */
+ PageTemplate getPageTemplate(String name) throws PageNotFoundException, NodeException;
+
+ /**
+ *
+ * <p>
+ * getDynamicPage
+ * </p>
+ *
+ * @param name
+ * @return A DynamicPage referenced by this folder.
+ * @throws PageNotFoundException if the DynamicPage requested could not be found.
+ * @throws DocumentException
+ * @throws NodeException
+ */
+ DynamicPage getDynamicPage(String name) throws PageNotFoundException, NodeException;
+
+ /**
+ *
+ * <p>
+ * getFragmentDefinition
+ * </p>
+ *
+ * @param name
+ * @return A FragmentDefinition referenced by this folder.
+ * @throws PageNotFoundException if the FragmentDefinition requested could not be found.
+ * @throws DocumentException
+ * @throws NodeException
+ */
+ FragmentDefinition getFragmentDefinition(String name) throws PageNotFoundException, NodeException;
+
+ /**
+ *
+ * <p>
* getLinks
* </p>
*
Added: portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/om/page/BaseConcretePageElement.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/om/page/BaseConcretePageElement.java?rev=881862&view=auto
==============================================================================
--- portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/om/page/BaseConcretePageElement.java (added)
+++ portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/om/page/BaseConcretePageElement.java Wed Nov 18 18:24:48 2009
@@ -0,0 +1,37 @@
+/*
+ * 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.
+ */
+package org.apache.jetspeed.om.page;
+
+/**
+ * This interface represents a concrete page document used by Jetspeed
+ * to define a portal page.
+ *
+ * @author <a href="mailto:rwatler@apache.org">Randy Watler</a>
+ * @version $Id:$
+ */
+public interface BaseConcretePageElement extends BasePageElement
+{
+ /**
+ * Returns the name of the default decorator as set here or
+ * in parent folders that applies in this page to fragments
+ * of the specified type.
+ *
+ * @param fragmentType the type of fragment considered
+ * @return the decorator name for the selected type
+ */
+ String getEffectiveDefaultDecorator(String fragmentType);
+}
Modified: portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/om/page/BaseElement.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/om/page/BaseElement.java?rev=881862&r1=881861&r2=881862&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/om/page/BaseElement.java (original)
+++ portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/om/page/BaseElement.java Wed Nov 18 18:24:48 2009
@@ -32,34 +32,33 @@
*
* @return the unique id of this element.
*/
- public String getId();
+ String getId();
/**
* Returns the title in the default Locale
*
* @return the page title
*/
- public String getTitle();
+ String getTitle();
/**
* Sets the title for the default Locale
*
* @param title the new title
*/
- public void setTitle(String title);
+ void setTitle(String title);
/**
* Returns the short title in the default Locale
*
* @return the page short title
*/
- public String getShortTitle();
+ String getShortTitle();
/**
* Sets the short title for the default Locale
*
* @param title the new title
*/
- public void setShortTitle(String title);
-
+ void setShortTitle(String title);
}
Added: portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/om/page/BaseFragmentElement.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/om/page/BaseFragmentElement.java?rev=881862&view=auto
==============================================================================
--- portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/om/page/BaseFragmentElement.java (added)
+++ portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/om/page/BaseFragmentElement.java Wed Nov 18 18:24:48 2009
@@ -0,0 +1,300 @@
+/*
+ * 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.
+ */
+
+package org.apache.jetspeed.om.page;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>A <code>BaseFragmentElement</code> is the basic element handled by the
+ * aggregation engine to compose the final portal page. It represents a reserved
+ * screen area whose layout is managed by a specified component. The fragment
+ * also holds layout and rendering properties/preferences.</p>
+ *
+ * @version $Id:$
+ */
+public interface BaseFragmentElement extends BaseElement
+{
+ /**
+ * row standard layout property name
+ */
+ String ROW_PROPERTY_NAME = "row";
+
+ /**
+ * column standard layout property name
+ */
+ String COLUMN_PROPERTY_NAME = "column";
+
+ /**
+ * sizes standard layout property name
+ */
+ String SIZES_PROPERTY_NAME = "sizes";
+
+ /**
+ * x coordinate standard layout property name
+ */
+ String X_PROPERTY_NAME = "x";
+
+ /**
+ * y coordinate standard layout property name
+ */
+ String Y_PROPERTY_NAME = "y";
+
+ /**
+ * z coordinate standard layout property name
+ */
+ String Z_PROPERTY_NAME = "z";
+
+ /**
+ * width standard layout property name
+ */
+ String WIDTH_PROPERTY_NAME = "width";
+
+ /**
+ * height standard layout property name
+ */
+ String HEIGHT_PROPERTY_NAME = "height";
+
+ /**
+ * Sets the unique Id of this fragment. This id must be unique from the
+ * complete portal and must be suitable as a unique key.
+ *
+ * @param fragmentId the unique id of this fragment.
+ */
+ void setId(String fragmentId);
+
+ /**
+ * Returns the name of the skin associated to this fragment
+ */
+ String getSkin();
+
+ /**
+ * Defines the skin for this fragment. This skin should be
+ * known by the portal.
+ *
+ * @param skinName the name of the new skin applied to this fragment
+ */
+ void setSkin(String skinName);
+
+ /**
+ * Returns the name of the decorator bound to this fragment
+ */
+ String getDecorator();
+
+ /**
+ * Defines the decorator for this fragment. This decorator should be
+ * known by the portal.
+ *
+ * @param decoratorName the name of the decorator applied to this fragment
+ */
+ void setDecorator(String decoratorName);
+
+ /**
+ * Returns the display state of this fragment. The state may have the
+ * following values: "Normal","Minimized","Maximized","Hidden"
+ */
+ String getState();
+
+ /**
+ * Sets the display state of this fragment.
+ * Valid states are: "Normal","Minimized","Maximized","Hidden"
+ *
+ * @param state the new fragment state
+ */
+ void setState(String state);
+
+ /**
+ * Returns the display mode of this fragment. The mode may have the
+ * following values: "View","Edit","Help","Config","Print","Custom"
+ */
+ String getMode();
+
+ /**
+ * Sets the display mode of this fragment.
+ * Valid modes are: "View","Edit","Help","Config","Print","Custom"
+ *
+ * @param mode the new fragment mode
+ */
+ void setMode(String mode);
+
+ /**
+ * getProperty
+ *
+ * Get named property value.
+ *
+ * @param propName property name
+ * @return value
+ */
+ String getProperty(String propName);
+
+ /**
+ * getIntProperty
+ *
+ * Get named property value as integer.
+ *
+ * @param propName property name
+ * @return int value
+ */
+ int getIntProperty(String propName);
+
+ /**
+ * getFloatProperty
+ *
+ * Get named property value as float.
+ *
+ * @param propName property name
+ * @return float value
+ */
+ float getFloatProperty(String propName);
+
+ /**
+ * getProperties
+ *
+ * Get writable Map of properties by name.
+ *
+ * @return properties map
+ */
+ Map getProperties();
+
+ /**
+ * get layout row property
+ *
+ * @return row layout property
+ **/
+ int getLayoutRow();
+
+ /**
+ * set the layout row property
+ *
+ * @param row
+ */
+ void setLayoutRow(int row);
+
+ /**
+ * get layout column property
+ *
+ * @return column layout property
+ **/
+ int getLayoutColumn();
+
+ /**
+ * set the layout column property
+ *
+ * @param column
+ */
+ void setLayoutColumn(int column);
+
+ /**
+ * get layout sizes property, (i.e. "25%,75%")
+ *
+ * @return sizes layout property
+ **/
+ String getLayoutSizes();
+
+ /**
+ * set the layout sizes
+ *
+ * @param sizes
+ */
+ void setLayoutSizes(String sizes);
+
+ /**
+ * get layout x coordinate property
+ *
+ * @return the x coordinate value
+ **/
+ float getLayoutX();
+
+ /**
+ * set the layout x coordinate property
+ *
+ * @param x the coordinate value
+ */
+ void setLayoutX(float x);
+
+ /**
+ * get layout y coordinate property
+ *
+ * @return the y coordinate value
+ **/
+ float getLayoutY();
+
+ /**
+ * set the layout y coordinate property
+ *
+ * @param y the coordinate value
+ */
+ void setLayoutY(float y);
+
+ /**
+ * get layout z coordinate property
+ *
+ * @return the z coordinate value
+ **/
+ float getLayoutZ();
+
+ /**
+ * set the layout z coordinate property
+ *
+ * @param z the coordinate value
+ */
+ void setLayoutZ(float z);
+
+ /**
+ * get layout width property
+ *
+ * @return the width value
+ **/
+ float getLayoutWidth();
+
+ /**
+ * set the layout width property
+ *
+ * @param width the value
+ */
+ void setLayoutWidth(float width);
+
+ /**
+ * get layout height property
+ *
+ * @return the height value
+ **/
+ float getLayoutHeight();
+
+ /**
+ * set the layout height property
+ *
+ * @param height the value
+ */
+ void setLayoutHeight(float height);
+
+ /**
+ * Get collection of fragment preference objects used
+ * to initialize user preferences
+ *
+ * @return list of FragmentPreference objects
+ */
+ List getPreferences();
+
+ /**
+ * Set collection of fragment preference objects
+ *
+ * @param preferences list of FragmentPreference objects
+ */
+ void setPreferences(List preferences);
+}
Added: portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/om/page/BaseFragmentsElement.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/om/page/BaseFragmentsElement.java?rev=881862&view=auto
==============================================================================
--- portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/om/page/BaseFragmentsElement.java (added)
+++ portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/om/page/BaseFragmentsElement.java Wed Nov 18 18:24:48 2009
@@ -0,0 +1,71 @@
+/*
+ * 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.
+ */
+package org.apache.jetspeed.om.page;
+
+import java.util.List;
+
+/**
+ * This interface represents a generic document with fragments.
+ *
+ * @author <a href="mailto:rwatler@apache.org">Randy Watler</a>
+ * @version $Id:$
+ */
+public interface BaseFragmentsElement extends Document
+{
+ /**
+ * Retrieves the top level fragment of this page. This Fragment should
+ * never be null.
+ *
+ * @return the base Fragment object for this page.
+ */
+ BaseFragmentElement getRootFragment();
+
+ /**
+ * Sets the top level fragment of this page. This Fragment should
+ * never be null.
+ *
+ * @return the base Fragment object for this page.
+ */
+ void setRootFragment(BaseFragmentElement fragment);
+
+ /**
+ * Retrieves the fragment contained within this page, with the
+ * specified Id.
+ *
+ * @param id the fragment id to look for
+ * @return the found Fragment object or null if not found
+ */
+ BaseFragmentElement getFragmentById(String id);
+
+ /**
+ * Removes the fragment contained within this page, with the
+ * specified Id.
+ *
+ * @param id the fragment id to remove
+ * @return the removed Fragment object or null if not found
+ */
+ BaseFragmentElement removeFragmentById(String id);
+
+ /**
+ * Retrieves the fragments contained within this page, with the
+ * specified name.
+ *
+ * @param name the fragment name to look for
+ * @return the list of found Fragment objects or null if not found
+ */
+ List getFragmentsByName(String name);
+}
Added: portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/om/page/BasePageElement.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/om/page/BasePageElement.java?rev=881862&view=auto
==============================================================================
--- portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/om/page/BasePageElement.java (added)
+++ portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/om/page/BasePageElement.java Wed Nov 18 18:24:48 2009
@@ -0,0 +1,116 @@
+/*
+ * 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.
+ */
+package org.apache.jetspeed.om.page;
+
+import java.util.List;
+
+import org.apache.jetspeed.om.folder.MenuDefinition;
+import org.apache.jetspeed.om.folder.MenuExcludeDefinition;
+import org.apache.jetspeed.om.folder.MenuIncludeDefinition;
+import org.apache.jetspeed.om.folder.MenuOptionsDefinition;
+import org.apache.jetspeed.om.folder.MenuSeparatorDefinition;
+
+/**
+ * This interface represents a generic page document used by Jetspeed
+ * to layout a portal page.
+ *
+ * @author <a href="mailto:rwatler@apache.org">Randy Watler</a>
+ * @version $Id:$
+ */
+public interface BasePageElement extends BaseFragmentsElement
+{
+ /**
+ * Returns the name of the default skin that applies to this
+ * page.
+ *
+ * @return the page default skin name
+ */
+ String getSkin();
+
+ /**
+ * Modifies the skin for this page.
+ *
+ * @param skinName the name of the new skin for the page
+ */
+ void setSkin(String skinName);
+
+ /**
+ * Returns the name of the default decorator that applies in this page
+ * to fragments of the specified type
+ *
+ * @param fragmentType the type of fragment considered
+ * @return the decorator name for the selected type
+ */
+ String getDefaultDecorator(String fragmentType);
+
+ /**
+ * Modifies the default decorator for the specified fragment type.
+ *
+ * @param decoratorName the name of the new decorator for the type
+ * @param fragmentType the type of fragment considered
+ */
+ void setDefaultDecorator(String decoratorName, String fragmentType);
+
+ /**
+ * getMenuDefinitions - get list of menu definitions
+ *
+ * @return definition list
+ */
+ List getMenuDefinitions();
+
+ /**
+ * newMenuDefinition - creates a new empty menu definition
+ *
+ * @return a newly created MenuDefinition object for use in Page
+ */
+ MenuDefinition newMenuDefinition();
+
+ /**
+ * newMenuExcludeDefinition - creates a new empty menu exclude definition
+ *
+ * @return a newly created MenuExcludeDefinition object for use in Page
+ */
+ MenuExcludeDefinition newMenuExcludeDefinition();
+
+ /**
+ * newMenuIncludeDefinition - creates a new empty menu include definition
+ *
+ * @return a newly created MenuIncludeDefinition object for use in Page
+ */
+ MenuIncludeDefinition newMenuIncludeDefinition();
+
+ /**
+ * newMenuOptionsDefinition - creates a new empty menu options definition
+ *
+ * @return a newly created MenuOptionsDefinition object for use in Page
+ */
+ MenuOptionsDefinition newMenuOptionsDefinition();
+
+ /**
+ * newMenuSeparatorDefinition - creates a new empty menu separator definition
+ *
+ * @return a newly created MenuSeparatorDefinition object for use in Page
+ */
+ MenuSeparatorDefinition newMenuSeparatorDefinition();
+
+ /**
+ * setMenuDefinitions - set list of menu definitions
+ *
+ * @param definitions definition list
+ */
+ void setMenuDefinitions(List definitions);
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org