/* this test fails if the current time is between 12:00am and 3:00am*/
Calendar now = Calendar.getInstance();
int hour = now.get(Calendar.HOUR_OF_DAY);
String timeCheck = "Current time not between 12:00am and 3:00am";
String timeDescription = "Current time" + ((hour < 3) ? "" : " not") + " between 12:00am and 3:00am";
Assume.assumeThat(timeDescription, equalTo(timeCheck));
Assume is package org.junit;(public class Assume )
Friday, August 22, 2008
Thursday, August 21, 2008
ANTLR
Today i worked with some text character parsing. In our project, they have used ANTLR parser. ANTLR, ANother Tool for Language Recognition, is a language tool that provides a framework for constructing recognizers, interpreters, compilers, and translators from grammatical descriptions containing actions in a variety of target languages. ANTLR provides excellent support for tree construction, tree walking, translation, error recovery, and error reporting.
http://www.antlr.org/
We have used both Class LLkParser and Class Parser.Alos one important interface that provides is Interface AST in antlr.collections.
http://www.antlr2.org/javadoc/antlr/LLkParser.html
http://www.antlr2.org/javadoc/antlr/Parser.html#LA(int)
http://www.antlr2.org/javadoc/antlr/collections/AST.html
http://www.antlr.org/
We have used both Class LLkParser and Class Parser.Alos one important interface that provides is Interface AST in antlr.collections.
http://www.antlr2.org/javadoc/antlr/LLkParser.html
http://www.antlr2.org/javadoc/antlr/Parser.html#LA(int)
http://www.antlr2.org/javadoc/antlr/collections/AST.html
Thursday, August 14, 2008
Payment gateway

A payment gateway is an e-commerce application service provider service that authorizes payments for e-businesses, online retailers, bricks and clicks, or traditional brick and mortar. Paypal and SecurePay are two common payment gateways. Following are the list of gateways.
http://www.paymentgatewaydirectory.com/
In our project we use saferpay payment gateway. In billing-services.xml,
< bean id="billing.paymentService"
class="com.fastsearch.admomentum.billing.service.DefaultPaymentService">
. . .
< !-- this bean is defined in fast-admomentum-paymentgateway.jar -->
< property name="paymentGateway" ref="saferpayPaymentGateway" />
. . .
< /bean>
and in base-configuration.properties, there are lots of configurations.
one of them are,
# The merchant account id with Saferpay
com.fastsearch.admomentum.paymentgateway.saferpay.accountId=XXXXX-XXXXXXXXX
Wednesday, August 13, 2008
Java Unit testing
This is a simple test class i wrote to test following method.
package com.fastsearch.admomentum.common.time;
import java.io.Serializable;
import java.util.Calendar;
........
public class DateRange implements Serializable {
.....
public boolean isBetween(Calendar date) {
if (getEnd() != null) {
return (date.after(getStart()) && date.before(getEnd()))
|| date.equals(getStart()) || date.equals(getEnd());
} else {
return date.after(getStart()) || date.equals(getStart());
}
}
}
----------------------------------------------
package com.fastsearch.admomentum.common.time;
import junit.framework.TestCase;
import java.util.Calendar;
public class DateRangeUnitTest extends TestCase {
private DateRange dateRange;
public void testIsBetween()
{
assertFalse(isBetweenOutOfBoundTest());
}
private boolean isBetweenOutOfBoundTest()
{
Calendar testDate = Calendar.getInstance();
testDate.clear();
testDate.set(Calendar.YEAR,2007);
testDate.set(Calendar.MONTH,4);
testDate.set(Calendar.DATE,1);
Calendar startDate = Calendar.getInstance();
startDate.clear();
startDate.set(Calendar.YEAR,2007);
startDate.set(Calendar.MONTH,5);
startDate.set(Calendar.DATE,1);
Calendar endDate = Calendar.getInstance();
endDate.clear();
endDate.set(Calendar.YEAR,2007);
endDate.set(Calendar.MONTH,7);
endDate.set(Calendar.DATE,1);
dateRange = new DateRange(startDate, endDate);
return dateRange.isBetween(testDate);
}
}
package com.fastsearch.admomentum.common.time;
import java.io.Serializable;
import java.util.Calendar;
........
public class DateRange implements Serializable {
.....
public boolean isBetween(Calendar date) {
if (getEnd() != null) {
return (date.after(getStart()) && date.before(getEnd()))
|| date.equals(getStart()) || date.equals(getEnd());
} else {
return date.after(getStart()) || date.equals(getStart());
}
}
}
----------------------------------------------
package com.fastsearch.admomentum.common.time;
import junit.framework.TestCase;
import java.util.Calendar;
public class DateRangeUnitTest extends TestCase {
private DateRange dateRange;
public void testIsBetween()
{
assertFalse(isBetweenOutOfBoundTest());
}
private boolean isBetweenOutOfBoundTest()
{
Calendar testDate = Calendar.getInstance();
testDate.clear();
testDate.set(Calendar.YEAR,2007);
testDate.set(Calendar.MONTH,4);
testDate.set(Calendar.DATE,1);
Calendar startDate = Calendar.getInstance();
startDate.clear();
startDate.set(Calendar.YEAR,2007);
startDate.set(Calendar.MONTH,5);
startDate.set(Calendar.DATE,1);
Calendar endDate = Calendar.getInstance();
endDate.clear();
endDate.set(Calendar.YEAR,2007);
endDate.set(Calendar.MONTH,7);
endDate.set(Calendar.DATE,1);
dateRange = new DateRange(startDate, endDate);
return dateRange.isBetween(testDate);
}
}
mvn commands
- clean
mvn clean
- build
mvn install
- skip all the test
mvn install -P test-unit -Dmaven.test.skip=true
mvn install -o -P test-unit -Dmaven.test.skip=true
- run all the tests including selenium tests
mvn -Ptest-all install
- run specific tests (unit test or selenium test)
mvn install -Ptest-all -Dtest=com.fastsearch.admomentum..ClassName
mvn install -P test-all -Dtest=AdvertisementSeleniumTest
mvn install -Dtest=com.fastsearch.admomentum.common.time.DateRangeUnitTest -o -Ptest-all
- run specific tests (unit test or selenium test) with degugging
mvn install -Dtest=com.fastsearch.admomentum.admanager.webapp.selenium.campaign.CampaignSeleniumTest -o -Dmaven.surefire.debug -Ptest-all
mvn install -Dtest=com.fastsearch.admomentum.admanager.reporting.DefaultReportingServiceUnitTest -o -Dmaven.surefire.debug -Ptest-all
mvn clean
- build
mvn install
- skip all the test
mvn install -P test-unit -Dmaven.test.skip=true
mvn install -o -P test-unit -Dmaven.test.skip=true
- run all the tests including selenium tests
mvn -Ptest-all install
- run specific tests (unit test or selenium test)
mvn install -Ptest-all -Dtest=com.fastsearch.admomentum.
mvn install -P test-all -Dtest=AdvertisementSeleniumTest
mvn install -Dtest=com.fastsearch.admomentum.common.time.DateRangeUnitTest -o -Ptest-all
- run specific tests (unit test or selenium test) with degugging
mvn install -Dtest=com.fastsearch.admomentum.admanager.webapp.selenium.campaign.CampaignSeleniumTest -o -Dmaven.surefire.debug -Ptest-all
mvn install -Dtest=com.fastsearch.admomentum.admanager.reporting.DefaultReportingServiceUnitTest -o -Dmaven.surefire.debug -Ptest-all
Tuesday, August 12, 2008
Cargo
Cargo is a thin wrapper around existing containers (e.g. J2EE containers). It provides different APIs to easily manipulate containers.
Cargo provides the following APIs:
* A Java API to start/stop/configure Java Containers and deploy modules into them. Also Ant tasks, Maven 1, Maven 2 plugins. Intellij IDEA and Netbeans plugins are offered.
* A Java API to parse/create/merge J2EE Modules
Following are some containers.
* Geronimo 1.x
* JBoss 3.x
* JBoss 4.x
* Jetty 4.x
* Jetty 5.x
* Jetty 6.x
* jo 1.x
* Oc4J 9.x
* Orion 1.x
* Orion 2.x
* Resin 2.x
* Resin 3.x
* Tomcat 3.x
* Tomcat 4.x
* Tomcat 5.x
* WebLogic 8.x
Cargo provides the following APIs:
* A Java API to start/stop/configure Java Containers and deploy modules into them. Also Ant tasks, Maven 1, Maven 2 plugins. Intellij IDEA and Netbeans plugins are offered.
* A Java API to parse/create/merge J2EE Modules
Following are some containers.
* Geronimo 1.x
* JBoss 3.x
* JBoss 4.x
* Jetty 4.x
* Jetty 5.x
* Jetty 6.x
* jo 1.x
* Oc4J 9.x
* Orion 1.x
* Orion 2.x
* Resin 2.x
* Resin 3.x
* Tomcat 3.x
* Tomcat 4.x
* Tomcat 5.x
* WebLogic 8.x
Difference between 'vi' and 'vim' editors
vim is 'vi improved'
More powerful, etc
http://www.dc.turkuamk.fi/docs/soft/vim/vim_diff.html
More powerful, etc
http://www.dc.turkuamk.fi/docs/soft/vim/vim_diff.html
Subscribe to:
Posts (Atom)
