protected boolean updateStrongLinks(CmsResource resource, CmsFlexController controller, Set<String> updatedFiles)
    throws CmsLoaderException, IOException, ServletException {

        int numberOfUpdates = updatedFiles.size();
        CmsObject cms = controller.getCmsObject();
        CmsRelationFilter filter = CmsRelationFilter.TARGETS.filterType(CmsRelationType.JSP_STRONG);
        Iterator<CmsRelation> it;
        try {
            it = cms.getRelationsForResource(resource, filter).iterator();
        } catch (CmsException e) {
            // should never happen
            if (LOG.isErrorEnabled()) {
                LOG.error(e.getLocalizedMessage(), e);
            }
            return false;
        }
        while (it.hasNext()) {
            CmsRelation relation = it.next();
            CmsResource target = null;
            try {
                target = relation.getTarget(cms, CmsResourceFilter.DEFAULT);
            } catch (CmsException e) {
                // should never happen
                if (LOG.isErrorEnabled()) {
                    LOG.error(e.getLocalizedMessage(), e);
                }
                continue;
            }
            // prevent recursive update when including the same file
            if (resource.equals(target)) {
                continue;
            }
            // update the target
            updateJsp(target, controller, updatedFiles);
        }
        // the current jsp file should be updated only if one of the included jsp has been updated
        return numberOfUpdates < updatedFiles.size();
    }
protected boolean updateStrongLinks ( CmsResource resource , CmsFlexController controller , Set < String > updatedFiles ) throws CmsLoaderException , IOException , ServletException { int numberOfUpdates = updatedFiles . size ( ) ; CmsObject cms = controller . getCmsObject ( ) ; CmsRelationFilter filter = CmsRelationFilter . TARGETS . filterType ( CmsRelationType . JSP_STRONG ) ; Iterator < CmsRelation > it ; try { it = cms . getRelationsForResource ( resource , filter ) . iterator ( ) ; } catch ( CmsException e ) { if ( LOG . isErrorEnabled ( ) ) { LOG . error ( e . getLocalizedMessage ( ) , e ) ; } return false ; } while ( it . hasNext ( ) ) { CmsRelation relation = it . next ( ) ; CmsResource target = null ; try { target = relation . getTarget ( cms , CmsResourceFilter . DEFAULT ) ; } catch ( CmsException e ) { if ( LOG . isErrorEnabled ( ) ) { LOG . error ( e . getLocalizedMessage ( ) , e ) ; } continue ; } if ( resource . equals ( target ) ) { continue ; } updateJsp ( target , controller , updatedFiles ) ; } return numberOfUpdates < updatedFiles . size ( ) ; }
Updates all jsp files that include the given jsp file using the 'link.strong' macro.<p>

@param resource the current updated jsp file
@param controller the controller for the jsp integration
@param updatedFiles the already updated files

@return <code>true</code> if the given JSP file should be updated due to dirty included files

@throws ServletException might be thrown in the process of including the JSP
@throws IOException might be thrown in the process of including the JSP
@throws CmsLoaderException if the resource type can not be read