From 8fe5aad67608fb9fc47a161c11b6fffadb60d1c3 Mon Sep 17 00:00:00 2001 From: "changhyun1.lee" Date: Fri, 23 Nov 2012 21:39:29 +0900 Subject: [PATCH] [Title] Added Tempalte Engine Built-in Reference [Desc.] [Issue] Redmine-5681 Change-Id: I62289717e1b6c5b37105af765f77542eb8839673 --- ...onIDMethod.java => FreemarkerModelManager.java} | 42 ++++---- .../method/FreemarkerTemplateEngineMethod.java | 111 +++++++++++++++++++++ .../method/AbstractTemplateEngineMethod.java | 95 ++++++++++++++++++ .../freemarker/FreemarkerTemplateEngineTest.java | 9 +- .../verrari/engine/freemarker/config/CONFIGBase | 2 +- .../config/FreemarkerTemplateEngineTest.java | 9 +- .../verrari/engine/freemarker/css/CSSDescription | 2 +- .../css/FreemarkerTemplateEngineTest.java | 16 ++- .../html/FreemarkerTemplateEngineTest.java | 47 ++++----- .../verrari/engine/freemarker/html/HTMLDescription | 2 +- .../js/FreemarkerTemplateEngineTest.java | 16 ++- .../verrari/engine/freemarker/js/JSDescription | 2 +- .../method/FreemarkerTemplateEngineMethodTest.java | 90 +++++++++++++++++ .../verrari/engine/freemarker/method/TESTFile | 5 + 14 files changed, 367 insertions(+), 81 deletions(-) rename org.tizen.common.verrari/src/org/tizen/common/verrari/engine/freemarker/{method/FreemarkerApplicationIDMethod.java => FreemarkerModelManager.java} (59%) create mode 100644 org.tizen.common.verrari/src/org/tizen/common/verrari/engine/freemarker/method/FreemarkerTemplateEngineMethod.java create mode 100644 org.tizen.common.verrari/src/org/tizen/common/verrari/engine/method/AbstractTemplateEngineMethod.java create mode 100755 org.tizen.common.verrari/test/src/org/tizen/common/verrari/engine/freemarker/method/FreemarkerTemplateEngineMethodTest.java create mode 100644 org.tizen.common.verrari/test/src/org/tizen/common/verrari/engine/freemarker/method/TESTFile diff --git a/org.tizen.common.verrari/src/org/tizen/common/verrari/engine/freemarker/method/FreemarkerApplicationIDMethod.java b/org.tizen.common.verrari/src/org/tizen/common/verrari/engine/freemarker/FreemarkerModelManager.java similarity index 59% rename from org.tizen.common.verrari/src/org/tizen/common/verrari/engine/freemarker/method/FreemarkerApplicationIDMethod.java rename to org.tizen.common.verrari/src/org/tizen/common/verrari/engine/freemarker/FreemarkerModelManager.java index 1428a72..8f164a2 100644 --- a/org.tizen.common.verrari/src/org/tizen/common/verrari/engine/freemarker/method/FreemarkerApplicationIDMethod.java +++ b/org.tizen.common.verrari/src/org/tizen/common/verrari/engine/freemarker/FreemarkerModelManager.java @@ -25,33 +25,37 @@ * - S-Core Co., Ltd * */ -package org.tizen.common.verrari.engine.freemarker.method; +package org.tizen.common.verrari.engine.freemarker; -import java.util.List; +import java.util.Map; -import org.tizen.common.AppIdGenerator; -import org.tizen.common.util.log.Logger; - -import freemarker.template.TemplateMethodModel; -import freemarker.template.TemplateModelException; +import org.tizen.common.verrari.engine.freemarker.method.FreemarkerTemplateEngineMethod; +import org.tizen.common.verrari.model.ModelManager; /** - * FreemarkerApplicationIDMethod + * FreemarkerModelManager. + * + * Manage the freemarker models. * * @author ChangHyun Lee{@literal } (S-Core) */ -public class FreemarkerApplicationIDMethod implements TemplateMethodModel { +public class FreemarkerModelManager extends ModelManager { + + public FreemarkerModelManager() { + super(); + init(); + } + + public FreemarkerModelManager(final Map models) { + super(models); + init(); + } - @Override - public String exec(List arg0) throws TemplateModelException { - AppIdGenerator genID = new AppIdGenerator(); - String appID = ""; - try { - appID = genID.generate(); - } catch (Exception e) { - Logger.log(e); - } - return appID; + /** + * Initialize model + */ + public void init() { + new FreemarkerTemplateEngineMethod().reigister(this); } } diff --git a/org.tizen.common.verrari/src/org/tizen/common/verrari/engine/freemarker/method/FreemarkerTemplateEngineMethod.java b/org.tizen.common.verrari/src/org/tizen/common/verrari/engine/freemarker/method/FreemarkerTemplateEngineMethod.java new file mode 100644 index 0000000..0f0d801 --- /dev/null +++ b/org.tizen.common.verrari/src/org/tizen/common/verrari/engine/freemarker/method/FreemarkerTemplateEngineMethod.java @@ -0,0 +1,111 @@ +/* + * Verrari - TemplateEngine + * + * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. + * + * Contact: + * Changhyun Lee + * Hyeongseok Heo + * Kangho Kim + * BonYong Lee + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Contributors: + * - S-Core Co., Ltd + * + */ +package org.tizen.common.verrari.engine.freemarker.method; + +import java.util.List; + +import org.tizen.common.verrari.engine.method.AbstractTemplateEngineMethod; + +import freemarker.template.TemplateMethodModel; +import freemarker.template.TemplateModelException; + +/** + * FreemarkerTemplateEngineMethod. + * + * Freemarker Template Engine Built-in Reference. + * + * @author ChangHyun Lee{@literal } (S-Core) + */ +public class FreemarkerTemplateEngineMethod extends AbstractTemplateEngineMethod { + + public class Year implements TemplateMethodModel { + @SuppressWarnings("rawtypes") + @Override + public String exec(List arg0) throws TemplateModelException { + return AbstractTemplateEngineMethod.getYear(); + } + } + + public class Date implements TemplateMethodModel { + @SuppressWarnings("rawtypes") + @Override + public String exec(List arg0) throws TemplateModelException { + return AbstractTemplateEngineMethod.getDate(); + } + } + + public class Time implements TemplateMethodModel { + @SuppressWarnings("rawtypes") + @Override + public String exec(List arg0) throws TemplateModelException { + return AbstractTemplateEngineMethod.getTime(); + } + } + + public class User implements TemplateMethodModel { + @SuppressWarnings("rawtypes") + @Override + public String exec(List arg0) throws TemplateModelException { + return AbstractTemplateEngineMethod.getUser(); + } + } + + public class ApplicationID implements TemplateMethodModel { + @SuppressWarnings("rawtypes") + @Override + public String exec(List arg0) throws TemplateModelException { + return AbstractTemplateEngineMethod.getApplicationID(); + } + } + + @Override + public Object getYearWrapper() { + return this.new Year(); + } + + @Override + public Object getDateWrapper() { + return this.new Date(); + } + + @Override + public Object getTimeWrapper() { + return this.new Time(); + } + + @Override + public Object getUserWrapper() { + return this.new User(); + } + + @Override + public Object getApplicationIDWrapper() { + return this.new ApplicationID(); + } + +} diff --git a/org.tizen.common.verrari/src/org/tizen/common/verrari/engine/method/AbstractTemplateEngineMethod.java b/org.tizen.common.verrari/src/org/tizen/common/verrari/engine/method/AbstractTemplateEngineMethod.java new file mode 100644 index 0000000..6a1bc2e --- /dev/null +++ b/org.tizen.common.verrari/src/org/tizen/common/verrari/engine/method/AbstractTemplateEngineMethod.java @@ -0,0 +1,95 @@ +/* + * Verrari - TemplateEngine + * + * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. + * + * Contact: + * Changhyun Lee + * Hyeongseok Heo + * Kangho Kim + * BonYong Lee + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Contributors: + * - S-Core Co., Ltd + * + */ +package org.tizen.common.verrari.engine.method; + +import java.text.SimpleDateFormat; +import java.util.Date; + +import org.tizen.common.AppIdGenerator; +import org.tizen.common.util.log.Logger; +import org.tizen.common.verrari.model.ModelManager; + +/** + * AbstractTemplateEngineMethod. + * + * Template Engine Built-in Reference. + * + * @author ChangHyun Lee{@literal } (S-Core) + */ +public abstract class AbstractTemplateEngineMethod { + + public AbstractTemplateEngineMethod() { + } + + public void reigister(ModelManager manager) { + manager.addModel("YEAR", getYearWrapper()); + manager.addModel("DATE", getDateWrapper()); + manager.addModel("TIME", getTimeWrapper()); + manager.addModel("USER", getUserWrapper()); + manager.addModel("APPLICATIONID", getApplicationIDWrapper()); + } + + /* Implementation by Template Engine */ + abstract public Object getYearWrapper(); + abstract public Object getDateWrapper(); + abstract public Object getTimeWrapper(); + abstract public Object getUserWrapper(); + abstract public Object getApplicationIDWrapper(); + + /* Default Implementation */ + public static String getYear() { + SimpleDateFormat yearFormat = new SimpleDateFormat("yyyy"); + return yearFormat.format(new Date()); + } + + public static String getDate() { + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy.MM.dd"); + return dateFormat.format(new Date()); + } + + public static String getTime() { + SimpleDateFormat timeFormat = new SimpleDateFormat("k:mm:ss"); + return timeFormat.format(new Date()); + } + + public static String getUser() { + return System.getProperty("user.name"); + } + + public static String getApplicationID() { + AppIdGenerator genID = new AppIdGenerator(); + String appID = ""; + try { + appID = genID.generate(); + } catch (Exception e) { + Logger.log(e); + } + return appID; + } + +} diff --git a/org.tizen.common.verrari/test/src/org/tizen/common/verrari/engine/freemarker/FreemarkerTemplateEngineTest.java b/org.tizen.common.verrari/test/src/org/tizen/common/verrari/engine/freemarker/FreemarkerTemplateEngineTest.java index fa309dc..b02cfa4 100755 --- a/org.tizen.common.verrari/test/src/org/tizen/common/verrari/engine/freemarker/FreemarkerTemplateEngineTest.java +++ b/org.tizen.common.verrari/test/src/org/tizen/common/verrari/engine/freemarker/FreemarkerTemplateEngineTest.java @@ -34,7 +34,6 @@ import java.io.ByteArrayOutputStream; import org.junit.Test; import org.tizen.common.config.Preference; -import org.tizen.common.verrari.model.ModelManager; import org.tizen.common.verrari.template.ClasspathResourceTemplate; import org.tizen.common.verrari.template.InMemoryTemplate; import org.tizen.common.verrari.template.TemplateManager; @@ -84,7 +83,7 @@ public class FreemarkerTemplateEngineTest { templateProvider.addTemplate( "testHtmlTemplate", new ClasspathResourceTemplate( "org/tizen/common/verrari/engine/freemarker/test_html.ftl", getClass() ) ); { - final ModelManager modelManager = new ModelManager(); + final FreemarkerModelManager modelManager = new FreemarkerModelManager(); modelManager.addModel( "index_html_title", "Tizen Empty" ); final ByteArrayOutputStream byteOut = new ByteArrayOutputStream(); engine.generate( "testHtmlTemplate", modelManager, byteOut ); @@ -96,7 +95,7 @@ public class FreemarkerTemplateEngineTest { } { - final ModelManager modelManager = new ModelManager(); + final FreemarkerModelManager modelManager = new FreemarkerModelManager(); modelManager.addModel("index_html_title", "Tizen Web UI FW - Single"); modelManager.addModel("TizenWebUIFW_Enable", ""); @@ -117,7 +116,7 @@ public class FreemarkerTemplateEngineTest { } { - final ModelManager modelManager = new ModelManager(); + final FreemarkerModelManager modelManager = new FreemarkerModelManager(); modelManager.addModel("index_html_title", "Tizen Web UI FW - Multi"); modelManager.addModel("TizenWebUIFW_Enable", ""); @@ -136,7 +135,7 @@ public class FreemarkerTemplateEngineTest { } { - final ModelManager modelManager = new ModelManager(); + final FreemarkerModelManager modelManager = new FreemarkerModelManager(); modelManager.addModel("TizenWebUIFW_PATH", ""); diff --git a/org.tizen.common.verrari/test/src/org/tizen/common/verrari/engine/freemarker/config/CONFIGBase b/org.tizen.common.verrari/test/src/org/tizen/common/verrari/engine/freemarker/config/CONFIGBase index 6e46bc7..27785df 100644 --- a/org.tizen.common.verrari/test/src/org/tizen/common/verrari/engine/freemarker/config/CONFIGBase +++ b/org.tizen.common.verrari/test/src/org/tizen/common/verrari/engine/freemarker/config/CONFIGBase @@ -1,6 +1,6 @@ - + $$if{TizenWebUIFWProject} diff --git a/org.tizen.common.verrari/test/src/org/tizen/common/verrari/engine/freemarker/config/FreemarkerTemplateEngineTest.java b/org.tizen.common.verrari/test/src/org/tizen/common/verrari/engine/freemarker/config/FreemarkerTemplateEngineTest.java index 5732810..3cdd999 100755 --- a/org.tizen.common.verrari/test/src/org/tizen/common/verrari/engine/freemarker/config/FreemarkerTemplateEngineTest.java +++ b/org.tizen.common.verrari/test/src/org/tizen/common/verrari/engine/freemarker/config/FreemarkerTemplateEngineTest.java @@ -35,10 +35,9 @@ import java.io.File; import org.junit.Test; import org.tizen.common.util.FileUtil; +import org.tizen.common.verrari.engine.freemarker.FreemarkerModelManager; import org.tizen.common.verrari.engine.freemarker.FreemarkerTemplateEngine; import org.tizen.common.verrari.engine.freemarker.FreemarkerTemplateTransformer; -import org.tizen.common.verrari.engine.freemarker.method.FreemarkerApplicationIDMethod; -import org.tizen.common.verrari.model.ModelManager; import org.tizen.common.verrari.template.InMemoryTemplate; import org.tizen.common.verrari.template.TemplateManager; import org.tizen.common.verrari.util.BufferFactory; @@ -70,9 +69,8 @@ public class FreemarkerTemplateEngineTest { templateProvider.addTemplate("CONFIGBase", new InMemoryTemplate(new FreemarkerTemplateTransformer().templateTranslate(FileUtil.readTextFile(new File("./test/src/org/tizen/common/verrari/engine/freemarker/config/CONFIGBase"), null)).getBytes(), "utf-8", BufferFactory.getInstance())); { - final ModelManager modelManager = new ModelManager(); + final FreemarkerModelManager modelManager = new FreemarkerModelManager(); modelManager.addModel("WidgetID", "MyWidget"); - modelManager.addModel("ApplicationID", new FreemarkerApplicationIDMethod()); modelManager.addModel("ContentSRC", "index.html"); modelManager.addModel("IconSRC", "icon.png"); @@ -91,9 +89,8 @@ public class FreemarkerTemplateEngineTest { } { - final ModelManager modelManager = new ModelManager(); + final FreemarkerModelManager modelManager = new FreemarkerModelManager(); modelManager.addModel("WidgetID", "MyWidget"); - modelManager.addModel("ApplicationID", new FreemarkerApplicationIDMethod()); modelManager.addModel("ContentSRC", "index.html"); modelManager.addModel("IconSRC", "icon.png"); modelManager.addModel("TizenWebUIFWProject", ""); diff --git a/org.tizen.common.verrari/test/src/org/tizen/common/verrari/engine/freemarker/css/CSSDescription b/org.tizen.common.verrari/test/src/org/tizen/common/verrari/engine/freemarker/css/CSSDescription index 347aed2..b8f586a 100644 --- a/org.tizen.common.verrari/test/src/org/tizen/common/verrari/engine/freemarker/css/CSSDescription +++ b/org.tizen.common.verrari/test/src/org/tizen/common/verrari/engine/freemarker/css/CSSDescription @@ -1 +1 @@ -/* Copyright $${DescriptionDate|"2012"} $${DescriptionAuthor|"author"} All rights reserved. */ \ No newline at end of file +/* Copyright $@{YEAR()} $@{USER()} All rights reserved. */ \ No newline at end of file diff --git a/org.tizen.common.verrari/test/src/org/tizen/common/verrari/engine/freemarker/css/FreemarkerTemplateEngineTest.java b/org.tizen.common.verrari/test/src/org/tizen/common/verrari/engine/freemarker/css/FreemarkerTemplateEngineTest.java index 6df7d4c..79e1697 100755 --- a/org.tizen.common.verrari/test/src/org/tizen/common/verrari/engine/freemarker/css/FreemarkerTemplateEngineTest.java +++ b/org.tizen.common.verrari/test/src/org/tizen/common/verrari/engine/freemarker/css/FreemarkerTemplateEngineTest.java @@ -34,11 +34,10 @@ import java.io.ByteArrayOutputStream; import java.io.File; import org.junit.Test; -import org.tizen.common.config.Preference; import org.tizen.common.util.FileUtil; +import org.tizen.common.verrari.engine.freemarker.FreemarkerModelManager; import org.tizen.common.verrari.engine.freemarker.FreemarkerTemplateEngine; import org.tizen.common.verrari.engine.freemarker.FreemarkerTemplateTransformer; -import org.tizen.common.verrari.model.ModelManager; import org.tizen.common.verrari.template.InMemoryTemplate; import org.tizen.common.verrari.template.TemplateManager; import org.tizen.common.verrari.util.BufferFactory; @@ -71,12 +70,9 @@ public class FreemarkerTemplateEngineTest { templateProvider.addTemplate("CSSDescription", new InMemoryTemplate(new FreemarkerTemplateTransformer().templateTranslate(FileUtil.readTextFile(new File("./test/src/org/tizen/common/verrari/engine/freemarker/css/CSSDescription"), null)).getBytes(), "utf-8", BufferFactory.getInstance())); templateProvider.addTemplate("CSSTizenBasicBlank", new InMemoryTemplate(new FreemarkerTemplateTransformer().templateTranslate(FileUtil.readTextFile(new File("./test/src/org/tizen/common/verrari/engine/freemarker/css/CSSTizenBasicBlank"), null)).getBytes(), "utf-8", BufferFactory.getInstance())); - Preference.register( null, "DescriptionDate", "2012"); - Preference.register( null, "DescriptionAuthor", "changhyun1.lee@samsung.com"); - { // empty & not description - final ModelManager modelManager = new ModelManager(); + final FreemarkerModelManager modelManager = new FreemarkerModelManager(); final ByteArrayOutputStream byteOut = new ByteArrayOutputStream(); engine.generate("CSSBase", modelManager, byteOut ); @@ -88,7 +84,7 @@ public class FreemarkerTemplateEngineTest { { // empty & include description - final ModelManager modelManager = new ModelManager(); + final FreemarkerModelManager modelManager = new FreemarkerModelManager(); modelManager.addModel("CSSDescription", ""); final ByteArrayOutputStream byteOut = new ByteArrayOutputStream(); @@ -96,13 +92,13 @@ public class FreemarkerTemplateEngineTest { final String result = byteOut.toString(); assertTrue(0 < result.length()); assertTrue(result.contains("Copyright")); - assertTrue(result.contains("changhyun1.lee@samsung.com")); + assertTrue(result.contains(System.getProperty("user.name"))); assertTrue(result.contains("body {")); } { // TizenBasicBlank & include description - final ModelManager modelManager = new ModelManager(); + final FreemarkerModelManager modelManager = new FreemarkerModelManager(); modelManager.addModel("CSSDescription", ""); modelManager.addModel("CSSTizenBasicBlank", ""); @@ -111,7 +107,7 @@ public class FreemarkerTemplateEngineTest { final String result = byteOut.toString(); assertTrue(0 < result.length()); assertTrue(result.contains("Copyright")); - assertTrue(result.contains("changhyun1.lee@samsung.com")); + assertTrue(result.contains(System.getProperty("user.name"))); assertTrue(result.contains("body {")); assertTrue(result.contains("margin: 0px auto;")); } diff --git a/org.tizen.common.verrari/test/src/org/tizen/common/verrari/engine/freemarker/html/FreemarkerTemplateEngineTest.java b/org.tizen.common.verrari/test/src/org/tizen/common/verrari/engine/freemarker/html/FreemarkerTemplateEngineTest.java index e78f3a9..32d39cf 100755 --- a/org.tizen.common.verrari/test/src/org/tizen/common/verrari/engine/freemarker/html/FreemarkerTemplateEngineTest.java +++ b/org.tizen.common.verrari/test/src/org/tizen/common/verrari/engine/freemarker/html/FreemarkerTemplateEngineTest.java @@ -34,12 +34,10 @@ import java.io.ByteArrayOutputStream; import java.io.File; import org.junit.Test; -import org.tizen.common.config.Preference; import org.tizen.common.util.FileUtil; +import org.tizen.common.verrari.engine.freemarker.FreemarkerModelManager; import org.tizen.common.verrari.engine.freemarker.FreemarkerTemplateEngine; import org.tizen.common.verrari.engine.freemarker.FreemarkerTemplateTransformer; -import org.tizen.common.verrari.engine.freemarker.method.FreemarkerApplicationIDMethod; -import org.tizen.common.verrari.model.ModelManager; import org.tizen.common.verrari.template.InMemoryTemplate; import org.tizen.common.verrari.template.TemplateManager; import org.tizen.common.verrari.util.BufferFactory; @@ -88,14 +86,9 @@ public class FreemarkerTemplateEngineTest { templateProvider.addTemplate("HTMLJQMNavigationSection1", new InMemoryTemplate(new FreemarkerTemplateTransformer().templateTranslate(FileUtil.readTextFile(new File("./test/src/org/tizen/common/verrari/engine/freemarker/html/HTMLJQMNavigationSection1"), null)).getBytes(), "utf-8", BufferFactory.getInstance())); templateProvider.addTemplate("HTMLJQMNavigationSection2", new InMemoryTemplate(new FreemarkerTemplateTransformer().templateTranslate(FileUtil.readTextFile(new File("./test/src/org/tizen/common/verrari/engine/freemarker/html/HTMLJQMNavigationSection2"), null)).getBytes(), "utf-8", BufferFactory.getInstance())); - Preference.register( null, "DescriptionDate", "2012"); - Preference.register( null, "DescriptionAuthor", "changhyun1.lee@samsung.com"); - { // empty & not description - final ModelManager modelManager = new ModelManager(); - FreemarkerApplicationIDMethod aaaa = new FreemarkerApplicationIDMethod(); - modelManager.addModel("getModel", aaaa); + final FreemarkerModelManager modelManager = new FreemarkerModelManager(); final ByteArrayOutputStream byteOut = new ByteArrayOutputStream(); engine.generate("HTMLBase", modelManager, byteOut ); @@ -114,7 +107,7 @@ public class FreemarkerTemplateEngineTest { { // empty & description - final ModelManager modelManager = new ModelManager(); + final FreemarkerModelManager modelManager = new FreemarkerModelManager(); modelManager.addModel("HTMLDescription", ""); modelManager.addModel("MetaViewport", ""); modelManager.addModel("MetaDescriptionContent", "test MetaDescriptionContent"); @@ -137,7 +130,7 @@ public class FreemarkerTemplateEngineTest { { // TizenBasicBlank & description - final ModelManager modelManager = new ModelManager(); + final FreemarkerModelManager modelManager = new FreemarkerModelManager(); modelManager.addModel("HTMLDescription", ""); modelManager.addModel("MetaViewport", ""); modelManager.addModel("MetaDescriptionContent", "Tizen basic template generated by Tizen Web IDE"); @@ -162,7 +155,7 @@ public class FreemarkerTemplateEngineTest { { // TizenWebUIFW - single - final ModelManager modelManager = new ModelManager(); + final FreemarkerModelManager modelManager = new FreemarkerModelManager(); modelManager.addModel("HTMLDescription", ""); modelManager.addModel("MetaDescriptionContent", "A Tizen Web UI FW single-page template generated by Tizen Web IDE"); modelManager.addModel("HtmlTitle", "Tizen Web IDE - Template - Tizen - Tizen Web UI Framework - Single-Page"); @@ -188,7 +181,7 @@ public class FreemarkerTemplateEngineTest { { // TizenWebUIFW - multi - final ModelManager modelManager = new ModelManager(); + final FreemarkerModelManager modelManager = new FreemarkerModelManager(); modelManager.addModel("HTMLDescription", ""); modelManager.addModel("MetaDescriptionContent", "TizenWebUIFWProject"); modelManager.addModel("HtmlTitle", "TizenWebUIFWProject"); @@ -213,7 +206,7 @@ public class FreemarkerTemplateEngineTest { { // TizenWebUIFW - masterdetail - index.html - final ModelManager modelManager = new ModelManager(); + final FreemarkerModelManager modelManager = new FreemarkerModelManager(); modelManager.addModel("HTMLDescription", ""); modelManager.addModel("MetaDescriptionContent", "TizenWebUIFWMasterDetailIndex"); modelManager.addModel("HtmlTitle", "TizenWebUIFWMasterDetailIndex"); @@ -237,7 +230,7 @@ public class FreemarkerTemplateEngineTest { } { // TizenWebUIFW - masterdetail - section1.html - final ModelManager modelManager = new ModelManager(); + final FreemarkerModelManager modelManager = new FreemarkerModelManager(); modelManager.addModel("HTMLDescription", ""); modelManager.addModel("MetaDescriptionContent", "TizenWebUIFWMasterDetailSection1"); modelManager.addModel("HtmlTitle", "TizenWebUIFWMasterDetailSection1"); @@ -261,7 +254,7 @@ public class FreemarkerTemplateEngineTest { } { // TizenWebUIFW - masterdetail - section2.html - final ModelManager modelManager = new ModelManager(); + final FreemarkerModelManager modelManager = new FreemarkerModelManager(); modelManager.addModel("HTMLDescription", ""); modelManager.addModel("MetaDescriptionContent", "TizenWebUIFWMasterDetailSection2"); modelManager.addModel("HtmlTitle", "TizenWebUIFWMasterDetailSection2"); @@ -286,7 +279,7 @@ public class FreemarkerTemplateEngineTest { { // TizenWebUIFW - navigation - index.html - final ModelManager modelManager = new ModelManager(); + final FreemarkerModelManager modelManager = new FreemarkerModelManager(); modelManager.addModel("HTMLDescription", ""); modelManager.addModel("MetaDescriptionContent", "TizenWebUIFWNavigationIndex"); modelManager.addModel("HtmlTitle", "TizenWebUIFWNavigationIndex"); @@ -310,7 +303,7 @@ public class FreemarkerTemplateEngineTest { } { // TizenWebUIFW - navigation - section1.html - final ModelManager modelManager = new ModelManager(); + final FreemarkerModelManager modelManager = new FreemarkerModelManager(); modelManager.addModel("HTMLDescription", ""); modelManager.addModel("MetaDescriptionContent", "TizenWebUIFWNavigationSection1"); modelManager.addModel("HtmlTitle", "TizenWebUIFWNavigationSection1"); @@ -334,7 +327,7 @@ public class FreemarkerTemplateEngineTest { } { // TizenWebUIFW - navigation - section2.html - final ModelManager modelManager = new ModelManager(); + final FreemarkerModelManager modelManager = new FreemarkerModelManager(); modelManager.addModel("HTMLDescription", ""); modelManager.addModel("MetaDescriptionContent", "TizenWebUIFWNavigationSection2"); modelManager.addModel("HtmlTitle", "TizenWebUIFWNavigationSection2"); @@ -359,7 +352,7 @@ public class FreemarkerTemplateEngineTest { { // JQM - single - final ModelManager modelManager = new ModelManager(); + final FreemarkerModelManager modelManager = new FreemarkerModelManager(); modelManager.addModel("HTMLDescription", ""); modelManager.addModel("MetaViewport", ""); modelManager.addModel("MetaDescriptionContent", "JQMSinglePage"); @@ -387,7 +380,7 @@ public class FreemarkerTemplateEngineTest { { // JQM - multi - final ModelManager modelManager = new ModelManager(); + final FreemarkerModelManager modelManager = new FreemarkerModelManager(); modelManager.addModel("HTMLDescription", ""); modelManager.addModel("MetaViewport", ""); modelManager.addModel("MetaDescriptionContent", "JQMMultiPage"); @@ -415,7 +408,7 @@ public class FreemarkerTemplateEngineTest { { // JQM - masterdetail - index.html - final ModelManager modelManager = new ModelManager(); + final FreemarkerModelManager modelManager = new FreemarkerModelManager(); modelManager.addModel("HTMLDescription", ""); modelManager.addModel("MetaViewport", ""); modelManager.addModel("MetaDescriptionContent", "JQMMasterDetailIndex"); @@ -442,7 +435,7 @@ public class FreemarkerTemplateEngineTest { } { // JQM - masterdetail - section1.html - final ModelManager modelManager = new ModelManager(); + final FreemarkerModelManager modelManager = new FreemarkerModelManager(); modelManager.addModel("HTMLDescription", ""); modelManager.addModel("MetaViewport", ""); modelManager.addModel("MetaDescriptionContent", "JQMMasterDetailSection1"); @@ -469,7 +462,7 @@ public class FreemarkerTemplateEngineTest { } { // JQM - masterdetail - section2.html - final ModelManager modelManager = new ModelManager(); + final FreemarkerModelManager modelManager = new FreemarkerModelManager(); modelManager.addModel("HTMLDescription", ""); modelManager.addModel("MetaViewport", ""); modelManager.addModel("MetaDescriptionContent", "JQMMasterDetailSection2"); @@ -497,7 +490,7 @@ public class FreemarkerTemplateEngineTest { { // JQM - navigation - index.html - final ModelManager modelManager = new ModelManager(); + final FreemarkerModelManager modelManager = new FreemarkerModelManager(); modelManager.addModel("HTMLDescription", ""); modelManager.addModel("MetaViewport", ""); modelManager.addModel("MetaDescriptionContent", "JQMNavigationIndex"); @@ -524,7 +517,7 @@ public class FreemarkerTemplateEngineTest { } { // JQM - navigation - section1.html - final ModelManager modelManager = new ModelManager(); + final FreemarkerModelManager modelManager = new FreemarkerModelManager(); modelManager.addModel("HTMLDescription", ""); modelManager.addModel("MetaViewport", ""); modelManager.addModel("MetaDescriptionContent", "JQMNavigationSection1"); @@ -551,7 +544,7 @@ public class FreemarkerTemplateEngineTest { } { // JQM - navigation - section2.html - final ModelManager modelManager = new ModelManager(); + final FreemarkerModelManager modelManager = new FreemarkerModelManager(); modelManager.addModel("HTMLDescription", ""); modelManager.addModel("MetaViewport", ""); modelManager.addModel("MetaDescriptionContent", "JQMNavigationSection2"); diff --git a/org.tizen.common.verrari/test/src/org/tizen/common/verrari/engine/freemarker/html/HTMLDescription b/org.tizen.common.verrari/test/src/org/tizen/common/verrari/engine/freemarker/html/HTMLDescription index 113ad7b..7d9adf3 100644 --- a/org.tizen.common.verrari/test/src/org/tizen/common/verrari/engine/freemarker/html/HTMLDescription +++ b/org.tizen.common.verrari/test/src/org/tizen/common/verrari/engine/freemarker/html/HTMLDescription @@ -1,3 +1,3 @@ \ No newline at end of file diff --git a/org.tizen.common.verrari/test/src/org/tizen/common/verrari/engine/freemarker/js/FreemarkerTemplateEngineTest.java b/org.tizen.common.verrari/test/src/org/tizen/common/verrari/engine/freemarker/js/FreemarkerTemplateEngineTest.java index aa65d63..914db4d 100755 --- a/org.tizen.common.verrari/test/src/org/tizen/common/verrari/engine/freemarker/js/FreemarkerTemplateEngineTest.java +++ b/org.tizen.common.verrari/test/src/org/tizen/common/verrari/engine/freemarker/js/FreemarkerTemplateEngineTest.java @@ -34,11 +34,10 @@ import java.io.ByteArrayOutputStream; import java.io.File; import org.junit.Test; -import org.tizen.common.config.Preference; import org.tizen.common.util.FileUtil; +import org.tizen.common.verrari.engine.freemarker.FreemarkerModelManager; import org.tizen.common.verrari.engine.freemarker.FreemarkerTemplateEngine; import org.tizen.common.verrari.engine.freemarker.FreemarkerTemplateTransformer; -import org.tizen.common.verrari.model.ModelManager; import org.tizen.common.verrari.template.InMemoryTemplate; import org.tizen.common.verrari.template.TemplateManager; import org.tizen.common.verrari.util.BufferFactory; @@ -73,12 +72,9 @@ public class FreemarkerTemplateEngineTest { templateProvider.addTemplate("JSTizenBasicBlank", new InMemoryTemplate(new FreemarkerTemplateTransformer().templateTranslate(FileUtil.readTextFile(new File("./test/src/org/tizen/common/verrari/engine/freemarker/js/JSTizenBasicBlank"), null)).getBytes(), "utf-8", BufferFactory.getInstance())); templateProvider.addTemplate("JSTizenWebUIFW", new InMemoryTemplate(new FreemarkerTemplateTransformer().templateTranslate(FileUtil.readTextFile(new File("./test/src/org/tizen/common/verrari/engine/freemarker/js/JSTizenWebUIFW"), null)).getBytes(), "utf-8", BufferFactory.getInstance())); - Preference.register( null, "DescriptionDate", "2012"); - Preference.register( null, "DescriptionAuthor", "changhyun1.lee@samsung.com"); - { // empty & not description - final ModelManager modelManager = new ModelManager(); + final FreemarkerModelManager modelManager = new FreemarkerModelManager(); final ByteArrayOutputStream byteOut = new ByteArrayOutputStream(); engine.generate("JSBase", modelManager, byteOut ); @@ -90,7 +86,7 @@ public class FreemarkerTemplateEngineTest { { // empty & include description - final ModelManager modelManager = new ModelManager(); + final FreemarkerModelManager modelManager = new FreemarkerModelManager(); modelManager.addModel("JSDescription", ""); final ByteArrayOutputStream byteOut = new ByteArrayOutputStream(); @@ -103,7 +99,7 @@ public class FreemarkerTemplateEngineTest { { // TizenBasicBlank & include description - final ModelManager modelManager = new ModelManager(); + final FreemarkerModelManager modelManager = new FreemarkerModelManager(); modelManager.addModel("JSDescription", ""); modelManager.addModel("JSTizenBasicBlank", ""); @@ -117,7 +113,7 @@ public class FreemarkerTemplateEngineTest { { // JQM & include description - final ModelManager modelManager = new ModelManager(); + final FreemarkerModelManager modelManager = new FreemarkerModelManager(); modelManager.addModel("JSDescription", ""); modelManager.addModel("JSJQM", ""); @@ -131,7 +127,7 @@ public class FreemarkerTemplateEngineTest { { // TizenWebUIFW & include description - final ModelManager modelManager = new ModelManager(); + final FreemarkerModelManager modelManager = new FreemarkerModelManager(); modelManager.addModel("JSDescription", ""); modelManager.addModel("JSTizenWebUIFW", ""); diff --git a/org.tizen.common.verrari/test/src/org/tizen/common/verrari/engine/freemarker/js/JSDescription b/org.tizen.common.verrari/test/src/org/tizen/common/verrari/engine/freemarker/js/JSDescription index 09f69af..9a61796 100644 --- a/org.tizen.common.verrari/test/src/org/tizen/common/verrari/engine/freemarker/js/JSDescription +++ b/org.tizen.common.verrari/test/src/org/tizen/common/verrari/engine/freemarker/js/JSDescription @@ -1,3 +1,3 @@ /* - * Copyright $${DescriptionDate|"2012"} $${DescriptionAuthor|"author"} All rights reserved. + * Copyright $@{YEAR()} $@{USER()} All rights reserved. */ \ No newline at end of file diff --git a/org.tizen.common.verrari/test/src/org/tizen/common/verrari/engine/freemarker/method/FreemarkerTemplateEngineMethodTest.java b/org.tizen.common.verrari/test/src/org/tizen/common/verrari/engine/freemarker/method/FreemarkerTemplateEngineMethodTest.java new file mode 100755 index 0000000..aed5c4f --- /dev/null +++ b/org.tizen.common.verrari/test/src/org/tizen/common/verrari/engine/freemarker/method/FreemarkerTemplateEngineMethodTest.java @@ -0,0 +1,90 @@ +/* + * Verrari - TemplateEngine + * + * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. + * + * Contact: + * Changhyun Lee + * Hyeongseok Heo + * Kangho Kim + * BonYong Lee + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Contributors: + * - S-Core Co., Ltd + * + */ +package org.tizen.common.verrari.engine.freemarker.method; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; + +import java.io.ByteArrayOutputStream; +import java.io.File; + +import org.junit.Test; +import org.tizen.common.util.FileUtil; +import org.tizen.common.verrari.engine.freemarker.FreemarkerModelManager; +import org.tizen.common.verrari.engine.freemarker.FreemarkerTemplateEngine; +import org.tizen.common.verrari.engine.freemarker.FreemarkerTemplateTransformer; +import org.tizen.common.verrari.engine.method.AbstractTemplateEngineMethod; +import org.tizen.common.verrari.template.InMemoryTemplate; +import org.tizen.common.verrari.template.TemplateManager; +import org.tizen.common.verrari.util.BufferFactory; + +/** + * FreemarkerTemplateEngineMethodTest. + * + * Test case for {@link FreemarkerTemplateEngineMethodTest} + * + * @author Changhyun Lee{@literal } (S-Core) + * + * @see FreemarkerTemplateEngineMethod + * + */ +public class FreemarkerTemplateEngineMethodTest { + /** + * Test {@link FreemarkerTemplateEngineMethod} + * + * @throws Exception in case of failure in test + * + * @see FreemarkerTemplateEngineMethod + */ + @Test + public void getXXXWrapper() throws Exception { + FreemarkerTemplateEngine engine = new FreemarkerTemplateEngine(); + final TemplateManager templateProvider = new TemplateManager(); + engine.setTemplateProvider(templateProvider); + + templateProvider.addTemplate("TESTFile", new InMemoryTemplate(new FreemarkerTemplateTransformer().templateTranslate(FileUtil.readTextFile(new File("./test/src/org/tizen/common/verrari/engine/freemarker/method/TESTFile"), null)).getBytes(), "utf-8", BufferFactory.getInstance())); + + final FreemarkerModelManager modelManager = new FreemarkerModelManager(); + + assertNotNull(modelManager.getModel("YEAR")); + assertNotNull(modelManager.getModel("DATE")); + assertNotNull(modelManager.getModel("TIME")); + assertNotNull(modelManager.getModel("USER")); + assertNotNull(modelManager.getModel("APPLICATIONID")); + + final ByteArrayOutputStream byteOut = new ByteArrayOutputStream(); + engine.generate("TESTFile", modelManager, byteOut ); + final String result = byteOut.toString(); + assertTrue(0 < result.length()); + assertTrue(result.contains(AbstractTemplateEngineMethod.getYear())); + assertTrue(result.contains(AbstractTemplateEngineMethod.getDate())); + assertTrue(result.contains(AbstractTemplateEngineMethod.getUser())); + } + +} diff --git a/org.tizen.common.verrari/test/src/org/tizen/common/verrari/engine/freemarker/method/TESTFile b/org.tizen.common.verrari/test/src/org/tizen/common/verrari/engine/freemarker/method/TESTFile new file mode 100644 index 0000000..d6bc9ec --- /dev/null +++ b/org.tizen.common.verrari/test/src/org/tizen/common/verrari/engine/freemarker/method/TESTFile @@ -0,0 +1,5 @@ +Year:"$@{YEAR()}" +Date:"$@{DATE()}" +Time:"$@{TIME()}" +User:"$@{USER()}" +ApplicationID:"$@{APPLICATIONID()}" \ No newline at end of file -- 2.7.4