Total Pageviews

2009/06/03

A Short Java Socket Tutorial

Check out this SlideShare Presentation:

2009/05/27

SchemaSpyGUI Quick Start



http://www.slideshare.net/junyuo/schemaspygui-quick-startppt

A Short Java RMI Tutorial



http://www.slideshare.net/junyuo/a-short-java-rmi-tutorial

和四種主管溝通的小秘訣

溝通秘訣1:駕馭型--搞定老虎主管
老虎型主管注重結果導向,他就事論事並且有冒險精神。而且老虎主管通常速度很快,與他溝通要直接說重點。

溝通秘訣2:表達型--孔雀主管
與孔雀主管可以多聊家常事務,先建立個人感情再談公事會更為順利,孔雀主管非常有創意,不喜歡太死板的教條。

溝通秘訣3:親和型--無尾熊主管
無尾熊主管重視團隊的和諧氣氛、不喜歡風險,與無尾熊主管溝通要溫和,並且給他多一點決策時間。

溝通秘訣4:分析型--貓頭鷹主管
貓頭鷹主管重視品質,給他的資料要精確、有邏輯。屬下工作要按照一定步驟,並且要注意細節要正確。

http://www.cw.com.tw/article/index.jsp?id=2910

可惜他沒提到無能型的

2009/04/16

ORA-00932: inconsistent datatypes: expected - got CLOB

As I am doing data query with distinct syntax in select clause, I got this error message:
ORA-00932: inconsistent datatypes: expected - got CLOB

This error message result from Clob limitation:


  1. CLOBs don't work like strings. You can't ask for the LENGTH of a CLOB column, for example. You can work around this with PL/SQL calls but it isn't much fun.
  2. LOBs are not allowed in GROUP BY, ORDER BY, SELECT DISTINCT, aggregates and JOINS


Therefore, I re-designed my database schema. Save this CLOB column into another table.


ORA-01502 Oracle Index in Unusable State

As I execute sql statement to do search, it return this message unexpectedly:ORA-01502: index 'RSDB.RESUME_PK' or partition of such index is in unusable state

Solution: rebuild this index

ALTER INDEX RESUME_PK REBUILD

After I executed this rebuild action, it turned out to be normal.

Reference

[1] http://www.mydigitallife.info/2006/01/28/ora-01502-oracle-index-in-unusable-state/

2009/04/07

PMD



PMD scans Java source code and looks for potential problems like:
  • Possible bugs - empty try/catch/finally/switch statements
  • Dead code - unused local variables, parameters and private methods
  • Suboptimal code - wasteful String/StringBuffer usage
  • Overcomplicated expressions - unnecessary if statements, for loops that could be while loops
  • Duplicate code - copied/pasted code means copied/pasted bugs
It can be plug-in to Eclipse, NetBeans, etc.

http://pmd.sourceforge.net/

2009/04/06

Utilize Jericho HTML Parser to Resolve NCR Problem

Agenda
  • What is NCR (Numeric Character Reference) ?
  • Scenario Description
  • Problem (XML with NCR)
  • Resolution Process
  • Result (NCR had been decoded)

http://www.slideshare.net/junyuo/utilize-jericho-html-parser-to-resolve-ncr-problem


2009/02/20

Problems running dot: exit code=-1, command='dot'

As I used Doxygen to generate source code docuemt, I failed to generate graphs and got this kind of error message: 
Problems running dot: exit code=-1, command='dot', arguments='"classcom_1_1htc_1_1hr_1_1tree_1_1_department_table_bean_50f82c9386b01669779a1524b380b355_cgraph.dot" -Tpng -o "classcom_1_1htc_1_1hr_1_1tree_1_1_department_table_bean_50f82c9386b01669779a1524b380b355_cgraph.png"'

I spent lots of time to resolve this odd issue, and found out its result from the wrong GraphViz version. I cannot use the latest version. As I tried graphviz-2.12.exe this version, all problems were gone. You can go to here to download this verion: http://www.graphviz.org/pub/graphviz/stable/windows/

Here is class hierarchy:


Here is call graph:

2009/02/18

Applied Apache Trinidad to show organization chart

Technology: Apache Trinidad, JPA

Web Container: Glassfish

Demo
1. enter personnel request application form page


2. launch popup window to show the organization chart


3. return the selected department back to original page


sequence diagram



trinidad page -- caller page


trinidad page -- popup window



PersonnelRequestController



DepartmentTableBean




you can also check the developer guide for futher information: http://myfaces.apache.org/trinidad/devguide/tree.html

2009/02/17

java.sql.SQLException: OALL8 is in an inconsistent state

Technology: Apache Trinidad, JPA

Web Container: glassfish

Database:
Oracle 10g


Scenario:
As I execute some functions, then it will get this error message

[#|2009-02-03T11:22:52.620+0800|INFO|sun-appserver9.1|javax.enterprise.system.stream.out|_ThreadID=15;_ThreadName=httpSSLWorkerThread-8080-1;|[TopLink Warning]: 2009.02.03 11:22:52.620--UnitOfWork(2726974)--Exception [TOPLINK-4002] (Oracle TopLink Essentials - 2.0.1 (Build b04-fcs (04/11/2008))): oracle.toplink.essentials.exceptions.DatabaseException
Internal Exception: java.sql.SQLException: OALL8 is in an inconsistent state
Error Code: 17447
Call: SELECT ID, JOB_LOC_ENG_DESC, JOB_LOC_INFORM_ENG_DESC, DOMAIN, IS_JOB_LOC, CREATETIMESTAMP, IS_INTERVIEW_LOC, JOB_LOC_NATIVE_DESC, IS_ONBOARD_LOC, JOB_LOC_INFORM_NATIVE_DESC, JOB_LOCATION_CODE, MODIFYTIMESTAMP, MODIFIER, CREATOR FROM RSDB.JOB_LOCATION WHERE (ID = ?)
bind => [22612]
Query: ReadObjectQuery(com.htc.hr.entity.JobLocation)
|#]


Root Cause: I put collection object into hashCode function, it's the root cause to cause this error. Just remove it.

Set up a simple way to backup testing server database



1. write an ant build file to generate dump file and copy to remote machine (on a daily basis)

















2. create a batch file to execute my build script

3. add this batch file to scheduler service


4. result
[local machine]


[remote machine]

2009/01/14

NamedQuery of name: jobDutyJobTitle.findByJobDuty not found.

As I used JPA as my persistence tier implementation. I declared a named query in my entity class:










And I called this name query in my DAO class:












But as I ran my web application, it got this kind of error message (no matter the name of query or the sql statement is corrent):

java.lang.IllegalArgumentException: NamedQuery of name: jobDutyJobTitle.findByJobDuty not found. 
    at oracle.toplink.essentials.internal.ejb.cmp3.base.EJBQueryImpl.getDatabaseQuery(EJBQueryImpl.java:422) 
    at oracle.toplink.essentials.internal.ejb.cmp3.base.EJBQueryImpl.setAsSQLReadQuery(EJBQueryImpl.java:136) 
    at oracle.toplink.essentials.internal.ejb.cmp3.base.EJBQueryImpl.getResultList(EJBQueryImpl.java:464) 
    at com.htc.hr.dao.JobDutyJobTitleDAO.findByJobDuty(JobDutyJobTitleDAO.java:41) 
    at com.htc.hr.controller.JobDutyController.showJobDutyJobTitle(JobDutyController.java:47)

The root cause is: I forgot to add this enity class declaration into persistence.xml

2009/01/06

An Introduction To JBoss RichFaces | Eclipse Zone

An Introduction To JBoss RichFaces | Eclipse Zone

If it's your first time to study JBoss RichFaces, here is a good place to start.

RichFaces for NetBeans IDE 6.1 (Part 1)

RichFaces for NetBeans IDE 6.1 (Part 1): "RichFaces for NetBeans IDE 6.1"
It also work for 6.5