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
