Changes for page Sandbox


on 2022-11-01 04:56


on 2022-11-01 05:01
Summary
Details
- Page properties
-
- Content
-
... ... @@ -4,8 +4,68 @@ 4 4 5 5 External Link ([[good>>https://files.quagmyre.com/index.html]]) 6 6 7 -External Link ([[bad>>https://files.quagmyre.com/nosuchfile.html]]) 7 +External Link ([[bad>>https://files.quagmyre.com/nosuchfile.html]]) 8 8 9 + 10 +{{groovy}} 11 +import com.xpn.xwiki.web.* 12 +import org.xwiki.rendering.transformation.* 13 + 14 +def checker = Utils.getComponent(Transformation.class, "linkchecker") 15 + 16 +print "Link checker queue size = ${checker.linkQueue.size()}" 17 +{{/groovy}} 18 + 19 + 20 +{{groovy}} 21 +import groovy.util.logging.* 22 +import org.xwiki.observation.* 23 +import org.xwiki.observation.event.* 24 +import org.xwiki.rendering.transformation.linkchecker.* 25 +import com.xpn.xwiki.web.* 26 +import com.xpn.xwiki.* 27 + 28 +@Log 29 +class MyLinkListener implements EventListener 30 +{ 31 + def xwiki 32 + def context 33 + 34 + MyLinkListener(xwiki, context) 35 + { 36 + this.xwiki = xwiki 37 + this.context = context 38 + } 39 + 40 + String getName() 41 + { 42 + return "myLinkListener" 43 + } 44 + 45 + List<Event> getEvents() 46 + { 47 + return Arrays.asList(new InvalidURLEvent()) 48 + } 49 + 50 + void onEvent(Event event, Object eventSource, Object data) 51 + { 52 + def url = eventSource.get("url") 53 + def source = eventSource.get("source") 54 + def state = eventSource.get("state") 55 + 56 + log.info("Error for {url} in ${source} - Response code: ${state.getResponseCode()} - Checked: ${String.format('%tF %<tT', state.getLastCheckedTime())}") 57 + } 58 +} 59 + 60 +// Register against the Observation Manager 61 +def observation = Utils.getComponent(ObservationManager.class) 62 +observation.removeListener("myLinkListener") 63 +def listener = new MyLinkListener(xwiki, xcontext) 64 +observation.addListener(listener) 65 +{{/groovy}} 66 + 67 + 68 + 9 9 The sandbox is a part of your wiki that you can freely modify. It's meant to let you practice editing. You will discover how page editing works and create new pages. Simply click on **Edit** to get started! 10 10 11 11 {{info}}