xidyn/demo/XidynDemo.java

315 lines
10 KiB
Java
Raw Permalink Normal View History

/**
2014-02-04 19:00:36 +01:00
* Copyright (C) 2006-2014 Christian Pierre MOMON
*
* This file is part of Xidyn.
*
* Xidyn is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Xidyn 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 General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Xidyn. If not, see <http://www.gnu.org/licenses/>
*/
2013-06-26 14:00:04 +02:00
import org.apache.log4j.Level;
2013-06-26 18:13:50 +02:00
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
2013-06-26 14:00:04 +02:00
2013-07-13 18:46:25 +02:00
import fr.devinsy.xidyn.data.SimpleTagData;
import fr.devinsy.xidyn.data.TagDataManager;
import fr.devinsy.xidyn.presenters.StringPresenter;
2007-02-05 06:10:27 +01:00
/**
*
*/
2013-06-26 02:21:03 +02:00
class XidynDemo
2007-02-05 06:10:27 +01:00
{
2013-06-26 18:13:50 +02:00
static private Logger logger = LoggerFactory.getLogger(XidynDemo.class);
2010-02-23 16:22:50 +01:00
static
{
// Initialize logger.
org.apache.log4j.BasicConfigurator.configure();
2013-06-26 18:13:50 +02:00
org.apache.log4j.Logger.getRootLogger().setLevel(Level.INFO);
}
2007-02-05 06:10:27 +01:00
/**
2013-06-26 20:31:14 +02:00
*
*/
public static void main(final String[] args)
{
System.out.println("Hello World!");
// test ();
//
2013-06-23 02:17:42 +02:00
TagDataManager data;
// Step #01.
{
System.out.println("----------------------------");
// Populate attributes.
2013-06-23 02:17:42 +02:00
data = new TagDataManager();
data.setContent("name", "Superman");
String htmlSource = "<div id='name'>a name</div >";
StringBuffer htmlTarget;
try
{
2013-06-23 02:17:42 +02:00
htmlTarget = StringPresenter.dynamize(htmlSource, data);
}
catch (Exception exception)
{
System.out.println(exception.getMessage());
htmlTarget = null;
}
System.out.println("datas = new Data ();");
System.out.println("datas.setContent (\"name\", \"Superman\");");
System.out.println("+");
System.out.println("<div id='name'>a name</div >");
System.out.println("=>");
System.out.println(htmlTarget);
System.out.println("[" + htmlSource.length() + "] => [" + htmlTarget.length() + "]");
}
// Step #02.
{
System.out.println("----------------------------");
// Populate attributes.
2013-06-23 02:17:42 +02:00
data = new TagDataManager();
data.setContent("lastname", "Spiderman");
data.appendAttribute("lastname", "style", "background: blue;");
data.appendAttribute("lastname", "style", "foreground: red;");
data.setAttribute("lastname", "class", "nameClass");
String htmlSource = "<div id='lastname'>a last name</div >";
StringBuffer htmlTarget;
try
{
2013-06-23 02:17:42 +02:00
htmlTarget = StringPresenter.dynamize(htmlSource, data);
}
catch (Exception exception)
{
System.out.println(exception.getMessage());
htmlTarget = null;
}
System.out.println("datas = new Data ();");
System.out.println("datas.setContent (\"lastname\", \"Spiderman\");");
System.out.println("datas.appendAttribute (\"lastname\", \"style\", \"background: blue;\");");
System.out.println("datas.appendAttribute (\"lastname\", \"style\", \"foreground: red;\");");
System.out.println("datas.setAttribute (\"lastname\", \"class\", \"nameClass\");");
System.out.println("+");
System.out.println("<div id='lastname'>a last name</div>");
System.out.println("=>");
System.out.println(htmlTarget);
System.out.println("[" + htmlSource.length() + "] => [" + htmlTarget.length() + "]");
}
// Step #03.
{
System.out.println("----------------------------");
// Populate attributes.
2013-06-23 02:17:42 +02:00
data = new TagDataManager();
data.setContent("words", 0, "alpha");
data.setContent("words", 1, "bravo");
data.setContent("words", 2, "charlie");
data.setContent("words", 3, "delta");
data.setContent("words", 4, "echo");
data.setContent("words", 5, "fox");
String htmlSource = "<ul>\n <li id='words'>a word</li>\n</ul>";
StringBuffer htmlTarget;
try
{
2013-06-23 02:17:42 +02:00
htmlTarget = StringPresenter.dynamize(htmlSource, data);
}
catch (Exception exception)
{
System.out.println(exception.getMessage());
htmlTarget = null;
}
System.out.println("datas = new Data ();");
System.out.println("datas.setContent (\"words\", 0, \"alpha\");");
System.out.println("datas.setContent (\"words\", 1, \"bravo\");");
System.out.println("datas.setContent (\"words\", 2, \"charlie\");");
System.out.println("datas.setContent (\"words\", 3, \"delta\");");
System.out.println("datas.setContent (\"words\", 4, \"echo\");");
System.out.println("datas.setContent (\"words\", 5, \"fox\");");
System.out.println("+");
System.out.println("<ul>");
System.out.println(" <li id='words'>a word</li>");
System.out.println("</ul>");
System.out.println("=>");
System.out.println(htmlTarget);
System.out.println("[" + htmlSource.length() + "] => [" + htmlTarget.length() + "]");
}
// Step #04.
{
System.out.println("----------------------------");
// Populate attributes.
2013-06-23 02:17:42 +02:00
data = new TagDataManager();
data.setContent("identity", 0, "last_name", "Jemba");
data.setContent("identity", 0, "first_name", "Epo");
data.setContent("identity", 1, "last_name", "Momon");
data.setContent("identity", 1, "first_name", "Christian");
data.setContent("identity", 2, "last_name", "Tronche");
data.setContent("identity", 2, "first_name", "Christophe");
StringBuffer source = new StringBuffer();
source.append("<table>\n");
source.append(" <tr id='identity'><td>noid</td><td id='first_name'>Jean</td><td id='last_name'>Reve</td></tr>\n");
source.append("</table>");
String htmlSource = source.toString();
StringBuffer htmlTarget;
try
{
2013-06-23 02:17:42 +02:00
htmlTarget = StringPresenter.dynamize(htmlSource, data);
}
catch (Exception exception)
{
System.out.println(exception.getMessage());
htmlTarget = null;
}
System.out.println("datas = new Data ();");
System.out.println("datas.setContent (\"identity\", 0, \"last_name\", \"Jemba\");");
System.out.println("datas.setContent (\"identity\", 0, \"first_name\", \"Epo\");");
System.out.println("datas.setContent (\"identity\", 1, \"last_name\", \"Momon\");");
System.out.println("datas.setContent (\"identity\", 1, \"first_name\", \"Christian\");");
System.out.println("datas.setContent (\"identity\", 2, \"last_name\", \"Tronche\");");
System.out.println("datas.setContent (\"identity\", 2, \"first_name\", \"Christophe\");");
System.out.println("+");
System.out.println(htmlSource);
System.out.println("=>");
System.out.println(htmlTarget);
System.out.println("[" + htmlSource.length() + "] => [" + htmlTarget.length() + "]");
}
// Step #05.
{
System.out.println("----------------------------");
// Populate attributes.
2013-06-23 02:17:42 +02:00
data = new TagDataManager();
data.setContent("identity", 0, "last_name", "Jemba");
data.setContent("identity", 0, "first_name", "Epo");
data.setContent("identity", 1, "last_name", "Momon");
data.setContent("identity", 1, "first_name", "Christian");
data.setContent("identity", 2, "last_name", "Tronche");
data.setContent("identity", 2, "first_name", "Christophe");
// datas.setIterationStrategy ("identity",
// IdsDataByIndex.IterationStrategy.ONLY_ROWS_WITH_ID);
// datas.setIterationStrategy ("identity",
// IdsDataByIndex.IterationStrategy.ONLY_ROWS_WITHOUT_ID);
// datas.setIterationStrategy ("identity",
// IdsDataByIndex.IterationStrategy.ALL_ROWS);
//
StringBuffer source = new StringBuffer();
source.append("<table id=\"identities\">\n");
source.append(" <tr id='the_head'><th>noid</th><th>First Name</th><th>Last Name</th></tr>\n");
source.append(" <tr id='identity'><td>noid</td><td id='first_name'>Jean</td><td id='last_name'>Reve</td></tr>\n");
source.append(" <tr id='identity_bis'><td>noid</td><td id='first_name_bis'>a first name</td><td id='last_name_bis'>a last name</td></tr>\n");
source.append(" <tr><td>noid</td><td id='first_name_ter'>a first name more</td><td id='last_name_ter'>a last name more</td></tr>\n");
source.append("</table>\n");
String htmlSource = source.toString();
System.out.println("datas = new Data ();");
System.out.println("datas.setContent (\"identity\", 0, \"first_name\", \"Epo\");");
System.out.println("datas.setContent (\"identity\", 0, \"last_name\", \"Jemba\");");
System.out.println("datas.setContent (\"identity\", 1, \"first_name\", \"Christian\");");
System.out.println("datas.setContent (\"identity\", 1, \"last_name\", \"Momon\");");
System.out.println("datas.setContent (\"identity\", 2, \"first_name\", \"Christophe\");");
System.out.println("datas.setContent (\"identity\", 2, \"last_name\", \"Tronche\");");
System.out.println("+");
System.out.println(htmlSource);
System.out.println("=>");
// #05.1
data.setIterationStrategy("identities", SimpleTagData.IterationStrategy.ONLY_FIRST_ROW);
System.out.println("ONLY_FIRST_ROW:");
StringBuffer html;
try
{
2013-06-23 02:17:42 +02:00
html = StringPresenter.dynamize(htmlSource, data);
}
catch (Exception exception)
{
System.out.println(exception.getMessage());
html = null;
}
System.out.println(html);
System.out.println("");
// #05.2
data.setIterationStrategy("identities", SimpleTagData.IterationStrategy.ONLY_FIRST_TWO_ROWS);
System.out.println("ONLY_FIRST_TWO_ROWS:");
try
{
2013-06-23 02:17:42 +02:00
html = StringPresenter.dynamize(htmlSource, data);
}
catch (Exception exception)
{
System.out.println(exception.getMessage());
html = null;
}
System.out.println(html);
System.out.println("");
// #05.3
data.setIterationStrategy("identities", SimpleTagData.IterationStrategy.ONLY_ROWS_WITH_ID);
System.out.println("ONLY_ROWS_WITH_ID:");
try
{
2013-06-23 02:17:42 +02:00
html = StringPresenter.dynamize(htmlSource, data);
}
catch (Exception exception)
{
System.out.println(exception.getMessage());
html = null;
}
System.out.println(html);
System.out.println("");
// #05.4
data.setIterationStrategy("identities", SimpleTagData.IterationStrategy.ONLY_ROWS_WITHOUT_ID);
System.out.println("ONLY_ROWS_WITHOUT_ID:");
try
{
2013-06-23 02:17:42 +02:00
html = StringPresenter.dynamize(htmlSource, data);
}
catch (Exception exception)
{
System.out.println(exception.getMessage());
html = null;
}
System.out.println(html);
System.out.println("");
// #05.5
data.setIterationStrategy("identities", SimpleTagData.IterationStrategy.ALL_ROWS);
System.out.println("ALL_ROWS:");
try
{
2013-06-23 02:17:42 +02:00
html = StringPresenter.dynamize(htmlSource, data);
}
catch (Exception exception)
{
System.out.println(exception.getMessage());
html = null;
}
System.out.println(html);
}
}
2007-02-05 06:10:27 +01:00
}