rendered paste bodyAggiunto a Page private String preDisplayTarget; public String getPreDisplayTarget() { return preDisplayTarget; } public void setPreDisplayTarget(String preDisplayTarget) { this.preDisplayTarget = preDisplayTarget; }Aggiunto a AntRunner /** * Runs a target during the UI * * @param page * @return 0 for success 1 for exception */ protected int runPre(Page page) { Logger logger = ctx.getLogger(); String preTarget = page.getPreDisplayTarget(); if(preTarget != null) { logger.log("Running preDisplayTarget: "+preTarget); // if(launcher == null) { prepareLauncher(); // } launcher.updateProps(); int result = launcher.run(preTarget); logger.log("Exiting from preDisplayTarget: "+preTarget+" with result code "+result); return result; } return 0; }Aggiunto a AutoSwingRunner protected void showFirstPage() throws Exception { Page[] pages = installer.getPages(); // run all postDisplayTargets as if the pages were shown for (int i = 0; i < pages.length; i++) { Page page = pages[i];+ if(page.getPreDisplayTarget() != null){+ if( ifHelper.ifProperty(page) &&+ ifHelper.ifTarget(page, ctx.getInstaller().getPages()) ){ // page would have been shown+ runPre(page);+ } } if(page.getPostDisplayTarget() != null){ if( ifHelper.ifProperty(page) && ifHelper.ifTarget(page, ctx.getInstaller().getPages()) ){ // page would have been shown runPost(page); } } }Aggiunto a AutoTextRunner public boolean runInstaller() throws InstallException { Page[] pages = installer.getPages(); // run all postDisplayTargets as if the pages were shown for (int i = 0; i < pages.length; i++) { Page page = pages[i];+ if(page.getPreDisplayTarget() != null) {+ if( ifHelper.ifProperty(page) &&+ ifHelper.ifTarget(page, ctx.getInstaller().getPages()) ) { // page would have been shown+ runPre(page);+ }+ } if(page.getPostDisplayTarget() != null) { if( ifHelper.ifProperty(page) && ifHelper.ifTarget(page, ctx.getInstaller().getPages()) ) { // page would have been shown runPost(page); } } } return true; }Aggiunto a SwingRunner (method public void pageComplete(Page page)) SwingPageRenderer renderer = (SwingPageRenderer)pageRenderers.get(nextIdx); ctx.setCurrentPage(pages[nextIdx]);+ runPre(pages[nextIdx]); try { renderNext(renderer); if(i == pages.length - 2) { // all done currentRenderer.getBackButton().setEnabled(false); currentRenderer.getNextButton().setEnabled(false); currentRenderer.getFinishButton().setEnabled(false); currentRenderer.getCancelButton().setEnabled(false); doAnt = true; initialThread.interrupt(); return; } }Aggiunto a TextRunner (method private boolean renderPages(Page[] pages)) if(next instanceof SimpleInputPage) { // skip iftarget specified and missing if(!ifHelper.ifTarget(next, pages)) { continue; } // skip page if ifProperty is specified and property is missing if(!ifHelper.ifProperty(next)) { continue; } }+ runPre(next); AbstractTextPageRenderer renderer = RendererFactory.getTextPageRenderer(next); renderer.setContext(ctx); renderer.init(new BufferedReader(new InputStreamReader(System.in)), System.out); ctx.setCurrentPage(next); renderer.renderPage(next);