Sergeonclear

  • Subscribe to our RSS feed.
  • Twitter
  • StumbleUpon
  • Reddit
  • Facebook
  • Digg

Tuesday, March 29, 2011

Gwt JSNI gotchas

Posted on 5:06 AM by Unknown
1. Expression evaluation
http://code.google.com/p/google-web-toolkit/issues/detail?id=2912


Read More
Posted in | No comments

Mock Mock Mock

Posted on 2:56 AM by Unknown

Mocking is serious business for evolved coding monkeys these days. There are few good frameworks which help in mocking like easymock, jMockit, mockrunner etc

PowerMock
SmartGWT is a GWT widget library which has design issues as its classes doesnt mostly implement interfaces. But the problem is we have to use it as it has nice widgets.

Question: how do we unit test these classes which have native code and hard to mock?
 Powermock came to rescue us. It can re-engineer the class and supress static block and method.
Eg:
@RunWith(PowerMockRunner.class)
@PrepareForTest( {Appender.class})
@SuppressStaticInitializationFor({"com.google.gwt.user.client.ui.UIObject","com.smartgwt.client.widgets.BaseWidget"})
@MockPolicy({Slf4jMockPolicy.class, Log4jMockPolicy.class})
public class MyStaticTest{
}
The above supresses static blocks which have wierd native calls and helps us continue our junit as usual. But its a bit slow (worth it i believe).
More on usage here



jMock vs. EasyMock

Comparison of jmock & easy mock

Both have similar features. jMock has a DSL (domain specific language) while easy mock has record-replay style.

Apparently jMock seems to be better in terms of readability and usability. Would prefer the more intuitive framework like jMock than Easy mock.

Will post more when I actually try using jMock. Till than easy mock.

Useful links
1. EasyMock http://www.easymock.org
2. JMock  http://www.jmock.org
3. Mackinnon, T., et al. 2000. Endo-Testing: Unit Testing with Mock Objects. In Proceedings of XP 2000. http://www.mockobjects.com/files/endotesting.pdf
4. Freeman, S., et al. 2004. Mock Roles, not Objects. In Proceedings of OOPLSA 2004. http://www.mockobjects.com/files/mockrolesnotobjects.pdf
5. Walls, C. 2008. Spring in Action, 2nd Edition. Manning Publications Co., Greenwich, CT. §B.2.1.
6. Stewart, S. 2004. Approaches to Mocking. http://www.onjava.com/lpt/a/4526
7. Fowler, M. 2007. Mocks Aren't Stubs. http://martinfowler.com/articles/mocksArentStubs.html




Read More
Posted in easy mock jmock vs mocking java tdd | No comments

Sunday, March 13, 2011

Batch script to load developer environment

Posted on 4:12 AM by Unknown
Wrote a simple windows bat script to start my project work environment.

This would save me
4 + 2 + 3 + 2+2 = 14 mouse clicks
4+2 + 5 = 11 keystroke
3 + 3 = 6 copy paste

Saving me from making 14+ 3 + 6= 23 decisions.. lol

The effort involved to build this script is 1 hour though. On a long run saves my time and energy for making these 23 decisions.. Worth it i believe.

What this does is : start mysql server , tomcat, eclipse, mysql query browser and open command prompt into your current project

------------------
net start mysql5.1
f:
cd F:\apache-tomcat-6.0.29\bin\
start F:\apache-tomcat-6.0.29\bin\startup-debug.bat
start D:\tools\IDE\eclipse-jee-helios-SR2-win32\eclipse\eclipse_jee_helios.exe
"C:\Program Files\MySQL\MySQL Tools for 5.0\MySQLQueryBrowser.exe" -ulportal -pdontshow -hlocalhost
cd F:\project

-----------------

Read More
Posted in Batch script to load developer environment | No comments

Wednesday, March 9, 2011

Smart GWT Gotchas

Posted on 9:12 AM by Unknown

1. ListGrid - Change color of a row or individual cell
2. Dynamic Form
           StaticTextItem
3. JSON parsing :
                JavaScriptObject jsObject = JSON.decode(responseData);
                JSONArray accountNames = XMLTools.selectObjects(jsObject, "accounts");
                final JSONValue jsonAccount = accountObjs.get(0);
                final String accountNumber = jsonAccount.isObject().get("AccountNumber").isString().stringValue();
4. Mock Presenter gotcha :
   Caused by: java.lang.UnsupportedOperationException: ERROR: GWT.create() is only usable in client 
     Fix : GWTMockUtilities.disarm();   More here

5. Speed up gwt compile time : here

6. Error processing request: The response could not be deserialized
             Annonying issue in dev mode from eclipse. See that the default compile target is set to ../web-inf/classes in eclipse. Restart eclipse. clean up target classes folder. Got it working...after a redeploy of war again...strange..cant point to one specific thing (as i did clear browser cache/eclipse classes output/restart eclipse)
Apparently workaround seems to be try redeploying app whenever this issue occurs..

7. Wrap text in list grid:
listGrid
.setFixedRecordHeights(false);
listGrid
.setWrapCells(true);

8. Listgrid pagination related issues(issues with page scroll based pagination):


Serendipity
might have already solved the pagination and csv export : http://code.google.com/p/crmdipity/downloads/list






think
best if we have traditional pagination approach. and have as PaginatedListGrid
which will solve all list grid related issues:
  - sorting
  - export to
excel
  - print
  - slow page load
  - less browser load (as only one
page of data is available at any point of time)




Read More
Posted in smart gwt | No comments
Newer Posts Older Posts Home
Subscribe to: Comments (Atom)

Popular Posts

  • LinuxPerformance Tuning(apache,tomcat,linux) and related
    Web profiling -- HTTPAnalyzer -- -- YSlow --CSS,Javascript report , time/size measurement for individual component is good. -- F...
  • (no title)
    Hardware/Software stack:  iPhone 3Gs having iOS 5.1.1(latest as of today).  The Xcdode 4.2 failed to detect this iphone as it has support on...
  • Spring interceptor ordering
    SimpleUrlHandlerMapping uses a hashMap to hold the interceptors. Ordering can only be guaranteed by setting  order property.. By default it ...
  • SVN/ Subversion Tips and traps
    SVN could be tricky and waste a hell lot of time. Case Issue : Normally we run SVN server in linux. Our dev env will be in windows NT. Windo...
  • Liferay CMS/ web content management/ workflow/ staging
    Liferay out of the box has a web content management system. The web pages can mostly have these web content (articles) as web pages. The web...
  • Cobertura- junit coverage tool
    First, you need to add a task definition to the build.xml file. This top-level taskdef element specifies that the cobertura.jar file is i...
  • XSLT caching Transformers
     The usage of cached transformer objects is recommended here A sample implementation of CachingTransformerFactory is here The above code abs...
  • Rewrite rules in apache and IIS
    Well we can control how the server serves stuff to clients by defining rewrite rules. As servers are dumb, its important to explain well abo...
  • Real-Time Tracking and Tuning for Busy Tomcat Servers
    A very nice article which details on possible options for tomcat server monitoring to tweak its performance. http://www.devx.com/Java/Articl...
  • External Javascript from Java Servlets
    Copied from http://myappsecurity.blogspot.com/2007/01 Like to thank anurag for the content. /breaking-same-origin-barrier-of.html External ...

Categories

  • AJAX javascript
  • All about UK Visa HSMP VS H1
  • All about UK Visa HSMP VS H1 hsmp assistance
  • amazon
  • android apps ship control radio hindi
  • Apache 2.x setup Quick guide for Linux
  • apache commons configurator usage
  • apache commons usage
  • arsenals for developers
  • article
  • Batch script to load developer environment
  • Blind folded chess
  • Castor castor convert dtd to xsd
  • cloud comparision price
  • cloud comparison blog
  • cloud computing monthly price
  • cloud usage
  • Cobertura- junit coverage tool
  • Code generators
  • cron jobs expressions
  • cruisecontrol cruise control
  • debugging eclipse tips
  • developer tools
  • document library
  • easy mock jmock vs mocking java tdd
  • External Javascript from Java Servlets
  • fedora 9 lenovo 3000 n200 windows xp dual boot problem
  • Fire fox plugins and tweaks
  • Free PHP hosting
  • gods debris the religion war scott adams dilbert
  • google app engine
  • gwt javascript
  • hibernate second level cache
  • i18n locale localization internationalization spring liferay portlet locale
  • ibatis sybase mapping
  • image gallery
  • iphone apps bri8 apple
  • iphone shsh 3gs ipsw downgrade ifaith tinyumbrella ios5.1.1 to ios5.0
  • java
  • java JDBC
  • javascript junit testing
  • Javascript trouble shooting tool
  • Jboss overview
  • jmeter load testing custom java sampler javasamplerclient xml test
  • JNDI test JSP page
  • Joomla CMS
  • JProfiler setup jprofiler on linux
  • jquery IE AJAX issues
  • jquery spring AJAX
  • keyboard music java typing soothing notes auto suggest
  • liferay kids version
  • liferay web 2.0 java/j2ee
  • linux - the difference between hard and soft links
  • linux mysql
  • linux mysql setup quick start
  • Linux ssh autologin with putty
  • LINUX usefuls
  • linux)
  • LinuxPerformance Tuning(apache
  • log4j setup useful
  • lucene solr
  • mac m701 android skype not working crash
  • maven
  • maven cut reduce build time
  • microsoft ODBC oracle dll connection issues
  • Mobile Ad Services (adwhirl)
  • opsourcecloud
  • oracle connect by hierarchy
  • oracle table previlege
  • Oracle thin vs OCI(type II/thick) drivers
  • pdf 2 text
  • Pega PRPC
  • php
  • rackspacecloud
  • Rewrite rules in apache and IIS
  • scaffold
  • setting up a static ip on SKY broadband
  • setup quick start
  • Single Sign on - OpenSSO with Liferay
  • smart gwt
  • smtp email test mock server james
  • SMTP MAIL telnet windows
  • Software tools mind map freemind j2ee tools
  • Speed typing tips.
  • Spring + Hibernate Usefuls BaseDAOHibernate
  • Spring annotations with spring-mock not working 2.0 2.5.6
  • spring jndi datasource lookup
  • Spring portlet mvc and spring servlet mvc validation
  • Spyware trojan and virus removal tools
  • struts magic
  • SVN/ Subversion Tips and traps
  • tabbed ms dos console cygwin console
  • Texter - An auto text expander autotyper
  • Textpad tricks
  • The art of debugging
  • tomcat
  • Tomcat Exploded war - cut deployment time
  • Tomcat on linux tips
  • Tomcat on linux tips commands
  • TypeIt4Me
  • Typinator
  • Useful Eclipse Plugins
  • Useful Eclipse Plugins eclipse shortcuts keys
  • Useful tools
  • web content
  • xcode cocos2d iphone box2d
  • xpath xml xquery

Blog Archive

  • ►  2013 (19)
    • ►  August (17)
    • ►  July (1)
    • ►  January (1)
  • ►  2012 (7)
    • ►  August (1)
    • ►  June (4)
    • ►  April (2)
  • ▼  2011 (20)
    • ►  November (1)
    • ►  October (1)
    • ►  August (1)
    • ►  July (3)
    • ►  June (1)
    • ►  April (2)
    • ▼  March (4)
      • Gwt JSNI gotchas
      • Mock Mock Mock
      • Batch script to load developer environment
      • Smart GWT Gotchas
    • ►  February (1)
    • ►  January (6)
  • ►  2010 (27)
    • ►  December (3)
    • ►  July (2)
    • ►  May (3)
    • ►  April (2)
    • ►  March (5)
    • ►  February (10)
    • ►  January (2)
  • ►  2009 (32)
    • ►  December (5)
    • ►  November (2)
    • ►  September (3)
    • ►  August (6)
    • ►  June (4)
    • ►  May (4)
    • ►  April (3)
    • ►  March (2)
    • ►  February (3)
  • ►  2008 (28)
    • ►  December (1)
    • ►  October (2)
    • ►  September (2)
    • ►  August (4)
    • ►  July (7)
    • ►  June (1)
    • ►  April (2)
    • ►  March (2)
    • ►  February (2)
    • ►  January (5)
  • ►  2007 (24)
    • ►  December (3)
    • ►  November (2)
    • ►  October (6)
    • ►  September (1)
    • ►  August (3)
    • ►  July (8)
    • ►  June (1)
Powered by Blogger.

About Me

Unknown
View my complete profile