Changeset 13


Ignore:
Timestamp:
10/19/09 15:27:52 (15 years ago)
Author:
zeiss
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/de.ugoe.cs.swe.exercises/src/de/ugoe/cs/swe/exercises/exercisesheet/PdfGenerator.java

    r7 r13  
    2424 
    2525public class PdfGenerator { 
     26         
    2627        public static void generatePdf(ExerciseSheet exercisesheet, String path, 
    2728                        boolean copyFile, boolean makeExerciseInsteadOfSolution) { 
     
    7172                        String lecturersString = ""; 
    7273                        boolean firstRun = true; 
     74                         
     75                        // build lecturer placeholder string 
    7376                        for (Lecturer lecturer : lecturers) { 
    7477                                if (!firstRun) 
    7578                                        lecturersString += ", "; 
    76                                 lecturersString += lecturer.toString(); 
     79                                lecturersString += lecturer.toString().trim(); 
    7780                                firstRun = false; 
    7881                        } 
     
    8083                                lecturersString = "!NO LECTURERS FOUND!"; 
    8184 
     85                        // concatenate exercises or solution to one content 
    8286                        ArrayList<Exercise> exercises = exercisesheet.getExercises(); 
    8387                        String exercisesString = ""; 
     
    9498                        } 
    9599 
     100                        // declare execercise to be an examination or exercise 
     101                        // TODO: dirty 
    96102                        String examorunit = ""; 
    97103 
     
    102108                        } 
    103109 
     110                        // replace placeholders in generated text file 
    104111                        String templatePath = ExerciseSVN.SVNpath; 
    105112                        templatePath = templatePath.replace('\\','/'); 
     
    123130                                        + Matcher.quoteReplacement(deliveryDate) + "$2"); 
    124131 
     132                        // write temporary .tex file to temp directory 
    125133                        FileOutputStream ofstream = new FileOutputStream(latexFile); 
    126134                        BufferedWriter odstream = new BufferedWriter( 
     
    128136                        odstream.write(template); 
    129137                        odstream.close(); 
     138 
     139                        // call pdflatex to generate to the pdf file 
     140                        // TODO: check if linux conditional is necessary 
    130141                        ProcessBuilder pb; 
    131142                        if (Util.isLinux()) 
     
    134145                                pb = new ProcessBuilder(cmd); 
    135146 
    136                         // pb.directory(latexFile.getParentFile()); 
    137  
    138147                        Process p = pb.start(); 
    139  
    140148                        Scanner s = new Scanner(p.getInputStream()).useDelimiter("\n"); 
    141149                        while (s.hasNext()) { 
     
    143151                        } 
    144152 
    145                         // try { 
    146                         // p.waitFor(); 
    147                         // } catch (InterruptedException e) { 
    148                         // // TODO Auto-generated catch block 
    149                         // e.printStackTrace(); 
    150                         // } 
     153                        // copy resultfile to "tempPDFfileforPreview.pdf" in temp directory 
     154                        File f = new File(path); 
     155                        File sourceFile = new File(latexFile.getAbsolutePath().replaceAll( 
     156                                        ".tex$", ".pdf")); 
     157                        FileUtils.copyFile(sourceFile, f); 
    151158 
    152                         File f = new File(path); 
    153  
    154                         FileUtils.copyFile(new File(latexFile.getAbsolutePath().replaceAll( 
    155                                         ".tex$", ".pdf")), f); 
    156  
     159                        // copy file to svn working copy if flag is set 
    157160                        if (copyFile) 
    158161                                FileUtils.copyFile(f, new File(ExerciseSVN.SVNpath 
    159162                                                + "exercisesheets/" + f.getName())); 
    160163 
     164                        // remove temporary files 
     165                        File tmpFile = new File(latexFile.getAbsolutePath().replace(".tex", ".aux")); 
     166                        tmpFile.delete(); 
     167                        tmpFile = new File(latexFile.getAbsolutePath().replace(".tex", ".log")); 
     168                        tmpFile.delete(); 
     169                        tmpFile = new File(latexFile.getAbsolutePath().replace(".tex", ".out")); 
     170                        tmpFile.delete(); 
     171                        tmpFile = new File(latexFile.getAbsolutePath().replace(".tex", ".pdf")); 
     172                        tmpFile.delete(); 
     173                        latexFile.delete(); 
     174                         
    161175                } catch (IOException e) { 
    162176                        e.printStackTrace(); 
    163                         // } catch (InterruptedException e) { 
    164                         // // TODO Auto-generated catch block 
    165                         // e.printStackTrace(); 
    166177                } 
    167178        } 
Note: See TracChangeset for help on using the changeset viewer.