Initiative Spring 4.2.6 project for test driven development (TDD)
1. Create Dynamic Web project, for example at C:\Startup
2. Convert to Maven project
3. Download and unzip TDD-Spring-Blank-master.zip, for example at C:\Blank (from \TDD-Spring-Blank-master\TDD-Spring-Blank)
4. Add following lines to C:\Startup\pom.xml, then build
5. Add following lines to C:\Startup\pom.xml, then build
6. Run following commands, for example on Windows 7
7. Remove current source folder and add 2 new source folder at c:\Startup\src\java and c:\Startup\src\tests
8. Run following commands, for example on Windows 7
9. Map tdd-spring-blank.com domain to IP of your MySQL server
10. Create 2 databases and users
11. With tdd-spring-blank database, run scripts
2. Convert to Maven project
3. Download and unzip TDD-Spring-Blank-master.zip, for example at C:\Blank (from \TDD-Spring-Blank-master\TDD-Spring-Blank)
4. Add following lines to C:\Startup\pom.xml, then build
<dependencies>
<dependencies>
<!-- http://mvnrepository.com/artifact/org.springframework/spring-core -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>4.2.6.RELEASE</version>
</dependency>
<!-- http://mvnrepository.com/artifact/org.springframework/spring-aop -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>4.2.6.RELEASE</version>
</dependency>
<!-- http://mvnrepository.com/artifact/org.springframework/spring-aspects -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>4.2.6.RELEASE</version>
</dependency>
<!-- http://mvnrepository.com/artifact/org.springframework/spring-beans -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>4.2.6.RELEASE</version>
</dependency>
<!-- http://mvnrepository.com/artifact/org.springframework/spring-context -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.2.6.RELEASE</version>
</dependency>
<!-- http://mvnrepository.com/artifact/org.springframework/spring-context-support -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>4.2.6.RELEASE</version>
</dependency>
<!-- http://mvnrepository.com/artifact/org.springframework/spring-expression -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-expression</artifactId>
<version>4.2.6.RELEASE</version>
</dependency>
<!-- http://mvnrepository.com/artifact/org.springframework/spring-instrument -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-instrument</artifactId>
<version>4.2.6.RELEASE</version>
</dependency>
<!-- http://mvnrepository.com/artifact/org.springframework/spring-instrument-tomcat -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-instrument-tomcat</artifactId>
<version>4.2.6.RELEASE</version>
</dependency>
<!-- http://mvnrepository.com/artifact/org.springframework/spring-jdbc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>4.2.6.RELEASE</version>
</dependency>
<!-- http://mvnrepository.com/artifact/org.springframework/spring-jms -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jms</artifactId>
<version>4.2.6.RELEASE</version>
</dependency>
<!-- http://mvnrepository.com/artifact/org.springframework/spring-messaging -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-messaging</artifactId>
<version>4.2.6.RELEASE</version>
</dependency>
<!-- http://mvnrepository.com/artifact/org.springframework/spring-orm -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>4.2.6.RELEASE</version>
</dependency>
<!-- http://mvnrepository.com/artifact/org.springframework/spring-oxm -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-oxm</artifactId>
<version>4.2.6.RELEASE</version>
</dependency>
<!-- http://mvnrepository.com/artifact/org.springframework/spring-test -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>4.2.6.RELEASE</version>
</dependency>
<!-- http://mvnrepository.com/artifact/org.springframework/spring-tx -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>4.2.6.RELEASE</version>
</dependency>
<!-- http://mvnrepository.com/artifact/org.springframework/spring-web -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>4.2.6.RELEASE</version>
</dependency>
<!-- http://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.2.6.RELEASE</version>
</dependency>
<!-- http://mvnrepository.com/artifact/org.springframework/spring-webmvc-portlet -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc-portlet</artifactId>
<version>4.2.6.RELEASE</version>
</dependency>
<!-- http://mvnrepository.com/artifact/org.springframework/spring-websocket -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-websocket</artifactId>
<version>4.2.6.RELEASE</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<!-- http://mvnrepository.com/artifact/org.hibernate/hibernate-core -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.0.9.Final</version>
<exclusions>
<exclusion>
<artifactId>dom4j</artifactId>
<groupId>dom4j</groupId>
</exclusion>
</exclusions>
</dependency>
<!-- http://mvnrepository.com/artifact/org.hibernate/hibernate-entitymanager -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>5.0.9.Final</version>
<exclusions>
<exclusion>
<artifactId>dom4j</artifactId>
<groupId>dom4j</groupId>
</exclusion>
</exclusions>
</dependency>
<!-- http://mvnrepository.com/artifact/org.hibernate/hibernate-c3p0 -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-c3p0</artifactId>
<version>5.0.9.Final</version>
</dependency>
<!-- http://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
</dependency>
<!-- http://mvnrepository.com/artifact/commons-dbcp/commons-dbcp -->
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4</version>
</dependency>
<!-- http://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.39</version>
</dependency>
<!-- http://mvnrepository.com/artifact/org.dom4j/dom4j -->
<dependency>
<groupId>org.dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>2.0.0</version>
</dependency>
<!-- http://mvnrepository.com/artifact/org.jboss.arquillian.graphene/graphene-webdriver -->
<dependency>
<groupId>org.jboss.arquillian.graphene</groupId>
<artifactId>graphene-webdriver</artifactId>
<version>2.0.3.Final</version>
<type>pom</type>
</dependency>
<!-- http://mvnrepository.com/artifact/org.jboss.arquillian/arquillian-bom -->
<dependency>
<groupId>org.jboss.arquillian</groupId>
<artifactId>arquillian-bom</artifactId>
<version>1.1.5.Final</version>
<type>pom</type>
</dependency>
<!-- http://mvnrepository.com/artifact/org.jboss.arquillian.core/arquillian-core-api -->
<dependency>
<groupId>org.jboss.arquillian.core</groupId>
<artifactId>arquillian-core-api</artifactId>
<version>1.1.5.Final</version>
</dependency>
<!-- http://mvnrepository.com/artifact/org.jboss.arquillian.config/arquillian-config-api -->
<dependency>
<groupId>org.jboss.arquillian.config</groupId>
<artifactId>arquillian-config-api</artifactId>
<version>1.1.5.Final</version>
</dependency>
<dependency>
<groupId>org.jboss.arquillian.extension</groupId>
<artifactId>arquillian-drone-bom</artifactId>
<version>1.3.1.Final</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.jboss.arquillian.selenium</groupId>
<artifactId>selenium-bom</artifactId>
<version>2.43.1</version>
<type>pom</type>
</dependency>
<!-- http://mvnrepository.com/artifact/org.jboss.arquillian.junit/arquillian-junit-container -->
<dependency>
<groupId>org.jboss.arquillian.junit</groupId>
<artifactId>arquillian-junit-container</artifactId>
<version>1.1.5.Final</version>
</dependency>
</dependencies>
5. Add following lines to C:\Startup\pom.xml, then build
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>build</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/lib</outputDirectory>
<overWriteReleases>true</overWriteReleases>
<overWriteSnapshots>true</overWriteSnapshots>
<overWriteIfNewer>true</overWriteIfNewer>
<excludes>xml-apis-1.0.b2.jar</excludes>
</configuration>
</execution>
</executions>
</plugin>
6. Run following commands, for example on Windows 7
md c:\Startup\src\java md c:\Startup\src\tests
7. Remove current source folder and add 2 new source folder at c:\Startup\src\java and c:\Startup\src\tests
8. Run following commands, for example on Windows 7
copy C:\Blank\src\java\* C:\Startup\src\java copy C:\Blank\src\tests\* C:\Startup\src\tests copy C:\Blank\WebContent\WEB-INF\* C:\Startup\WebContent\WEB-INF
9. Map tdd-spring-blank.com domain to IP of your MySQL server
10. Create 2 databases and users
+ Database: tdd-spring-blank + Username: tdd-spring-blank + Password: 57551fdfad2c1 + Database: tdd-spring-blank-test + Username: tdd-spring-blank-test + Password: 57551fdfad2c1
11. With tdd-spring-blank database, run scripts
/src/tests/blank/models/Schema.sql /src/tests/blank/models/UserSample.sql
Friday, June 3, 2016
at
1:25 AM
Economics of Money and Banking, Part One
1. Lec 1: The Four Prices of Money
1-1 The Big Picture
1-2 Prerequisites?
1-3 What is a Bank, a Shadow Bank, a Central Bank?
1-1 The Big Picture
1-2 Prerequisites?
1-3 What is a Bank, a Shadow Bank, a Central Bank?
Thursday, June 2, 2016
at
3:15 AM
Make SEO friendly URL with Struts 2.5 project
1. For example, download and import TDD-Struts-Blank.zip
2. Add following lines to /pom.xml
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jsp-api</artifactId>
<version>2.0</version>
<scope>provided</scope>
</dependency>
2. Add following lines to /src/java/struts.xml
<constant name="struts.action.extension" value=","/>
<constant name="struts.enable.SlashesInActionNames" value="true"/>
Final struts.xml is as:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
"http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="true" />
<constant name="struts.action.extension" value=","/>
<constant name="struts.enable.SlashesInActionNames" value="true"/>
<package name="default" namespace="/" extends="struts-default">
<default-action-ref name="index" />
<global-results>
<result name="error">/WEB-INF/jsp/error.jsp</result>
</global-results>
<global-exception-mappings>
<exception-mapping exception="java.lang.Exception" result="error"/>
</global-exception-mappings>
<action name="index">
<result type="redirectAction">
<param name="actionName">Hello</param>
<param name="namespace">/</param>
</result>
</action>
</package>
<include file="blank.xml"/>
<!-- Add packages here -->
</struts>
3. Modify /src/java/blank.xml as following:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="blank" namespace="/" extends="struts-default">
<action name="p/*/*" class="blank.HelloAction">
<param name="code">{1}</param>
<param name="slug">{2}</param>
<result>/WEB-INF/jsp/blank/Hello.jsp</result>
</action>
</package>
</struts>
4. Modify /src/java/blank/HelloAction.java as following:
package blank; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.opensymphony.xwork2.ActionSupport; public class HelloAction extends ActionSupportimplements org.apache.struts2.interceptor.ServletRequestAware, org.apache.struts2.interceptor.ServletResponseAware{ public String execute() throws Exception { setMessage(getText(MESSAGE)); return SUCCESS; } public static final String MESSAGE = "message"; private String message; public String getMessage() { return message; } public void setMessage(String message) { this.message = message; }private String code;public String getCode() {return code;}public void setCode(String code) {this.code = code;}private String slug;public String getSlug() {return slug;}public void setSlug(String slug) {this.slug = slug;}private HttpServletResponse response;@Overridepublic void setServletResponse(HttpServletResponse response) {this.response = response;}private HttpServletRequest request;@Overridepublic void setServletRequest(HttpServletRequest request) {this.request = request;}}
Tuesday, May 31, 2016
at
3:15 AM
Initiative Struts 2.5 project for test driven development (TDD)
1. Create Dynamic Web project, for example at C:\Startup
2. Convert to Maven project
3. Download and unzip TDD-Struts-Blank.zip, for example at C:\Blank
4. Add following lines to C:\Startup\pom.xml, then build
5. Add following lines to C:\Startup\pom.xml, then build
6. Run following commands, for example on Windows 7
7. Remove current source folder and add 2 new source folder at c:\Startup\src\java and c:\Startup\src\tests
8. Run following commands, for example on Windows 7
2. Convert to Maven project
3. Download and unzip TDD-Struts-Blank.zip, for example at C:\Blank
4. Add following lines to C:\Startup\pom.xml, then build
<dependencies>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-core</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-junit-plugin</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
</dependencies>
5. Add following lines to C:\Startup\pom.xml, then build
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>2.6</version> <executions> <execution> <id>copy-dependencies</id> <phase>build</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <outputDirectory>${project.build.directory}/lib</outputDirectory> <overWriteReleases>true</overWriteReleases> <overWriteSnapshots>true</overWriteSnapshots> <overWriteIfNewer>true</overWriteIfNewer> </configuration> </execution> </executions> </plugin>
6. Run following commands, for example on Windows 7
md c:\Startup\src\java md c:\Startup\src\tests
7. Remove current source folder and add 2 new source folder at c:\Startup\src\java and c:\Startup\src\tests
8. Run following commands, for example on Windows 7
copy C:\Blank\src\java\* C:\Startup\src\java copy C:\Blank\src\tests\* C:\Startup\src\tests copy C:\Blank\WebContent\WEB-INF\* C:\Startup\WebContent\WEB-INF
Tuesday, May 31, 2016
at
12:28 AM
"The mbstring extension is missing." error when install phpMyAdmin on Ubuntu server 16.04
sudo apt-get install php-mbstring php7.0-mbstring php-gettext libapache2-mod-php7.0 sudo service apache2 restart
Sunday, May 29, 2016
at
11:37 PM
Skill - Develop java desktop application using test driven development (TDD)
Develop java desktop application using test driven development (TDD) with Swing and SWT [ www.eclipse.org/swt/ ]
Test java swing application in a functional way with FEST-Swing [ code.google.com/archive/p/fest/ ]
Test java swt application in a functional way with SWTBot [ wiki.eclipse.org/SWTBot ]
Set up continuous integration server for java desktop application development with TeamCity, Jenkins
Monday, May 23, 2016
at
8:34 PM




