public static Element createPlfNodeAndPath ( Element compViewNode , boolean includeChildNodes , IPerson person ) throws PortalException { // first attempt to get parent Element compViewParent = ( Element ) compViewNode . getParentNode ( ) ; Element plfParent = getPLFNode ( compViewParent , person , true , false ) ; Document plf = ( Document ) person . getAttribute ( Constants . PLF ) ; // if ilf copy being created we can append to parent and use the // position set to place it. if ( compViewNode . getAttribute ( Constants . ATT_ID ) . startsWith ( Constants . FRAGMENT_ID_USER_PREFIX ) ) return createILFCopy ( compViewNode , compViewParent , includeChildNodes , plf , plfParent , person ) ; return createOrMovePLFOwnedNode ( compViewNode , compViewParent , true , // create if not found includeChildNodes , plf , plfParent , person ) ; }
Creates a copy of the passed in ILF node in the PLF if not already there as well as creating any ancestor nodes along the path from this node up to the layout root if they are not there .