@ Override public Script resolveScript ( String name ) throws JellyException { // cut off the extension so that we can search all the extensions String shortName ; int dot = name . lastIndexOf ( ' ' ) ; if ( dot > name . lastIndexOf ( ' ' ) ) shortName = name . substring ( 0 , dot ) ; else shortName = name ; for ( Facet f : owner . webApp . facets ) { if ( f instanceof JellyCompatibleFacet && ! ( f instanceof JellyFacet ) ) { JellyCompatibleFacet jcf = ( JellyCompatibleFacet ) f ; for ( Class < ? extends AbstractTearOff < ? , ? extends Script , ? > > ct : jcf . getClassTearOffTypes ( ) ) { try { Script s = owner . loadTearOff ( ct ) . resolveScript ( shortName ) ; if ( s != null ) return s ; } catch ( Exception e ) { throw new JellyException ( "Failed to load " + shortName + " from " + jcf , e ) ; } } } } return super . resolveScript ( name ) ; }
Aside from looking into our own consult other facets that can handle Jelly - compatible scripts .