Package org.ajax4jsf.builder.generator

Source Code of org.ajax4jsf.builder.generator.XMLConfigGenerator

/**
* License Agreement.
*
* Rich Faces - Natural Ajax for Java Server Faces (JSF)
*
* Copyright (C) 2007 Exadel, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License version 2.1 as published by the Free Software Foundation.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
*/

package org.ajax4jsf.builder.generator;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;

import org.ajax4jsf.builder.config.ParsingException;
import org.ajax4jsf.builder.xml.XMLBody;

/**
* @author shura
*
*/
public abstract class XMLConfigGenerator extends InnerGenerator {

  private File _include = null;

  /**
   * @param config
   * @param log
   */
  public XMLConfigGenerator(JSFGeneratorConfiguration config, Logger log) {
    super(config, log);
  }

  /**
   * @return Returns the include.
   */
  public File getInclude() {
    return _include;
  }

  /**
   * @param include
   *            The include to set.
   */
  public void setInclude(File include) {
    _include = include;
  }

  public String getIncludeContent() {
    String content = "";
    File include = getInclude();
    if (null != include) {
      if (include.isDirectory()) {
        File[] files = include.listFiles();
        for (int i = 0; i < files.length; i++) {
          File file = files[i];
          if (file.isFile()) {
            content = content + getXMLBody(file);

          }
        }
      } else if (include.exists()) {
        content = getXMLBody(include);
      }
    }
    return content;
  }

  /**
   * @param file
   * @return
   */
  private String getXMLBody(File file) {
    XMLBody body = new XMLBody();
    try {
      body.loadXML(new FileInputStream(file));
      if (body.isRootName(getRootTag())) {
        return body.getContent();
      }
    } catch (FileNotFoundException e) {
      getLog().warn("Not found include file ", e);
    } catch (ParsingException e) {
      getLog().warn("Error parsing include file ", e);
    }
    return "";
  }

  /**
   * @return
   */
  protected abstract String getRootTag();

}
TOP

Related Classes of org.ajax4jsf.builder.generator.XMLConfigGenerator

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.