Author: sshyrkov
Date: Fri Aug 31 17:53:48 2007
New Revision: 18332

URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D18332&repname=
=3Djahia
Log:
JAHIA-2143: Exception raised each time I delete a page =

http://www.jahia.net/jira/browse/JAHIA-2143
Cause: NPE was caused by a missing parent page for the container list
Resolution: retrieve site ID using container definition if the parent page =
was already deleted

Modified:
    trunk/core/src/java/org/jahia/services/containers/ContentContainerList.=
java

Modified: trunk/core/src/java/org/jahia/services/containers/ContentContaine=
rList.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/services/containers/ContentContainerList.java&rev=3D18332&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/containers/ContentContainerList.=
java (original)
+++ trunk/core/src/java/org/jahia/services/containers/ContentContainerList.=
java Fri Aug 31 17:53:48 2007
@@ -17,30 +17,57 @@
  */
 package org.jahia.services.containers;
 =

+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Hashtable;
+import java.util.Iterator;
+import java.util.List;
+import java.util.ListIterator;
+import java.util.Map;
+import java.util.Set;
+import java.util.SortedSet;
+import java.util.TreeSet;
+import java.util.Vector;
+
 import org.jahia.bin.Jahia;
-import org.jahia.content.*;
+import org.jahia.content.ContainerDefinitionKey;
+import org.jahia.content.ContentContainerListKey;
+import org.jahia.content.ContentObject;
+import org.jahia.content.JahiaObject;
+import org.jahia.content.ObjectKey;
+import org.jahia.content.PageReferenceableInterface;
+import org.jahia.content.TimeBasedPublishingJahiaObject;
 import org.jahia.content.events.ContentObjectRestoreVersionEvent;
 import org.jahia.content.events.ContentUndoStagingEvent;
 import org.jahia.data.containers.JahiaContainerDefinition;
 import org.jahia.data.containers.JahiaContainerList;
 import org.jahia.data.fields.LoadFlags;
 import org.jahia.exceptions.JahiaException;
+import org.jahia.exceptions.JahiaPageNotFoundException;
 import org.jahia.hibernate.manager.JahiaContainerListManager;
 import org.jahia.hibernate.manager.SpringContextSingleton;
 import org.jahia.params.ProcessingContext;
+import org.jahia.registries.JahiaContainerDefinitionsRegistry;
 import org.jahia.registries.ServicesRegistry;
+import org.jahia.services.acl.ACLNotFoundException;
+import org.jahia.services.acl.JahiaBaseACL;
 import org.jahia.services.pages.ContentPage;
 import org.jahia.services.usermanager.JahiaAdminUser;
 import org.jahia.services.usermanager.JahiaUser;
-import org.jahia.services.version.*;
-import org.jahia.services.acl.JahiaBaseACL;
-import org.jahia.services.acl.ACLNotFoundException;
+import org.jahia.services.version.ActivationTestResults;
+import org.jahia.services.version.ContentObjectEntryState;
+import org.jahia.services.version.EntryLoadRequest;
+import org.jahia.services.version.EntryStateable;
+import org.jahia.services.version.JahiaSaveVersion;
+import org.jahia.services.version.RestoreVersionStateModificationContext;
+import org.jahia.services.version.RestoreVersionTestResults;
+import org.jahia.services.version.StateModificationContext;
 import org.jahia.utils.LanguageCodeConverters;
 import org.springframework.context.ApplicationContext;
 =

-import java.util.*;
-import java.io.IOException;
-
 /**
  * <p>Title: </p>
  * <p>Description: </p>
@@ -121,12 +148,29 @@
 =

 =

     public int getSiteID() {
+        int siteId =3D -1;
         try {
-            return getParent(null,null,null).getSiteID();
+            try {
+                siteId =3D getParent(null, null, null).getSiteID();
+            } catch (JahiaPageNotFoundException pnfe) {
+                // parent page can already be deleted --> try via definiti=
on
+            }
+            if (siteId =3D=3D -1) {
+                // try via definition
+                JahiaContainerDefinition ctnDef =3D JahiaContainerDefiniti=
onsRegistry
+                        .getInstance().getDefinition(
+                                getContainerListDefinitionID());
+                if (ctnDef !=3D null) {
+                    siteId =3D ctnDef.getJahiaID();
+                }
+
+            }
         } catch (JahiaException e) {
-            e.printStackTrace();  //To change body of catch statement use =
Options | File Templates.
+            logger.error(
+                    "Unable to obtain site ID for the content container li=
st object with ID "
+                            + getID(), e);
         }
-        return -1;
+        return siteId;
     }
 =

     //--------------------------------------------------------------------=
-----

_______________________________________________
cvs_list mailing list
[email protected]
http://lists.jahia.org/cgi-bin/mailman/listinfo/cvs_list

Reply via email to