74 | | File f = File.createTempFile("xml-web-generátor-", ".skript"); |
| 72 | System.err.println("\tInterpretuji skript v jazyce: " + jazyk); |
| 73 | } |
| 74 | |
| 75 | File souborStránky = new File(new URI(uriStránky)); |
| 76 | File f; |
| 77 | |
| 78 | if (isNeprázdný(skriptText)) { |
| 79 | /** Skript je zadán uvnitř elementu přímo ve stránce */ |
| 80 | String interpret = interpreti.get(jazyk); |
| 81 | if (interpret == null) { |
| 82 | throw new Exception("Neznámý skriptovací jazyk: " + jazyk); |
| 83 | } |
| 84 | |
| 85 | f = File.createTempFile("xml-web-generátor-", ".skript"); |
85 | | String[] prostředí = new String[]{ |
86 | | "LANG=" + System.getenv("LANG"), |
87 | | "USER=" + System.getenv("USER"), |
88 | | "XWG_SKRIPTOVANI_JAVA=" + "šablona" + File.separator + "funkce" + File.separator + "src" + File.separator + Skriptování.class.getName().replaceAll("\\.", File.separator) + ".java", |
89 | | "XWG_STRANKA_URI=" + uriStránky, // env:URI aktuálně zpracovávané stránky |
90 | | "XWG_STRANKA_SOUBOR=" + (new File(new URI(uriStránky)).getAbsolutePath()), // env:absolutní cesta k souboru |
91 | | "XWG_STRANKA_NADPIS=" + nadpisStránky, // env:nadpis stránky |
92 | | "XWG_STRANKA_PEREX=" + perexStránky // env:perex stránky |
93 | | }; |
| 113 | String[] prostředí = new String[]{ |
| 114 | "LANG=" + System.getenv("LANG"), |
| 115 | "USER=" + System.getenv("USER"), |
| 116 | "XWG_SKRIPTOVANI_JAVA=" + "šablona" + File.separator + "funkce" + File.separator + "src" + File.separator + Skriptování.class.getName().replaceAll("\\.", File.separator) + ".java", |
| 117 | "XWG_STRANKA_URI=" + uriStránky, // env:URI aktuálně zpracovávané stránky |
| 118 | "XWG_STRANKA_SOUBOR=" + souborStránky.getAbsolutePath(), // env:absolutní cesta k souboru |
| 119 | "XWG_STRANKA_NADPIS=" + nadpisStránky, // env:nadpis stránky |
| 120 | "XWG_STRANKA_PEREX=" + perexStránky // env:perex stránky |
| 121 | }; |
104 | | if (p.exitValue() == 0) { |
105 | | if (chyby.length() > 0) { |
106 | | System.err.println("--- Chybový výstup skriptu -----"); |
107 | | System.err.println(chyby); |
108 | | System.err.println("--------------------------------"); |
109 | | System.err.println("Nicméně skript skončil úspěšně, takže pokračujeme dál."); |
110 | | } |
| 131 | if (p.exitValue() == 0) { |
| 132 | if (chyby.length() > 0) { |
| 133 | System.err.println("--- Chybový výstup skriptu -----"); |
| 134 | System.err.println(chyby); |
| 135 | System.err.println("--------------------------------"); |
| 136 | System.err.println("Nicméně skript skončil úspěšně, takže pokračujeme dál."); |
| 137 | } |
112 | | return připravVýstup(výsledek, výstupníFormát); |
113 | | } else { |
114 | | System.err.println("--- Standardní výstup skriptu: -----"); |
115 | | System.err.println(výsledek); |
116 | | System.err.println("--- Cyhbový výstup skriptu: ---------"); |
117 | | System.err.println(chyby); |
118 | | System.err.println("--------------------------------------"); |
119 | | throw new RuntimeException("Návratová hodnota: " + p.exitValue()); |
120 | | } |
| 139 | return připravVýstup(výsledek, výstupníFormát); |
| 140 | } else { |
| 141 | System.err.println("--- Standardní výstup skriptu: -----"); |
| 142 | System.err.println(výsledek); |
| 143 | System.err.println("--- Cyhbový výstup skriptu: ---------"); |
| 144 | System.err.println(chyby); |
| 145 | System.err.println("--------------------------------------"); |
| 146 | throw new Exception("Návratová hodnota: " + p.exitValue()); |