Author: bpapez
Date: Wed Jan 2 19:02:51 2008
New Revision: 19445
URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D19445&repname=
=3Djahia
Log:
Performance optimizations: Add a load-flag in the ContentObject.getChilds()=
to specify, whether lists OR fields OR both should be loaded
Modified:
trunk/core/src/java/org/jahia/ajax/sitemap/SiteMapAbstractAction.java
trunk/core/src/java/org/jahia/content/ContentObject.java
trunk/core/src/java/org/jahia/data/beans/ContainerBean.java
trunk/core/src/java/org/jahia/data/viewhelper/sitemap/PageSiteMap.java
trunk/core/src/java/org/jahia/engines/importexport/ManageContentPicker.=
java
trunk/core/src/java/org/jahia/services/fields/ContentField.java
trunk/core/src/java/org/jahia/services/importexport/ImportHandler.java
trunk/core/src/java/org/jahia/services/webdav/stores/JahiaDescriptorsSt=
ore.java
trunk/core/src/java/org/jahia/views/engines/versioning/actions/Containe=
rListVersioningAction.java
Modified: trunk/core/src/java/org/jahia/ajax/sitemap/SiteMapAbstractAction.=
java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/ajax/sitemap/SiteMapAbstractAction.java&rev=3D19445&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/java/org/jahia/ajax/sitemap/SiteMapAbstractAction.java (=
original)
+++ trunk/core/src/java/org/jahia/ajax/sitemap/SiteMapAbstractAction.java W=
ed Jan 2 19:02:51 2008
@@ -20,6 +20,7 @@
import org.jahia.ajax.AjaxAction;
import org.jahia.bin.Jahia;
import org.jahia.content.*;
+import org.jahia.data.containers.JahiaContainerStructure;
import org.jahia.data.viewhelper.sitemap.PagesFilter;
import org.jahia.engines.EngineLanguageHelper;
import org.jahia.engines.JahiaEngine;
@@ -39,6 +40,7 @@
import org.jahia.resourcebundle.JahiaResourceBundle;
import org.jahia.services.acl.JahiaACLManagerService;
import org.jahia.services.acl.JahiaBaseACL;
+import org.jahia.services.containers.ContainerFactoryProxy;
import org.jahia.services.fields.ContentSmallTextField;
import org.jahia.services.lock.LockKey;
import org.jahia.services.lock.LockService;
@@ -842,7 +844,7 @@
if (objectKey.getType().equals(ContentContainerKey.CONTAIN=
ER_TYPE)) {
pageTitle1 +=3D " (Container " + objectKey.getIDInType=
() + ")";
try {
- final List l =3D object.getChilds(null, null);
+ final List l =3D object.getChilds(null, null, Jahi=
aContainerStructure.JAHIA_FIELD);
for (final Iterator iterator =3D l.iterator(); ite=
rator.hasNext();) {
final ContentObject contentObject =3D (Content=
Object) iterator.next();
if (contentObject instanceof ContentSmallTextF=
ield) {
Modified: trunk/core/src/java/org/jahia/content/ContentObject.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/content/ContentObject.java&rev=3D19445&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/java/org/jahia/content/ContentObject.java (original)
+++ trunk/core/src/java/org/jahia/content/ContentObject.java Wed Jan 2 19:=
02:51 2008
@@ -19,6 +19,7 @@
=
import org.jahia.bin.Jahia;
import org.jahia.content.events.ContentActivationEvent;
+import org.jahia.data.containers.JahiaContainerStructure;
import org.jahia.data.fields.JahiaField;
import org.jahia.data.fields.LoadFlags;
import org.jahia.engines.EngineMessage;
@@ -130,6 +131,28 @@
public abstract ArrayList getChilds(JahiaUser user, EntryLoadRequest l=
oadRequest) throws JahiaException;
=
/**
+ * Returns all the childrens of this object, given the current context=
of
+ * the current user (permissions are checked), the current EntryLoadRe=
quest
+ * (used to determine if we are loading active, staging or versioned
+ * entries), and the current operation mode, to check for invalid state
+ * mixtures (such as loading a versioned entry in active mode !)
+ *
+ * @param user the JahiaUser for whom to retrieve the children objects
+ * @param loadRequest the EntryLoadRequest specifying for which state
+ * to retrive the child objects
+ * @param loadFlag JahiaContainerStructure.ALL_TYPES, =
+ * JahiaContainerStructure.JAHIA_FIELD or =
+ * JahiaContainerStructure.JAHIA_CONTAINER =
+ * @return an ArrayList of ContentObject objects that are the children=
of
+ * this object. If the case of a JahiaContainer, the children might be
+ * ContentFields and ContentContainerLists !
+ *
+ * @throws JahiaException thrown in case there was a problem retrieving
+ * the children of this object.
+ */
+ public abstract ArrayList getChilds(JahiaUser user, EntryLoadRequest l=
oadRequest, int loadFlag) throws JahiaException;
+ =
+ /**
* Backward compatibility
* @deprecated
*/
Modified: trunk/core/src/java/org/jahia/data/beans/ContainerBean.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/data/beans/ContainerBean.java&rev=3D19445&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/java/org/jahia/data/beans/ContainerBean.java (original)
+++ trunk/core/src/java/org/jahia/data/beans/ContainerBean.java Wed Jan 2 =
19:02:51 2008
@@ -26,6 +26,7 @@
import org.jahia.data.containers.JahiaContainer;
import org.jahia.data.containers.JahiaContainerDefinition;
import org.jahia.data.containers.JahiaContainerList;
+import org.jahia.data.containers.JahiaContainerStructure;
import org.jahia.data.fields.FieldTypes;
import org.jahia.data.fields.JahiaField;
import org.jahia.exceptions.JahiaException;
@@ -683,28 +684,6 @@
}
=
/**
- * to clean a list from pseudomodel artifacts
- *
- * @param childs
- * @return a list
- */
- private List getChildFieldsOnly(List childs) {
- List results =3D new ArrayList();
- if (childs =3D=3D null || childs.isEmpty()) {
- return results;
- }
- Iterator iterator =3D childs.iterator();
- while (iterator.hasNext()) {
- ContentObject contentObject =3D (ContentObject) iterator.next(=
);
- if (contentObject instanceof ContentField) {
- results.add(contentObject);
- }
-
- }
- return results;
- }
-
- /**
* to get the actionuri for the pickers
* specific format for the launcher to be processed by addactions js f=
unction<br>
*
@@ -728,7 +707,7 @@
pageID =3D o.getPageID();
siteID =3D o.getSiteID();
=
- List l =3D getChildFieldsOnly(o.getChilds(processingContex=
t.getUser(), EntryLoadRequest.STAGED));
+ List l =3D o.getChilds(processingContext.getUser(), EntryL=
oadRequest.STAGED, JahiaContainerStructure.JAHIA_FIELD);
=
for (Iterator iterator1 =3D l.iterator(); iterator1.hasNex=
t();) {
=
Modified: trunk/core/src/java/org/jahia/data/viewhelper/sitemap/PageSiteMap=
.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/data/viewhelper/sitemap/PageSiteMap.java&rev=3D19445&repname=3Djah=
ia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/java/org/jahia/data/viewhelper/sitemap/PageSiteMap.java =
(original)
+++ trunk/core/src/java/org/jahia/data/viewhelper/sitemap/PageSiteMap.java =
Wed Jan 2 19:02:51 2008
@@ -47,6 +47,7 @@
package org.jahia.data.viewhelper.sitemap;
=
import org.jahia.content.*;
+import org.jahia.data.containers.JahiaContainerStructure;
import org.jahia.exceptions.JahiaException;
import org.jahia.resourcebundle.JahiaResourceBundle;
import org.jahia.services.fields.ContentSmallTextField;
@@ -237,7 +238,7 @@
if (objectKey.getType().equals(ContentContainerKey.CON=
TAINER_TYPE)) {
pageTitle1 +=3D " (Container " + objectKey.getIDIn=
Type() + ")";
try {
- List l =3D object.getChilds(null,null);
+ List l =3D object.getChilds(null,null,JahiaCon=
tainerStructure.JAHIA_FIELD);
for (Iterator iterator =3D l.iterator(); itera=
tor.hasNext();) {
ContentObject contentObject =3D (ContentOb=
ject) iterator.next();
if (contentObject instanceof ContentSmallT=
extField) {
Modified: trunk/core/src/java/org/jahia/engines/importexport/ManageContentP=
icker.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/engines/importexport/ManageContentPicker.java&rev=3D19445&repname=
=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/java/org/jahia/engines/importexport/ManageContentPicker.=
java (original)
+++ trunk/core/src/java/org/jahia/engines/importexport/ManageContentPicker.=
java Wed Jan 2 19:02:51 2008
@@ -22,6 +22,7 @@
import org.jahia.content.ContentObject;
import org.jahia.content.StructuralRelationship;
import org.jahia.data.containers.JahiaContainerDefinition;
+import org.jahia.data.containers.JahiaContainerStructure;
import org.jahia.data.search.JahiaContainerSearchHit;
import org.jahia.data.search.JahiaSearchHit;
import org.jahia.data.search.JahiaSearchHitInterface;
@@ -793,7 +794,7 @@
int type =3D JahiaSearchHitInterface.UNDEFINED_TYP=
E;
logger.debug("found compatible?" + key);
String t =3D key;// default object found ID
- List l =3D getChildFieldsOnly(contentContainer.get=
Childs(null, lr));
+ List l =3D contentContainer.getChilds(null, lr, Ja=
hiaContainerStructure.JAHIA_FIELD);
=
boolean descriptionFieldFound =3D false;
=
@@ -962,24 +963,6 @@
return url;
}
=
-
-
- private List getChildFieldsOnly(List childs) {
- List results =3D new ArrayList();
- if (childs =3D=3D null || childs.isEmpty()) {
- return results;
- }
- Iterator iterator =3D childs.iterator();
- ContentObject contentObject;
- while (iterator.hasNext()) {
- contentObject =3D (ContentObject) iterator.next();
- if (contentObject instanceof ContentField) {
- results.add(contentObject);
- }
- }
- return results;
- }
-
private void fillSearchHitsWithMetadataValues(JahiaSearchResult result=
s, String metadataName, ProcessingContext ctx) throws JahiaException {
Vector v =3D results.results();
for (Iterator iterator =3D v.iterator(); iterator.hasNext();) {
Modified: trunk/core/src/java/org/jahia/services/fields/ContentField.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/services/fields/ContentField.java&rev=3D19445&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/java/org/jahia/services/fields/ContentField.java (origin=
al)
+++ trunk/core/src/java/org/jahia/services/fields/ContentField.java Wed Jan=
2 19:02:51 2008
@@ -1820,14 +1820,18 @@
}
}
=
- public ArrayList getChilds(JahiaUser user,
- EntryLoadRequest loadRequest
- )
+ public ArrayList getChilds(JahiaUser user, EntryLoadRequest loadReques=
t)
throws JahiaException {
// default implementation returns no children.
- return new ArrayList ();
+ return new ArrayList();
}
=
+ public ArrayList getChilds(JahiaUser user, EntryLoadRequest loadReques=
t,
+ int loadFlag) throws JahiaException {
+ // default implementation returns no children.
+ return new ArrayList();
+ } =
+
public ContentObject getParent (EntryLoadRequest loadRequest)
throws JahiaException {
// if(parent=3D=3Dnull) {
Modified: trunk/core/src/java/org/jahia/services/importexport/ImportHandler=
.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/services/importexport/ImportHandler.java&rev=3D19445&repname=3Djah=
ia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/java/org/jahia/services/importexport/ImportHandler.java =
(original)
+++ trunk/core/src/java/org/jahia/services/importexport/ImportHandler.java =
Wed Jan 2 19:02:51 2008
@@ -1096,11 +1096,11 @@
JahiaFieldDefinition jfd =3D ((JahiaFieldDefinition)def);
ContentField cf =3D null;
if (parent instanceof ContentContainer) {
- List l =3D parent.getChilds(jParams.getUser(),elr);
+ List l =3D parent.getChilds(jParams.getUser(),elr, JahiaCo=
ntainerStructure.JAHIA_FIELD);
for (Iterator iterator =3D l.iterator(); iterator.hasNext(=
);) {
- ContentObject contentObject =3D (ContentObject) iterat=
or.next();
- if (contentObject instanceof ContentField && ((Content=
Field)contentObject).getDefinitionID(elr)=3D=3Djfd.getID()) {
- cf =3D (ContentField) contentObject;
+ ContentField contentObject =3D (ContentField) iterator=
.next();
+ if (contentObject.getDefinitionID(elr)=3D=3Djfd.getID(=
)) {
+ cf =3D contentObject;
break;
}
}
Modified: trunk/core/src/java/org/jahia/services/webdav/stores/JahiaDescrip=
torsStore.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/services/webdav/stores/JahiaDescriptorsStore.java&rev=3D19445&repn=
ame=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/java/org/jahia/services/webdav/stores/JahiaDescriptorsSt=
ore.java (original)
+++ trunk/core/src/java/org/jahia/services/webdav/stores/JahiaDescriptorsSt=
ore.java Wed Jan 2 19:02:51 2008
@@ -31,6 +31,7 @@
import org.jahia.content.comparators.ContainerListComparator;
import org.jahia.content.comparators.ObjectTypeDispatcherComparator;
import org.jahia.data.containers.JahiaContainerDefinition;
+import org.jahia.data.containers.JahiaContainerStructure;
import org.jahia.data.fields.JahiaField;
import org.jahia.data.fields.JahiaFieldDefinition;
import org.jahia.data.fields.LoadFlags;
@@ -284,7 +285,9 @@
throw new ServiceAccessException(this, "Invalid uri - "+uri);
}
=
- private PathItem getContentPathItem(Uri uri, JahiaSite site, StringTok=
enizer tok, String root, EntryLoadRequest loadRequest, List path) throws Ja=
hiaException, ServiceAccessException {
+ private PathItem getContentPathItem(Uri uri, JahiaSite site,
+ StringTokenizer tok, String root, EntryLoadRequest loadRequest,
+ List path) throws JahiaException, ServiceAccessException {
if (!tok.hasMoreTokens()) {
return new PathItem(root, loadRequest, LANGSELECT, site, path);
}
@@ -292,9 +295,11 @@
String lang =3D tok.nextToken();
path.add(lang);
ArrayList locales =3D new ArrayList();
- locales.add(LanguageCodeConverters.languageCodeToLocale (ContentFi=
eld.SHARED_LANGUAGE));
- locales.add(LanguageCodeConverters.languageCodeToLocale (lang));
- loadRequest =3D new EntryLoadRequest(loadRequest.getWorkflowState(=
), 0, locales);
+ locales.add(LanguageCodeConverters
+ .languageCodeToLocale(ContentField.SHARED_LANGUAGE));
+ locales.add(LanguageCodeConverters.languageCodeToLocale(lang));
+ loadRequest =3D new EntryLoadRequest(loadRequest.getWorkflowState(=
), 0,
+ locales);
int type =3D PAGE;
ContentObject object =3D site.getHomeContentPage();
boolean content =3D false;
@@ -316,52 +321,80 @@
=
boolean isContainerList =3D s.indexOf('[') !=3D -1;
=
-// JahiaContainerDefinition jcd =3D JahiaContainerDefin=
itionsRegistry.getInstance().getDefinition(site.getID(), s);
-// JahiaFieldDefinition jfd =3D JahiaFieldDefinitionsRe=
gistry.getInstance().getDefinition(site.getID(), s);
-// boolean isContainerList =3D (jcd !=3D null);
+ // JahiaContainerDefinition jcd =3D JahiaContainer=
DefinitionsRegistry.getInstance().getDefinition(site.getID(), s);
+ // JahiaFieldDefinition jfd =3D JahiaFieldDefiniti=
onsRegistry.getInstance().getDefinition(site.getID(), s);
+ // boolean isContainerList =3D (jcd !=3D null);
if (isContainerList) {
ContentContainerList ccl;
- String name =3D s.substring(0,s.lastIndexOf('[=
'));
+ String name =3D s.substring(0, s.lastIndexOf('=
['));
if (object instanceof ContentContainer) {
- ccl =3D ((ContentContainer) object).getJah=
iaContainer(null, loadRequest).getContainerList(name).getContentContainerLi=
st();
+ ccl =3D ((ContentContainer) object)
+ .getJahiaContainer(null, loadReque=
st)
+ .getContainerList(name)
+ .getContentContainerList();
} else {
- int id =3D ServicesRegistry.getInstance().=
getJahiaContainersService().getContainerListID(name, pageID);
- ccl =3D ServicesRegistry.getInstance().get=
JahiaContainersService().loadContainerList(id, LoadFlags.NOTHING, null, loa=
dRequest, new Hashtable (), new Hashtable (), new Hashtable()).getContentCo=
ntainerList();
+ int id =3D ServicesRegistry.getInstance()
+ .getJahiaContainersService()
+ .getContainerListID(name, pageID);
+ ccl =3D ServicesRegistry.getInstance()
+ .getJahiaContainersService()
+ .loadContainerList(id,
+ LoadFlags.NOTHING, null,
+ loadRequest, new Hashtable=
(),
+ new Hashtable(),
+ new Hashtable())
+ .getContentContainerList();
}
=
- int index =3D Integer.parseInt(s.substring(s.l=
astIndexOf('[')+1,s.lastIndexOf(']')));
+ int index =3D Integer.parseInt(s.substring(s
+ .lastIndexOf('[') + 1, s.lastIndexOf('=
]')));
List l =3D ccl.getChilds(null, loadRequest);
orderContainerList(l);
- ContentContainer cc =3D (ContentContainer) l.g=
et(index-1);
+ ContentContainer cc =3D (ContentContainer) l
+ .get(index - 1);
type =3D CONTAINER;
object =3D cc;
} else {
ContentField cf =3D null;
if (object instanceof ContentContainer) {
- List l =3D ((ContentContainer) object).get=
Childs(null, loadRequest);
- for (Iterator iterator =3D l.iterator(); i=
terator.hasNext();) {
- ContentObject contentObject =3D (Conte=
ntObject) iterator.next();
- if (contentObject instanceof ContentFi=
eld) {
- FieldDefinitionKey fdk =3D (FieldD=
efinitionKey) contentObject.getDefinitionKey(loadRequest);
- JahiaFieldDefinition jfd =3D (Jahi=
aFieldDefinition) ContentObject.getInstance(fdk);
- if (jfd.getName().equals(s)) {
- cf =3D (ContentField) contentO=
bject;
- break;
- }
+ List l =3D ((ContentContainer) object).get=
Childs(
+ null, loadRequest,
+ JahiaContainerStructure.JAHIA_FIEL=
D);
+ for (Iterator iterator =3D l.iterator(); i=
terator
+ .hasNext();) {
+ ContentObject contentObject =3D (Conte=
ntObject) iterator
+ .next();
+ FieldDefinitionKey fdk =3D (FieldDefin=
itionKey) contentObject
+ .getDefinitionKey(loadRequest);
+ JahiaFieldDefinition jfd =3D (JahiaFie=
ldDefinition) ContentObject
+ .getInstance(fdk);
+ if (jfd.getName().equals(s)) {
+ cf =3D (ContentField) contentObjec=
t;
+ break;
}
}
} else {
- int id =3D ServicesRegistry.getInstance().=
getJahiaFieldService().getFieldID(s, pageID);
- cf =3D ContentField.getField(id); //Servic=
esRegistry.getInstance().getJahiaFieldService().loadField(id, LoadFlags.NOT=
HING, null, loadRequest).getContentField();
+ int id =3D ServicesRegistry.getInstance()
+ .getJahiaFieldService().getFieldID=
(s,
+ pageID);
+ cf =3D ContentField.getField(id); // Servi=
cesRegistry.getInstance().getJahiaFieldService().loadField(id,
+ // LoadFlags.NOTHING, null, loadRequest).g=
etContentField();
}
object =3D cf;
if (cf instanceof ContentFileField) {
type =3D FILE_FIELD;
} else if (cf instanceof ContentPageField) {
- object =3D ((ContentPageField)object).getC=
ontentPage(loadRequest);
- if (tok.hasMoreTokens() && ((ContentPage)o=
bject).getPageType(loadRequest) =3D=3D JahiaPage.TYPE_LINK) {
- int pageId =3D ((ContentPage)object).g=
etPageLinkID(loadRequest);
- object =3D ServicesRegistry.getInstanc=
e().getJahiaPageService().lookupContentPage(pageId, loadRequest, true);
+ object =3D ((ContentPageField) object)
+ .getContentPage(loadRequest);
+ if (tok.hasMoreTokens()
+ && ((ContentPage) object)
+ .getPageType(loadRequest) =
=3D=3D JahiaPage.TYPE_LINK) {
+ int pageId =3D ((ContentPage) object)
+ .getPageLinkID(loadRequest);
+ object =3D ServicesRegistry.getInstanc=
e()
+ .getJahiaPageService()
+ .lookupContentPage(pageId,
+ loadRequest, true);
}
type =3D PAGE;
} else {
@@ -370,12 +403,14 @@
}
continue;
}
- case CONTAINERLIST : {
+ case CONTAINERLIST: {
// s =3D <containername>_1
- int index =3D Integer.parseInt(s.substring(s.lastI=
ndexOf('[')+1,s.lastIndexOf(']')));
+ int index =3D Integer.parseInt(s.substring(s
+ .lastIndexOf('[') + 1, s.lastIndexOf(']'))=
);
List l =3D object.getChilds(null, loadRequest);
orderContainerList(l);
- ContentContainer cc =3D (ContentContainer) l.get(i=
ndex-1);
+ ContentContainer cc =3D (ContentContainer) l
+ .get(index - 1);
type =3D CONTAINER;
object =3D cc;
continue;
@@ -389,10 +424,17 @@
case FIELD: {
if (object instanceof ContentPageField) {
// only one child - page link
- object =3D ((ContentPageField)object).getConte=
ntPage(loadRequest);
- if (tok.hasMoreTokens() && ((ContentPage)objec=
t).getPageType(loadRequest) =3D=3D JahiaPage.TYPE_LINK) {
- int pageId =3D ((ContentPage)object).getPa=
geLinkID(loadRequest);
- object =3D ServicesRegistry.getInstance().=
getJahiaPageService().lookupContentPage(pageId, loadRequest, true);
+ object =3D ((ContentPageField) object)
+ .getContentPage(loadRequest);
+ if (tok.hasMoreTokens()
+ && ((ContentPage) object)
+ .getPageType(loadRequest) =3D=
=3D JahiaPage.TYPE_LINK) {
+ int pageId =3D ((ContentPage) object)
+ .getPageLinkID(loadRequest);
+ object =3D ServicesRegistry.getInstance()
+ .getJahiaPageService()
+ .lookupContentPage(pageId, loadReq=
uest,
+ true);
}
type =3D PAGE;
} else if (object instanceof ContentField) {
@@ -401,8 +443,9 @@
}
continue;
}
- default : {
- throw new ServiceAccessException(this, "Invalid ur=
i - "+uri);
+ default: {
+ throw new ServiceAccessException(this, "Invalid ur=
i - "
+ + uri);
}
}
}
Modified: trunk/core/src/java/org/jahia/views/engines/versioning/actions/Co=
ntainerListVersioningAction.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/views/engines/versioning/actions/ContainerListVersioningAction.jav=
a&rev=3D19445&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/java/org/jahia/views/engines/versioning/actions/Containe=
rListVersioningAction.java (original)
+++ trunk/core/src/java/org/jahia/views/engines/versioning/actions/Containe=
rListVersioningAction.java Wed Jan 2 19:02:51 2008
@@ -7,6 +7,7 @@
import org.jahia.views.engines.JahiaEngineViewHelper;
import org.jahia.views.engines.JahiaEngineCommonData;
import org.jahia.views.engines.JahiaEngineButtonsHelper;
+import org.jahia.data.containers.JahiaContainerStructure;
import org.jahia.exceptions.JahiaException;
import org.jahia.bin.JahiaErrorDisplay;
import org.jahia.services.version.*;
@@ -401,15 +402,15 @@
protected void containerUndelete(ContentContainer contentContainer,
ProcessingContext jParams, EntryLoadReq=
uest loadRequest, boolean undoStaging)
throws JahiaException {
- List childs =3D contentContainer.getChilds(jParams.getUser(),loadR=
equest);
+ List childs =3D contentContainer.getChilds(jParams.getUser(),loadR=
equest, JahiaContainerStructure.JAHIA_FIELD);
Iterator iterator =3D childs.iterator();
- ContentObject child =3D null;
+ Object child =3D null;
ContentPageField pageField =3D null;
ContentPage subPage =3D null;
String fieldValue =3D null;
boolean pageRestore =3D false;
while ( iterator.hasNext() ){
- child =3D (ContentObject)iterator.next();
+ child =3D iterator.next();
if ( child instanceof ContentPageField ){
pageField =3D (ContentPageField)child;
fieldValue =3D pageField.getValue(jParams,loadRequest);
_______________________________________________
cvs_list mailing list
[email protected]
http://lists.jahia.org/cgi-bin/mailman/listinfo/cvs_list