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