1.1 --- a/šablona/funkce/src/cz/frantovo/xmlWebGenerator/Funkce.java Sat Jan 07 17:34:57 2012 +0100
1.2 +++ b/šablona/funkce/src/cz/frantovo/xmlWebGenerator/Funkce.java Sat Jan 07 18:45:54 2012 +0100
1.3 @@ -23,6 +23,8 @@
1.4 import java.util.Date;
1.5 import java.net.URI;
1.6 import java.net.URISyntaxException;
1.7 +import java.net.URLDecoder;
1.8 +import java.nio.charset.Charset;
1.9 import static cz.frantovo.xmlWebGenerator.NástrojeCLI.*;
1.10
1.11 /**
1.12 @@ -41,6 +43,7 @@
1.13 private static final String PŘÍKAZ_MARKDOWN = "markdown";
1.14 private static final String ADRESÁŘ_VÝSTUPNÍ = "výstup";
1.15 private static int počítadloDiagramů = 0;
1.16 + private static String počítadloDiagramůKontext = "";
1.17
1.18 /**
1.19 * Zjištuje, kdy byl naposledy daný soubor změněn.
1.20 @@ -115,12 +118,38 @@
1.21 * @param zadání definice diagramu ve formátu dot
1.22 * @param vodorovně zda má být graf orientovaný vodorovně (funguje jen při <code>kompletní = false</code>)
1.23 * @param kompletní false, pokud k zadání chceme doplnit <code>digraph d {…}</code>
1.24 + * @param kontext kam diagram patří – typicky název stránky, do které je vložen
1.25 + * diagramy se pak budou číslovat v rámci tohoto kontextu
1.26 + * → nebude docházet k přepisování diagramů jiných stránek při částečném přegenerování webu.
1.27 + * @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ě
1.28 * @return název souboru bez přípony, který byl vytvořen, nebo null, pokud došlo k chybě.
1.29 */
1.30 - public static String vytvořDiagram(String zadání, boolean vodorovně, boolean kompletní) throws IOException, InterruptedException {
1.31 + public static String vytvořDiagram(String zadání, boolean vodorovně, boolean kompletní, String kontext, String souborZadání) throws IOException, InterruptedException {
1.32 if (isPříkazDostupný(PŘÍKAZ_DOT)) {
1.33 - počítadloDiagramů++;
1.34 - String soubor = "diagram-" + počítadloDiagramů;
1.35 + System.err.println("XXX Kontext: " + URLDecoder.decode(kontext, Charset.defaultCharset().name()));
1.36 + System.err.println("XXX Soubor: " + souborZadání);
1.37 +
1.38 + String soubor;
1.39 + if (souborZadání == null) {
1.40 + if (kontext == null) {
1.41 + počítadloDiagramů++;
1.42 + soubor = "diagram-" + počítadloDiagramů;
1.43 + } else {
1.44 + // TODO: tohle by se mělo udělat v XSLT
1.45 + kontext = URLDecoder.decode(kontext, Charset.defaultCharset().name());
1.46 +
1.47 + // Každá stránka bude mít svoje diagramy číslované od 1
1.48 + if (!počítadloDiagramůKontext.equals(kontext)) {
1.49 + počítadloDiagramůKontext = kontext;
1.50 + počítadloDiagramů = 0;
1.51 + }
1.52 +
1.53 + počítadloDiagramů++;
1.54 + soubor = "diagram-" + kontext + "-" + počítadloDiagramů;
1.55 + }
1.56 + } else {
1.57 + soubor = souborZadání;
1.58 + }
1.59 String souborSložka = ADRESÁŘ_VÝSTUPNÍ + File.separator + soubor;
1.60
1.61 String zdroják;