equal
deleted
inserted
replaced
40 |
40 |
41 private static final String PŘÍKAZ_PYGMENTIZE = "pygmentize"; |
41 private static final String PŘÍKAZ_PYGMENTIZE = "pygmentize"; |
42 private static final String PŘÍKAZ_DOT = "dot"; |
42 private static final String PŘÍKAZ_DOT = "dot"; |
43 private static final String PŘÍKAZ_MARKDOWN = "markdown"; |
43 private static final String PŘÍKAZ_MARKDOWN = "markdown"; |
44 private static final String ADRESÁŘ_VÝSTUPNÍ = "výstup"; |
44 private static final String ADRESÁŘ_VÝSTUPNÍ = "výstup"; |
|
45 private static final String ADRESÁŘ_DIAGRAMY = "diagramy"; |
45 private static int počítadloDiagramů = 0; |
46 private static int počítadloDiagramů = 0; |
46 private static String počítadloDiagramůKontext = ""; |
47 private static String počítadloDiagramůKontext = ""; |
47 |
48 |
48 /** |
49 /** |
49 * Zjištuje, kdy byl naposledy daný soubor změněn. |
50 * Zjištuje, kdy byl naposledy daný soubor změněn. |
124 * @param souborZadání null pokud chceme automatické číslování | nebo zadáme název souboru se zadáním diagramu – vygenerovaný diagram se pak bude jmenovat stejně |
125 * @param souborZadání null pokud chceme automatické číslování | nebo zadáme název souboru se zadáním diagramu – vygenerovaný diagram se pak bude jmenovat stejně |
125 * @return název souboru bez přípony, který byl vytvořen, nebo null, pokud došlo k chybě. |
126 * @return název souboru bez přípony, který byl vytvořen, nebo null, pokud došlo k chybě. |
126 */ |
127 */ |
127 public static String vytvořDiagram(String zadání, boolean vodorovně, boolean kompletní, String kontext, String souborZadání) throws IOException, InterruptedException { |
128 public static String vytvořDiagram(String zadání, boolean vodorovně, boolean kompletní, String kontext, String souborZadání) throws IOException, InterruptedException { |
128 if (isPříkazDostupný(PŘÍKAZ_DOT)) { |
129 if (isPříkazDostupný(PŘÍKAZ_DOT)) { |
129 System.err.println("XXX Kontext: " + URLDecoder.decode(kontext, Charset.defaultCharset().name())); |
|
130 System.err.println("XXX Soubor: " + souborZadání); |
|
131 |
130 |
132 String soubor; |
131 String soubor; |
133 if (souborZadání == null) { |
132 if (souborZadání == null) { |
134 if (kontext == null) { |
133 if (kontext == null) { |
135 počítadloDiagramů++; |
134 počítadloDiagramů++; |
148 soubor = "diagram-" + kontext + "-" + počítadloDiagramů; |
147 soubor = "diagram-" + kontext + "-" + počítadloDiagramů; |
149 } |
148 } |
150 } else { |
149 } else { |
151 soubor = souborZadání; |
150 soubor = souborZadání; |
152 } |
151 } |
153 String souborSložka = ADRESÁŘ_VÝSTUPNÍ + File.separator + soubor; |
152 File adresářDiagramů = new File(ADRESÁŘ_VÝSTUPNÍ, ADRESÁŘ_DIAGRAMY); |
|
153 if (!adresářDiagramů.exists()) { |
|
154 adresářDiagramů.mkdirs(); |
|
155 } |
|
156 String souborSložka = ADRESÁŘ_VÝSTUPNÍ + File.separator + ADRESÁŘ_DIAGRAMY + File.separator + soubor; |
154 |
157 |
155 String zdroják; |
158 String zdroják; |
156 if (kompletní) { |
159 if (kompletní) { |
157 zdroják = zadání; |
160 zdroják = zadání; |
158 } else { |
161 } else { |
180 String chyby = načtiProud(p.getErrorStream()); |
183 String chyby = načtiProud(p.getErrorStream()); |
181 |
184 |
182 p.waitFor(); |
185 p.waitFor(); |
183 |
186 |
184 if (chyby.length() == 0) { |
187 if (chyby.length() == 0) { |
185 return soubor; |
188 return ADRESÁŘ_DIAGRAMY + File.separator + soubor; |
186 } else { |
189 } else { |
187 System.err.print("Při vytváření diagramu došlo k chybě: " + chyby); |
190 System.err.print("Při vytváření diagramu došlo k chybě: " + chyby); |
188 return null; |
191 return null; |
189 } |
192 } |
190 } else { |
193 } else { |