private static void resolveOneLink ( ArrayResource array , CDAField field , String locale , CDARichNode node ) { if ( node instanceof CDARichHyperLink && ( ( CDARichHyperLink ) node ) . data instanceof Map ) { final CDARichHyperLink link = ( CDARichHyperLink ) node ; final Map < String , Object > data = ( Map < String , Object > ) link . data ; final Object target = data . get ( "target" ) ; if ( target instanceof Map ) { if ( isLink ( target ) ) { final Map < String , Object > map = ( Map < String , Object > ) target ; final Map < String , Object > sys = ( Map < String , Object > ) map . get ( "sys" ) ; final String linkType = ( String ) sys . get ( "linkType" ) ; final String id = ( String ) sys . get ( "id" ) ; if ( "Asset" . equals ( linkType ) ) { link . data = array . assets ( ) . get ( id ) ; } else if ( "Entry" . equals ( linkType ) ) { link . data = array . entries ( ) . get ( id ) ; } } else { throw new IllegalStateException ( "Could not parse content of data field '" + field . id ( ) + "' for locale '" + locale + "' at node '" + node + "'. Please check your content type model." ) ; } } else if ( target == null && data . containsKey ( "uri" ) ) { link . data = data . get ( "uri" ) ; } } else if ( node instanceof CDARichParagraph ) { for ( final CDARichNode child : ( ( CDARichParagraph ) node ) . getContent ( ) ) { resolveOneLink ( array , field , locale , child ) ; } } }
Link found resolve it .