/*
* This software is distributed under the terms of the FSF
* Gnu Lesser General Public License (see lgpl.txt).
*
* This program is distributed WITHOUT ANY WARRANTY. See the
* GNU General Public License for more details.
*/
package com.scooterframework.tools.signon;
import java.util.HashMap;
import java.util.Map;
import com.scooterframework.common.util.WordUtil;
import com.scooterframework.tools.common.AbstractGenerator;
/**
* This class generates built-in header view code.
*
* @author (Fei) John Chen
*/
public class SecureHeaderGenerator extends AbstractGenerator {
private String relativePathToView;
private String viewFileName;
public SecureHeaderGenerator(String templateFilePath, Map<String, String> props) {
super(templateFilePath, props);
String headerName = "header";
String viewExtension = wc.getViewExtension();
if (viewExtension != null && !viewExtension.startsWith(".")) viewExtension = "." + viewExtension;
String webpageDirectoryName = wc.getWebPageDirectoryName();
if (webpageDirectoryName.startsWith("/") || webpageDirectoryName.startsWith("\\"))
webpageDirectoryName = webpageDirectoryName.substring(1);
relativePathToView = webpageDirectoryName + "/layouts/includes";
viewFileName = isEmpty(viewExtension)?headerName:(headerName + viewExtension);
}
@Override
protected Map<String, String> getTemplateProperties() {
Map<String, String> templateProps = new HashMap<String, String>();
templateProps.put("app_name", WordUtil.titleize(getProperty("app.name")));
return templateProps;
}
@Override
protected String getRootPath() {
return getProperty("app.path");
}
@Override
protected String getRelativePathToOutputFile() {
return relativePathToView;
}
@Override
protected String getOutputFileName() {
return viewFileName;
}
}