org.w3c.css/cssvalidator-removed-src/index/IndexGenerator.java
author Eugene Ostroukhov <eugeneo@symbian.org>
Wed, 19 May 2010 17:17:31 -0700
changeset 337 afe6a53c0ed4
parent 191 61c04b3eb3e7
permissions -rw-r--r--
Work-in-progress commit for orientation preview. API is emulated and basic work on previewer is implemented. Some display issues are remaining
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
191
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
     1
/**
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
     2
 * This class is used to generates the index pages
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
     3
 * of the CSS validator in all the availables languages
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
     4
 * it'll create the outputs validator.en.html, validator.fr.html, ...
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
     5
 * according to the template file validator.vm
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
     6
 */
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
     7
package org.w3c.css.index;
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
     8
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
     9
import java.io.File;
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    10
import java.io.FileOutputStream;
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    11
import java.io.IOException;
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    12
import java.io.OutputStreamWriter;
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    13
import java.net.URI;
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    14
import java.net.URISyntaxException;
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    15
import java.text.SimpleDateFormat;
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    16
import java.util.Date;
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    17
import java.util.HashMap;
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    18
import java.util.Iterator;
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    19
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    20
import org.apache.velocity.Template;
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    21
import org.apache.velocity.VelocityContext;
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    22
import org.apache.velocity.app.Velocity;
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    23
import org.apache.velocity.exception.MethodInvocationException;
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    24
import org.apache.velocity.exception.ParseErrorException;
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    25
import org.apache.velocity.exception.ResourceNotFoundException;
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    26
import org.w3c.css.util.ApplContext;
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    27
import org.w3c.css.util.Messages;
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    28
import org.w3c.css.util.Utf8Properties;
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    29
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    30
/**
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    31
 * @author julien
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    32
 * 
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    33
 */
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    34
public class IndexGenerator {
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    35
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    36
    // the velocity context used to generate the index
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    37
    // (NB: the same context is used for each index page, changing every thing
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    38
    // inside)
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    39
    public static VelocityContext vc = new VelocityContext();
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    40
    private static String template_name = "validator.vm";
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    41
    private static String html_files_path = "../../../../";
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    42
    private static boolean done = false;
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    43
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    44
    /**
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    45
     * @param args
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    46
     */
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    47
    public static void main(String[] args) {
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    48
        IndexGenerator.generatesIndex(false);
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    49
    }
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    50
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    51
    /**
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    52
     * This method generates the index in every possible language we have the translation
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    53
     * @see org.w3c.css.util.Messages
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    54
     * @param servlet, if this method is called from the servlet,
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    55
     * the path is a bit different and need to be changed.
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    56
     */
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    57
    public static synchronized void generatesIndex(boolean servlet) {
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    58
        if (done)
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    59
            return;
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    60
		
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    61
        String default_lang = "en";
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    62
        String k, name, path;
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    63
        ApplContext ac_default = new ApplContext(default_lang);
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    64
        File tmpFile;
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    65
        Iterator it;
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    66
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    67
        // Getting the differents languages informations (for the lang choice)
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    68
        HashMap[] languages = new HashMap[Messages.languages_name.size()];
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    69
        for (int i = 0; i < Messages.languages_name.size(); ++i) {
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    70
            name = String.valueOf(Messages.languages_name.get(i));
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    71
            HashMap<String,String> l = new HashMap<String,String>();
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    72
            l.put("name", name);
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    73
            l.put("real", ((Utf8Properties) Messages.languages.get(name)).getProperty("language_name"));
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    74
            languages[i] = l;
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    75
        }
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    76
        // Adding the result to the context
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    77
        vc.put("languages", languages);
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    78
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    79
        try {
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    80
            //setting the path were to find the template
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    81
            path = IndexGenerator.class.getResource("").getPath();
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    82
            if (servlet)
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    83
                path = path.replace("file://localhost", "");
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    84
            else
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    85
                path = new URI(path).getPath();
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    86
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    87
            /*
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    88
             * This code set the velocity properties to be used
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    89
             * A new jar is needed to use file logging (avalon-logkit.jar)
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    90
             */
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    91
            Velocity.setProperty(Velocity.FILE_RESOURCE_LOADER_PATH, path);
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    92
            Velocity.addProperty(Velocity.FILE_RESOURCE_LOADER_PATH, path + "../../../../");
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    93
            Velocity.setProperty(Velocity.RUNTIME_LOG,
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    94
                                 "velocity-" + new SimpleDateFormat("yyyy-MM-dd_HHmm").format(new Date()) + ".log");
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    95
			
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    96
            Velocity.setProperty(Velocity.RUNTIME_LOG_LOGSYSTEM_CLASS, "org.apache.velocity.runtime.log.AvalonLogChute");
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    97
            Velocity.init();
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    98
            if (!new File(path + template_name).exists()) {
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    99
                template_name = template_name;
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   100
                html_files_path = "";
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   101
            }
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   102
            Template tpl = Velocity.getTemplate(template_name, "UTF-8");
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   103
            int count = 0;
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   104
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   105
            // For each language, we set the context are create the template
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   106
            for (int i = 0; i < Messages.languages_name.size(); ++i) {
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   107
                name = String.valueOf(Messages.languages_name.get(i));
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   108
                tmpFile = new File(path + html_files_path + "validator.html." + name);
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   109
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   110
                // Checking if the index files exists
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   111
                // and if they have been created after the last template modification
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   112
                if ((tmpFile.lastModified() < tpl.getLastModified()) || !tmpFile.exists()) {
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   113
                    ApplContext ac = new ApplContext(name);
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   114
                    vc.put("lang", name);
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   115
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   116
                    if (ac.getLang().equals(default_lang)) {
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   117
                        it = ac_default.getMsg().properties.keySet().iterator();
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   118
                        while (it.hasNext()) {
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   119
                            k = String.valueOf(it.next());
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   120
                            vc.put(k, ac.getMsg().getString(k));
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   121
                        }
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   122
                    } else {
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   123
                        it = ac_default.getMsg().properties.keySet().iterator();
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   124
                        while (it.hasNext()) {
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   125
                            k = String.valueOf(it.next());
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   126
                            if (ac.getMsg().getString(k) == null)
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   127
                                vc.put(k, ac_default.getMsg().getString(k));
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   128
                            else
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   129
                                vc.put(k, ac.getMsg().getString(k));
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   130
                        }
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   131
                    }
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   132
                    OutputStreamWriter aFileWriter = new OutputStreamWriter(new FileOutputStream(tmpFile), "UTF-8");
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   133
                    tpl.merge(vc, aFileWriter);
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   134
                    aFileWriter.close();
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   135
                    ++count;
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   136
                }
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   137
            }
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   138
            Velocity.getLog().info("IndexGenerator : " + count + " index file(s) created or modified");
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   139
            done = true;
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   140
        } catch (ResourceNotFoundException e) {
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   141
            e.printStackTrace();
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   142
        } catch (ParseErrorException e) {
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   143
            e.printStackTrace();
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   144
        } catch (MethodInvocationException e) {
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   145
            e.printStackTrace();
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   146
        } catch (IOException e) {
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   147
            e.printStackTrace();
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   148
        } catch (URISyntaxException e1) {
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   149
            e1.printStackTrace();
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   150
        } catch (Exception e) {
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   151
            e.printStackTrace();
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   152
        } finally {
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   153
            done = true;
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   154
        }
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   155
    }
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   156
61c04b3eb3e7 Bug 2001 - css validator to separate plug-in
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   157
}