Diagramy #13: diagramy se ukládají do zvláštní složky. Funguje, ale zprasené. TODO: vylepšit.
authorFrantišek Kučera <franta-hg@frantovo.cz>
Sat, 07 Jan 2012 18:57:39 +0100
changeset 68 2e6d7bfcd84f
parent 67 89b42acb3593
child 69 e7908e307b61
Diagramy #13: diagramy se ukládají do zvláštní složky. Funguje, ale zprasené. TODO: vylepšit.
šablona/funkce/src/cz/frantovo/xmlWebGenerator/Funkce.java
--- a/šablona/funkce/src/cz/frantovo/xmlWebGenerator/Funkce.java	Sat Jan 07 18:45:54 2012 +0100
+++ b/šablona/funkce/src/cz/frantovo/xmlWebGenerator/Funkce.java	Sat Jan 07 18:57:39 2012 +0100
@@ -42,6 +42,7 @@
 	private static final String PŘÍKAZ_DOT = "dot";
 	private static final String PŘÍKAZ_MARKDOWN = "markdown";
 	private static final String ADRESÁŘ_VÝSTUPNÍ = "výstup";
+	private static final String ADRESÁŘ_DIAGRAMY = "diagramy";
 	private static int počítadloDiagramů = 0;
 	private static String počítadloDiagramůKontext = "";
 
@@ -126,8 +127,6 @@
 	 */
 	public static String vytvořDiagram(String zadání, boolean vodorovně, boolean kompletní, String kontext, String souborZadání) throws IOException, InterruptedException {
 		if (isPříkazDostupný(PŘÍKAZ_DOT)) {
-			System.err.println("XXX Kontext: " + URLDecoder.decode(kontext, Charset.defaultCharset().name()));
-			System.err.println("XXX Soubor:  " + souborZadání);
 
 			String soubor;
 			if (souborZadání == null) {
@@ -150,7 +149,11 @@
 			} else {
 				soubor = souborZadání;
 			}
-			String souborSložka = ADRESÁŘ_VÝSTUPNÍ + File.separator + soubor;
+			File adresářDiagramů = new File(ADRESÁŘ_VÝSTUPNÍ, ADRESÁŘ_DIAGRAMY);
+			if (!adresářDiagramů.exists()) {
+				adresářDiagramů.mkdirs();
+			}
+			String souborSložka = ADRESÁŘ_VÝSTUPNÍ + File.separator + ADRESÁŘ_DIAGRAMY + File.separator + soubor;
 
 			String zdroják;
 			if (kompletní) {
@@ -182,7 +185,7 @@
 			p.waitFor();
 
 			if (chyby.length() == 0) {
-				return soubor;
+				return ADRESÁŘ_DIAGRAMY + File.separator + soubor;
 			} else {
 				System.err.print("Při vytváření diagramu došlo k chybě: " + chyby);
 				return null;