changeset 23:55fe63bb7858

Fix error reporting.
author Mikhail Kryshen <mikhail@kryshen.net>
date Wed, 22 Apr 2009 03:30:59 +0400
parents 1bd3a6740cfb
children 665309ccd5e6 584c2f18bb48
files src/kryshen/tema/Tema.java src/kryshen/tema/TemplateParser.java src/kryshen/tema/functions/Control.java src/kryshen/tema/functions/IO.java
diffstat 4 files changed, 19 insertions(+), 16 deletions(-) [+]
line diff
     1.1 --- a/src/kryshen/tema/Tema.java	Wed Apr 22 03:04:30 2009 +0400
     1.2 +++ b/src/kryshen/tema/Tema.java	Wed Apr 22 03:30:59 2009 +0400
     1.3 @@ -74,11 +74,7 @@
     1.4      throws IOException, SQLException,
     1.5              ClassNotFoundException, InstantiationException,
     1.6              IllegalAccessException, InvocationTargetException {
     1.7 -        
     1.8 -        boolean demo = false;
     1.9 -        boolean version = false;
    1.10 -        boolean help = false;
    1.11 -        
    1.12 +              
    1.13          Options options = new Options();
    1.14          
    1.15          options.addOption(null, "demo", false, "demo mode");
     2.1 --- a/src/kryshen/tema/TemplateParser.java	Wed Apr 22 03:04:30 2009 +0400
     2.2 +++ b/src/kryshen/tema/TemplateParser.java	Wed Apr 22 03:30:59 2009 +0400
     2.3 @@ -419,24 +419,28 @@
     2.4      }
     2.5      
     2.6      public int invoke(String name, FunctionDataParser fdp, Writer out)
     2.7 -    throws IOException, TemplateException {
     2.8 +            throws IOException, TemplateException {
     2.9 +
    2.10          Object value = context.get(name);
    2.11 -        
    2.12 +
    2.13          if (value instanceof Function) {
    2.14              return ((Function) value).invoke(fdp, out);
    2.15          }
    2.16 -        
    2.17 +
    2.18          if (value instanceof Context) {
    2.19              String code = fdp.getData();
    2.20 -            
    2.21 -            if (fdp.getLastReturnCode() == 0)
    2.22 +
    2.23 +            if (fdp.getLastReturnCode() == 0) {
    2.24                  return 0;
    2.25 -            
    2.26 +            }
    2.27 +
    2.28              TemplateParser parser = new TemplateParser((Context) value);
    2.29              return parser.parse(
    2.30 -                    new TemplateReader(new StringReader(code)), out);
    2.31 +                    new TemplateReader(new StringReader(code),
    2.32 +                    fdp.getTemplateReader()),
    2.33 +                    out);
    2.34          }
    2.35 -        
    2.36 +
    2.37          return parseValue(value, out);
    2.38      }
    2.39  
     3.1 --- a/src/kryshen/tema/functions/Control.java	Wed Apr 22 03:04:30 2009 +0400
     3.2 +++ b/src/kryshen/tema/functions/Control.java	Wed Apr 22 03:30:59 2009 +0400
     3.3 @@ -179,7 +179,10 @@
     3.4              while (true) {
     3.5                  StringWriter sw = new StringWriter();
     3.6                  
     3.7 -                e = parser.parse(new TemplateReader(dataReader), sw);
     3.8 +                e = parser.parse(
     3.9 +                        new TemplateReader(dataReader,
    3.10 +                        fdp.getTemplateReader()),
    3.11 +                        sw);
    3.12                  
    3.13                  if (e == 0)
    3.14                      break;
     4.1 --- a/src/kryshen/tema/functions/IO.java	Wed Apr 22 03:04:30 2009 +0400
     4.2 +++ b/src/kryshen/tema/functions/IO.java	Wed Apr 22 03:30:59 2009 +0400
     4.3 @@ -103,14 +103,14 @@
     4.4          throws IOException, TemplateException {
     4.5              
     4.6              String filename = fdp.getData();
     4.7 -            String file;
     4.8              
     4.9              try {
    4.10                  readFile(fdp.createFile(filename), out);
    4.11              } catch (IOException e) {
    4.12                  fdp.warning(e.getMessage());
    4.13                  //System.err.println(e);
    4.14 -                //throw new TemplateException(e.getMessage(), e, in);
    4.15 +                //throw new TemplateException(e.getMessage(), e,
    4.16 +                //        fdp.getTemplateReader());
    4.17                  return 0;
    4.18              }
    4.19