Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright (c) 2011 Evident Solutions Oy
   *
   * Permission is hereby granted, free of charge, to any person obtaining a copy
   * of this software and associated documentation files (the "Software"), to deal
   * in the Software without restriction, including without limitation the rights
   * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
   * copies of the Software, and to permit persons to whom the Software is
   * furnished to do so, subject to the following conditions:
  *
  * The above copyright notice and this permission notice shall be included in
  * all copies or substantial portions of the Software.
  *
  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  * THE SOFTWARE.
  */
 
 package fi.evident.cissa.maven;
 
 
 import java.io.File;
 import java.util.List;

Processes Cissa-templates.

Goal:
process-cissa-templates
Phase:
generate-resources
 
     extends AbstractMojo
 {

    
Single directory for extra files to include in the WAR. This is where you place your JSP files.

Parameter:
default-value="${basedir}/src/main/webapp"
Required:
 
     private File warSourceDirectory;

    
The directory where the webapp is built.

Parameter:
default-value="${project.build.directory}/${project.build.finalName}"
Required:
 
     private File webappDirectory;

    
Encoding of Cissa files.

Parameter:
expression="${encoding}" default-value="${project.build.sourceEncoding}"
 
     private String encoding;
 
     public void execute() throws MojoExecutionException {
         for (File template : findCissaTemplates()) {
             String css = cissaProcess(template);
             writeFile(targetFor(template), css);
         }
     }
 
     private File targetFor(File template) {
         String originalPath = template.getAbsolutePath();
         String pathInTargetDir = originalPath.replace(.getAbsolutePath(), .getAbsolutePath());
         String finalPath = pathInTargetDir.replaceFirst("\\.cissa$"".css");
 
         return new File(finalPath);
     }
 
     private String cissaProcess(File filethrows MojoExecutionException {
         String template = readFile(file);
         try {
             return Cissa.generate(template);
         } catch (Exception e) {
             throw new MojoExecutionException("Error when processing Cissa template " + file + ":" + ee);
         }
     }
 
     private void writeFile(File fileString datathrows MojoExecutionException {
         try {
             file.getParentFile().mkdirs();
             IOUtils.writeFile(filedatagetCharset());
         } catch (IOException e) {
             throw new MojoExecutionException("Failed to write file: " + filee);
        }
    }
    private String readFile(File filethrows MojoExecutionException {
        try {
            return IOUtils.readFileAsString(filegetCharset());
        } catch (IOException e) {
            throw new MojoExecutionException("Failed to read file: " + filee);
        }
    }
    private Charset getCharset() {
        return ( == null) ? Charset.defaultCharset() : Charset.forName();
    }
    private List<FilefindCissaTemplates() {
        List<Filefiles = new ArrayList<File>();
        findCissaFiles(files);
        return files;
    }
    private void findCissaFiles(List<FileresultFile dir) {
        for (File child : dir.listFiles()) {
            if (child.isDirectory())
                findCissaFiles(resultchild);
            else if (child.isFile() && child.getName().endsWith(".cissa"))
                result.add(child);
        }
    }
New to GrepCode? Check out our FAQ X