Author: tdraier
Date: Tue Jul 17 20:21:39 2007
New Revision: 18027
URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D18027&repname=
=3Djahia
Log:
optimized workflow mainobject lookup
Modified:
branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/content/ContentCon=
tainerKey.java
branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/workflow/=
WorkflowService.java
Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/content/Cont=
entContainerKey.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/content/ContentContainerKey.java&rev=3D1802=
7&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
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/content/ContentCon=
tainerKey.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/content/ContentCon=
tainerKey.java Tue Jul 17 20:21:39 2007
@@ -116,6 +116,23 @@
return results;
}
=
+ public Collection getChildsFields(EntryLoadRequest request) {
+ List results =3D new ArrayList();
+ try {
+ Vector v =3D ServicesRegistry.getInstance().getJahiaContainers=
Service().getFieldIDsAndTypesInContainer(getIdInType(), request);
+ for (Iterator iterator =3D v.iterator(); iterator.hasNext();) {
+ Object[] o =3D (Object[]) iterator.next();
+ ContentFieldKey key =3D new ContentFieldKey(((Integer) o[0=
]).intValue());
+ key.setFieldType(((Integer) o[1]).intValue());
+ key.setParent(this);
+ results.add(key);
+ }
+ } catch (JahiaException e) {
+ e.printStackTrace();
+ }
+ return results;
+ }
+
public static String toObjectKeyString(String idInType) {
return toObjectKeyString(CONTAINER_TYPE, idInType);
}
Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/wor=
kflow/WorkflowService.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/services/workflow/WorkflowService.java&rev=
=3D18027&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
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/workflow/=
WorkflowService.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/workflow/=
WorkflowService.java Tue Jul 17 20:21:39 2007
@@ -617,25 +617,22 @@
=
public ContentObjectKey getHardLinkedMainObject(ContentObjectKey objec=
t) throws JahiaException {
ContentObjectKey workflowMainObject =3D object;
+ Collection c =3D null;
if (ContentContainerKey.CONTAINER_TYPE.equals(object.getType())) {
- Collection l =3D object.getChilds(loadRequest);
+ Collection l =3D ((ContentContainerKey)object).getChildsFields=
(loadRequest);
for (Iterator iterator =3D l.iterator(); iterator.hasNext();) {
ContentObjectKey co =3D (ContentObjectKey) iterator.next();
- if (!co.getChilds(loadRequest).isEmpty()) {
- object =3D co;
- }
- // Also check current if page has been moved (container is=
still independant)
- if (!co.getChilds(EntryLoadRequest.CURRENT).isEmpty()) {
+ c =3D co.getChilds(loadRequest);
+ if (!c.isEmpty()) {
object =3D co;
+ break;
}
}
}
if (ContentFieldKey.FIELD_TYPE.equals(object.getType())) {
- Collection c =3D object.getChilds(loadRequest);
- if (c.isEmpty()) {
- c =3D object.getChilds(EntryLoadRequest.CURRENT);
+ if (c =3D=3D null) {
+ c =3D object.getChilds(loadRequest);
}
-
if (!c.isEmpty()) {
ContentPageKey page =3D (ContentPageKey) c.iterator().next=
();
=
@@ -739,6 +736,9 @@
}
=
private ContentObjectKey getTopLinkedObject(ContentObjectKey object) t=
hrows JahiaException{
+ if (ContentFieldKey.FIELD_TYPE.equals(object.getType())) {
+ object =3D object.getParent(null);
+ }
int mode =3D getWorkflowMode(object, false);
return getMainLinkObject(object,mode);
}
_______________________________________________
cvs_list mailing list
[email protected]
http://lists.jahia.org/cgi-bin/mailman/listinfo/cvs_list